diff --git a/builtin/providers/aws/resource_aws_ecs_service.go b/builtin/providers/aws/resource_aws_ecs_service.go index 121e43997..27542633f 100644 --- a/builtin/providers/aws/resource_aws_ecs_service.go +++ b/builtin/providers/aws/resource_aws_ecs_service.go @@ -404,8 +404,7 @@ func resourceAwsEcsServiceUpdate(d *schema.ResourceData, meta interface{}) error } } - // Retry due to AWS IAM policy eventual consistency - // See https://github.com/hashicorp/terraform/issues/4375 + // Retry due to IAM & ECS eventual consistency err := resource.Retry(2*time.Minute, func() *resource.RetryError { out, err := conn.UpdateService(&input) if err != nil { @@ -414,6 +413,10 @@ func resourceAwsEcsServiceUpdate(d *schema.ResourceData, meta interface{}) error log.Printf("[DEBUG] Trying to update ECS service again: %#v", err) return resource.RetryableError(err) } + if ok && awsErr.Code() == "ServiceNotFoundException" { + log.Printf("[DEBUG] Trying to update ECS service again: %#v", err) + return resource.RetryableError(err) + } return resource.NonRetryableError(err) }