JFIF x x C C " } !1AQa "q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w !1AQ aq"2B #3Rbr{
File "OperationsClient.php"
Full Path: /home/palsarh/web/palsarh.in/public_html/vendor/google/longrunning/src/LongRunning/Client/OperationsClient.php
File size: 15.69 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/*
* 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.
* 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
* Generated by gapic-generator-php from the file
* https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto
* Updates to the above are reflected here through a refresh process.
*/
namespace Google\LongRunning\Client;
use Google\ApiCore\ApiException;
use Google\ApiCore\CredentialsWrapper;
use Google\ApiCore\GapicClientTrait;
use Google\ApiCore\Options\ClientOptions;
use Google\ApiCore\PagedListResponse;
use Google\ApiCore\RetrySettings;
use Google\ApiCore\Transport\TransportInterface;
use Google\ApiCore\ValidationException;
use Google\Auth\FetchAuthTokenInterface;
use Google\LongRunning\CancelOperationRequest;
use Google\LongRunning\DeleteOperationRequest;
use Google\LongRunning\GetOperationRequest;
use Google\LongRunning\ListOperationsRequest;
use Google\LongRunning\Operation;
use Google\LongRunning\WaitOperationRequest;
use GuzzleHttp\Promise\PromiseInterface;
use Psr\Log\LoggerInterface;
/**
* Service Description: Manages long-running operations with an API service.
*
* When an API method normally takes long time to complete, it can be designed
* to return [Operation][google.longrunning.Operation] to the client, and the
* client can use this interface to receive the real response asynchronously by
* polling the operation resource, or pass the operation resource to another API
* (such as Pub/Sub API) to receive the response. Any API service that returns
* long-running operations should implement the `Operations` interface so
* developers can have a consistent client experience.
*
* This class provides the ability to make remote calls to the backing service through method
* calls that map to API methods.
*
* @method PromiseInterface<void> cancelOperationAsync(CancelOperationRequest $request, array $optionalArgs = [])
* @method PromiseInterface<void> deleteOperationAsync(DeleteOperationRequest $request, array $optionalArgs = [])
* @method PromiseInterface<Operation> getOperationAsync(GetOperationRequest $request, array $optionalArgs = [])
* @method PromiseInterface<PagedListResponse> listOperationsAsync(ListOperationsRequest $request, array $optionalArgs = [])
* @method PromiseInterface<Operation> waitOperationAsync(WaitOperationRequest $request, array $optionalArgs = [])
*/
class OperationsClient
{
use GapicClientTrait;
/** The name of the service. */
private const SERVICE_NAME = 'google.longrunning.Operations';
/**
* The default address of the service.
*
* @deprecated SERVICE_ADDRESS_TEMPLATE should be used instead.
*/
private const SERVICE_ADDRESS = 'longrunning.googleapis.com';
/** The address template of the service. */
private const SERVICE_ADDRESS_TEMPLATE = 'longrunning.UNIVERSE_DOMAIN';
/** The default port of the service. */
private const DEFAULT_SERVICE_PORT = 443;
/** The name of the code generator, to be included in the agent header. */
private const CODEGEN_NAME = 'gapic';
/** The default scopes required by the service. */
public static $serviceScopes = [];
private static function getClientDefaults()
{
return [
'serviceName' => self::SERVICE_NAME,
'apiEndpoint' => self::SERVICE_ADDRESS . ':' . self::DEFAULT_SERVICE_PORT,
'clientConfig' => __DIR__ . '/../resources/operations_client_config.json',
'descriptorsConfigPath' => __DIR__ . '/../resources/operations_descriptor_config.php',
'gcpApiConfigPath' => __DIR__ . '/../resources/operations_grpc_config.json',
'credentialsConfig' => [
'defaultScopes' => self::$serviceScopes,
],
'transportConfig' => [
'rest' => [
'restClientConfigPath' => __DIR__ . '/../resources/operations_rest_client_config.php',
],
],
];
}
/**
* Constructor.
*
* @param array|ClientOptions $options {
* Optional. Options for configuring the service API wrapper.
*
* @type string $apiEndpoint
* The address of the API remote host. May optionally include the port, formatted
* as "<uri>:<port>". Default 'longrunning.googleapis.com:443'.
* @type FetchAuthTokenInterface|CredentialsWrapper $credentials
* This option should only be used with a pre-constructed
* {@see FetchAuthTokenInterface} or {@see CredentialsWrapper} object. Note that
* when one of these objects are provided, any settings in $credentialsConfig will
* be ignored.
* **Important**: If you are providing a path to a credentials file, or a decoded
* credentials file as a PHP array, this usage is now DEPRECATED. Providing an
* unvalidated credential configuration to Google APIs can compromise the security
* of your systems and data. It is recommended to create the credentials explicitly
* ```
* use Google\Auth\Credentials\ServiceAccountCredentials;
* use Google\LongRunning\OperationsClient;
* $creds = new ServiceAccountCredentials($scopes, $json);
* $options = new OperationsClient(['credentials' => $creds]);
* ```
* {@see
* https://cloud.google.com/docs/authentication/external/externally-sourced-credentials}
* @type array $credentialsConfig
* Options used to configure credentials, including auth token caching, for the
* client. For a full list of supporting configuration options, see
* {@see \Google\ApiCore\CredentialsWrapper::build()} .
* @type bool $disableRetries
* Determines whether or not retries defined by the client configuration should be
* disabled. Defaults to `false`.
* @type string|array $clientConfig
* 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.
* @type string|TransportInterface $transport
* 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 {@see \Google\ApiCore\Transport\TransportInterface} object. Note
* that when this object is provided, any settings in $transportConfig, and any
* $apiEndpoint setting, will be ignored.
* @type array $transportConfig
* 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 {@see \Google\ApiCore\Transport\GrpcTransport::build()} and
* {@see \Google\ApiCore\Transport\RestTransport::build()} methods for the
* supported options.
* @type callable $clientCertSource
* 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.
* @type false|LoggerInterface $logger
* A PSR-3 compliant logger. If set to false, logging is disabled, ignoring the
* 'GOOGLE_SDK_PHP_LOGGING' environment flag
* @type string $universeDomain
* The service domain for the client. Defaults to 'googleapis.com'.
* }
*
* @throws ValidationException
*/
public function __construct(array|ClientOptions $options = [])
{
$clientOptions = $this->buildClientOptions($options);
$this->setClientOptions($clientOptions);
}
/** Handles execution of the async variants for each documented method. */
public function __call($method, $args)
{
if (substr($method, -5) !== 'Async') {
trigger_error('Call to undefined method ' . __CLASS__ . "::$method()", E_USER_ERROR);
}
array_unshift($args, substr($method, 0, -5));
return call_user_func_array([$this, 'startAsyncCall'], $args);
}
/**
* Starts asynchronous cancellation on a long-running operation. The server
* makes a best effort to cancel the operation, but success is not
* guaranteed. If the server doesn't support this method, it returns
* `google.rpc.Code.UNIMPLEMENTED`. Clients can use
* [Operations.GetOperation][google.longrunning.Operations.GetOperation] or
* other methods to check whether the cancellation succeeded or whether the
* operation completed despite cancellation. On successful cancellation,
* the operation is not deleted; instead, it becomes an operation with
* an [Operation.error][google.longrunning.Operation.error] value with a
* [google.rpc.Status.code][google.rpc.Status.code] of `1`, corresponding to
* `Code.CANCELLED`.
*
* The async variant is {@see OperationsClient::cancelOperationAsync()} .
*
* @example samples/OperationsClient/cancel_operation.php
*
* @param CancelOperationRequest $request A request to house fields associated with the call.
* @param array $callOptions {
* Optional.
*
* @type RetrySettings|array $retrySettings
* Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
* associative array of retry settings parameters. See the documentation on
* {@see RetrySettings} for example usage.
* }
*
* @throws ApiException Thrown if the API call fails.
*/
public function cancelOperation(CancelOperationRequest $request, array $callOptions = []): void
{
$this->startApiCall('CancelOperation', $request, $callOptions)->wait();
}
/**
* Deletes a long-running operation. This method indicates that the client is
* no longer interested in the operation result. It does not cancel the
* operation. If the server doesn't support this method, it returns
* `google.rpc.Code.UNIMPLEMENTED`.
*
* The async variant is {@see OperationsClient::deleteOperationAsync()} .
*
* @example samples/OperationsClient/delete_operation.php
*
* @param DeleteOperationRequest $request A request to house fields associated with the call.
* @param array $callOptions {
* Optional.
*
* @type RetrySettings|array $retrySettings
* Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
* associative array of retry settings parameters. See the documentation on
* {@see RetrySettings} for example usage.
* }
*
* @throws ApiException Thrown if the API call fails.
*/
public function deleteOperation(DeleteOperationRequest $request, array $callOptions = []): void
{
$this->startApiCall('DeleteOperation', $request, $callOptions)->wait();
}
/**
* Gets the latest state of a long-running operation. Clients can use this
* method to poll the operation result at intervals as recommended by the API
* service.
*
* The async variant is {@see OperationsClient::getOperationAsync()} .
*
* @example samples/OperationsClient/get_operation.php
*
* @param GetOperationRequest $request A request to house fields associated with the call.
* @param array $callOptions {
* Optional.
*
* @type RetrySettings|array $retrySettings
* Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
* associative array of retry settings parameters. See the documentation on
* {@see RetrySettings} for example usage.
* }
*
* @return Operation
*
* @throws ApiException Thrown if the API call fails.
*/
public function getOperation(GetOperationRequest $request, array $callOptions = []): Operation
{
return $this->startApiCall('GetOperation', $request, $callOptions)->wait();
}
/**
* Lists operations that match the specified filter in the request. If the
* server doesn't support this method, it returns `UNIMPLEMENTED`.
*
* The async variant is {@see OperationsClient::listOperationsAsync()} .
*
* @example samples/OperationsClient/list_operations.php
*
* @param ListOperationsRequest $request A request to house fields associated with the call.
* @param array $callOptions {
* Optional.
*
* @type RetrySettings|array $retrySettings
* Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
* associative array of retry settings parameters. See the documentation on
* {@see RetrySettings} for example usage.
* }
*
* @return PagedListResponse
*
* @throws ApiException Thrown if the API call fails.
*/
public function listOperations(ListOperationsRequest $request, array $callOptions = []): PagedListResponse
{
return $this->startApiCall('ListOperations', $request, $callOptions);
}
/**
* Waits until the specified long-running operation is done or reaches at most
* a specified timeout, returning the latest state. If the operation is
* already done, the latest state is immediately returned. If the timeout
* specified is greater than the default HTTP/RPC timeout, the HTTP/RPC
* timeout is used. If the server does not support this method, it returns
* `google.rpc.Code.UNIMPLEMENTED`.
* Note that this method is on a best-effort basis. It may return the latest
* state before the specified timeout (including immediately), meaning even an
* immediate response is no guarantee that the operation is done.
*
* The async variant is {@see OperationsClient::waitOperationAsync()} .
*
* @example samples/OperationsClient/wait_operation.php
*
* @param WaitOperationRequest $request A request to house fields associated with the call.
* @param array $callOptions {
* Optional.
*
* @type RetrySettings|array $retrySettings
* Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
* associative array of retry settings parameters. See the documentation on
* {@see RetrySettings} for example usage.
* }
*
* @return Operation
*
* @throws ApiException Thrown if the API call fails.
*/
public function waitOperation(WaitOperationRequest $request, array $callOptions = []): Operation
{
return $this->startApiCall('WaitOperation', $request, $callOptions)->wait();
}
}