4343use Google \Cloud \Bigtable \Admin \V2 \CreateAuthorizedViewRequest ;
4444use Google \Cloud \Bigtable \Admin \V2 \CreateBackupMetadata ;
4545use Google \Cloud \Bigtable \Admin \V2 \CreateBackupRequest ;
46+ use Google \Cloud \Bigtable \Admin \V2 \CreateSchemaBundleRequest ;
4647use Google \Cloud \Bigtable \Admin \V2 \CreateTableFromSnapshotRequest ;
4748use Google \Cloud \Bigtable \Admin \V2 \CreateTableRequest ;
4849use Google \Cloud \Bigtable \Admin \V2 \DeleteAuthorizedViewRequest ;
4950use Google \Cloud \Bigtable \Admin \V2 \DeleteBackupRequest ;
51+ use Google \Cloud \Bigtable \Admin \V2 \DeleteSchemaBundleRequest ;
5052use Google \Cloud \Bigtable \Admin \V2 \DeleteSnapshotRequest ;
5153use Google \Cloud \Bigtable \Admin \V2 \DeleteTableRequest ;
5254use Google \Cloud \Bigtable \Admin \V2 \DropRowRangeRequest ;
5355use Google \Cloud \Bigtable \Admin \V2 \GenerateConsistencyTokenRequest ;
5456use Google \Cloud \Bigtable \Admin \V2 \GenerateConsistencyTokenResponse ;
5557use Google \Cloud \Bigtable \Admin \V2 \GetAuthorizedViewRequest ;
5658use Google \Cloud \Bigtable \Admin \V2 \GetBackupRequest ;
59+ use Google \Cloud \Bigtable \Admin \V2 \GetSchemaBundleRequest ;
5760use Google \Cloud \Bigtable \Admin \V2 \GetSnapshotRequest ;
5861use Google \Cloud \Bigtable \Admin \V2 \GetTableRequest ;
5962use Google \Cloud \Bigtable \Admin \V2 \ListAuthorizedViewsRequest ;
6063use Google \Cloud \Bigtable \Admin \V2 \ListBackupsRequest ;
64+ use Google \Cloud \Bigtable \Admin \V2 \ListSchemaBundlesRequest ;
6165use Google \Cloud \Bigtable \Admin \V2 \ListSnapshotsRequest ;
6266use Google \Cloud \Bigtable \Admin \V2 \ListTablesRequest ;
6367use Google \Cloud \Bigtable \Admin \V2 \ModifyColumnFamiliesRequest ;
6468use Google \Cloud \Bigtable \Admin \V2 \RestoreTableMetadata ;
6569use Google \Cloud \Bigtable \Admin \V2 \RestoreTableRequest ;
70+ use Google \Cloud \Bigtable \Admin \V2 \SchemaBundle ;
6671use Google \Cloud \Bigtable \Admin \V2 \Snapshot ;
6772use Google \Cloud \Bigtable \Admin \V2 \SnapshotTableRequest ;
6873use Google \Cloud \Bigtable \Admin \V2 \Table ;
6974use Google \Cloud \Bigtable \Admin \V2 \UndeleteTableRequest ;
7075use Google \Cloud \Bigtable \Admin \V2 \UpdateAuthorizedViewRequest ;
7176use Google \Cloud \Bigtable \Admin \V2 \UpdateBackupRequest ;
77+ use Google \Cloud \Bigtable \Admin \V2 \UpdateSchemaBundleRequest ;
7278use Google \Cloud \Bigtable \Admin \V2 \UpdateTableRequest ;
7379use Google \Cloud \Iam \V1 \GetIamPolicyRequest ;
7480use Google \Cloud \Iam \V1 \Policy ;
100106 * @method PromiseInterface<OperationResponse> copyBackupAsync(CopyBackupRequest $request, array $optionalArgs = [])
101107 * @method PromiseInterface<OperationResponse> createAuthorizedViewAsync(CreateAuthorizedViewRequest $request, array $optionalArgs = [])
102108 * @method PromiseInterface<OperationResponse> createBackupAsync(CreateBackupRequest $request, array $optionalArgs = [])
109+ * @method PromiseInterface<OperationResponse> createSchemaBundleAsync(CreateSchemaBundleRequest $request, array $optionalArgs = [])
103110 * @method PromiseInterface<Table> createTableAsync(CreateTableRequest $request, array $optionalArgs = [])
104111 * @method PromiseInterface<OperationResponse> createTableFromSnapshotAsync(CreateTableFromSnapshotRequest $request, array $optionalArgs = [])
105112 * @method PromiseInterface<void> deleteAuthorizedViewAsync(DeleteAuthorizedViewRequest $request, array $optionalArgs = [])
106113 * @method PromiseInterface<void> deleteBackupAsync(DeleteBackupRequest $request, array $optionalArgs = [])
114+ * @method PromiseInterface<void> deleteSchemaBundleAsync(DeleteSchemaBundleRequest $request, array $optionalArgs = [])
107115 * @method PromiseInterface<void> deleteSnapshotAsync(DeleteSnapshotRequest $request, array $optionalArgs = [])
108116 * @method PromiseInterface<void> deleteTableAsync(DeleteTableRequest $request, array $optionalArgs = [])
109117 * @method PromiseInterface<void> dropRowRangeAsync(DropRowRangeRequest $request, array $optionalArgs = [])
110118 * @method PromiseInterface<GenerateConsistencyTokenResponse> generateConsistencyTokenAsync(GenerateConsistencyTokenRequest $request, array $optionalArgs = [])
111119 * @method PromiseInterface<AuthorizedView> getAuthorizedViewAsync(GetAuthorizedViewRequest $request, array $optionalArgs = [])
112120 * @method PromiseInterface<Backup> getBackupAsync(GetBackupRequest $request, array $optionalArgs = [])
113121 * @method PromiseInterface<Policy> getIamPolicyAsync(GetIamPolicyRequest $request, array $optionalArgs = [])
122+ * @method PromiseInterface<SchemaBundle> getSchemaBundleAsync(GetSchemaBundleRequest $request, array $optionalArgs = [])
114123 * @method PromiseInterface<Snapshot> getSnapshotAsync(GetSnapshotRequest $request, array $optionalArgs = [])
115124 * @method PromiseInterface<Table> getTableAsync(GetTableRequest $request, array $optionalArgs = [])
116125 * @method PromiseInterface<PagedListResponse> listAuthorizedViewsAsync(ListAuthorizedViewsRequest $request, array $optionalArgs = [])
117126 * @method PromiseInterface<PagedListResponse> listBackupsAsync(ListBackupsRequest $request, array $optionalArgs = [])
127+ * @method PromiseInterface<PagedListResponse> listSchemaBundlesAsync(ListSchemaBundlesRequest $request, array $optionalArgs = [])
118128 * @method PromiseInterface<PagedListResponse> listSnapshotsAsync(ListSnapshotsRequest $request, array $optionalArgs = [])
119129 * @method PromiseInterface<PagedListResponse> listTablesAsync(ListTablesRequest $request, array $optionalArgs = [])
120130 * @method PromiseInterface<Table> modifyColumnFamiliesAsync(ModifyColumnFamiliesRequest $request, array $optionalArgs = [])
125135 * @method PromiseInterface<OperationResponse> undeleteTableAsync(UndeleteTableRequest $request, array $optionalArgs = [])
126136 * @method PromiseInterface<OperationResponse> updateAuthorizedViewAsync(UpdateAuthorizedViewRequest $request, array $optionalArgs = [])
127137 * @method PromiseInterface<Backup> updateBackupAsync(UpdateBackupRequest $request, array $optionalArgs = [])
138+ * @method PromiseInterface<OperationResponse> updateSchemaBundleAsync(UpdateSchemaBundleRequest $request, array $optionalArgs = [])
128139 * @method PromiseInterface<OperationResponse> updateTableAsync(UpdateTableRequest $request, array $optionalArgs = [])
129140 */
130141final class BigtableTableAdminClient
@@ -331,6 +342,27 @@ public static function instanceName(string $project, string $instance): string
331342 ]);
332343 }
333344
345+ /**
346+ * Formats a string containing the fully-qualified path to represent a
347+ * schema_bundle resource.
348+ *
349+ * @param string $project
350+ * @param string $instance
351+ * @param string $table
352+ * @param string $schemaBundle
353+ *
354+ * @return string The formatted schema_bundle resource.
355+ */
356+ public static function schemaBundleName (string $ project , string $ instance , string $ table , string $ schemaBundle ): string
357+ {
358+ return self ::getPathTemplate ('schemaBundle ' )->render ([
359+ 'project ' => $ project ,
360+ 'instance ' => $ instance ,
361+ 'table ' => $ table ,
362+ 'schema_bundle ' => $ schemaBundle ,
363+ ]);
364+ }
365+
334366 /**
335367 * Formats a string containing the fully-qualified path to represent a snapshot
336368 * resource.
@@ -380,6 +412,7 @@ public static function tableName(string $project, string $instance, string $tabl
380412 * - cluster: projects/{project}/instances/{instance}/clusters/{cluster}
381413 * - cryptoKeyVersion: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}
382414 * - instance: projects/{project}/instances/{instance}
415+ * - schemaBundle: projects/{project}/instances/{instance}/tables/{table}/schemaBundles/{schema_bundle}
383416 * - snapshot: projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot}
384417 * - table: projects/{project}/instances/{instance}/tables/{table}
385418 *
@@ -602,6 +635,33 @@ public function createBackup(CreateBackupRequest $request, array $callOptions =
602635 return $ this ->startApiCall ('CreateBackup ' , $ request , $ callOptions )->wait ();
603636 }
604637
638+ /**
639+ * Creates a new schema bundle in the specified table.
640+ *
641+ * The async variant is {@see BigtableTableAdminClient::createSchemaBundleAsync()}
642+ * .
643+ *
644+ * @example samples/V2/BigtableTableAdminClient/create_schema_bundle.php
645+ *
646+ * @param CreateSchemaBundleRequest $request A request to house fields associated with the call.
647+ * @param array $callOptions {
648+ * Optional.
649+ *
650+ * @type RetrySettings|array $retrySettings
651+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
652+ * associative array of retry settings parameters. See the documentation on
653+ * {@see RetrySettings} for example usage.
654+ * }
655+ *
656+ * @return OperationResponse
657+ *
658+ * @throws ApiException Thrown if the API call fails.
659+ */
660+ public function createSchemaBundle (CreateSchemaBundleRequest $ request , array $ callOptions = []): OperationResponse
661+ {
662+ return $ this ->startApiCall ('CreateSchemaBundle ' , $ request , $ callOptions )->wait ();
663+ }
664+
605665 /**
606666 * Creates a new table in the specified instance.
607667 * The table can be created with a full set of initial column families,
@@ -713,6 +773,31 @@ public function deleteBackup(DeleteBackupRequest $request, array $callOptions =
713773 $ this ->startApiCall ('DeleteBackup ' , $ request , $ callOptions )->wait ();
714774 }
715775
776+ /**
777+ * Deletes a schema bundle in the specified table.
778+ *
779+ * The async variant is {@see BigtableTableAdminClient::deleteSchemaBundleAsync()}
780+ * .
781+ *
782+ * @example samples/V2/BigtableTableAdminClient/delete_schema_bundle.php
783+ *
784+ * @param DeleteSchemaBundleRequest $request A request to house fields associated with the call.
785+ * @param array $callOptions {
786+ * Optional.
787+ *
788+ * @type RetrySettings|array $retrySettings
789+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
790+ * associative array of retry settings parameters. See the documentation on
791+ * {@see RetrySettings} for example usage.
792+ * }
793+ *
794+ * @throws ApiException Thrown if the API call fails.
795+ */
796+ public function deleteSchemaBundle (DeleteSchemaBundleRequest $ request , array $ callOptions = []): void
797+ {
798+ $ this ->startApiCall ('DeleteSchemaBundle ' , $ request , $ callOptions )->wait ();
799+ }
800+
716801 /**
717802 * Permanently deletes the specified snapshot.
718803 *
@@ -876,7 +961,7 @@ public function getBackup(GetBackupRequest $request, array $callOptions = []): B
876961 }
877962
878963 /**
879- * Gets the access control policy for a Table or Backup resource.
964+ * Gets the access control policy for a Bigtable resource.
880965 * Returns an empty policy if the resource exists but does not have a policy
881966 * set.
882967 *
@@ -903,6 +988,32 @@ public function getIamPolicy(GetIamPolicyRequest $request, array $callOptions =
903988 return $ this ->startApiCall ('GetIamPolicy ' , $ request , $ callOptions )->wait ();
904989 }
905990
991+ /**
992+ * Gets metadata information about the specified schema bundle.
993+ *
994+ * The async variant is {@see BigtableTableAdminClient::getSchemaBundleAsync()} .
995+ *
996+ * @example samples/V2/BigtableTableAdminClient/get_schema_bundle.php
997+ *
998+ * @param GetSchemaBundleRequest $request A request to house fields associated with the call.
999+ * @param array $callOptions {
1000+ * Optional.
1001+ *
1002+ * @type RetrySettings|array $retrySettings
1003+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
1004+ * associative array of retry settings parameters. See the documentation on
1005+ * {@see RetrySettings} for example usage.
1006+ * }
1007+ *
1008+ * @return SchemaBundle
1009+ *
1010+ * @throws ApiException Thrown if the API call fails.
1011+ */
1012+ public function getSchemaBundle (GetSchemaBundleRequest $ request , array $ callOptions = []): SchemaBundle
1013+ {
1014+ return $ this ->startApiCall ('GetSchemaBundle ' , $ request , $ callOptions )->wait ();
1015+ }
1016+
9061017 /**
9071018 * Gets metadata information about the specified snapshot.
9081019 *
@@ -1015,6 +1126,32 @@ public function listBackups(ListBackupsRequest $request, array $callOptions = []
10151126 return $ this ->startApiCall ('ListBackups ' , $ request , $ callOptions );
10161127 }
10171128
1129+ /**
1130+ * Lists all schema bundles associated with the specified table.
1131+ *
1132+ * The async variant is {@see BigtableTableAdminClient::listSchemaBundlesAsync()} .
1133+ *
1134+ * @example samples/V2/BigtableTableAdminClient/list_schema_bundles.php
1135+ *
1136+ * @param ListSchemaBundlesRequest $request A request to house fields associated with the call.
1137+ * @param array $callOptions {
1138+ * Optional.
1139+ *
1140+ * @type RetrySettings|array $retrySettings
1141+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
1142+ * associative array of retry settings parameters. See the documentation on
1143+ * {@see RetrySettings} for example usage.
1144+ * }
1145+ *
1146+ * @return PagedListResponse
1147+ *
1148+ * @throws ApiException Thrown if the API call fails.
1149+ */
1150+ public function listSchemaBundles (ListSchemaBundlesRequest $ request , array $ callOptions = []): PagedListResponse
1151+ {
1152+ return $ this ->startApiCall ('ListSchemaBundles ' , $ request , $ callOptions );
1153+ }
1154+
10181155 /**
10191156 * Lists all snapshots associated with the specified cluster.
10201157 *
@@ -1136,7 +1273,7 @@ public function restoreTable(RestoreTableRequest $request, array $callOptions =
11361273 }
11371274
11381275 /**
1139- * Sets the access control policy on a Table or Backup resource.
1276+ * Sets the access control policy on a Bigtable resource.
11401277 * Replaces any existing policy.
11411278 *
11421279 * The async variant is {@see BigtableTableAdminClient::setIamPolicyAsync()} .
@@ -1196,7 +1333,7 @@ public function snapshotTable(SnapshotTableRequest $request, array $callOptions
11961333 }
11971334
11981335 /**
1199- * Returns permissions that the caller has on the specified Table or Backup
1336+ * Returns permissions that the caller has on the specified Bigtable
12001337 * resource.
12011338 *
12021339 * The async variant is {@see BigtableTableAdminClient::testIamPermissionsAsync()}
@@ -1302,6 +1439,33 @@ public function updateBackup(UpdateBackupRequest $request, array $callOptions =
13021439 return $ this ->startApiCall ('UpdateBackup ' , $ request , $ callOptions )->wait ();
13031440 }
13041441
1442+ /**
1443+ * Updates a schema bundle in the specified table.
1444+ *
1445+ * The async variant is {@see BigtableTableAdminClient::updateSchemaBundleAsync()}
1446+ * .
1447+ *
1448+ * @example samples/V2/BigtableTableAdminClient/update_schema_bundle.php
1449+ *
1450+ * @param UpdateSchemaBundleRequest $request A request to house fields associated with the call.
1451+ * @param array $callOptions {
1452+ * Optional.
1453+ *
1454+ * @type RetrySettings|array $retrySettings
1455+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
1456+ * associative array of retry settings parameters. See the documentation on
1457+ * {@see RetrySettings} for example usage.
1458+ * }
1459+ *
1460+ * @return OperationResponse
1461+ *
1462+ * @throws ApiException Thrown if the API call fails.
1463+ */
1464+ public function updateSchemaBundle (UpdateSchemaBundleRequest $ request , array $ callOptions = []): OperationResponse
1465+ {
1466+ return $ this ->startApiCall ('UpdateSchemaBundle ' , $ request , $ callOptions )->wait ();
1467+ }
1468+
13051469 /**
13061470 * Updates a specified table.
13071471 *
0 commit comments