Skip to content

Commit 1352fab

Browse files
lqiu96diegomarquezpemmileafburkedavisonrelease-please[bot]
authored
fix: Use bindings for resolving multi pattern resources (#1818)
* fix: Use bindings for resolving multi pattern resources * chore: Fix lint issues * chore: Add unit tests for the behavior * chore: Add comments for the tests * chore: Remove unused comment * feat: support GDC-H Credentials (#1642) * chore: initial additions to handle GDC-H API audience * chore: add unit tests for GDC-H * chore: cleanup of logic * chore: decompose tests into separate methods * chore: fix clirr diff check * chore: fmt:format * chore: add support in `ClientSettings` * chore: add showcase IT for GDCH credentials * chore: comments * chore: improve tests * chore: add partial IT for testing context credential * chore: recreate GdchCredentials with audience using convenience method * chore: more readable api audience logic * chore: no wildcard imports * chore: javadoc for public methods * chore: gdch test to use default null initialization * chore: tear down for gdch IT * chore: `assertThrows` for gdch ITs * chore: mvn fmt:format * test: remove context test * docs: explain that audience will be overriden if set through client/stub settings * test: test audience setting should modify initial credentials * chore: clirr check * chore: ignore gdch changes * chore: format * chore: default to endpoint if audience not provided * test: refresh gdch creds to confirm audience works * chore: fmt * chore: fmt * chore: better test names in ClientContextTest * chore: better test names for showcase tests * chore: simplify refresh verification logic * chore: include outcome in gdch it test names * chore: expand comments in GDCH ITs * test: intercept mock transport to verify audience * chore: fmt * chore: move auth test-jar to shared dependencies * chore: cleanup * chore: use inferred version for auth library * deps: update google-auth-java-library to 1.19.0 * choreL fmt ITGdch.java * chore: import auth test-jar using common version variable * chore: remove auth test-jar import from first-party-dependencies * chore: add license headers to new files * chore: revert google-auth-version to be obtained from main branch * chore: correct showcase parent pom indentation * chore: remove resource declaration for native test build * fix: [gapic-generator-java] handle response and metadata type ambiguity in LRO parsing (#1726) * chore: Bump grpc-java version to 1.55.3 (#1829) * chore: Bump gapic-showcase version to 0.28.2 (#1830) * build(deps): Bump guava version to 32.1.1-jre (#1832) * chore: Bump guava version to 32.1.1-jre * chore: Add guava to gradle template * chore: Add j2obc-annotations to shared-dependencies (#1834) * ci: fix showcase-clirr check on release PRs (#1835) Install sdk-platform-java before performing final clirr check, so version changes are available in the local repository * chore(main): release 2.23.0 (#1806) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> * chore(main): release 2.23.1-SNAPSHOT (#1836) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> * chore: Implement gRPC and HttpJson showcase tests for IAM (#1789) * chore: Add framework for iam showcase tests * chore: Generate clients with IAM stubs * chore: Add IAM showcase tests * chore: Add samples * chore: Exclude httpjson tests * chore: Use @before to create the resource * chore: Use constant for policy * chore: Log resource name * chore: Test use setPolicyRequest's resourceName * chore: run mvn clean before showcase tests * chore: Attempt again with cache deleted * chore: Add logging for test * chore: Sleep for 1s * chore: Use resource from setPolicyRequest * chore: Ignore failing HttpJson test for now * chore: Un-ignore test * chore: Fix lint issues * chore: Test with rooms/ prefix * chore: Use Identity client for Users * chore: Create user resource to assign policy to * chore: Use user's name as resource id * chore: Change resource name before each test * chore: Add iam-grpc in pom * chore: Resolve sonar issues * chore: Add comment for testIamPolicy * chore: Address PR comments * ci: showcase native check (#1833) * ci: showcase native check * fix: add explicit java version * fix: adjust syntax * fix: add resource-config entry for ITGdch * fix: copy file to temp folder so it can be accessed by path * chore: formatting * fix: prevent shutdown warnings with client.awaitTermination * ci: fix build file location for downstream test * chore: use static imports for Truth assertions * chore: Resolve merge conflicts * chore: Use bindings for any matching resource patterns * chore: Fix lint issues * chore: Remove unused code * chore: Fix lint issues * chore: Add test for resourceName matching bindings * chore: Fix lint issues --------- Co-authored-by: Diego Alonso Marquez Palacios <[email protected]> Co-authored-by: Emily Wang <[email protected]> Co-authored-by: Burke Davison <[email protected]> Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
1 parent 194097a commit 1352fab

File tree

57 files changed

+318
-456
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+318
-456
lines changed

gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/defaultvalue/DefaultValueComposer.java

+9-6
Original file line numberDiff line numberDiff line change
@@ -102,23 +102,25 @@ public static Expr createMethodArgValue(
102102
}
103103

104104
if (methodArg.type().equals(methodArg.field().type())) {
105-
return createValue(methodArg.field(), false, resourceNames, messageTypes, valuePatterns);
105+
return createValue(
106+
methodArg.field(), false, resourceNames, messageTypes, valuePatterns, bindings);
106107
}
107108

108109
return createValue(Field.builder().setName(methodArg.name()).setType(methodArg.type()).build());
109110
}
110111

111112
public static Expr createValue(Field field) {
112113
return createValue(
113-
field, false, Collections.emptyMap(), Collections.emptyMap(), Collections.emptyMap());
114+
field, false, Collections.emptyMap(), Collections.emptyMap(), Collections.emptyMap(), null);
114115
}
115116

