From 127c1aef61ce23ed7acb7ae79cbb8e7078f10b7d Mon Sep 17 00:00:00 2001 From: Garrett Heel Date: Tue, 22 Sep 2015 14:39:49 -0700 Subject: [PATCH] provider/aws: fix bug with reading GSIs from dynamodb --- .../providers/aws/resource_aws_dynamodb_table.go | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/builtin/providers/aws/resource_aws_dynamodb_table.go b/builtin/providers/aws/resource_aws_dynamodb_table.go index df043ffe0..4193ddcb0 100644 --- a/builtin/providers/aws/resource_aws_dynamodb_table.go +++ b/builtin/providers/aws/resource_aws_dynamodb_table.go @@ -571,14 +571,23 @@ func resourceAwsDynamoDbTableRead(d *schema.ResourceData, meta interface{}) erro } } - gsi["projection_type"] = *gsiObject.Projection.ProjectionType - gsi["non_key_attributes"] = gsiObject.Projection.NonKeyAttributes + gsi["projection_type"] = *(gsiObject.Projection.ProjectionType) + + nonKeyAttrs := make([]string, 0, len(gsiObject.Projection.NonKeyAttributes)) + for _, nonKeyAttr := range gsiObject.Projection.NonKeyAttributes { + nonKeyAttrs = append(nonKeyAttrs, *nonKeyAttr) + } + gsi["non_key_attributes"] = nonKeyAttrs gsiList = append(gsiList, gsi) log.Printf("[DEBUG] Added GSI: %s - Read: %d / Write: %d", gsi["name"], gsi["read_capacity"], gsi["write_capacity"]) } - d.Set("global_secondary_index", gsiList) + err = d.Set("global_secondary_index", gsiList) + if err != nil { + return err + } + d.Set("arn", table.TableArn) return nil