Skip to content

Commit cb13534

Browse files
fix: target new spanner db admin service config (#1956)
- [ ] Regenerate this pull request now. chore: remove old spanner db admin service config PiperOrigin-RevId: 463110616 Source-Link: googleapis/googleapis@0f38696 Source-Link: https://github.com/googleapis/googleapis-gen/commit/b048ca647e11fc92d5bcf0bec1881d25f321dea9 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYjA0OGNhNjQ3ZTExZmM5MmQ1YmNmMGJlYzE4ODFkMjVmMzIxZGVhOSJ9 feat: Add ListDatabaseRoles API to support role based access control PiperOrigin-RevId: 462086058 Source-Link: googleapis/googleapis@4f072bf Source-Link: https://github.com/googleapis/googleapis-gen/commit/06f699da66f7a07b9541e57a7d03863b4df4971c Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMDZmNjk5ZGE2NmY3YTA3Yjk1NDFlNTdhN2QwMzg2M2I0ZGY0OTcxYyJ9
1 parent 51c0520 commit cb13534

File tree

20 files changed

+4122
-123
lines changed

20 files changed

+4122
-123
lines changed

google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClient.java

Lines changed: 235 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
import com.google.spanner.admin.database.v1.CreateDatabaseRequest;
5252
import com.google.spanner.admin.database.v1.Database;
5353
import com.google.spanner.admin.database.v1.DatabaseName;
54+
import com.google.spanner.admin.database.v1.DatabaseRole;
5455
import com.google.spanner.admin.database.v1.DeleteBackupRequest;
5556
import com.google.spanner.admin.database.v1.DropDatabaseRequest;
5657
import com.google.spanner.admin.database.v1.GetBackupRequest;
@@ -64,6 +65,8 @@
6465
import com.google.spanner.admin.database.v1.ListBackupsResponse;
6566
import com.google.spanner.admin.database.v1.ListDatabaseOperationsRequest;
6667
import com.google.spanner.admin.database.v1.ListDatabaseOperationsResponse;
68+
import com.google.spanner.admin.database.v1.ListDatabaseRolesRequest;
69+
import com.google.spanner.admin.database.v1.ListDatabaseRolesResponse;
6770
import com.google.spanner.admin.database.v1.ListDatabasesRequest;
6871
import com.google.spanner.admin.database.v1.ListDatabasesResponse;
6972
import com.google.spanner.admin.database.v1.RestoreDatabaseMetadata;
@@ -3151,6 +3154,158 @@ public final ListBackupOperationsPagedResponse listBackupOperations(
31513154
return stub.listBackupOperationsCallable();
31523155
}
31533156

3157+
// AUTO-GENERATED DOCUMENTATION AND METHOD.
3158+
/**
3159+
* Lists Cloud Spanner database roles.
3160+
*
3161+
* <p>Sample code:
3162+
*
3163+
* <pre>{@code
3164+
* // This snippet has been automatically generated for illustrative purposes only.
3165+
* // It may require modifications to work in your environment.
3166+
* try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
3167+
* DatabaseName parent = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
3168+
* for (DatabaseRole element : databaseAdminClient.listDatabaseRoles(parent).iterateAll()) {
3169+
* // doThingsWith(element);
3170+
* }
3171+
* }
3172+
* }</pre>
3173+
*
3174+
* @param parent Required. The database whose roles should be listed. Values are of the form
3175+
* `projects/&lt;project&gt;/instances/&lt;instance&gt;/databases/&lt;database&gt;/databaseRoles`.
3176+
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
3177+
*/
3178+
public final ListDatabaseRolesPagedResponse listDatabaseRoles(DatabaseName parent) {
3179+
ListDatabaseRolesRequest request =
3180+
ListDatabaseRolesRequest.newBuilder()
3181+
.setParent(parent == null ? null : parent.toString())
3182+
.build();
3183+
return listDatabaseRoles(request);
3184+
}
3185+
3186+
// AUTO-GENERATED DOCUMENTATION AND METHOD.
3187+
/**
3188+
* Lists Cloud Spanner database roles.
3189+
*
3190+
* <p>Sample code:
3191+
*
3192+
* <pre>{@code
3193+
* // This snippet has been automatically generated for illustrative purposes only.
3194+
* // It may require modifications to work in your environment.
3195+
* try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
3196+
* String parent = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]").toString();
3197+
* for (DatabaseRole element : databaseAdminClient.listDatabaseRoles(parent).iterateAll()) {
3198+
* // doThingsWith(element);
3199+
* }
3200+
* }
3201+
* }</pre>
3202+
*
3203+
* @param parent Required. The database whose roles should be listed. Values are of the form
3204+
* `projects/&lt;project&gt;/instances/&lt;instance&gt;/databases/&lt;database&gt;/databaseRoles`.
3205+
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
3206+
*/
3207+
public final ListDatabaseRolesPagedResponse listDatabaseRoles(String parent) {
3208+
ListDatabaseRolesRequest request =
3209+
ListDatabaseRolesRequest.newBuilder().setParent(parent).build();
3210+
return listDatabaseRoles(request);
3211+
}
3212+
3213+
// AUTO-GENERATED DOCUMENTATION AND METHOD.
3214+
/**
3215+
* Lists Cloud Spanner database roles.
3216+
*
3217+
* <p>Sample code:
3218+
*
3219+
* <pre>{@code
3220+
* // This snippet has been automatically generated for illustrative purposes only.
3221+
* // It may require modifications to work in your environment.
3222+
* try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
3223+
* ListDatabaseRolesRequest request =
3224+
* ListDatabaseRolesRequest.newBuilder()
3225+
* .setParent(DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]").toString())
3226+
* .setPageSize(883849137)
3227+
* .setPageToken("pageToken873572522")
3228+
* .build();
3229+
* for (DatabaseRole element : databaseAdminClient.listDatabaseRoles(request).iterateAll()) {
3230+
* // doThingsWith(element);
3231+
* }
3232+
* }
3233+
* }</pre>
3234+
*
3235+
* @param request The request object containing all of the parameters for the API call.
3236+
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
3237+
*/
3238+
public final ListDatabaseRolesPagedResponse listDatabaseRoles(ListDatabaseRolesRequest request) {
3239+
return listDatabaseRolesPagedCallable().call(request);
3240+
}
3241+
3242+
// AUTO-GENERATED DOCUMENTATION AND METHOD.
3243+
/**
3244+
* Lists Cloud Spanner database roles.
3245+
*
3246+
* <p>Sample code:
3247+
*
3248+
* <pre>{@code
3249+
* // This snippet has been automatically generated for illustrative purposes only.
3250+
* // It may require modifications to work in your environment.
3251+
* try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
3252+
* ListDatabaseRolesRequest request =
3253+
* ListDatabaseRolesRequest.newBuilder()
3254+
* .setParent(DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]").toString())
3255+
* .setPageSize(883849137)
3256+
* .setPageToken("pageToken873572522")
3257+
* .build();
3258+
* ApiFuture<DatabaseRole> future =
3259+
* databaseAdminClient.listDatabaseRolesPagedCallable().futureCall(request);
3260+
* // Do something.
3261+
* for (DatabaseRole element : future.get().iterateAll()) {
3262+
* // doThingsWith(element);
3263+
* }
3264+
* }
3265+
* }</pre>
3266+
*/
3267+
public final UnaryCallable<ListDatabaseRolesRequest, ListDatabaseRolesPagedResponse>
3268+
listDatabaseRolesPagedCallable() {
3269+
return stub.listDatabaseRolesPagedCallable();
3270+
}
3271+
3272+
// AUTO-GENERATED DOCUMENTATION AND METHOD.
3273+
/**
3274+
* Lists Cloud Spanner database roles.
3275+
*
3276+
* <p>Sample code:
3277+
*
3278+
* <pre>{@code
3279+
* // This snippet has been automatically generated for illustrative purposes only.
3280+
* // It may require modifications to work in your environment.
3281+
* try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
3282+
* ListDatabaseRolesRequest request =
3283+
* ListDatabaseRolesRequest.newBuilder()
3284+
* .setParent(DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]").toString())
3285+
* .setPageSize(883849137)
3286+
* .setPageToken("pageToken873572522")
3287+
* .build();
3288+
* while (true) {
3289+
* ListDatabaseRolesResponse response =
3290+
* databaseAdminClient.listDatabaseRolesCallable().call(request);
3291+
* for (DatabaseRole element : response.getDatabaseRolesList()) {
3292+
* // doThingsWith(element);
3293+
* }
3294+
* String nextPageToken = response.getNextPageToken();
3295+
* if (!Strings.isNullOrEmpty(nextPageToken)) {
3296+
* request = request.toBuilder().setPageToken(nextPageToken).build();
3297+
* } else {
3298+
* break;
3299+
* }
3300+
* }
3301+
* }
3302+
* }</pre>
3303+
*/
3304+
public final UnaryCallable<ListDatabaseRolesRequest, ListDatabaseRolesResponse>
3305+
listDatabaseRolesCallable() {
3306+
return stub.listDatabaseRolesCallable();
3307+
}
3308+
31543309
@Override
31553310
public final void close() {
31563311
stub.close();
@@ -3493,4 +3648,84 @@ protected ListBackupOperationsFixedSizeCollection createCollection(
34933648
return new ListBackupOperationsFixedSizeCollection(pages, collectionSize);
34943649
}
34953650
}
3651+
3652+
public static class ListDatabaseRolesPagedResponse
3653+
extends AbstractPagedListResponse<
3654+
ListDatabaseRolesRequest,
3655+
ListDatabaseRolesResponse,
3656+
DatabaseRole,
3657+
ListDatabaseRolesPage,
3658+
ListDatabaseRolesFixedSizeCollection> {
3659+
3660+
public static ApiFuture<ListDatabaseRolesPagedResponse> createAsync(
3661+
PageContext<ListDatabaseRolesRequest, ListDatabaseRolesResponse, DatabaseRole> context,
3662+
ApiFuture<ListDatabaseRolesResponse> futureResponse) {
3663+
ApiFuture<ListDatabaseRolesPage> futurePage =
3664+
ListDatabaseRolesPage.createEmptyPage().createPageAsync(context, futureResponse);
3665+
return ApiFutures.transform(
3666+
futurePage,
3667+
input -> new ListDatabaseRolesPagedResponse(input),
3668+
MoreExecutors.directExecutor());
3669+
}
3670+
3671+
private ListDatabaseRolesPagedResponse(ListDatabaseRolesPage page) {
3672+
super(page, ListDatabaseRolesFixedSizeCollection.createEmptyCollection());
3673+
}
3674+
}
3675+
3676+
public static class ListDatabaseRolesPage
3677+
extends AbstractPage<
3678+
ListDatabaseRolesRequest,
3679+
ListDatabaseRolesResponse,
3680+
DatabaseRole,
3681+
ListDatabaseRolesPage> {
3682+
3683+
private ListDatabaseRolesPage(
3684+
PageContext<ListDatabaseRolesRequest, ListDatabaseRolesResponse, DatabaseRole> context,
3685+
ListDatabaseRolesResponse response) {
3686+
super(context, response);
3687+
}
3688+
3689+
private static ListDatabaseRolesPage createEmptyPage() {
3690+
return new ListDatabaseRolesPage(null, null);
3691+
}
3692+
3693+
@Override
3694+
protected ListDatabaseRolesPage createPage(
3695+
PageContext<ListDatabaseRolesRequest, ListDatabaseRolesResponse, DatabaseRole> context,
3696+
ListDatabaseRolesResponse response) {
3697+
return new ListDatabaseRolesPage(context, response);
3698+
}
3699+
3700+
@Override
3701+
public ApiFuture<ListDatabaseRolesPage> createPageAsync(
3702+
PageContext<ListDatabaseRolesRequest, ListDatabaseRolesResponse, DatabaseRole> context,
3703+
ApiFuture<ListDatabaseRolesResponse> futureResponse) {
3704+
return super.createPageAsync(context, futureResponse);
3705+
}
3706+
}
3707+
3708+
public static class ListDatabaseRolesFixedSizeCollection
3709+
extends AbstractFixedSizeCollection<
3710+
ListDatabaseRolesRequest,
3711+
ListDatabaseRolesResponse,
3712+
DatabaseRole,
3713+
ListDatabaseRolesPage,
3714+
ListDatabaseRolesFixedSizeCollection> {
3715+
3716+
private ListDatabaseRolesFixedSizeCollection(
3717+
List<ListDatabaseRolesPage> pages, int collectionSize) {
3718+
super(pages, collectionSize);
3719+
}
3720+
3721+
private static ListDatabaseRolesFixedSizeCollection createEmptyCollection() {
3722+
return new ListDatabaseRolesFixedSizeCollection(null, 0);
3723+
}
3724+
3725+
@Override
3726+
protected ListDatabaseRolesFixedSizeCollection createCollection(
3727+
List<ListDatabaseRolesPage> pages, int collectionSize) {
3728+
return new ListDatabaseRolesFixedSizeCollection(pages, collectionSize);
3729+
}
3730+
}
34963731
}

