Skip to content

Commit b283424

Browse files
modular-magiciannat-henderson
authored andcommitted
Don't lock policy if it is already locked. (#4761)
Signed-off-by: Modular Magician <[email protected]>
1 parent 264f981 commit b283424

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

google/resource_storage_bucket.go

+4-2
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,9 @@ func resourceStorageBucketCreate(d *schema.ResourceData, meta interface{}) error
392392
log.Printf("[DEBUG] Created bucket %v at location %v\n\n", res.Name, res.SelfLink)
393393
d.SetId(res.Id)
394394

395-
if v, ok := d.GetOk("retention_policy"); ok {
395+
// If the retention policy is not already locked, check if it
396+
// needs to be locked.
397+
if v, ok := d.GetOk("retention_policy"); ok && !res.RetentionPolicy.IsLocked {
396398
retention_policies := v.([]interface{})
397399

398400
sb.RetentionPolicy = &storage.BucketRetentionPolicy{}
@@ -514,7 +516,7 @@ func resourceStorageBucketUpdate(d *schema.ResourceData, meta interface{}) error
514516

515517
retentionPolicy := retention_policies[0].(map[string]interface{})
516518

517-
if locked, ok := retentionPolicy["is_locked"]; ok && locked.(bool) {
519+
if locked, ok := retentionPolicy["is_locked"]; ok && locked.(bool) && d.HasChange("retention_policy.0.is_locked") {
518520
err = lockRetentionPolicy(config.clientStorage.Buckets, d.Get("name").(string), res.Metageneration)
519521
if err != nil {
520522
return err

0 commit comments

Comments
 (0)