Skip to content

Commit

Permalink
chore!: promote Shell to v2
Browse files Browse the repository at this point in the history
  • Loading branch information
bshaffer committed Aug 2, 2024
1 parent 04706bd commit a2dd362
Show file tree
Hide file tree
Showing 16 changed files with 119 additions and 1,424 deletions.
50 changes: 15 additions & 35 deletions Shell/owlbot.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2021 Google LLC
# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -30,14 +30,7 @@
# Added so that we can pass copy_excludes in the owlbot_main() call
_tracked_paths.add(src)

php.owlbot_main(
src=src,
dest=dest,
copy_excludes=[
src / "**/[A-Z]*_*.php",
src / "**/*GrpcClient.php",
]
)
php.owlbot_main(src=src, dest=dest)

# remove class_alias code
s.replace(
Expand All @@ -48,29 +41,16 @@
+ "\n",
'')


### [START] protoc backwards compatibility fixes

# roll back to private properties.
s.replace(
"src/**/V*/**/*.php",
r"Generated from protobuf field ([^\n]{0,})\n\s{5}\*/\n\s{4}protected \$",
r"""Generated from protobuf field \1
*/
private $""")

# Replace "Unwrapped" with "Value" for method names.
s.replace(
"src/**/V*/**/*.php",
r"public function ([s|g]\w{3,})Unwrapped",
r"public function \1Value"
)

### [END] protoc backwards compatibility fixes

# fix relative cloud.google.com links
s.replace(
"src/**/V*/**/*.php",
r"(.{0,})\]\((/.{0,})\)",
r"\1](https://cloud.google.com\2)"
)
# format generated clients
subprocess.run([
'npm',
'exec',
'--yes',
'--package=@prettier/plugin-php@^0.16',
'--',
'prettier',
'**/Client/*',
'--write',
'--parser=php',
'--single-quote',
'--print-width=120'])
4 changes: 2 additions & 2 deletions Shell/src/V1/AddPublicKeyRequest.php

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

2 changes: 1 addition & 1 deletion Shell/src/V1/AddPublicKeyResponse.php

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

8 changes: 4 additions & 4 deletions Shell/src/V1/AuthorizeEnvironmentRequest.php

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

37 changes: 29 additions & 8 deletions Shell/src/V1/Client/CloudShellServiceClient.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php
/*
* Copyright 2023 Google LLC
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand All @@ -27,7 +27,6 @@
use Google\ApiCore\ApiException;
use Google\ApiCore\CredentialsWrapper;
use Google\ApiCore\GapicClientTrait;
use Google\ApiCore\LongRunning\OperationsClient;
use Google\ApiCore\OperationResponse;
use Google\ApiCore\ResourceHelperTrait;
use Google\ApiCore\RetrySettings;
Expand All @@ -42,6 +41,7 @@
use Google\Cloud\Shell\V1\StartEnvironmentMetadata;
use Google\Cloud\Shell\V1\StartEnvironmentRequest;
use Google\Cloud\Shell\V1\StartEnvironmentResponse;
use Google\LongRunning\Client\OperationsClient;
use Google\LongRunning\Operation;
use GuzzleHttp\Promise\PromiseInterface;

Expand Down Expand Up @@ -93,9 +93,7 @@ final class CloudShellServiceClient
private const CODEGEN_NAME = 'gapic';

/** The default scopes required by the service. */
public static $serviceScopes = [
'https://www.googleapis.com/auth/cloud-platform',
];
public static $serviceScopes = ['https://www.googleapis.com/auth/cloud-platform'];

private $operationsClient;

Expand Down Expand Up @@ -141,12 +139,33 @@ public function getOperationsClient()
*/
public function resumeOperation($operationName, $methodName = null)
{
$options = isset($this->descriptors[$methodName]['longRunning']) ? $this->descriptors[$methodName]['longRunning'] : [];
$options = isset($this->descriptors[$methodName]['longRunning'])
? $this->descriptors[$methodName]['longRunning']
: [];
$operation = new OperationResponse($operationName, $this->getOperationsClient(), $options);
$operation->reload();
return $operation;
}

/**
* Create the default operation client for the service.
*
* @param array $options ClientOptions for the client.
*
* @return OperationsClient
*/
private function createOperationsClient(array $options)
{
// Unset client-specific configuration options
unset($options['serviceName'], $options['clientConfig'], $options['descriptorsConfigPath']);

if (isset($options['operationsClient'])) {
return $options['operationsClient'];
}

return new OperationsClient($options);
}

/**
* Formats a string containing the fully-qualified path to represent a environment
* resource.
Expand Down Expand Up @@ -313,8 +332,10 @@ public function addPublicKey(AddPublicKeyRequest $request, array $callOptions =
*
* @throws ApiException Thrown if the API call fails.
*/
public function authorizeEnvironment(AuthorizeEnvironmentRequest $request, array $callOptions = []): OperationResponse
{
public function authorizeEnvironment(
AuthorizeEnvironmentRequest $request,
array $callOptions = []
): OperationResponse {
return $this->startApiCall('AuthorizeEnvironment', $request, $callOptions)->wait();
}

Expand Down
2 changes: 1 addition & 1 deletion Shell/src/V1/CloudShellErrorDetails.php

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

34 changes: 0 additions & 34 deletions Shell/src/V1/CloudShellServiceClient.php

This file was deleted.

16 changes: 8 additions & 8 deletions Shell/src/V1/Environment.php

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

Loading

0 comments on commit a2dd362

Please sign in to comment.