Skip to content

Commit 97475bc

Browse files
author
Frank Natividad
committed
---
yaml --- r: 8055 b: refs/heads/tswast-patch-1 c: b21740b h: refs/heads/master i: 8053: 2c46324 8051: 3d9765e 8047: d7ca53c
1 parent a1e6ca4 commit 97475bc

2 files changed

Lines changed: 14 additions & 23 deletions

File tree

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,5 +57,5 @@ refs/tags/v0.18.0: 9d193c4c4b9d1c6f21515dd8e50836b9194ec9bb
5757
refs/tags/v0.19.0: e67b56e4d8dad5f9a7b38c9b2107c23c828f2ed5
5858
refs/tags/v0.20.0: 839f7fb7156535146aa1cb2c5aadd8d375d854e8
5959
refs/tags/v0.20.1: 370471f437f1f4f68a11e068df5cd6bf39edb1fa
60-
refs/heads/tswast-patch-1: 6ec2d3ccd352d44867af0fb19a55d964c1fdb3e5
60+
refs/heads/tswast-patch-1: b21740be6c10b4fa9ef9430045c135fc574f8f4e
6161
refs/heads/pubsub-streaming-pull: 19262b752ee874eb2ca3b950eb2aef44d5a5267b

branches/tswast-patch-1/google-cloud-examples/src/main/java/com/google/cloud/examples/storage/snippets/BucketIamSnippets.java

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,6 @@
1414
* limitations under the License.
1515
*/
1616

17-
/*
18-
* EDITING INSTRUCTIONS
19-
* This file is referenced in Storage's javadoc. Any change to this file should be reflected in
20-
* Storage's javadoc.
21-
*/
22-
2317
package com.google.cloud.examples.storage.snippets;
2418

2519
import com.google.cloud.Identity;
@@ -47,7 +41,6 @@ public BucketIamSnippets(Storage storage) {
4741
/**
4842
* Example of listing the Bucket-Level IAM Roles and Members
4943
*/
50-
5144
public Policy listBucketIamMembers(String bucketName) {
5245
// [START view_bucket_iam_members]
5346
// Initialize a Cloud Storage client
@@ -59,8 +52,7 @@ public Policy listBucketIamMembers(String bucketName) {
5952
// Print Roles and its identities
6053
Map<Role, Set<Identity>> policyBindings = policy.getBindings();
6154
for(Map.Entry<Role, Set<Identity>> entry : policyBindings.entrySet()) {
62-
System.out.printf("Role: %s", entry.getKey());
63-
System.out.printf(" Identities: %s\n", entry.getValue());
55+
System.out.printf("Role: %s Identities: %s\n", entry.getKey(), entry.getValue());
6456
}
6557
// [END view_bucket_iam_members]
6658
return policy;
@@ -69,7 +61,6 @@ public Policy listBucketIamMembers(String bucketName) {
6961
/**
7062
* Example of adding a member to the Bucket-level IAM
7163
*/
72-
7364
public void addBucketIamMember(String bucketName, Role role, Identity identity) {
7465
// [START add_bucket_iam_member]
7566
// Initialize a Cloud Storage client
@@ -79,19 +70,18 @@ public void addBucketIamMember(String bucketName, Role role, Identity identity)
7970
Policy policy = storage.getIamPolicy(bucketName);
8071

8172
// Add identity to Bucket-level IAM role
82-
Policy updatedPolicy = policy.toBuilder().addIdentity(role, identity).build();
73+
Policy updatedPolicy = storage.setIamPolicy(bucketName,
74+
policy.toBuilder().addIdentity(role, identity).build());
8375

84-
// Update the bucket IAM Policy
85-
storage.setIamPolicy(bucketName, updatedPolicy);
86-
87-
System.out.printf("Added %s with role %s to %s\n", identity, role, bucketName);
76+
if (updatedPolicy.getBindings().get(role).contains(identity)) {
77+
System.out.printf("Added %s with role %s to %s\n", identity, role, bucketName);
78+
}
8879
// [END add_bucket_iam_member]
8980
}
9081

9182
/**
9283
* Example of removing a member from the Bucket-level IAM
9384
*/
94-
9585
public void removeBucketIamMember(String bucketName, Role role, Identity identity) {
9686
// [START remove_bucket_iam_member]
9787
// Initialize a Cloud Storage client
@@ -100,13 +90,14 @@ public void removeBucketIamMember(String bucketName, Role role, Identity identit
10090
// Get IAM Policy for a bucket
10191
Policy policy = storage.getIamPolicy(bucketName);
10292

103-
// Remove identity from Bucket-level IAM role
104-
Policy updatedPolicy = policy.toBuilder().removeIdentity(role, identity).build();
93+
// Remove an identity from a Bucket-level IAM role
94+
Policy updatedPolicy = storage.setIamPolicy(bucketName,
95+
policy.toBuilder().removeIdentity(role, identity).build());
10596

106-
// Update the bucket IAM Policy
107-
storage.setIamPolicy(bucketName, updatedPolicy);
108-
109-
System.out.printf("Removed %s with role %s from %s\n", identity, role, bucketName);
97+
if (updatedPolicy.getBindings().get(role) == null ||
98+
!updatedPolicy.getBindings().get(role).contains(identity)) {
99+
System.out.printf("Removed %s with role %s from %s\n", identity, role, bucketName);
100+
}
110101
// [END remove_bucket_iam_member]
111102
}
112103
}

0 commit comments

Comments
 (0)