Google Cloud Service Usage V1 Client - Class ServiceUsageClient (1.0.5)

Reference documentation and code samples for the Google Cloud Service Usage V1 Client class ServiceUsageClient.

Service Description: Enables services that service consumers want to use on Google Cloud Platform, lists the available or enabled services, or disables services that service consumers no longer use.

See Service Usage API

This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:

$serviceUsageClient = new ServiceUsageClient();
try {
    $operationResponse = $serviceUsageClient->batchEnableServices();
    $operationResponse->pollUntilComplete();
    if ($operationResponse->operationSucceeded()) {
        $result = $operationResponse->getResult();
    // doSomethingWith($result)
    } else {
        $error = $operationResponse->getError();
        // handleError($error)
    }
    // Alternatively:
    // start the operation, keep the operation name, and resume later
    $operationResponse = $serviceUsageClient->batchEnableServices();
    $operationName = $operationResponse->getName();
    // ... do other work
    $newOperationResponse = $serviceUsageClient->resumeOperation($operationName, 'batchEnableServices');
    while (!$newOperationResponse->isDone()) {
        // ... do other work
        $newOperationResponse->reload();
    }
    if ($newOperationResponse->operationSucceeded()) {
        $result = $newOperationResponse->getResult();
    // doSomethingWith($result)
    } else {
        $error = $newOperationResponse->getError();
        // handleError($error)
    }
} finally {
    $serviceUsageClient->close();
}

Methods

getOperationsClient

Return an OperationsClient object with the same endpoint as $this.

Returns
TypeDescription
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
NameDescription
operationName string

The name of the long running operation

methodName string

The name of the method used to start the operation

Returns
TypeDescription
Google\ApiCore\OperationResponse

__construct

Constructor.

Parameters
NameDescription
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 false.

↳ 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 rest or grpc. Defaults to grpc if gRPC support is detected on the system. Advanced usage: Additionally, it is possible to pass in an already instantiated Google\ApiCore\Transport\TransportInterface object. Note that when this object is provided, any settings in $transportConfig, and any $apiEndpoint setting, will be ignored.

↳ 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.

batchEnableServices

Enable multiple services on a project. The operation is atomic: if enabling any service fails, then the entire batch fails, and no state changes occur.

To enable a single service, use the EnableService method instead.

Parameters
NameDescription
optionalArgs array

Optional.

↳ parent string

Parent to enable services on. An example name would be: projects/123 where 123 is the project number. The BatchEnableServices method currently only supports projects.

↳ serviceIds string[]

The identifiers of the services to enable on the project. A valid identifier would be: serviceusage.googleapis.com Enabling services requires that each service is public or is shared with the user enabling the service. A single request can enable a maximum of 20 services at a time. If more than 20 services are specified, the request will fail, and no state changes will occur.

↳ 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
TypeDescription
Google\ApiCore\OperationResponse
Example
use Google\ApiCore\ApiException;
use Google\ApiCore\OperationResponse;
use Google\Cloud\ServiceUsage\V1\BatchEnableServicesResponse;
use Google\Cloud\ServiceUsage\V1\ServiceUsageClient;
use Google\Rpc\Status;

/**
 * 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 batch_enable_services_sample(): void
{
    // Create a client.
    $serviceUsageClient = new ServiceUsageClient();

    // Call the API and handle any network failures.
    try {
        /** @var OperationResponse $response */
        $response = $serviceUsageClient->batchEnableServices();
        $response->pollUntilComplete();

        if ($response->operationSucceeded()) {
            /** @var BatchEnableServicesResponse $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());
    }
}

batchGetServices

Returns the service configurations and enabled states for a given list of services.

Parameters
NameDescription
optionalArgs array

Optional.

↳ parent string

Parent to retrieve services from. If this is set, the parent of all of the services specified in names must match this field. An example name would be: projects/123 where 123 is the project number. The BatchGetServices method currently only supports projects.

↳ names string[]

Names of the services to retrieve. An example name would be: projects/123/services/serviceusage.googleapis.com where 123 is the project number. A single request can get a maximum of 30 services at a time.

↳ 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
TypeDescription
Google\Cloud\ServiceUsage\V1\BatchGetServicesResponse
Example
use Google\ApiCore\ApiException;
use Google\Cloud\ServiceUsage\V1\BatchGetServicesResponse;
use Google\Cloud\ServiceUsage\V1\ServiceUsageClient;

/**
 * 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 batch_get_services_sample(): void
{
    // Create a client.
    $serviceUsageClient = new ServiceUsageClient();

    // Call the API and handle any network failures.
    try {
        /** @var BatchGetServicesResponse $response */
        $response = $serviceUsageClient->batchGetServices();
        printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
    } catch (ApiException $ex) {
        printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
    }
}

disableService

Disable a service so that it can no longer be used with a project.

This prevents unintended usage that may cause unexpected billing charges or security leaks.

It is not valid to call the disable method on a service that is not currently enabled. Callers will receive a FAILED_PRECONDITION status if the target service is not currently enabled.

Parameters
NameDescription
optionalArgs array

Optional.

↳ name string

