From 202b0aef1ba02f0beae945acc802adcd10073197 Mon Sep 17 00:00:00 2001 From: Radek Simko Date: Thu, 17 Dec 2015 17:01:31 +0100 Subject: [PATCH] provider/aws: Always use either body or URL for all updates - fixes #4332 --- .../providers/aws/resource_aws_cloudformation_stack.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/builtin/providers/aws/resource_aws_cloudformation_stack.go b/builtin/providers/aws/resource_aws_cloudformation_stack.go index 1846a31054..86dd8bdb79 100644 --- a/builtin/providers/aws/resource_aws_cloudformation_stack.go +++ b/builtin/providers/aws/resource_aws_cloudformation_stack.go @@ -258,12 +258,14 @@ func resourceAwsCloudFormationStackUpdate(d *schema.ResourceData, meta interface StackName: aws.String(d.Get("name").(string)), } - if d.HasChange("template_body") { - input.TemplateBody = aws.String(normalizeJson(d.Get("template_body").(string))) + // Either TemplateBody or TemplateURL are required for each change + if v, ok := d.GetOk("template_body"); ok { + input.TemplateBody = aws.String(normalizeJson(v.(string))) } - if d.HasChange("template_url") { - input.TemplateURL = aws.String(d.Get("template_url").(string)) + if v, ok := d.GetOk("template_url"); ok { + input.TemplateURL = aws.String(v.(string)) } + if d.HasChange("capabilities") { input.Capabilities = expandStringList(d.Get("capabilities").(*schema.Set).List()) }