storage: force send BucketPolicyOnly
Fixes #1612. Currently BucketPolicyOnly is not being sent correctly
when it's being disabled.
Change-Id: I728741f1435ff39dc934a560612d9524dcefa194
Reviewed-on: https://code-review.googlesource.com/c/gocloud/+/46730
Reviewed-by: Frank Natividad <franknatividad@google.com>
Reviewed-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jean de Klerk <deklerk@google.com>
diff --git a/storage/bucket.go b/storage/bucket.go
index 245fb97..8091cdf 100644
--- a/storage/bucket.go
+++ b/storage/bucket.go
@@ -695,7 +695,8 @@
if ua.BucketPolicyOnly != nil {
rb.IamConfiguration = &raw.BucketIamConfiguration{
BucketPolicyOnly: &raw.BucketIamConfigurationBucketPolicyOnly{
- Enabled: ua.BucketPolicyOnly.Enabled,
+ Enabled: ua.BucketPolicyOnly.Enabled,
+ ForceSendFields: []string{"Enabled"},
},
}
}
diff --git a/storage/bucket_test.go b/storage/bucket_test.go
index 8fbb08a..60b1501 100644
--- a/storage/bucket_test.go
+++ b/storage/bucket_test.go
@@ -211,7 +211,8 @@
RetentionPolicy: &raw.BucketRetentionPolicy{RetentionPeriod: 3600},
IamConfiguration: &raw.BucketIamConfiguration{
BucketPolicyOnly: &raw.BucketIamConfigurationBucketPolicyOnly{
- Enabled: false,
+ Enabled: false,
+ ForceSendFields: []string{"Enabled"},
},
},
Encryption: &raw.BucketEncryption{DefaultKmsKeyName: "key2"},