Reference documentation and code samples for the Google Cloud Resource Manager V3 Client class TagHoldsClient.
Service Description: Allow users to create and manage TagHolds for TagValues. TagHolds represent the use of a Tag Value that is not captured by TagBindings but should still block TagValue deletion (such as a reference in a policy condition). This service provides isolated failure domains by cloud ___location so that TagHolds can be managed in the same ___location as their usage.
This class is currently experimental and may be subject to changes.
Namespace
Google \ Cloud \ ResourceManager \ V3 \ ClientMethods
__construct
Constructor.
Parameters | |
---|---|
Name | Description |
options |
array
Optional. Options for configuring the service API wrapper. |
↳ apiEndpoint |
string
The address of the API remote host. May optionally include the port, formatted as "
|
↳ credentials |
string|array|FetchAuthTokenInterface|CredentialsWrapper
The credentials to be used by the client to authorize API calls. This option accepts either a path to a credentials file, or a decoded credentials file as a PHP array. Advanced usage: In addition, this option can also accept a pre-constructed Google\Auth\FetchAuthTokenInterface object or Google\ApiCore\CredentialsWrapper object. Note that when one of these objects are provided, any settings in $credentialsConfig will be ignored. |
↳ credentialsConfig |
array
Options used to configure credentials, including auth token caching, for the client. For a full list of supporting configuration options, see Google\ApiCore\CredentialsWrapper::build() . |
↳ disableRetries |
bool
Determines whether or not retries defined by the client configuration should be disabled. Defaults to |
↳ clientConfig |
string|array
Client method configuration, including retry settings. This option can be either a path to a JSON file, or a PHP array containing the decoded JSON data. By default this settings points to the default client config file, which is provided in the resources folder. |
↳ transport |
string|TransportInterface
The transport used for executing network requests. May be either the string |
↳ transportConfig |
array
Configuration options that will be used to construct the transport. Options for each supported transport type should be passed in a key for that transport. For example: $transportConfig = [ 'grpc' => [...], 'rest' => [...], ]; See the Google\ApiCore\Transport\GrpcTransport::build() and Google\ApiCore\Transport\RestTransport::build() methods for the supported options. |
↳ clientCertSource |
callable
A callable which returns the client cert as a string. This can be used to provide a certificate and private key to the transport layer for mTLS. |
createTagHold
Creates a TagHold. Returns ALREADY_EXISTS if a TagHold with the same resource and origin exists under the same TagValue.
The async variant is Google\Cloud\ResourceManager\V3\Client\BaseClient\self::createTagHoldAsync() .
Parameters | |
---|---|
Name | Description |
request |
Google\Cloud\ResourceManager\V3\CreateTagHoldRequest
A request to house fields associated with the call. |
callOptions |
array
Optional. |
↳ retrySettings |
RetrySettings|array
Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage. |
Returns | |
---|---|
Type | Description |
Google\ApiCore\OperationResponse |
use Google\ApiCore\ApiException;
use Google\ApiCore\OperationResponse;
use Google\Cloud\ResourceManager\V3\Client\TagHoldsClient;
use Google\Cloud\ResourceManager\V3\CreateTagHoldRequest;
use Google\Cloud\ResourceManager\V3\TagHold;
use Google\Rpc\Status;
/**
* @param string $formattedParent The resource name of the TagHold's parent TagValue. Must be of
* the form: `tagValues/{tag-value-id}`. Please see
* {@see TagHoldsClient::tagValueName()} for help formatting this field.
* @param string $tagHoldHolder The name of the resource where the TagValue is being used. Must
* be less than 200 characters. E.g.
* `//compute.googleapis.com/compute/projects/myproject/regions/us-east-1/instanceGroupManagers/instance-group`
*/
function create_tag_hold_sample(string $formattedParent, string $tagHoldHolder): void
{
// Create a client.
$tagHoldsClient = new TagHoldsClient();
// Prepare the request message.
$tagHold = (new TagHold())
->setHolder($tagHoldHolder);
$request = (new CreateTagHoldRequest())
->setParent($formattedParent)
->setTagHold($tagHold);
// Call the API and handle any network failures.
try {
/** @var OperationResponse $response */
$response = $tagHoldsClient->createTagHold($request);
$response->pollUntilComplete();
if ($response->operationSucceeded()) {
/** @var TagHold $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 = TagHoldsClient::tagValueName('[TAG_VALUE]');
$tagHoldHolder = '[HOLDER]';
create_tag_hold_sample($formattedParent, $tagHoldHolder);
}
deleteTagHold
Deletes a TagHold.
The async variant is Google\Cloud\ResourceManager\V3\Client\BaseClient\self::deleteTagHoldAsync() .
Parameters | |
---|---|
Name | Description |
request |
Google\Cloud\ResourceManager\V3\DeleteTagHoldRequest
A request to house fields associated with the call. |
callOptions |
array
Optional. |
↳ retrySettings |
RetrySettings|array
Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage. |
Returns | |
---|---|
Type | Description |
Google\ApiCore\OperationResponse |
use Google\ApiCore\ApiException;
use Google\ApiCore\OperationResponse;
use Google\Cloud\ResourceManager\V3\Client\TagHoldsClient;
use Google\Cloud\ResourceManager\V3\DeleteTagHoldRequest;
use Google\Rpc\Status;
/**
* @param string $formattedName The resource name of the TagHold to delete. Must be of the form:
* `tagValues/{tag-value-id}/tagHolds/{tag-hold-id}`. Please see
* {@see TagHoldsClient::tagHoldName()} for help formatting this field.
*/
function delete_tag_hold_sample(string $formattedName): void
{
// Create a client.
$tagHoldsClient = new TagHoldsClient();
// Prepare the request message.
$request = (new DeleteTagHoldRequest())
->setName($formattedName);
// Call the API and handle any network failures.
try {
/** @var OperationResponse $response */
$response = $tagHoldsClient->deleteTagHold($request);
$response->pollUntilComplete();
if ($response->operationSucceeded()) {
printf('Operation completed successfully.' . PHP_EOL);
} 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
{
$formattedName = TagHoldsClient::tagHoldName('[TAG_VALUE]', '[TAG_HOLD]');
delete_tag_hold_sample($formattedName);
}
listTagHolds
Lists TagHolds under a TagValue.
The async variant is Google\Cloud\ResourceManager\V3\Client\BaseClient\self::listTagHoldsAsync() .
Parameters | |
---|---|
Name | Description |
request |
Google\Cloud\ResourceManager\V3\ListTagHoldsRequest
A request to house fields associated with the call. |
callOptions |
array
Optional. |
↳ retrySettings |
RetrySettings|array
Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage. |
Returns | |
---|---|
Type | Description |
Google\ApiCore\PagedListResponse |
use Google\ApiCore\ApiException;
use Google\ApiCore\PagedListResponse;
use Google\Cloud\ResourceManager\V3\Client\TagHoldsClient;
use Google\Cloud\ResourceManager\V3\ListTagHoldsRequest;
use Google\Cloud\ResourceManager\V3\TagHold;
/**
* @param string $formattedParent The resource name of the parent TagValue. Must be of the form:
* `tagValues/{tag-value-id}`. Please see
* {@see TagHoldsClient::tagValueName()} for help formatting this field.
*/
function list_tag_holds_sample(string $formattedParent): void
{
// Create a client.
$tagHoldsClient = new TagHoldsClient();
// Prepare the request message.
$request = (new ListTagHoldsRequest())
->setParent($formattedParent);
// Call the API and handle any network failures.
try {
/** @var PagedListResponse $response */
$response = $tagHoldsClient->listTagHolds($request);
/** @var TagHold $element */
foreach ($response as $element) {
printf('Element data: %s' . PHP_EOL, $element->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 = TagHoldsClient::tagValueName('[TAG_VALUE]');
list_tag_holds_sample($formattedParent);
}
createTagHoldAsync
Parameters | |
---|---|
Name | Description |
request |
Google\Cloud\ResourceManager\V3\CreateTagHoldRequest
|
optionalArgs = [] |
array
|
Returns | |
---|---|
Type | Description |
GuzzleHttp\Promise\PromiseInterface |
deleteTagHoldAsync
Parameters | |
---|---|
Name | Description |
request |
Google\Cloud\ResourceManager\V3\DeleteTagHoldRequest
|
optionalArgs = [] |
array
|
Returns | |
---|---|
Type | Description |
GuzzleHttp\Promise\PromiseInterface |
listTagHoldsAsync
Parameters | |
---|---|
Name | Description |
request |
Google\Cloud\ResourceManager\V3\ListTagHoldsRequest
|
optionalArgs = [] |
array
|
Returns | |
---|---|
Type | Description |
GuzzleHttp\Promise\PromiseInterface |
getOperationsClient
Return an OperationsClient object with the same endpoint as $this.
Returns | |
---|---|
Type | Description |
Google\ApiCore\LongRunning\OperationsClient |
resumeOperation
Resume an existing long running operation that was previously started by a long running API method. If $methodName is not provided, or does not match a long running API method, then the operation can still be resumed, but the OperationResponse object will not deserialize the final response.
Parameters | |
---|---|
Name | Description |
operationName |
string
The name of the long running operation |
methodName |
string
The name of the method used to start the operation |
Returns | |
---|---|
Type | Description |
Google\ApiCore\OperationResponse |
static::tagHoldName
Formats a string containing the fully-qualified path to represent a tag_hold resource.
Parameters | |
---|---|
Name | Description |
tagValue |
string
|
tagHold |
string
|
Returns | |
---|---|
Type | Description |
string |
The formatted tag_hold resource. |
static::tagValueName
Formats a string containing the fully-qualified path to represent a tag_value resource.
Parameter | |
---|---|
Name | Description |
tagValue |
string
|
Returns | |
---|---|
Type | Description |
string |
The formatted tag_value resource. |
static::parseName
Parses a formatted name string and returns an associative array of the components in the name.
The following name formats are supported: Template: Pattern
- tagHold: tagValues/{tag_value}/tagHolds/{tag_hold}
- tagValue: tagValues/{tag_value}
The optional $template argument can be supplied to specify a particular pattern, and must match one of the templates listed above. If no $template argument is provided, or if the $template argument does not match one of the templates listed, then parseName will check each of the supported templates, and return the first match.
Parameters | |
---|---|
Name | Description |
formattedName |
string
The formatted name string |
template |
string
Optional name of template to match |
Returns | |
---|---|
Type | Description |
array |
An associative array from name component IDs to component values. |