diff options
author | Nathan Dench <ndenc2@gmail.com> | 2019-05-24 15:16:44 +1000 |
---|---|---|
committer | Nathan Dench <ndenc2@gmail.com> | 2019-05-24 15:16:44 +1000 |
commit | 107c1cdb09c575aa2f61d97f48d8587eb6bada4c (patch) | |
tree | ca7d008643efc555c388baeaf1d986e0b6b3e28c /vendor/github.com/hashicorp/terraform/helper/schema/field_writer_map.go | |
parent | 844b5a68d8af4791755b8f0ad293cc99f5959183 (diff) | |
download | terraform-provider-statuscake-107c1cdb09c575aa2f61d97f48d8587eb6bada4c.tar.gz terraform-provider-statuscake-107c1cdb09c575aa2f61d97f48d8587eb6bada4c.tar.zst terraform-provider-statuscake-107c1cdb09c575aa2f61d97f48d8587eb6bada4c.zip |
Upgrade to 0.12
Diffstat (limited to 'vendor/github.com/hashicorp/terraform/helper/schema/field_writer_map.go')
-rw-r--r-- | vendor/github.com/hashicorp/terraform/helper/schema/field_writer_map.go | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/vendor/github.com/hashicorp/terraform/helper/schema/field_writer_map.go b/vendor/github.com/hashicorp/terraform/helper/schema/field_writer_map.go index 814c7ba..c09358b 100644 --- a/vendor/github.com/hashicorp/terraform/helper/schema/field_writer_map.go +++ b/vendor/github.com/hashicorp/terraform/helper/schema/field_writer_map.go | |||
@@ -297,13 +297,14 @@ func (w *MapFieldWriter) setSet( | |||
297 | // we get the proper order back based on the hash code. | 297 | // we get the proper order back based on the hash code. |
298 | if v := reflect.ValueOf(value); v.Kind() == reflect.Slice { | 298 | if v := reflect.ValueOf(value); v.Kind() == reflect.Slice { |
299 | // Build a temp *ResourceData to use for the conversion | 299 | // Build a temp *ResourceData to use for the conversion |
300 | tempAddr := addr[len(addr)-1:] | ||
300 | tempSchema := *schema | 301 | tempSchema := *schema |
301 | tempSchema.Type = TypeList | 302 | tempSchema.Type = TypeList |
302 | tempSchemaMap := map[string]*Schema{addr[0]: &tempSchema} | 303 | tempSchemaMap := map[string]*Schema{tempAddr[0]: &tempSchema} |
303 | tempW := &MapFieldWriter{Schema: tempSchemaMap} | 304 | tempW := &MapFieldWriter{Schema: tempSchemaMap} |
304 | 305 | ||
305 | // Set the entire list, this lets us get sane values out of it | 306 | // Set the entire list, this lets us get sane values out of it |
306 | if err := tempW.WriteField(addr, value); err != nil { | 307 | if err := tempW.WriteField(tempAddr, value); err != nil { |
307 | return err | 308 | return err |
308 | } | 309 | } |
309 | 310 | ||
@@ -319,7 +320,7 @@ func (w *MapFieldWriter) setSet( | |||
319 | } | 320 | } |
320 | for i := 0; i < v.Len(); i++ { | 321 | for i := 0; i < v.Len(); i++ { |
321 | is := strconv.FormatInt(int64(i), 10) | 322 | is := strconv.FormatInt(int64(i), 10) |
322 | result, err := tempR.ReadField(append(addrCopy, is)) | 323 | result, err := tempR.ReadField(append(tempAddr, is)) |
323 | if err != nil { | 324 | if err != nil { |
324 | return err | 325 | return err |
325 | } | 326 | } |
@@ -340,6 +341,11 @@ func (w *MapFieldWriter) setSet( | |||
340 | // problems when the old data isn't wiped first. | 341 | // problems when the old data isn't wiped first. |
341 | w.clearTree(addr) | 342 | w.clearTree(addr) |
342 | 343 | ||
344 | if value.(*Set) == nil { | ||
345 | w.result[k+".#"] = "0" | ||
346 | return nil | ||
347 | } | ||
348 | |||
343 | for code, elem := range value.(*Set).m { | 349 | for code, elem := range value.(*Set).m { |
344 | if err := w.set(append(addrCopy, code), elem); err != nil { | 350 | if err := w.set(append(addrCopy, code), elem); err != nil { |
345 | return err | 351 | return err |