google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminSettings.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListBackupOperationsPagedResponse;
2020
import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListBackupsPagedResponse;
2121
import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListDatabaseOperationsPagedResponse;
22+
import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListDatabaseRolesPagedResponse;
2223
import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListDatabasesPagedResponse;
2324

2425
import com.google.api.core.ApiFunction;
@@ -62,6 +63,8 @@
6263
import com.google.spanner.admin.database.v1.ListBackupsResponse;
6364
import com.google.spanner.admin.database.v1.ListDatabaseOperationsRequest;
6465
import com.google.spanner.admin.database.v1.ListDatabaseOperationsResponse;
66+
import com.google.spanner.admin.database.v1.ListDatabaseRolesRequest;
67+
import com.google.spanner.admin.database.v1.ListDatabaseRolesResponse;
6568
import com.google.spanner.admin.database.v1.ListDatabasesRequest;
6669
import com.google.spanner.admin.database.v1.ListDatabasesResponse;
6770
import com.google.spanner.admin.database.v1.RestoreDatabaseMetadata;
@@ -240,6 +243,13 @@ public UnaryCallSettings<RestoreDatabaseRequest, Operation> restoreDatabaseSetti
240243
return ((DatabaseAdminStubSettings) getStubSettings()).listBackupOperationsSettings();
241244
}
242245

