Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

revert: rollback spanner client change #2471

Merged
merged 1 commit into from
Nov 14, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
280 changes: 139 additions & 141 deletions Spanner/metadata/Admin/Instance/V1/SpannerInstanceAdmin.php

Large diffs are not rendered by default.

3 changes: 1 addition & 2 deletions Spanner/src/Admin/Database/V1/CreateDatabaseRequest.php

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 3 additions & 4 deletions Spanner/src/Admin/Database/V1/DatabaseAdminGrpcClient.php
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ public function ListDatabases(\Google\Cloud\Spanner\Admin\Database\V1\ListDataba
* have a name of the format `<database_name>/operations/<operation_id>` and
* can be used to track preparation of the database. The
* [metadata][google.longrunning.Operation.metadata] field type is
* [CreateDatabaseMetadata][google.spanner.admin.database.v1.CreateDatabaseMetadata].
* The [response][google.longrunning.Operation.response] field type is
* [CreateDatabaseMetadata][google.spanner.admin.database.v1.CreateDatabaseMetadata]. The
* [response][google.longrunning.Operation.response] field type is
* [Database][google.spanner.admin.database.v1.Database], if successful.
* @param \Google\Cloud\Spanner\Admin\Database\V1\CreateDatabaseRequest $argument input argument
* @param array $metadata metadata
Expand Down Expand Up @@ -93,8 +93,7 @@ public function GetDatabase(\Google\Cloud\Spanner\Admin\Database\V1\GetDatabaseR
* the format `<database_name>/operations/<operation_id>` and can be used to
* track execution of the schema change(s). The
* [metadata][google.longrunning.Operation.metadata] field type is
* [UpdateDatabaseDdlMetadata][google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata].
* The operation has no response.
* [UpdateDatabaseDdlMetadata][google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata]. The operation has no response.
* @param \Google\Cloud\Spanner\Admin\Database\V1\UpdateDatabaseDdlRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
Expand Down
3 changes: 1 addition & 2 deletions Spanner/src/Admin/Database/V1/DropDatabaseRequest.php

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

229 changes: 106 additions & 123 deletions Spanner/src/Admin/Database/V1/Gapic/DatabaseAdminGapicClient.php
Original file line number Diff line number Diff line change
Expand Up @@ -71,35 +71,21 @@
* $databaseAdminClient = new DatabaseAdminClient();
* try {
* $formattedParent = $databaseAdminClient->instanceName('[PROJECT]', '[INSTANCE]');
* $createStatement = '';
* $operationResponse = $databaseAdminClient->createDatabase($formattedParent, $createStatement);
* $operationResponse->pollUntilComplete();
* if ($operationResponse->operationSucceeded()) {
* $result = $operationResponse->getResult();
* // doSomethingWith($result)
* } else {
* $error = $operationResponse->getError();
* // handleError($error)
* // Iterate over pages of elements
* $pagedResponse = $databaseAdminClient->listDatabases($formattedParent);
* foreach ($pagedResponse->iteratePages() as $page) {
* foreach ($page as $element) {
* // doSomethingWith($element);
* }
* }
*
*
* // Alternatively:
*
* // start the operation, keep the operation name, and resume later
* $operationResponse = $databaseAdminClient->createDatabase($formattedParent, $createStatement);
* $operationName = $operationResponse->getName();
* // ... do other work
* $newOperationResponse = $databaseAdminClient->resumeOperation($operationName, 'createDatabase');
* while (!$newOperationResponse->isDone()) {
* // ... do other work
* $newOperationResponse->reload();
* }
* if ($newOperationResponse->operationSucceeded()) {
* $result = $newOperationResponse->getResult();
* // doSomethingWith($result)
* } else {
* $error = $newOperationResponse->getError();
* // handleError($error)
* // Iterate through all elements
* $pagedResponse = $databaseAdminClient->listDatabases($formattedParent);
* foreach ($pagedResponse->iterateAllElements() as $element) {
* // doSomethingWith($element);
* }
* } finally {
* $databaseAdminClient->close();
Expand Down Expand Up @@ -376,14 +362,95 @@ public function __construct(array $options = [])
$this->operationsClient = $this->createOperationsClient($clientOptions);
}

/**
* Lists Cloud Spanner databases.
*
* Sample code:
* ```
* $databaseAdminClient = new DatabaseAdminClient();
* try {
* $formattedParent = $databaseAdminClient->instanceName('[PROJECT]', '[INSTANCE]');
* // Iterate over pages of elements
* $pagedResponse = $databaseAdminClient->listDatabases($formattedParent);
* foreach ($pagedResponse->iteratePages() as $page) {
* foreach ($page as $element) {
* // doSomethingWith($element);
* }
* }
*
*
* // Alternatively:
*
* // Iterate through all elements
* $pagedResponse = $databaseAdminClient->listDatabases($formattedParent);
* foreach ($pagedResponse->iterateAllElements() as $element) {
* // doSomethingWith($element);
* }
* } finally {
* $databaseAdminClient->close();
* }
* ```
*
* @param string $parent Required. The instance whose databases should be listed.
* Values are of the form `projects/<project>/instances/<instance>`.
* @param array $optionalArgs {
* Optional.
*
* @type int $pageSize
* The maximum number of resources contained in the underlying API
* response. The API may return fewer values in a page, even if
* there are additional values to be retrieved.
* @type string $pageToken
* A page token is used to specify a page of values to be returned.
* If no page token is specified (the default), the first page
* of values will be returned. Any page token used here must have
* been generated by a previous call to the API.
* @type RetrySettings|array $retrySettings
* Retry settings to use for this call. Can be a
* {@see Google\ApiCore\RetrySettings} object, or an associative array
* of retry settings parameters. See the documentation on
* {@see Google\ApiCore\RetrySettings} for example usage.
* }
*
* @return \Google\ApiCore\PagedListResponse
*
* @throws ApiException if the remote call fails
* @experimental
*/
public function listDatabases($parent, array $optionalArgs = [])
{
$request = new ListDatabasesRequest();
$request->setParent($parent);
if (isset($optionalArgs['pageSize'])) {
$request->setPageSize($optionalArgs['pageSize']);
}
if (isset($optionalArgs['pageToken'])) {
$request->setPageToken($optionalArgs['pageToken']);
}

$requestParams = new RequestParamsHeaderDescriptor([
'parent' => $request->getParent(),
]);
$optionalArgs['headers'] = isset($optionalArgs['headers'])
? array_merge($requestParams->getHeader(), $optionalArgs['headers'])
: $requestParams->getHeader();

return $this->getPagedListResponse(
'ListDatabases',
$optionalArgs,
ListDatabasesResponse::class,
$request
);
}

/**
* Creates a new Cloud Spanner database and starts to prepare it for serving.
* The returned [long-running operation][google.longrunning.Operation] will
* have a name of the format `<database_name>/operations/<operation_id>` and
* can be used to track preparation of the database. The
* [metadata][google.longrunning.Operation.metadata] field type is
* [CreateDatabaseMetadata][google.spanner.admin.database.v1.CreateDatabaseMetadata].
* The [response][google.longrunning.Operation.response] field type is
* [CreateDatabaseMetadata][google.spanner.admin.database.v1.CreateDatabaseMetadata]. The
* [response][google.longrunning.Operation.response] field type is
* [Database][google.spanner.admin.database.v1.Database], if successful.
*
* Sample code:
Expand Down Expand Up @@ -535,8 +602,7 @@ public function getDatabase($name, array $optionalArgs = [])
* the format `<database_name>/operations/<operation_id>` and can be used to
* track execution of the schema change(s). The
* [metadata][google.longrunning.Operation.metadata] field type is
* [UpdateDatabaseDdlMetadata][google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata].
* The operation has no response.
* [UpdateDatabaseDdlMetadata][google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata]. The operation has no response.
*
* Sample code:
* ```
Expand Down Expand Up @@ -589,20 +655,18 @@ public function getDatabase($name, array $optionalArgs = [])
*
* Specifying an explicit operation ID simplifies determining
* whether the statements were executed in the event that the
* [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
* call is replayed, or the return value is otherwise lost: the
* [database][google.spanner.admin.database.v1.UpdateDatabaseDdlRequest.database]
* and `operation_id` fields can be combined to form the
* [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] call is replayed,
* or the return value is otherwise lost: the [database][google.spanner.admin.database.v1.UpdateDatabaseDdlRequest.database] and
* `operation_id` fields can be combined to form the
* [name][google.longrunning.Operation.name] of the resulting
* [longrunning.Operation][google.longrunning.Operation]:
* `<database>/operations/<operation_id>`.
* [longrunning.Operation][google.longrunning.Operation]: `<database>/operations/<operation_id>`.
*
* `operation_id` should be unique within the database, and must be
* a valid identifier: `[a-z][a-z0-9_]*`. Note that
* automatically-generated operation IDs always begin with an
* underscore. If the named operation already exists,
* [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
* returns `ALREADY_EXISTS`.
* [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] returns
* `ALREADY_EXISTS`.
* @type RetrySettings|array $retrySettings
* Retry settings to use for this call. Can be a
* {@see Google\ApiCore\RetrySettings} object, or an associative array
Expand Down Expand Up @@ -750,9 +814,9 @@ public function getDatabaseDdl($database, array $optionalArgs = [])
* ```
* $databaseAdminClient = new DatabaseAdminClient();
* try {
* $resource = '';
* $formattedResource = $databaseAdminClient->databaseName('[PROJECT]', '[INSTANCE]', '[DATABASE]');
* $policy = new Policy();
* $response = $databaseAdminClient->setIamPolicy($resource, $policy);
* $response = $databaseAdminClient->setIamPolicy($formattedResource, $policy);
* } finally {
* $databaseAdminClient->close();
* }
Expand Down Expand Up @@ -812,8 +876,8 @@ public function setIamPolicy($resource, $policy, array $optionalArgs = [])
* ```
* $databaseAdminClient = new DatabaseAdminClient();
* try {
* $resource = '';
* $response = $databaseAdminClient->getIamPolicy($resource);
* $formattedResource = $databaseAdminClient->databaseName('[PROJECT]', '[INSTANCE]', '[DATABASE]');
* $response = $databaseAdminClient->getIamPolicy($formattedResource);
* } finally {
* $databaseAdminClient->close();
* }
Expand Down Expand Up @@ -874,9 +938,9 @@ public function getIamPolicy($resource, array $optionalArgs = [])
* ```
* $databaseAdminClient = new DatabaseAdminClient();
* try {
* $resource = '';
* $formattedResource = $databaseAdminClient->databaseName('[PROJECT]', '[INSTANCE]', '[DATABASE]');
* $permissions = [];
* $response = $databaseAdminClient->testIamPermissions($resource, $permissions);
* $response = $databaseAdminClient->testIamPermissions($formattedResource, $permissions);
* } finally {
* $databaseAdminClient->close();
* }
Expand Down Expand Up @@ -923,85 +987,4 @@ public function testIamPermissions($resource, $permissions, array $optionalArgs
$request
)->wait();
}

/**
* Lists Cloud Spanner databases.
*
* Sample code:
* ```
* $databaseAdminClient = new DatabaseAdminClient();
* try {
* $formattedParent = $databaseAdminClient->instanceName('[PROJECT]', '[INSTANCE]');
* // Iterate over pages of elements
* $pagedResponse = $databaseAdminClient->listDatabases($formattedParent);
* foreach ($pagedResponse->iteratePages() as $page) {
* foreach ($page as $element) {
* // doSomethingWith($element);
* }
* }
*
*
* // Alternatively:
*
* // Iterate through all elements
* $pagedResponse = $databaseAdminClient->listDatabases($formattedParent);
* foreach ($pagedResponse->iterateAllElements() as $element) {
* // doSomethingWith($element);
* }
* } finally {
* $databaseAdminClient->close();
* }
* ```
*
* @param string $parent Required. The instance whose databases should be listed.
* Values are of the form `projects/<project>/instances/<instance>`.
* @param array $optionalArgs {
* Optional.
*
* @type int $pageSize
* The maximum number of resources contained in the underlying API
* response. The API may return fewer values in a page, even if
* there are additional values to be retrieved.
* @type string $pageToken
* A page token is used to specify a page of values to be returned.
* If no page token is specified (the default), the first page
* of values will be returned. Any page token used here must have
* been generated by a previous call to the API.
* @type RetrySettings|array $retrySettings
* Retry settings to use for this call. Can be a
* {@see Google\ApiCore\RetrySettings} object, or an associative array
* of retry settings parameters. See the documentation on
* {@see Google\ApiCore\RetrySettings} for example usage.
* }
*
* @return \Google\ApiCore\PagedListResponse
*
* @throws ApiException if the remote call fails
* @experimental
*/
public function listDatabases($parent, array $optionalArgs = [])
{
$request = new ListDatabasesRequest();
$request->setParent($parent);
if (isset($optionalArgs['pageSize'])) {
$request->setPageSize($optionalArgs['pageSize']);
}
if (isset($optionalArgs['pageToken'])) {
$request->setPageToken($optionalArgs['pageToken']);
}

$requestParams = new RequestParamsHeaderDescriptor([
'parent' => $request->getParent(),
]);
$optionalArgs['headers'] = isset($optionalArgs['headers'])
? array_merge($requestParams->getHeader(), $optionalArgs['headers'])
: $requestParams->getHeader();

return $this->getPagedListResponse(
'ListDatabases',
$optionalArgs,
ListDatabasesResponse::class,
$request
);
}
}
3 changes: 1 addition & 2 deletions Spanner/src/Admin/Database/V1/GetDatabaseDdlRequest.php

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions Spanner/src/Admin/Database/V1/GetDatabaseDdlResponse.php

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions Spanner/src/Admin/Database/V1/GetDatabaseRequest.php

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading