-
Notifications
You must be signed in to change notification settings - Fork 439
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(Build): introduce cloudbuild v2 (#5924)
- Loading branch information
Showing
55 changed files
with
9,295 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
deep-copy-regex: | ||
- source: /google/devtools/cloudbuild/v1/.*-php/(.*) | ||
dest: /owl-bot-staging/Build/v1/$1 | ||
- source: /google/devtools/cloudbuild/(v1|v2)/.*-php/(.*) | ||
dest: /owl-bot-staging/Build/$1/$2 | ||
api-name: Build |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Binary file not shown.
121 changes: 121 additions & 0 deletions
121
Build/samples/V2/RepositoryManagerClient/batch_create_repositories.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,121 @@ | ||
<?php | ||
/* | ||
* 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. | ||
* You may obtain a copy of the License at | ||
* | ||
* https://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
/* | ||
* GENERATED CODE WARNING | ||
* This file was automatically generated - do not edit! | ||
*/ | ||
|
||
require_once __DIR__ . '/../../../vendor/autoload.php'; | ||
|
||
// [START cloudbuild_v2_generated_RepositoryManager_BatchCreateRepositories_sync] | ||
use Google\ApiCore\ApiException; | ||
use Google\ApiCore\OperationResponse; | ||
use Google\Cloud\Build\V2\BatchCreateRepositoriesResponse; | ||
use Google\Cloud\Build\V2\CreateRepositoryRequest; | ||
use Google\Cloud\Build\V2\Repository; | ||
use Google\Cloud\Build\V2\RepositoryManagerClient; | ||
use Google\Rpc\Status; | ||
|
||
/** | ||
* Creates multiple repositories inside a connection. | ||
* | ||
* @param string $formattedParent The connection to contain all the repositories being created. | ||
* Format: projects/*/locations/*/connections/* | ||
* The parent field in the CreateRepositoryRequest messages | ||
* must either be empty or match this field. Please see | ||
* {@see RepositoryManagerClient::connectionName()} for help formatting this field. | ||
* @param string $formattedRequestsParent The connection to contain the repository. If the request is part | ||
* of a BatchCreateRepositoriesRequest, this field should be empty or match | ||
* the parent specified there. Please see | ||
* {@see RepositoryManagerClient::connectionName()} for help formatting this field. | ||
* @param string $requestsRepositoryRemoteUri Git Clone HTTPS URI. | ||
* @param string $requestsRepositoryId The ID to use for the repository, which will become the final | ||
* component of the repository's resource name. This ID should be unique in | ||
* the connection. Allows alphanumeric characters and any of | ||
* -._~%!$&'()*+,;=@. | ||
*/ | ||
function batch_create_repositories_sample( | ||
string $formattedParent, | ||
string $formattedRequestsParent, | ||
string $requestsRepositoryRemoteUri, | ||
string $requestsRepositoryId | ||
): void { | ||
// Create a client. | ||
$repositoryManagerClient = new RepositoryManagerClient(); | ||
|
||
// Prepare any non-scalar elements to be passed along with the request. | ||
$requestsRepository = (new Repository()) | ||
->setRemoteUri($requestsRepositoryRemoteUri); | ||
$createRepositoryRequest = (new CreateRepositoryRequest()) | ||
->setParent($formattedRequestsParent) | ||
->setRepository($requestsRepository) | ||
->setRepositoryId($requestsRepositoryId); | ||
$requests = [$createRepositoryRequest,]; | ||
|
||
// Call the API and handle any network failures. | ||
try { | ||
/** @var OperationResponse $response */ | ||
$response = $repositoryManagerClient->batchCreateRepositories($formattedParent, $requests); | ||
$response->pollUntilComplete(); | ||
|
||
if ($response->operationSucceeded()) { | ||
/** @var BatchCreateRepositoriesResponse $result */ | ||
$result = $response->getResult(); | ||
printf('Operation successful with response data: %s' . PHP_EOL, $result->serializeToJsonString()); | ||
} else { | ||
/** @var Status $error */ | ||
$error = $response->getError(); | ||
printf('Operation failed with error data: %s' . PHP_EOL, $error->serializeToJsonString()); | ||
} | ||
} catch (ApiException $ex) { | ||
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); | ||
} | ||
} | ||
|
||
/** | ||
* Helper to execute the sample. | ||
* | ||
* This sample has been automatically generated and should be regarded as a code | ||
* template only. It will require modifications to work: | ||
* - It may require correct/in-range values for request initialization. | ||
* - It may require specifying regional endpoints when creating the service client, | ||
* please see the apiEndpoint client configuration option for more details. | ||
*/ | ||
function callSample(): void | ||
{ | ||
$formattedParent = RepositoryManagerClient::connectionName( | ||
'[PROJECT]', | ||
'[LOCATION]', | ||
'[CONNECTION]' | ||
); | ||
$formattedRequestsParent = RepositoryManagerClient::connectionName( | ||
'[PROJECT]', | ||
'[LOCATION]', | ||
'[CONNECTION]' | ||
); | ||
$requestsRepositoryRemoteUri = '[REMOTE_URI]'; | ||
$requestsRepositoryId = '[REPOSITORY_ID]'; | ||
|
||
batch_create_repositories_sample( | ||
$formattedParent, | ||
$formattedRequestsParent, | ||
$requestsRepositoryRemoteUri, | ||
$requestsRepositoryId | ||
); | ||
} | ||
// [END cloudbuild_v2_generated_RepositoryManager_BatchCreateRepositories_sync] |
91 changes: 91 additions & 0 deletions
91
Build/samples/V2/RepositoryManagerClient/create_connection.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
<?php | ||
/* | ||
* 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. | ||
* You may obtain a copy of the License at | ||
* | ||
* https://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
/* | ||
* GENERATED CODE WARNING | ||
* This file was automatically generated - do not edit! | ||
*/ | ||
|
||
require_once __DIR__ . '/../../../vendor/autoload.php'; | ||
|
||
// [START cloudbuild_v2_generated_RepositoryManager_CreateConnection_sync] | ||
use Google\ApiCore\ApiException; | ||
use Google\ApiCore\OperationResponse; | ||
use Google\Cloud\Build\V2\Connection; | ||
use Google\Cloud\Build\V2\RepositoryManagerClient; | ||
use Google\Rpc\Status; | ||
|
||
/** | ||
* Creates a Connection. | ||
* | ||
* @param string $formattedParent Project and location where the connection will be created. | ||
* Format: `projects/*/locations/*`. Please see | ||
* {@see RepositoryManagerClient::locationName()} for help formatting this field. | ||
* @param string $connectionId The ID to use for the Connection, which will become the final | ||
* component of the Connection's resource name. Names must be unique | ||
* per-project per-location. Allows alphanumeric characters and any of | ||
* -._~%!$&'()*+,;=@. | ||
*/ | ||
function create_connection_sample(string $formattedParent, string $connectionId): void | ||
{ | ||
// Create a client. | ||
$repositoryManagerClient = new RepositoryManagerClient(); | ||
|
||
// Prepare any non-scalar elements to be passed along with the request. | ||
$connection = new Connection(); | ||
|
||
// Call the API and handle any network failures. | ||
try { | ||
/** @var OperationResponse $response */ | ||
$response = $repositoryManagerClient->createConnection( | ||
$formattedParent, | ||
$connection, | ||
$connectionId | ||
); | ||
$response->pollUntilComplete(); | ||
|
||
if ($response->operationSucceeded()) { | ||
/** @var Connection $result */ | ||
$result = $response->getResult(); | ||
printf('Operation successful with response data: %s' . PHP_EOL, $result->serializeToJsonString()); | ||
} else { | ||
/** @var Status $error */ | ||
$error = $response->getError(); | ||
printf('Operation failed with error data: %s' . PHP_EOL, $error->serializeToJsonString()); | ||
} | ||
} catch (ApiException $ex) { | ||
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); | ||
} | ||
} | ||
|
||
/** | ||
* Helper to execute the sample. | ||
* | ||
* This sample has been automatically generated and should be regarded as a code | ||
* template only. It will require modifications to work: | ||
* - It may require correct/in-range values for request initialization. | ||
* - It may require specifying regional endpoints when creating the service client, | ||
* please see the apiEndpoint client configuration option for more details. | ||
*/ | ||
function callSample(): void | ||
{ | ||
$formattedParent = RepositoryManagerClient::locationName('[PROJECT]', '[LOCATION]'); | ||
$connectionId = '[CONNECTION_ID]'; | ||
|
||
create_connection_sample($formattedParent, $connectionId); | ||
} | ||
// [END cloudbuild_v2_generated_RepositoryManager_CreateConnection_sync] |
102 changes: 102 additions & 0 deletions
102
Build/samples/V2/RepositoryManagerClient/create_repository.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
<?php | ||
/* | ||
* 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. | ||
* You may obtain a copy of the License at | ||
* | ||
* https://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
/* | ||
* GENERATED CODE WARNING | ||
* This file was automatically generated - do not edit! | ||
*/ | ||
|
||
require_once __DIR__ . '/../../../vendor/autoload.php'; | ||
|
||
// [START cloudbuild_v2_generated_RepositoryManager_CreateRepository_sync] | ||
use Google\ApiCore\ApiException; | ||
use Google\ApiCore\OperationResponse; | ||
use Google\Cloud\Build\V2\Repository; | ||
use Google\Cloud\Build\V2\RepositoryManagerClient; | ||
use Google\Rpc\Status; | ||
|
||
/** | ||
* Creates a Repository. | ||
* | ||
* @param string $formattedParent The connection to contain the repository. If the request is part | ||
* of a BatchCreateRepositoriesRequest, this field should be empty or match | ||
* the parent specified there. Please see | ||
* {@see RepositoryManagerClient::connectionName()} for help formatting this field. | ||
* @param string $repositoryRemoteUri Git Clone HTTPS URI. | ||
* @param string $repositoryId The ID to use for the repository, which will become the final | ||
* component of the repository's resource name. This ID should be unique in | ||
* the connection. Allows alphanumeric characters and any of | ||
* -._~%!$&'()*+,;=@. | ||
*/ | ||
function create_repository_sample( | ||
string $formattedParent, | ||
string $repositoryRemoteUri, | ||
string $repositoryId | ||
): void { | ||
// Create a client. | ||
$repositoryManagerClient = new RepositoryManagerClient(); | ||
|
||
// Prepare any non-scalar elements to be passed along with the request. | ||
$repository = (new Repository()) | ||
->setRemoteUri($repositoryRemoteUri); | ||
|
||
// Call the API and handle any network failures. | ||
try { | ||
/** @var OperationResponse $response */ | ||
$response = $repositoryManagerClient->createRepository( | ||
$formattedParent, | ||
$repository, | ||
$repositoryId | ||
); | ||
$response->pollUntilComplete(); | ||
|
||
if ($response->operationSucceeded()) { | ||
/** @var Repository $result */ | ||
$result = $response->getResult(); | ||
printf('Operation successful with response data: %s' . PHP_EOL, $result->serializeToJsonString()); | ||
} else { | ||
/** @var Status $error */ | ||
$error = $response->getError(); | ||
printf('Operation failed with error data: %s' . PHP_EOL, $error->serializeToJsonString()); | ||
} | ||
} catch (ApiException $ex) { | ||
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); | ||
} | ||
} | ||
|
||
/** | ||
* Helper to execute the sample. | ||
* | ||
* This sample has been automatically generated and should be regarded as a code | ||
* template only. It will require modifications to work: | ||
* - It may require correct/in-range values for request initialization. | ||
* - It may require specifying regional endpoints when creating the service client, | ||
* please see the apiEndpoint client configuration option for more details. | ||
*/ | ||
function callSample(): void | ||
{ | ||
$formattedParent = RepositoryManagerClient::connectionName( | ||
'[PROJECT]', | ||
'[LOCATION]', | ||
'[CONNECTION]' | ||
); | ||
$repositoryRemoteUri = '[REMOTE_URI]'; | ||
$repositoryId = '[REPOSITORY_ID]'; | ||
|
||
create_repository_sample($formattedParent, $repositoryRemoteUri, $repositoryId); | ||
} | ||
// [END cloudbuild_v2_generated_RepositoryManager_CreateRepository_sync] |
Oops, something went wrong.