116117
public static Expr createValue(
117118
Field field,
118119
boolean useExplicitInitTypeInGenerics,
119120
Map<String, ResourceName> resourceNames,
120121
Map<String, Message> messageTypes,
121-
Map<String, String> valuePatterns) {
122+
Map<String, String> valuePatterns,
123+
HttpBindings bindings) {
122124
if (field.isRepeated()) {
123125
ConcreteReference.Builder refBuilder =
124126
ConcreteReference.builder().setClazz(field.isMap() ? HashMap.class : ArrayList.class);
@@ -161,7 +163,7 @@ public static Expr createValue(
161163
Message nestedMessage = messageTypes.get(field.type().reference().fullName());
162164
if (nestedMessage != null) {
163165
return createSimpleMessageBuilderValue(
164-
nestedMessage, resourceNames, messageTypes, nestedValuePatterns, null);
166+
nestedMessage, resourceNames, messageTypes, nestedValuePatterns, bindings);
165167
}
166168
}
167169

@@ -274,7 +276,7 @@ static Expr createResourceHelperValue(
274276
if (!resname.isOnlyWildcard()
275277
&& (bindings == null || resname.getMatchingPattern(bindings) != null)) {
276278
return createResourceHelperValue(
277-
resname, false, unexaminedResnames, fieldOrMessageName, null);
279+
resname, false, unexaminedResnames, fieldOrMessageName, bindings);
278280
}
279281
}
280282

@@ -420,7 +422,8 @@ public static Expr createSimpleMessageBuilderValue(
420422
}
421423

422424
if (defaultExpr == null) {
423-
defaultExpr = createValue(field, true, resourceNames, messageTypes, valuePatterns);
425+
defaultExpr =
426+
createValue(field, true, resourceNames, messageTypes, valuePatterns, bindings);
424427
}
425428
}
426429
builderExpr =

gapic-generator-java/src/test/java/com/google/api/generator/gapic/composer/defaultvalue/DefaultValueComposerTest.java