246+
/** Returns the object with the settings used for calls to listDatabaseRoles. */
247+
public PagedCallSettings<
248+
ListDatabaseRolesRequest, ListDatabaseRolesResponse, ListDatabaseRolesPagedResponse>
249+
listDatabaseRolesSettings() {
250+
return ((DatabaseAdminStubSettings) getStubSettings()).listDatabaseRolesSettings();
251+
}
252+
243253
public static final DatabaseAdminSettings create(DatabaseAdminStubSettings stub)
244254
throws IOException {
245255
return new DatabaseAdminSettings.Builder(stub.toBuilder()).build();
@@ -490,6 +500,13 @@ public UnaryCallSettings.Builder<RestoreDatabaseRequest, Operation> restoreDatab
490500
return getStubSettingsBuilder().listBackupOperationsSettings();
491501
}
492502

503+
/** Returns the builder for the settings used for calls to listDatabaseRoles. */
504+
public PagedCallSettings.Builder<
505+
ListDatabaseRolesRequest, ListDatabaseRolesResponse, ListDatabaseRolesPagedResponse>
506+
listDatabaseRolesSettings() {
507+
return getStubSettingsBuilder().listDatabaseRolesSettings();
508+
}
509+
493510
@Override
494511
public DatabaseAdminSettings build() throws IOException {
495512
return new DatabaseAdminSettings(this);

google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/gapic_metadata.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@
4646
"ListDatabaseOperations": {
4747
"methods": ["listDatabaseOperations", "listDatabaseOperations", "listDatabaseOperations", "listDatabaseOperationsPagedCallable", "listDatabaseOperationsCallable"]
4848
},
49+
"ListDatabaseRoles": {
50+
"methods": ["listDatabaseRoles", "listDatabaseRoles", "listDatabaseRoles", "listDatabaseRolesPagedCallable", "listDatabaseRolesCallable"]
51+
},
4952
"ListDatabases": {
5053
"methods": ["listDatabases", "listDatabases", "listDatabases", "listDatabasesPagedCallable", "listDatabasesCallable"]
5154
},

google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/package-info.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
*/
1616

1717
/**
18-
* The interfaces provided are listed below, along with usage samples.
18+
* A client to Cloud Spanner API
19+
*
20+
* <p>The interfaces provided are listed below, along with usage samples.
1921
*
2022
* <p>======================= DatabaseAdminClient =======================
2123
*

google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStub.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListBackupOperationsPagedResponse;
2020
import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListBackupsPagedResponse;
2121
import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListDatabaseOperationsPagedResponse;
22+
import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListDatabaseRolesPagedResponse;
2223
import static com.google.cloud.spanner.admin.database.v1.DatabaseAdminClient.ListDatabasesPagedResponse;
2324

2425
import com.google.api.gax.core.BackgroundResource;
@@ -52,6 +53,8 @@
5253
import com.google.spanner.admin.database.v1.ListBackupsResponse;
5354
import com.google.spanner.admin.database.v1.ListDatabaseOperationsRequest;
5455
import com.google.spanner.admin.database.v1.ListDatabaseOperationsResponse;
56+
import com.google.spanner.admin.database.v1.ListDatabaseRolesRequest;
57+
import com.google.spanner.admin.database.v1.ListDatabaseRolesResponse;
5558
import com.google.spanner.admin.database.v1.ListDatabasesRequest;
5659
import com.google.spanner.admin.database.v1.ListDatabasesResponse;
5760
import com.google.spanner.admin.database.v1.RestoreDatabaseMetadata;
@@ -199,6 +202,16 @@ public UnaryCallable<RestoreDatabaseRequest, Operation> restoreDatabaseCallable(
199202
throw new UnsupportedOperationException("Not implemented: listBackupOperationsCallable()");
200203
}
201204

205+
public UnaryCallable<ListDatabaseRolesRequest, ListDatabaseRolesPagedResponse>
206+
listDatabaseRolesPagedCallable() {
207+
throw new UnsupportedOperationException("Not implemented: listDatabaseRolesPagedCallable()");
208+
}
209+
210+
public UnaryCallable<ListDatabaseRolesRequest, ListDatabaseRolesResponse>
211+
listDatabaseRolesCallable() {
212+
throw new UnsupportedOperationException("Not implemented: listDatabaseRolesCallable()");
213+
}
214+
202215
@Override
203216
public abstract void close();
204217
}

0 commit comments

Comments
 (0)