From 59a7a5ca2704e767b0fe5a890139b94ee87632c7 Mon Sep 17 00:00:00 2001 From: Radek Simko Date: Sun, 18 Sep 2016 22:35:07 +0100 Subject: [PATCH] provider/aws: Only read S3 bucket policy if it's set --- .../providers/aws/resource_aws_s3_bucket.go | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/builtin/providers/aws/resource_aws_s3_bucket.go b/builtin/providers/aws/resource_aws_s3_bucket.go index 7331cb5d77..daf114d42f 100644 --- a/builtin/providers/aws/resource_aws_s3_bucket.go +++ b/builtin/providers/aws/resource_aws_s3_bucket.go @@ -451,21 +451,23 @@ func resourceAwsS3BucketRead(d *schema.ResourceData, meta interface{}) error { } // Read the policy - pol, err := s3conn.GetBucketPolicy(&s3.GetBucketPolicyInput{ - Bucket: aws.String(d.Id()), - }) - log.Printf("[DEBUG] S3 bucket: %s, read policy: %v", d.Id(), pol) - if err != nil { - if err := d.Set("policy", ""); err != nil { - return err - } - } else { - if v := pol.Policy; v == nil { + if _, ok := d.GetOk("policy"); ok { + pol, err := s3conn.GetBucketPolicy(&s3.GetBucketPolicyInput{ + Bucket: aws.String(d.Id()), + }) + log.Printf("[DEBUG] S3 bucket: %s, read policy: %v", d.Id(), pol) + if err != nil { if err := d.Set("policy", ""); err != nil { return err } - } else if err := d.Set("policy", normalizeJson(*v)); err != nil { - return err + } else { + if v := pol.Policy; v == nil { + if err := d.Set("policy", ""); err != nil { + return err + } + } else if err := d.Set("policy", normalizeJson(*v)); err != nil { + return err + } } }