Skip to content

Commit

Permalink
feat: introduce Build V2
Browse files Browse the repository at this point in the history
  • Loading branch information
bshaffer committed Mar 7, 2023
1 parent 800cb34 commit 038758f
Show file tree
Hide file tree
Showing 54 changed files with 9,293 additions and 0 deletions.
53 changes: 53 additions & 0 deletions Build/metadata/V2/Cloudbuild.php

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

Binary file added Build/metadata/V2/Repositories.php
Binary file not shown.
121 changes: 121 additions & 0 deletions Build/samples/V2/RepositoryManagerClient/batch_create_repositories.php
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/&#42;/locations/&#42;/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
* -._~%!$&'()*+,;=&#64;.
*/
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 Build/samples/V2/RepositoryManagerClient/create_connection.php
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/&#42;/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
* -._~%!$&'()*+,;=&#64;.
*/
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 Build/samples/V2/RepositoryManagerClient/create_repository.php
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
* -._~%!$&'()*+,;=&#64;.
*/
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]
Loading

0 comments on commit 038758f

Please sign in to comment.