+163-1
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,12 @@
2727
import com.google.api.generator.gapic.model.ResourceName;
2828
import com.google.api.generator.gapic.protoparser.Parser;
2929
import com.google.api.generator.test.utils.LineFormatter;
30+
import com.google.common.collect.ImmutableList;
3031
import com.google.protobuf.ByteString;
3132
import com.google.protobuf.Descriptors.FileDescriptor;
3233
import com.google.protobuf.StructProto;
3334
import com.google.showcase.v1beta1.EchoOuterClass;
35+
import com.google.showcase.v1beta1.MessagingOuterClass;
3436
import com.google.testgapic.v1beta1.LockerProto;
3537
import java.util.Arrays;
3638
import java.util.Collections;
@@ -174,7 +176,7 @@ public void defaultValue_resourceNameWithOnePattern() {
174176
}
175177

176178
@Test
177-
public void defaultValue_resourceNameWithMultiplePatterns() {
179+
public void defaultValue_resourceNameWithMultiplePatterns_noBindings() {
178180
FileDescriptor lockerServiceFileDescriptor = LockerProto.getDescriptor();
179181
Map<String, ResourceName> typeStringsToResourceNames =
180182
Parser.parseResourceNames(lockerServiceFileDescriptor);
@@ -188,10 +190,45 @@ public void defaultValue_resourceNameWithMultiplePatterns() {
188190
"ignored",
189191
null);
190192
expr.accept(writerVisitor);
193+
/*
194+
There are two patterns:
195+
- pattern: "projects/{project}/folders/{folder}"
196+
- pattern: "folders/{folder}"
197+
It matches the first one given no bindings
198+
*/
191199
assertEquals(
192200
"FolderName.ofProjectFolderName(\"[PROJECT]\", \"[FOLDER]\")", writerVisitor.write());
193201
}
194202

203+
@Test
204+
public void defaultValue_resourceNameWithMultiplePatterns_matchesBindings() {
205+
FileDescriptor lockerServiceFileDescriptor = LockerProto.getDescriptor();
206+
Map<String, ResourceName> typeStringsToResourceNames =
207+
Parser.parseResourceNames(lockerServiceFileDescriptor);
208+
ResourceName resourceName =
209+
typeStringsToResourceNames.get("cloudresourcemanager.googleapis.com/Folder");
210+
Expr expr =
211+
DefaultValueComposer.createResourceHelperValue(
212+
resourceName,
213+
false,
214+
typeStringsToResourceNames.values().stream().collect(Collectors.toList()),
215+
"folder",
216+
HttpBindings.builder()
217+
.setHttpVerb(HttpVerb.POST)
218+
.setPattern("/v1/{name=folders/*}")
219+
.setAdditionalPatterns(ImmutableList.of())
220+
.setIsAsteriskBody(true)
221+
.build());
222+
expr.accept(writerVisitor);
223+
/*
224+
There are two patterns:
225+
- pattern: "projects/{project}/folders/{folder}"
226+
- pattern: "folders/{folder}"
227+
It attempts to match the correct HttpBinding
228+
*/
229+
assertEquals("FolderName.ofFolderName(\"[FOLDER]\")", writerVisitor.write());
230+
}
231+
195232
@Test
196233
public void defaultValue_resourceNameWithWildcardPattern() {
197234
FileDescriptor lockerServiceFileDescriptor = LockerProto.getDescriptor();
@@ -374,6 +411,131 @@ public void defaultValue_resourceNameWithOnlyWildcards_allowAnonResourceNameClas
374411
assertEquals(expected, writerVisitor.write());
375412
}
376413

414+
@Test
415+
public void createSimpleMessageBuilderValue_resourceNameMultiplePatterns_matchesHttpBinding() {
416+
FileDescriptor messagingFileDescriptor = MessagingOuterClass.getDescriptor();
417+
Map<String, Message> messageTypes = Parser.parseMessages(messagingFileDescriptor);
418+
Map<String, ResourceName> typeStringsToResourceNames =
419+
Parser.parseResourceNames(messagingFileDescriptor);
420+
/*
421+
Blurb Resource contains four patterns (in order of):
422+
- pattern: "users/{user}/profile/blurbs/legacy/{legacy_user}~{blurb}"
423+
- pattern: "users/{user}/profile/blurbs/{blurb}"
424+
- pattern: "rooms/{room}/blurbs/{blurb}"
425+
- pattern: "rooms/{room}/blurbs/legacy/{legacy_room}.{blurb}"
426+
*/
427+
Message message = messageTypes.get("com.google.showcase.v1beta1.Blurb");
428+
429+
HttpBindings bindings =
430+
HttpBindings.builder()
431+
.setHttpVerb(HttpVerb.PATCH)
432+
.setPattern("/v1beta1/{blurb.name=rooms/*/blurbs/*}")
433+
.setAdditionalPatterns(
434+
Collections.singletonList("/v1beta1/{blurb.name=users/*/profile/blurbs/*}"))
435+
.setIsAsteriskBody(false)
436+
.build();
437+
438+
Expr expr =
439+
DefaultValueComposer.createSimpleMessageBuilderValue(
440+
message, typeStringsToResourceNames, messageTypes, bindings);
441+
expr.accept(writerVisitor);
442+
// Matches with the default pattern in the HttpBindings and uses the variables in the pattern
443+
assertEquals(
444+
"Blurb.newBuilder().setName(BlurbName.ofRoomBlurbName(\"[ROOM]\", \"[BLURB]\").toString()).build()",
445+
writerVisitor.write());
446+
}
447+
448+
@Test
449+
public void
450+
createSimpleMessageBuilderValue_resourceNameMultiplePatterns_matchesAdditionalHttpBinding() {
451+
FileDescriptor messagingFileDescriptor = MessagingOuterClass.getDescriptor();
452+
Map<String, Message> messageTypes = Parser.parseMessages(messagingFileDescriptor);
453+
Map<String, ResourceName> typeStringsToResourceNames =
454+
Parser.parseResourceNames(messagingFileDescriptor);
455+
/*
456+
Blurb Resource contains four patterns (in order of):
457+
- pattern: "users/{user}/profile/blurbs/legacy/{legacy_user}~{blurb}"
458+
- pattern: "users/{user}/profile/blurbs/{blurb}"
459+
- pattern: "rooms/{room}/blurbs/{blurb}"
460+
- pattern: "rooms/{room}/blurbs/legacy/{legacy_room}.{blurb}"
461+
*/
462+
Message message = messageTypes.get("com.google.showcase.v1beta1.Blurb");
463+
464+
HttpBindings bindings =
465+
HttpBindings.builder()
466+
.setHttpVerb(HttpVerb.PATCH)
467+
.setPattern("/v1beta1/{blurb.name=invalid/pattern/*}")
468+
.setAdditionalPatterns(
469+
Collections.singletonList("/v1beta1/{blurb.name=users/*/profile/blurbs/*}"))
470+
.setIsAsteriskBody(false)
471+
.build();
472+
473+
Expr expr =
474+
DefaultValueComposer.createSimpleMessageBuilderValue(
475+
message, typeStringsToResourceNames, messageTypes, bindings);
476+
expr.accept(writerVisitor);
477+
// Because the default pattern does not match, it will attempt to match with patterns in the
478+
// additional bindings and use variables for any pattern that matches
479+
assertEquals(
480+
"Blurb.newBuilder().setName(BlurbName.ofUserBlurbName(\"[USER]\", \"[BLURB]\").toString()).build()",
481+
writerVisitor.write());
482+
}
483+
484+
@Test
485+
public void
486+
createSimpleMessageBuilderValue_resourceNameMultiplePatterns_doesNotMatchHttpBinding() {
487+
FileDescriptor messagingFileDescriptor = MessagingOuterClass.getDescriptor();
488+
Map<String, Message> messageTypes = Parser.parseMessages(messagingFileDescriptor);
489+
Map<String, ResourceName> typeStringsToResourceNames =
490+
Parser.parseResourceNames(messagingFileDescriptor);
491+
/*
492+
Blurb Resource contains four patterns (in order of):
493+
- pattern: "users/{user}/profile/blurbs/legacy/{legacy_user}~{blurb}"
494+
- pattern: "users/{user}/profile/blurbs/{blurb}"
495+
- pattern: "rooms/{room}/blurbs/{blurb}"
496+
- pattern: "rooms/{room}/blurbs/legacy/{legacy_room}.{blurb}"
497+
*/
498+
Message message = messageTypes.get("com.google.showcase.v1beta1.Blurb");
499+
500+
HttpBindings bindings =
501+
HttpBindings.builder()
502+
.setHttpVerb(HttpVerb.PATCH)
503+
.setPattern("/v1beta1/{blurb.name=invalid/pattern/*}")
504+
.setAdditionalPatterns(
505+
Collections.singletonList("/v1beta1/{blurb.name=nothing/matches/*}"))
506+
.setIsAsteriskBody(false)
507+
.build();
508+
509+
Expr expr =
510+
DefaultValueComposer.createSimpleMessageBuilderValue(
511+
message, typeStringsToResourceNames, messageTypes, bindings);
512+
expr.accept(writerVisitor);
513+
// If no pattern matches (default and additional bindings), it will simply pick the first
514+
// resource pattern in the resource definition.
515+
assertEquals(
516+
"Blurb.newBuilder().setName(BlurbName.ofUserLegacyUserBlurbName(\"[USER]\", \"[LEGACY_USER]\", \"[BLURB]\").toString()).build()",
517+
writerVisitor.write());
518+
}
519+
520+
@Test
521+
public void defaultValue_resourceNameMultiplePatterns_noHttpBinding() {
522+
FileDescriptor messagingFileDescriptor = MessagingOuterClass.getDescriptor();
523+
Map<String, Message> messageTypes = Parser.parseMessages(messagingFileDescriptor);
524+
Map<String, ResourceName> typeStringsToResourceNames =
525+
Parser.parseResourceNames(messagingFileDescriptor);
526+
Message message = messageTypes.get("com.google.showcase.v1beta1.Blurb");
527+
528+
Expr expr =
529+
DefaultValueComposer.createSimpleMessageBuilderValue(
530+
message, typeStringsToResourceNames, messageTypes, null);
531+
expr.accept(writerVisitor);
532+
// If no pattern matches (default and additional bindings), it will simply pick the first
533+
// resource pattern in the resource definition.
534+
assertEquals(
535+
"Blurb.newBuilder().setName(BlurbName.ofUserLegacyUserBlurbName(\"[USER]\", \"[LEGACY_USER]\", \"[BLURB]\").toString()).build()",
536+
writerVisitor.write());
537+
}
538+
377539
@Test
378540
public void createSimpleMessage_basicPrimitivesOnly() {
379541
FileDescriptor echoFileDescriptor = EchoOuterClass.getDescriptor();

showcase/gapic-showcase/samples/snippets/generated/src/main/java/com/google/showcase/v1beta1/compliance/getiampolicy/AsyncGetIamPolicy.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,7 @@ public static void asyncGetIamPolicy() throws Exception {
3939
try (ComplianceClient complianceClient = ComplianceClient.create()) {
4040
GetIamPolicyRequest request =
4141
GetIamPolicyRequest.newBuilder()
42-
.setResource(
43-
BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
44-
.toString())
42+
.setResource(BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]").toString())
4543
.setOptions(GetPolicyOptions.newBuilder().build())
4644
.build();
4745
ApiFuture<Policy> future = complianceClient.getIamPolicyCallable().futureCall(request);

showcase/gapic-showcase/samples/snippets/generated/src/main/java/com/google/showcase/v1beta1/compliance/getiampolicy/SyncGetIamPolicy.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,7 @@ public static void syncGetIamPolicy() throws Exception {
3838
try (ComplianceClient complianceClient = ComplianceClient.create()) {
3939
GetIamPolicyRequest request =
4040
GetIamPolicyRequest.newBuilder()
41-
.setResource(
42-
BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
43-
.toString())
41+
.setResource(BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]").toString())
4442
.setOptions(GetPolicyOptions.newBuilder().build())
4543
.build();
4644
Policy response = complianceClient.getIamPolicy(request);

showcase/gapic-showcase/samples/snippets/generated/src/main/java/com/google/showcase/v1beta1/compliance/setiampolicy/AsyncSetIamPolicy.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,7 @@ public static void asyncSetIamPolicy() throws Exception {
3939
try (ComplianceClient complianceClient = ComplianceClient.create()) {
4040
SetIamPolicyRequest request =
4141
SetIamPolicyRequest.newBuilder()
42-
.setResource(
43-
BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
44-
.toString())
42+
.setResource(BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]").toString())
4543
.setPolicy(Policy.newBuilder().build())
4644
.setUpdateMask(FieldMask.newBuilder().build())
4745
.build();

showcase/gapic-showcase/samples/snippets/generated/src/main/java/com/google/showcase/v1beta1/compliance/setiampolicy/SyncSetIamPolicy.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,7 @@ public static void syncSetIamPolicy() throws Exception {
3838
try (ComplianceClient complianceClient = ComplianceClient.create()) {
3939
SetIamPolicyRequest request =
4040
SetIamPolicyRequest.newBuilder()
41-
.setResource(
42-
BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
43-
.toString())
41+
.setResource(BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]").toString())
4442
.setPolicy(Policy.newBuilder().build())
4543
.setUpdateMask(FieldMask.newBuilder().build())
4644
.build();

showcase/gapic-showcase/samples/snippets/generated/src/main/java/com/google/showcase/v1beta1/compliance/testiampermissions/AsyncTestIamPermissions.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,7 @@ public static void asyncTestIamPermissions() throws Exception {
3939
try (ComplianceClient complianceClient = ComplianceClient.create()) {
4040
TestIamPermissionsRequest request =
4141
TestIamPermissionsRequest.newBuilder()
42-
.setResource(
43-
BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
44-
.toString())
42+
.setResource(BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]").toString())
4543
.addAllPermissions(new ArrayList<String>())
4644
.build();
4745
ApiFuture<TestIamPermissionsResponse> future =

showcase/gapic-showcase/samples/snippets/generated/src/main/java/com/google/showcase/v1beta1/compliance/testiampermissions/SyncTestIamPermissions.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,7 @@ public static void syncTestIamPermissions() throws Exception {
3838
try (ComplianceClient complianceClient = ComplianceClient.create()) {
3939
TestIamPermissionsRequest request =
4040
TestIamPermissionsRequest.newBuilder()
41-
.setResource(
42-
BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
43-
.toString())
41+
.setResource(BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]").toString())
4442
.addAllPermissions(new ArrayList<String>())
4543
.build();
4644
TestIamPermissionsResponse response = complianceClient.testIamPermissions(request);

showcase/gapic-showcase/samples/snippets/generated/src/main/java/com/google/showcase/v1beta1/echo/getiampolicy/AsyncGetIamPolicy.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,7 @@ public static void asyncGetIamPolicy() throws Exception {
3939
try (EchoClient echoClient = EchoClient.create()) {
4040
GetIamPolicyRequest request =
4141
GetIamPolicyRequest.newBuilder()
42-
.setResource(
43-
BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
44-
.toString())
42+
.setResource(BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]").toString())
4543
.setOptions(GetPolicyOptions.newBuilder().build())
4644
.build();
4745
ApiFuture<Policy> future = echoClient.getIamPolicyCallable().futureCall(request);

showcase/gapic-showcase/samples/snippets/generated/src/main/java/com/google/showcase/v1beta1/echo/getiampolicy/SyncGetIamPolicy.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,7 @@ public static void syncGetIamPolicy() throws Exception {
3838
try (EchoClient echoClient = EchoClient.create()) {
3939
GetIamPolicyRequest request =
4040
GetIamPolicyRequest.newBuilder()
41-
.setResource(
42-
BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
43-
.toString())
41+
.setResource(BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]").toString())
4442
.setOptions(GetPolicyOptions.newBuilder().build())
4543
.build();
4644
Policy response = echoClient.getIamPolicy(request);

showcase/gapic-showcase/samples/snippets/generated/src/main/java/com/google/showcase/v1beta1/echo/setiampolicy/AsyncSetIamPolicy.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,7 @@ public static void asyncSetIamPolicy() throws Exception {
3939
try (EchoClient echoClient = EchoClient.create()) {
4040
SetIamPolicyRequest request =
4141
SetIamPolicyRequest.newBuilder()
42-
.setResource(
43-
BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
44-
.toString())
42+
.setResource(BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]").toString())
4543
.setPolicy(Policy.newBuilder().build())
4644
.setUpdateMask(FieldMask.newBuilder().build())
4745
.build();

showcase/gapic-showcase/samples/snippets/generated/src/main/java/com/google/showcase/v1beta1/echo/setiampolicy/SyncSetIamPolicy.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,7 @@ public static void syncSetIamPolicy() throws Exception {
3838
try (EchoClient echoClient = EchoClient.create()) {
3939
SetIamPolicyRequest request =
4040
SetIamPolicyRequest.newBuilder()
41-
.setResource(
42-
BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
43-
.toString())
41+
.setResource(BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]").toString())
4442
.setPolicy(Policy.newBuilder().build())
4543
.setUpdateMask(FieldMask.newBuilder().build())
4644
.build();

showcase/gapic-showcase/samples/snippets/generated/src/main/java/com/google/showcase/v1beta1/echo/testiampermissions/AsyncTestIamPermissions.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,7 @@ public static void asyncTestIamPermissions() throws Exception {
3939
try (EchoClient echoClient = EchoClient.create()) {
4040
TestIamPermissionsRequest request =
4141
TestIamPermissionsRequest.newBuilder()
42-
.setResource(
43-
BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
44-
.toString())
42+
.setResource(BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]").toString())
4543
.addAllPermissions(new ArrayList<String>())
4644
.build();
4745
ApiFuture<TestIamPermissionsResponse> future =

showcase/gapic-showcase/samples/snippets/generated/src/main/java/com/google/showcase/v1beta1/echo/testiampermissions/SyncTestIamPermissions.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,7 @@ public static void syncTestIamPermissions() throws Exception {
3838
try (EchoClient echoClient = EchoClient.create()) {
3939
TestIamPermissionsRequest request =
4040
TestIamPermissionsRequest.newBuilder()
41-
.setResource(
42-
BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
43-
.toString())
41+
.setResource(BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]").toString())
4442
.addAllPermissions(new ArrayList<String>())
4543
.build();
4644
TestIamPermissionsResponse response = echoClient.testIamPermissions(request);

showcase/gapic-showcase/samples/snippets/generated/src/main/java/com/google/showcase/v1beta1/identity/getiampolicy/AsyncGetIamPolicy.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,7 @@ public static void asyncGetIamPolicy() throws Exception {
3939
try (IdentityClient identityClient = IdentityClient.create()) {
4040
GetIamPolicyRequest request =
4141
GetIamPolicyRequest.newBuilder()
42-
.setResource(
43-
BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
44-
.toString())
42+
.setResource(BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]").toString())
4543
.setOptions(GetPolicyOptions.newBuilder().build())
4644
.build();
4745
ApiFuture<Policy> future = identityClient.getIamPolicyCallable().futureCall(request);

0 commit comments

Comments
 (0)