Name of the consumer and service to disable the service on. The enable and disable methods currently only support projects. An example name would be: projects/123/services/serviceusage.googleapis.com where 123 is the project number.

↳ disableDependentServices bool

Indicates if services that are enabled and which depend on this service should also be disabled. If not set, an error will be generated if any enabled services depend on the service to be disabled. When set, the service, and any enabled services that depend on it, will be disabled together.

↳ checkIfServiceHasUsage int

Defines the behavior for checking service usage when disabling a service. For allowed values, use constants defined on Google\Cloud\ServiceUsage\V1\DisableServiceRequest\CheckIfServiceHasUsage

↳ 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
TypeDescription
Google\ApiCore\OperationResponse
Example
use Google\ApiCore\ApiException;
use Google\ApiCore\OperationResponse;
use Google\Cloud\ServiceUsage\V1\DisableServiceResponse;
use Google\Cloud\ServiceUsage\V1\ServiceUsageClient;
use Google\Rpc\Status;

/**
 * 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 disable_service_sample(): void
{
    // Create a client.
    $serviceUsageClient = new ServiceUsageClient();

    // Call the API and handle any network failures.
    try {
        /** @var OperationResponse $response */
        $response = $serviceUsageClient->disableService();
        $response->pollUntilComplete();

        if ($response->operationSucceeded()) {
            /** @var DisableServiceResponse $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());
    }
}

enableService

Enable a service so that it can be used with a project.

Parameters
NameDescription
optionalArgs array

Optional.

↳ name string

Name of the consumer and service to enable the service on. The EnableService and DisableService methods currently only support projects. Enabling a service requires that the service is public or is shared with the user enabling the service. An example name would be: projects/123/services/serviceusage.googleapis.com where 123 is the project number.

↳ 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
TypeDescription
Google\ApiCore\OperationResponse
Example
use Google\ApiCore\ApiException;
use Google\ApiCore\OperationResponse;
use Google\Cloud\ServiceUsage\V1\EnableServiceResponse;
use Google\Cloud\ServiceUsage\V1\ServiceUsageClient;
use Google\Rpc\Status;

/**
 * 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 enable_service_sample(): void
{
    // Create a client.
    $serviceUsageClient = new ServiceUsageClient();

    // Call the API and handle any network failures.
    try {
        /** @var OperationResponse $response */
        $response = $serviceUsageClient->enableService();
        $response->pollUntilComplete();

        if ($response->operationSucceeded()) {
            /** @var EnableServiceResponse $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());
    }
}

getService

Returns the service configuration and enabled state for a given service.

Parameters
NameDescription
optionalArgs array

Optional.

↳ name string

Name of the consumer and service to get the ConsumerState for. An example name would be: projects/123/services/serviceusage.googleapis.com where 123 is the project number.

↳ 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
TypeDescription
Google\Cloud\ServiceUsage\V1\Service
Example
use Google\ApiCore\ApiException;
use Google\Cloud\ServiceUsage\V1\Service;
use Google\Cloud\ServiceUsage\V1\ServiceUsageClient;

/**
 * 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 get_service_sample(): void
{
    // Create a client.
    $serviceUsageClient = new ServiceUsageClient();

    // Call the API and handle any network failures.
    try {
        /** @var Service $response */
        $response = $serviceUsageClient->getService();
        printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
    } catch (ApiException $ex) {
        printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
    }
}

listServices

List all services available to the specified project, and the current state of those services with respect to the project. The list includes all public services, all services for which the calling user has the servicemanagement.services.bind permission, and all services that have already been enabled on the project. The list can be filtered to only include services in a specific state, for example to only include services enabled on the project.

WARNING: If you need to query enabled services frequently or across an organization, you should use Cloud Asset Inventory API, which provides higher throughput and richer filtering capability.

Parameters
NameDescription
optionalArgs array

Optional.

↳ parent string

Parent to search for services on. An example name would be: projects/123 where 123 is the project number.

↳ pageSize int

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.

↳ pageToken string

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.

↳ filter string

Only list services that conform to the given filter. The allowed filter strings are state:ENABLED and state:DISABLED.

↳ 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
TypeDescription
Google\ApiCore\PagedListResponse
Example
use Google\ApiCore\ApiException;
use Google\ApiCore\PagedListResponse;
use Google\Cloud\ServiceUsage\V1\Service;
use Google\Cloud\ServiceUsage\V1\ServiceUsageClient;

/**
 * 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 list_services_sample(): void
{
    // Create a client.
    $serviceUsageClient = new ServiceUsageClient();

    // Call the API and handle any network failures.
    try {
        /** @var PagedListResponse $response */
        $response = $serviceUsageClient->listServices();

        /** @var Service $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());
    }
}

Constants

SERVICE_NAME

Value: 'google.api.serviceusage.v1.ServiceUsage'

The name of the service.

SERVICE_ADDRESS

Value: 'serviceusage.googleapis.com'

The default address of the service.

DEFAULT_SERVICE_PORT

Value: 443

The default port of the service.

CODEGEN_NAME

Value: 'gapic'

The name of the code generator, to be included in the agent header.