feat: add S3-compatible storage provider (MinIO, Ceph, R2, etc.)

Adds a new 'S3-Compatible Storage' provider that works with any
S3-API-compatible object storage service, including MinIO, Ceph,
Cloudflare R2, Backblaze B2, and others.

Changes:
- New provider class: classes/providers/storage/s3-compatible-provider.php
  - Provider key: s3compatible
  - Reads user-configured endpoint URL from settings
  - Uses path-style URL access (required by most S3-compatible services)
  - Supports credentials via AS3CF_S3COMPAT_ACCESS_KEY_ID /
    AS3CF_S3COMPAT_SECRET_ACCESS_KEY wp-config.php constants
  - Disables AWS-specific features (Block Public Access, Object Ownership)
- New provider SVG icons (s3compatible.svg, -link.svg, -round.svg)
- Registered provider in main plugin class with endpoint setting support
- Updated StorageProviderSubPage to show endpoint URL input for S3-compatible
- Built pro settings bundle with rollup (Svelte 4.2.19)
- Added package.json and updated rollup.config.mjs for pro-only builds
This commit is contained in:
2026-03-03 12:30:18 +01:00
commit 3248cbb029
2086 changed files with 359427 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
<?php
namespace DeliciousBrains\WP_Offload_Media\Gcp\Google\ApiCore\LongRunning\Gapic;
if (\false) {
/**
* This class is deprecated. Use Google\LongRunning\OperationsClient instead.
* @deprecated
*/
class OperationsGapicClient extends \DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning\Client\OperationsClient
{
}
}
// Autoload the class and its alias
\class_exists('DeliciousBrains\\WP_Offload_Media\\Gcp\\Google\\LongRunning\\Gapic\\OperationsGapicClient');

View File

@@ -0,0 +1,16 @@
<?php
namespace DeliciousBrains\WP_Offload_Media\Gcp\Google\ApiCore\LongRunning;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\ApiCore\LongRunning\Gapic\OperationsGapicClient;
if (\false) {
/**
* This class is deprecated. Use Google\LongRunning\OperationsClient instead.
* @deprecated
*/
class OperationsClient extends OperationsGapicClient
{
}
}
// Autoload the class and its alias
\class_exists('DeliciousBrains\\WP_Offload_Media\\Gcp\\Google\\LongRunning\\OperationsClient');

View File

@@ -0,0 +1,72 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/longrunning/operations.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\GPBType;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\RepeatedField;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\GPBUtil;
/**
* The request message for [Operations.CancelOperation][google.longrunning.Operations.CancelOperation].
*
* Generated from protobuf message <code>google.longrunning.CancelOperationRequest</code>
*/
class CancelOperationRequest extends \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\Message
{
/**
* The name of the operation resource to be cancelled.
*
* Generated from protobuf field <code>string name = 1;</code>
*/
private $name = '';
/**
* @param string $name The name of the operation resource to be cancelled.
*
* @return \Google\LongRunning\CancelOperationRequest
*
* @experimental
*/
public static function build(string $name) : self
{
return (new self())->setName($name);
}
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $name
* The name of the operation resource to be cancelled.
* }
*/
public function __construct($data = NULL)
{
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Longrunning\Operations::initOnce();
parent::__construct($data);
}
/**
* The name of the operation resource to be cancelled.
*
* Generated from protobuf field <code>string name = 1;</code>
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* The name of the operation resource to be cancelled.
*
* Generated from protobuf field <code>string name = 1;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
}

View File

@@ -0,0 +1,304 @@
<?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 DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning\Client;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\ApiCore\ApiException;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\ApiCore\CredentialsWrapper;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\ApiCore\GapicClientTrait;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\ApiCore\PagedListResponse;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\ApiCore\RetrySettings;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\ApiCore\Transport\TransportInterface;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\ApiCore\ValidationException;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Auth\FetchAuthTokenInterface;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning\CancelOperationRequest;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning\DeleteOperationRequest;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning\GetOperationRequest;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning\ListOperationsRequest;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning\Operation;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning\WaitOperationRequest;
use DeliciousBrains\WP_Offload_Media\Gcp\GuzzleHttp\Promise\PromiseInterface;
/**
* 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
* Google Cloud 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 $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 string|array|FetchAuthTokenInterface|CredentialsWrapper $credentials
* 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
* {@see \Google\Auth\FetchAuthTokenInterface} object or
* {@see \Google\ApiCore\CredentialsWrapper} object. Note that when one of these
* objects are provided, any settings in $credentialsConfig will be ignored.
* @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.
* }
*
* @throws ValidationException
*/
public function __construct(array $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`.
*
* NOTE: the `name` binding allows API services to override the binding
* to use different resource name schemes, such as `users/&#42;/operations`. To
* override the binding, API services can add a binding such as
* `"/v1/{name=users/*}/operations"` to their service configuration.
* For backwards compatibility, the default name includes the operations
* collection id, however overriding users must ensure the name binding
* is the parent resource, without the operations collection id.
*
* 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();
}
}

View File

@@ -0,0 +1,72 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/longrunning/operations.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\GPBType;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\RepeatedField;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\GPBUtil;
/**
* The request message for [Operations.DeleteOperation][google.longrunning.Operations.DeleteOperation].
*
* Generated from protobuf message <code>google.longrunning.DeleteOperationRequest</code>
*/
class DeleteOperationRequest extends \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\Message
{
/**
* The name of the operation resource to be deleted.
*
* Generated from protobuf field <code>string name = 1;</code>
*/
private $name = '';
/**
* @param string $name The name of the operation resource to be deleted.
*
* @return \Google\LongRunning\DeleteOperationRequest
*
* @experimental
*/
public static function build(string $name) : self
{
return (new self())->setName($name);
}
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $name
* The name of the operation resource to be deleted.
* }
*/
public function __construct($data = NULL)
{
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Longrunning\Operations::initOnce();
parent::__construct($data);
}
/**
* The name of the operation resource to be deleted.
*
* Generated from protobuf field <code>string name = 1;</code>
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* The name of the operation resource to be deleted.
*
* Generated from protobuf field <code>string name = 1;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
}

View File

@@ -0,0 +1,403 @@
<?php
/*
* Copyright 2022 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 DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning\Gapic;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\ApiCore\ApiException;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\ApiCore\CredentialsWrapper;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\ApiCore\GapicClientTrait;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\ApiCore\RequestParamsHeaderDescriptor;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\ApiCore\RetrySettings;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\ApiCore\Transport\TransportInterface;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\ApiCore\ValidationException;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Auth\FetchAuthTokenInterface;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning\CancelOperationRequest;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning\DeleteOperationRequest;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning\GetOperationRequest;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning\ListOperationsRequest;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning\ListOperationsResponse;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning\Operation;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning\WaitOperationRequest;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Duration;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\GPBEmpty;
/**
* 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
* Google Cloud 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. Sample code to get started:
*
* ```
* $operationsClient = new OperationsClient();
* try {
* $name = 'name';
* $operationsClient->cancelOperation($name);
* } finally {
* $operationsClient->close();
* }
* ```
*
* @deprecated Please use the new service client {@see \Google\LongRunning\Client\OperationsClient}.
*/
class OperationsGapicClient
{
use GapicClientTrait;
/** The name of the service. */
const SERVICE_NAME = 'google.longrunning.Operations';
/**
* The default address of the service.
*
* @deprecated SERVICE_ADDRESS_TEMPLATE should be used instead.
*/
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. */
const DEFAULT_SERVICE_PORT = 443;
/** The name of the code generator, to be included in the agent header. */
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 $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 string|array|FetchAuthTokenInterface|CredentialsWrapper $credentials
* 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
* {@see \Google\Auth\FetchAuthTokenInterface} object or
* {@see \Google\ApiCore\CredentialsWrapper} object. Note that when one of these
* objects are provided, any settings in $credentialsConfig will be ignored.
* @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.
* }
*
* @throws ValidationException
*/
public function __construct(array $options = [])
{
$clientOptions = $this->buildClientOptions($options);
$this->setClientOptions($clientOptions);
}
/**
* 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`.
*
* Sample code:
* ```
* $operationsClient = new OperationsClient();
* try {
* $name = 'name';
* $operationsClient->cancelOperation($name);
* } finally {
* $operationsClient->close();
* }
* ```
*
* @param string $name The name of the operation resource to be cancelled.
* @param array $optionalArgs {
* 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 if the remote call fails
*/
public function cancelOperation($name, array $optionalArgs = [])
{
$request = new CancelOperationRequest();
$requestParamHeaders = [];
$request->setName($name);
$requestParamHeaders['name'] = $name;
$requestParams = new RequestParamsHeaderDescriptor($requestParamHeaders);
$optionalArgs['headers'] = isset($optionalArgs['headers']) ? \array_merge($requestParams->getHeader(), $optionalArgs['headers']) : $requestParams->getHeader();
return $this->startCall('CancelOperation', GPBEmpty::class, $optionalArgs, $request)->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`.
*
* Sample code:
* ```
* $operationsClient = new OperationsClient();
* try {
* $name = 'name';
* $operationsClient->deleteOperation($name);
* } finally {
* $operationsClient->close();
* }
* ```
*
* @param string $name The name of the operation resource to be deleted.
* @param array $optionalArgs {
* 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 if the remote call fails
*/
public function deleteOperation($name, array $optionalArgs = [])
{
$request = new DeleteOperationRequest();
$requestParamHeaders = [];
$request->setName($name);
$requestParamHeaders['name'] = $name;
$requestParams = new RequestParamsHeaderDescriptor($requestParamHeaders);
$optionalArgs['headers'] = isset($optionalArgs['headers']) ? \array_merge($requestParams->getHeader(), $optionalArgs['headers']) : $requestParams->getHeader();
return $this->startCall('DeleteOperation', GPBEmpty::class, $optionalArgs, $request)->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.
*
* Sample code:
* ```
* $operationsClient = new OperationsClient();
* try {
* $name = 'name';
* $response = $operationsClient->getOperation($name);
* } finally {
* $operationsClient->close();
* }
* ```
*
* @param string $name The name of the operation resource.
* @param array $optionalArgs {
* 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 \Google\LongRunning\Operation
*
* @throws ApiException if the remote call fails
*/
public function getOperation($name, array $optionalArgs = [])
{
$request = new GetOperationRequest();
$requestParamHeaders = [];
$request->setName($name);
$requestParamHeaders['name'] = $name;
$requestParams = new RequestParamsHeaderDescriptor($requestParamHeaders);
$optionalArgs['headers'] = isset($optionalArgs['headers']) ? \array_merge($requestParams->getHeader(), $optionalArgs['headers']) : $requestParams->getHeader();
return $this->startCall('GetOperation', Operation::class, $optionalArgs, $request)->wait();
}
/**
* Lists operations that match the specified filter in the request. If the
* server doesn't support this method, it returns `UNIMPLEMENTED`.
*
* NOTE: the `name` binding allows API services to override the binding
* to use different resource name schemes, such as `users/&#42;/operations`. To
* override the binding, API services can add a binding such as
* `"/v1/{name=users/*}/operations"` to their service configuration.
* For backwards compatibility, the default name includes the operations
* collection id, however overriding users must ensure the name binding
* is the parent resource, without the operations collection id.
*
* Sample code:
* ```
* $operationsClient = new OperationsClient();
* try {
* $name = 'name';
* $filter = 'filter';
* // Iterate over pages of elements
* $pagedResponse = $operationsClient->listOperations($name, $filter);
* foreach ($pagedResponse->iteratePages() as $page) {
* foreach ($page as $element) {
* // doSomethingWith($element);
* }
* }
* // Alternatively:
* // Iterate through all elements
* $pagedResponse = $operationsClient->listOperations($name, $filter);
* foreach ($pagedResponse->iterateAllElements() as $element) {
* // doSomethingWith($element);
* }
* } finally {
* $operationsClient->close();
* }
* ```
*
* @param string $name The name of the operation's parent resource.
* @param string $filter The standard list filter.
* @param array $optionalArgs {
* Optional.
*
* @type int $pageSize
* 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.
* @type string $pageToken
* 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.
* @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 \Google\ApiCore\PagedListResponse
*
* @throws ApiException if the remote call fails
*/
public function listOperations($name, $filter, array $optionalArgs = [])
{
$request = new ListOperationsRequest();
$requestParamHeaders = [];
$request->setName($name);
$request->setFilter($filter);
$requestParamHeaders['name'] = $name;
if (isset($optionalArgs['pageSize'])) {
$request->setPageSize($optionalArgs['pageSize']);
}
if (isset($optionalArgs['pageToken'])) {
$request->setPageToken($optionalArgs['pageToken']);
}
$requestParams = new RequestParamsHeaderDescriptor($requestParamHeaders);
$optionalArgs['headers'] = isset($optionalArgs['headers']) ? \array_merge($requestParams->getHeader(), $optionalArgs['headers']) : $requestParams->getHeader();
return $this->getPagedListResponse('ListOperations', $optionalArgs, ListOperationsResponse::class, $request);
}
/**
* 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.
*
* Sample code:
* ```
* $operationsClient = new OperationsClient();
* try {
* $response = $operationsClient->waitOperation();
* } finally {
* $operationsClient->close();
* }
* ```
*
* @param array $optionalArgs {
* Optional.
*
* @type string $name
* The name of the operation resource to wait on.
* @type Duration $timeout
* The maximum duration to wait before timing out. If left blank, the wait
* will be at most the time permitted by the underlying HTTP/RPC protocol.
* If RPC context deadline is also specified, the shorter one will be used.
* @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 \Google\LongRunning\Operation
*
* @throws ApiException if the remote call fails
*/
public function waitOperation(array $optionalArgs = [])
{
$request = new WaitOperationRequest();
if (isset($optionalArgs['name'])) {
$request->setName($optionalArgs['name']);
}
if (isset($optionalArgs['timeout'])) {
$request->setTimeout($optionalArgs['timeout']);
}
return $this->startCall('WaitOperation', Operation::class, $optionalArgs, $request)->wait();
}
}

View File

@@ -0,0 +1,72 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/longrunning/operations.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\GPBType;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\RepeatedField;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\GPBUtil;
/**
* The request message for [Operations.GetOperation][google.longrunning.Operations.GetOperation].
*
* Generated from protobuf message <code>google.longrunning.GetOperationRequest</code>
*/
class GetOperationRequest extends \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\Message
{
/**
* The name of the operation resource.
*
* Generated from protobuf field <code>string name = 1;</code>
*/
private $name = '';
/**
* @param string $name The name of the operation resource.
*
* @return \Google\LongRunning\GetOperationRequest
*
* @experimental
*/
public static function build(string $name) : self
{
return (new self())->setName($name);
}
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $name
* The name of the operation resource.
* }
*/
public function __construct($data = NULL)
{
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Longrunning\Operations::initOnce();
parent::__construct($data);
}
/**
* The name of the operation resource.
*
* Generated from protobuf field <code>string name = 1;</code>
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* The name of the operation resource.
*
* Generated from protobuf field <code>string name = 1;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
}

View File

@@ -0,0 +1,166 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/longrunning/operations.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\GPBType;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\RepeatedField;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\GPBUtil;
/**
* The request message for [Operations.ListOperations][google.longrunning.Operations.ListOperations].
*
* Generated from protobuf message <code>google.longrunning.ListOperationsRequest</code>
*/
class ListOperationsRequest extends \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\Message
{
/**
* The name of the operation's parent resource.
*
* Generated from protobuf field <code>string name = 4;</code>
*/
private $name = '';
/**
* The standard list filter.
*
* Generated from protobuf field <code>string filter = 1;</code>
*/
private $filter = '';
/**
* The standard list page size.
*
* Generated from protobuf field <code>int32 page_size = 2;</code>
*/
private $page_size = 0;
/**
* The standard list page token.
*
* Generated from protobuf field <code>string page_token = 3;</code>
*/
private $page_token = '';
/**
* @param string $name The name of the operation's parent resource.
* @param string $filter The standard list filter.
*
* @return \Google\LongRunning\ListOperationsRequest
*
* @experimental
*/
public static function build(string $name, string $filter) : self
{
return (new self())->setName($name)->setFilter($filter);
}
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $name
* The name of the operation's parent resource.
* @type string $filter
* The standard list filter.
* @type int $page_size
* The standard list page size.
* @type string $page_token
* The standard list page token.
* }
*/
public function __construct($data = NULL)
{
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Longrunning\Operations::initOnce();
parent::__construct($data);
}
/**
* The name of the operation's parent resource.
*
* Generated from protobuf field <code>string name = 4;</code>
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* The name of the operation's parent resource.
*
* Generated from protobuf field <code>string name = 4;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
/**
* The standard list filter.
*
* Generated from protobuf field <code>string filter = 1;</code>
* @return string
*/
public function getFilter()
{
return $this->filter;
}
/**
* The standard list filter.
*
* Generated from protobuf field <code>string filter = 1;</code>
* @param string $var
* @return $this
*/
public function setFilter($var)
{
GPBUtil::checkString($var, True);
$this->filter = $var;
return $this;
}
/**
* The standard list page size.
*
* Generated from protobuf field <code>int32 page_size = 2;</code>
* @return int
*/
public function getPageSize()
{
return $this->page_size;
}
/**
* The standard list page size.
*
* Generated from protobuf field <code>int32 page_size = 2;</code>
* @param int $var
* @return $this
*/
public function setPageSize($var)
{
GPBUtil::checkInt32($var);
$this->page_size = $var;
return $this;
}
/**
* The standard list page token.
*
* Generated from protobuf field <code>string page_token = 3;</code>
* @return string
*/
public function getPageToken()
{
return $this->page_token;
}
/**
* The standard list page token.
*
* Generated from protobuf field <code>string page_token = 3;</code>
* @param string $var
* @return $this
*/
public function setPageToken($var)
{
GPBUtil::checkString($var, True);
$this->page_token = $var;
return $this;
}
}

View File

@@ -0,0 +1,92 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/longrunning/operations.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\GPBType;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\RepeatedField;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\GPBUtil;
/**
* The response message for [Operations.ListOperations][google.longrunning.Operations.ListOperations].
*
* Generated from protobuf message <code>google.longrunning.ListOperationsResponse</code>
*/
class ListOperationsResponse extends \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\Message
{
/**
* A list of operations that matches the specified filter in the request.
*
* Generated from protobuf field <code>repeated .google.longrunning.Operation operations = 1;</code>
*/
private $operations;
/**
* The standard List next-page token.
*
* Generated from protobuf field <code>string next_page_token = 2;</code>
*/
private $next_page_token = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type array<\Google\LongRunning\Operation>|\Google\Protobuf\Internal\RepeatedField $operations
* A list of operations that matches the specified filter in the request.
* @type string $next_page_token
* The standard List next-page token.
* }
*/
public function __construct($data = NULL)
{
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Longrunning\Operations::initOnce();
parent::__construct($data);
}
/**
* A list of operations that matches the specified filter in the request.
*
* Generated from protobuf field <code>repeated .google.longrunning.Operation operations = 1;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getOperations()
{
return $this->operations;
}
/**
* A list of operations that matches the specified filter in the request.
*
* Generated from protobuf field <code>repeated .google.longrunning.Operation operations = 1;</code>
* @param array<\Google\LongRunning\Operation>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setOperations($var)
{
$arr = GPBUtil::checkRepeatedField($var, \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\GPBType::MESSAGE, \DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning\Operation::class);
$this->operations = $arr;
return $this;
}
/**
* The standard List next-page token.
*
* Generated from protobuf field <code>string next_page_token = 2;</code>
* @return string
*/
public function getNextPageToken()
{
return $this->next_page_token;
}
/**
* The standard List next-page token.
*
* Generated from protobuf field <code>string next_page_token = 2;</code>
* @param string $var
* @return $this
*/
public function setNextPageToken($var)
{
GPBUtil::checkString($var, True);
$this->next_page_token = $var;
return $this;
}
}

View File

@@ -0,0 +1,247 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/longrunning/operations.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\GPBType;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\RepeatedField;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\GPBUtil;
/**
* This resource represents a long-running operation that is the result of a
* network API call.
*
* Generated from protobuf message <code>google.longrunning.Operation</code>
*/
class Operation extends \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\Message
{
/**
* The server-assigned name, which is only unique within the same service that
* originally returns it. If you use the default HTTP mapping, the
* `name` should be a resource name ending with `operations/{unique_id}`.
*
* Generated from protobuf field <code>string name = 1;</code>
*/
private $name = '';
/**
* Service-specific metadata associated with the operation. It typically
* contains progress information and common metadata such as create time.
* Some services might not provide such metadata. Any method that returns a
* long-running operation should document the metadata type, if any.
*
* Generated from protobuf field <code>.google.protobuf.Any metadata = 2;</code>
*/
private $metadata = null;
/**
* If the value is `false`, it means the operation is still in progress.
* If `true`, the operation is completed, and either `error` or `response` is
* available.
*
* Generated from protobuf field <code>bool done = 3;</code>
*/
private $done = \false;
protected $result;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $name
* The server-assigned name, which is only unique within the same service that
* originally returns it. If you use the default HTTP mapping, the
* `name` should be a resource name ending with `operations/{unique_id}`.
* @type \Google\Protobuf\Any $metadata
* Service-specific metadata associated with the operation. It typically
* contains progress information and common metadata such as create time.
* Some services might not provide such metadata. Any method that returns a
* long-running operation should document the metadata type, if any.
* @type bool $done
* If the value is `false`, it means the operation is still in progress.
* If `true`, the operation is completed, and either `error` or `response` is
* available.
* @type \Google\Rpc\Status $error
* The error result of the operation in case of failure or cancellation.
* @type \Google\Protobuf\Any $response
* The normal response of the operation in case of success. If the original
* method returns no data on success, such as `Delete`, the response is
* `google.protobuf.Empty`. If the original method is standard
* `Get`/`Create`/`Update`, the response should be the resource. For other
* methods, the response should have the type `XxxResponse`, where `Xxx`
* is the original method name. For example, if the original method name
* is `TakeSnapshot()`, the inferred response type is
* `TakeSnapshotResponse`.
* }
*/
public function __construct($data = NULL)
{
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Longrunning\Operations::initOnce();
parent::__construct($data);
}
/**
* The server-assigned name, which is only unique within the same service that
* originally returns it. If you use the default HTTP mapping, the
* `name` should be a resource name ending with `operations/{unique_id}`.
*
* Generated from protobuf field <code>string name = 1;</code>
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* The server-assigned name, which is only unique within the same service that
* originally returns it. If you use the default HTTP mapping, the
* `name` should be a resource name ending with `operations/{unique_id}`.
*
* Generated from protobuf field <code>string name = 1;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
/**
* Service-specific metadata associated with the operation. It typically
* contains progress information and common metadata such as create time.
* Some services might not provide such metadata. Any method that returns a
* long-running operation should document the metadata type, if any.
*
* Generated from protobuf field <code>.google.protobuf.Any metadata = 2;</code>
* @return \Google\Protobuf\Any|null
*/
public function getMetadata()
{
return $this->metadata;
}
public function hasMetadata()
{
return isset($this->metadata);
}
public function clearMetadata()
{
unset($this->metadata);
}
/**
* Service-specific metadata associated with the operation. It typically
* contains progress information and common metadata such as create time.
* Some services might not provide such metadata. Any method that returns a
* long-running operation should document the metadata type, if any.
*
* Generated from protobuf field <code>.google.protobuf.Any metadata = 2;</code>
* @param \Google\Protobuf\Any $var
* @return $this
*/
public function setMetadata($var)
{
GPBUtil::checkMessage($var, \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Any::class);
$this->metadata = $var;
return $this;
}
/**
* If the value is `false`, it means the operation is still in progress.
* If `true`, the operation is completed, and either `error` or `response` is
* available.
*
* Generated from protobuf field <code>bool done = 3;</code>
* @return bool
*/
public function getDone()
{
return $this->done;
}
/**
* If the value is `false`, it means the operation is still in progress.
* If `true`, the operation is completed, and either `error` or `response` is
* available.
*
* Generated from protobuf field <code>bool done = 3;</code>
* @param bool $var
* @return $this
*/
public function setDone($var)
{
GPBUtil::checkBool($var);
$this->done = $var;
return $this;
}
/**
* The error result of the operation in case of failure or cancellation.
*
* Generated from protobuf field <code>.google.rpc.Status error = 4;</code>
* @return \Google\Rpc\Status|null
*/
public function getError()
{
return $this->readOneof(4);
}
public function hasError()
{
return $this->hasOneof(4);
}
/**
* The error result of the operation in case of failure or cancellation.
*
* Generated from protobuf field <code>.google.rpc.Status error = 4;</code>
* @param \Google\Rpc\Status $var
* @return $this
*/
public function setError($var)
{
GPBUtil::checkMessage($var, \DeliciousBrains\WP_Offload_Media\Gcp\Google\Rpc\Status::class);
$this->writeOneof(4, $var);
return $this;
}
/**
* The normal response of the operation in case of success. If the original
* method returns no data on success, such as `Delete`, the response is
* `google.protobuf.Empty`. If the original method is standard
* `Get`/`Create`/`Update`, the response should be the resource. For other
* methods, the response should have the type `XxxResponse`, where `Xxx`
* is the original method name. For example, if the original method name
* is `TakeSnapshot()`, the inferred response type is
* `TakeSnapshotResponse`.
*
* Generated from protobuf field <code>.google.protobuf.Any response = 5;</code>
* @return \Google\Protobuf\Any|null
*/
public function getResponse()
{
return $this->readOneof(5);
}
public function hasResponse()
{
return $this->hasOneof(5);
}
/**
* The normal response of the operation in case of success. If the original
* method returns no data on success, such as `Delete`, the response is
* `google.protobuf.Empty`. If the original method is standard
* `Get`/`Create`/`Update`, the response should be the resource. For other
* methods, the response should have the type `XxxResponse`, where `Xxx`
* is the original method name. For example, if the original method name
* is `TakeSnapshot()`, the inferred response type is
* `TakeSnapshotResponse`.
*
* Generated from protobuf field <code>.google.protobuf.Any response = 5;</code>
* @param \Google\Protobuf\Any $var
* @return $this
*/
public function setResponse($var)
{
GPBUtil::checkMessage($var, \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Any::class);
$this->writeOneof(5, $var);
return $this;
}
/**
* @return string
*/
public function getResult()
{
return $this->whichOneof("result");
}
}

View File

@@ -0,0 +1,136 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/longrunning/operations.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\GPBType;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\RepeatedField;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\GPBUtil;
/**
* A message representing the message types used by a long-running operation.
* Example:
* rpc LongRunningRecognize(LongRunningRecognizeRequest)
* returns (google.longrunning.Operation) {
* option (google.longrunning.operation_info) = {
* response_type: "LongRunningRecognizeResponse"
* metadata_type: "LongRunningRecognizeMetadata"
* };
* }
*
* Generated from protobuf message <code>google.longrunning.OperationInfo</code>
*/
class OperationInfo extends \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\Message
{
/**
* Required. The message name of the primary return type for this
* long-running operation.
* This type will be used to deserialize the LRO's response.
* If the response is in a different package from the rpc, a fully-qualified
* message name must be used (e.g. `google.protobuf.Struct`).
* Note: Altering this value constitutes a breaking change.
*
* Generated from protobuf field <code>string response_type = 1;</code>
*/
private $response_type = '';
/**
* Required. The message name of the metadata type for this long-running
* operation.
* If the response is in a different package from the rpc, a fully-qualified
* message name must be used (e.g. `google.protobuf.Struct`).
* Note: Altering this value constitutes a breaking change.
*
* Generated from protobuf field <code>string metadata_type = 2;</code>
*/
private $metadata_type = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $response_type
* Required. The message name of the primary return type for this
* long-running operation.
* This type will be used to deserialize the LRO's response.
* If the response is in a different package from the rpc, a fully-qualified
* message name must be used (e.g. `google.protobuf.Struct`).
* Note: Altering this value constitutes a breaking change.
* @type string $metadata_type
* Required. The message name of the metadata type for this long-running
* operation.
* If the response is in a different package from the rpc, a fully-qualified
* message name must be used (e.g. `google.protobuf.Struct`).
* Note: Altering this value constitutes a breaking change.
* }
*/
public function __construct($data = NULL)
{
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Longrunning\Operations::initOnce();
parent::__construct($data);
}
/**
* Required. The message name of the primary return type for this
* long-running operation.
* This type will be used to deserialize the LRO's response.
* If the response is in a different package from the rpc, a fully-qualified
* message name must be used (e.g. `google.protobuf.Struct`).
* Note: Altering this value constitutes a breaking change.
*
* Generated from protobuf field <code>string response_type = 1;</code>
* @return string
*/
public function getResponseType()
{
return $this->response_type;
}
/**
* Required. The message name of the primary return type for this
* long-running operation.
* This type will be used to deserialize the LRO's response.
* If the response is in a different package from the rpc, a fully-qualified
* message name must be used (e.g. `google.protobuf.Struct`).
* Note: Altering this value constitutes a breaking change.
*
* Generated from protobuf field <code>string response_type = 1;</code>
* @param string $var
* @return $this
*/
public function setResponseType($var)
{
GPBUtil::checkString($var, True);
$this->response_type = $var;
return $this;
}
/**
* Required. The message name of the metadata type for this long-running
* operation.
* If the response is in a different package from the rpc, a fully-qualified
* message name must be used (e.g. `google.protobuf.Struct`).
* Note: Altering this value constitutes a breaking change.
*
* Generated from protobuf field <code>string metadata_type = 2;</code>
* @return string
*/
public function getMetadataType()
{
return $this->metadata_type;
}
/**
* Required. The message name of the metadata type for this long-running
* operation.
* If the response is in a different package from the rpc, a fully-qualified
* message name must be used (e.g. `google.protobuf.Struct`).
* Note: Altering this value constitutes a breaking change.
*
* Generated from protobuf field <code>string metadata_type = 2;</code>
* @param string $var
* @return $this
*/
public function setMetadataType($var)
{
GPBUtil::checkString($var, True);
$this->metadata_type = $var;
return $this;
}
}

View File

@@ -0,0 +1,33 @@
<?php
/*
* Copyright 2022 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 DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning\Gapic\OperationsGapicClient;
/** {@inheritdoc} */
class OperationsClient extends OperationsGapicClient
{
// This class is intentionally empty, and is intended to hold manual additions to
// the generated {@see OperationsGapicClient} class.
}
\class_alias('DeliciousBrains\\WP_Offload_Media\\Gcp\\Google\\LongRunning\\OperationsClient', 'DeliciousBrains\\WP_Offload_Media\\Gcp\\Google\\ApiCore\\LongRunning\\OperationsClient');

View File

@@ -0,0 +1,129 @@
<?php
// GENERATED CODE -- DO NOT EDIT!
// Original file comments:
// Copyright 2020 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
//
// http://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.
//
namespace DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning;
/**
* 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
* Google Cloud 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.
*/
class OperationsGrpcClient extends \DeliciousBrains\WP_Offload_Media\Gcp\Grpc\BaseStub
{
/**
* @param string $hostname hostname
* @param array $opts channel options
* @param \Grpc\Channel $channel (optional) re-use channel object
*/
public function __construct($hostname, $opts, $channel = null)
{
parent::__construct($hostname, $opts, $channel);
}
/**
* Lists operations that match the specified filter in the request. If the
* server doesn't support this method, it returns `UNIMPLEMENTED`.
*
* NOTE: the `name` binding allows API services to override the binding
* to use different resource name schemes, such as `users/&#42;/operations`. To
* override the binding, API services can add a binding such as
* `"/v1/{name=users/*}/operations"` to their service configuration.
* For backwards compatibility, the default name includes the operations
* collection id, however overriding users must ensure the name binding
* is the parent resource, without the operations collection id.
* @param \Google\LongRunning\ListOperationsRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function ListOperations(\DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning\ListOperationsRequest $argument, $metadata = [], $options = [])
{
return $this->_simpleRequest('/google.longrunning.Operations/ListOperations', $argument, ['DeliciousBrains\\WP_Offload_Media\\Gcp\\Google\\LongRunning\\ListOperationsResponse', 'decode'], $metadata, $options);
}
/**
* 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.
* @param \Google\LongRunning\GetOperationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function GetOperation(\DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning\GetOperationRequest $argument, $metadata = [], $options = [])
{
return $this->_simpleRequest('/google.longrunning.Operations/GetOperation', $argument, ['DeliciousBrains\\WP_Offload_Media\\Gcp\\Google\\LongRunning\\Operation', 'decode'], $metadata, $options);
}
/**
* 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`.
* @param \Google\LongRunning\DeleteOperationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function DeleteOperation(\DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning\DeleteOperationRequest $argument, $metadata = [], $options = [])
{
return $this->_simpleRequest('/google.longrunning.Operations/DeleteOperation', $argument, ['DeliciousBrains\\WP_Offload_Media\\Gcp\\Google\\Protobuf\\GPBEmpty', 'decode'], $metadata, $options);
}
/**
* 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`.
* @param \Google\LongRunning\CancelOperationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function CancelOperation(\DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning\CancelOperationRequest $argument, $metadata = [], $options = [])
{
return $this->_simpleRequest('/google.longrunning.Operations/CancelOperation', $argument, ['DeliciousBrains\\WP_Offload_Media\\Gcp\\Google\\Protobuf\\GPBEmpty', 'decode'], $metadata, $options);
}
/**
* 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.
* @param \Google\LongRunning\WaitOperationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function WaitOperation(\DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning\WaitOperationRequest $argument, $metadata = [], $options = [])
{
return $this->_simpleRequest('/google.longrunning.Operations/WaitOperation', $argument, ['DeliciousBrains\\WP_Offload_Media\\Gcp\\Google\\LongRunning\\Operation', 'decode'], $metadata, $options);
}
}

View File

@@ -0,0 +1,108 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/longrunning/operations.proto
namespace DeliciousBrains\WP_Offload_Media\Gcp\Google\LongRunning;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\GPBType;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\RepeatedField;
use DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\GPBUtil;
/**
* The request message for [Operations.WaitOperation][google.longrunning.Operations.WaitOperation].
*
* Generated from protobuf message <code>google.longrunning.WaitOperationRequest</code>
*/
class WaitOperationRequest extends \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Internal\Message
{
/**
* The name of the operation resource to wait on.
*
* Generated from protobuf field <code>string name = 1;</code>
*/
private $name = '';
/**
* The maximum duration to wait before timing out. If left blank, the wait
* will be at most the time permitted by the underlying HTTP/RPC protocol.
* If RPC context deadline is also specified, the shorter one will be used.
*
* Generated from protobuf field <code>.google.protobuf.Duration timeout = 2;</code>
*/
private $timeout = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $name
* The name of the operation resource to wait on.
* @type \Google\Protobuf\Duration $timeout
* The maximum duration to wait before timing out. If left blank, the wait
* will be at most the time permitted by the underlying HTTP/RPC protocol.
* If RPC context deadline is also specified, the shorter one will be used.
* }
*/
public function __construct($data = NULL)
{
\DeliciousBrains\WP_Offload_Media\Gcp\GPBMetadata\Google\Longrunning\Operations::initOnce();
parent::__construct($data);
}
/**
* The name of the operation resource to wait on.
*
* Generated from protobuf field <code>string name = 1;</code>
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* The name of the operation resource to wait on.
*
* Generated from protobuf field <code>string name = 1;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
/**
* The maximum duration to wait before timing out. If left blank, the wait
* will be at most the time permitted by the underlying HTTP/RPC protocol.
* If RPC context deadline is also specified, the shorter one will be used.
*
* Generated from protobuf field <code>.google.protobuf.Duration timeout = 2;</code>
* @return \Google\Protobuf\Duration|null
*/
public function getTimeout()
{
return $this->timeout;
}
public function hasTimeout()
{
return isset($this->timeout);
}
public function clearTimeout()
{
unset($this->timeout);
}
/**
* The maximum duration to wait before timing out. If left blank, the wait
* will be at most the time permitted by the underlying HTTP/RPC protocol.
* If RPC context deadline is also specified, the shorter one will be used.
*
* Generated from protobuf field <code>.google.protobuf.Duration timeout = 2;</code>
* @param \Google\Protobuf\Duration $var
* @return $this
*/
public function setTimeout($var)
{
GPBUtil::checkMessage($var, \DeliciousBrains\WP_Offload_Media\Gcp\Google\Protobuf\Duration::class);
$this->timeout = $var;
return $this;
}
}

View File

@@ -0,0 +1,59 @@
{
"interfaces": {
"google.longrunning.Operations": {
"retry_codes": {
"no_retry_codes": [],
"retry_policy_1_codes": [
"UNAVAILABLE"
]
},
"retry_params": {
"no_retry_params": {
"initial_retry_delay_millis": 0,
"retry_delay_multiplier": 0.0,
"max_retry_delay_millis": 0,
"initial_rpc_timeout_millis": 0,
"rpc_timeout_multiplier": 1.0,
"max_rpc_timeout_millis": 0,
"total_timeout_millis": 0
},
"retry_policy_1_params": {
"initial_retry_delay_millis": 500,
"retry_delay_multiplier": 2.0,
"max_retry_delay_millis": 10000,
"initial_rpc_timeout_millis": 10000,
"rpc_timeout_multiplier": 1.0,
"max_rpc_timeout_millis": 10000,
"total_timeout_millis": 10000
}
},
"methods": {
"CancelOperation": {
"timeout_millis": 10000,
"retry_codes_name": "retry_policy_1_codes",
"retry_params_name": "retry_policy_1_params"
},
"DeleteOperation": {
"timeout_millis": 10000,
"retry_codes_name": "retry_policy_1_codes",
"retry_params_name": "retry_policy_1_params"
},
"GetOperation": {
"timeout_millis": 10000,
"retry_codes_name": "retry_policy_1_codes",
"retry_params_name": "retry_policy_1_params"
},
"ListOperations": {
"timeout_millis": 10000,
"retry_codes_name": "retry_policy_1_codes",
"retry_params_name": "retry_policy_1_params"
},
"WaitOperation": {
"timeout_millis": 60000,
"retry_codes_name": "no_retry_codes",
"retry_params_name": "no_retry_params"
}
}
}
}
}

View File

@@ -0,0 +1,24 @@
<?php
namespace DeliciousBrains\WP_Offload_Media\Gcp;
/*
* 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
* This file was automatically generated - do not edit!
*/
return ['interfaces' => ['google.longrunning.Operations' => ['CancelOperation' => ['callType' => \DeliciousBrains\WP_Offload_Media\Gcp\Google\ApiCore\Call::UNARY_CALL, 'responseType' => 'DeliciousBrains\\WP_Offload_Media\\Gcp\\Google\\Protobuf\\GPBEmpty', 'headerParams' => [['keyName' => 'name', 'fieldAccessors' => ['getName']]]], 'DeleteOperation' => ['callType' => \DeliciousBrains\WP_Offload_Media\Gcp\Google\ApiCore\Call::UNARY_CALL, 'responseType' => 'DeliciousBrains\\WP_Offload_Media\\Gcp\\Google\\Protobuf\\GPBEmpty', 'headerParams' => [['keyName' => 'name', 'fieldAccessors' => ['getName']]]], 'GetOperation' => ['callType' => \DeliciousBrains\WP_Offload_Media\Gcp\Google\ApiCore\Call::UNARY_CALL, 'responseType' => 'DeliciousBrains\\WP_Offload_Media\\Gcp\\Google\\LongRunning\\Operation', 'headerParams' => [['keyName' => 'name', 'fieldAccessors' => ['getName']]]], 'ListOperations' => ['pageStreaming' => ['requestPageTokenGetMethod' => 'getPageToken', 'requestPageTokenSetMethod' => 'setPageToken', 'requestPageSizeGetMethod' => 'getPageSize', 'requestPageSizeSetMethod' => 'setPageSize', 'responsePageTokenGetMethod' => 'getNextPageToken', 'resourcesGetMethod' => 'getOperations'], 'callType' => \DeliciousBrains\WP_Offload_Media\Gcp\Google\ApiCore\Call::PAGINATED_CALL, 'responseType' => 'DeliciousBrains\\WP_Offload_Media\\Gcp\\Google\\LongRunning\\ListOperationsResponse', 'headerParams' => [['keyName' => 'name', 'fieldAccessors' => ['getName']]]], 'WaitOperation' => ['callType' => \DeliciousBrains\WP_Offload_Media\Gcp\Google\ApiCore\Call::UNARY_CALL, 'responseType' => 'DeliciousBrains\\WP_Offload_Media\\Gcp\\Google\\LongRunning\\Operation']]]];

View File

@@ -0,0 +1,24 @@
<?php
namespace DeliciousBrains\WP_Offload_Media\Gcp;
/*
* 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
* This file was automatically generated - do not edit!
*/
return ['interfaces' => ['google.longrunning.Operations' => ['CancelOperation' => ['method' => 'post', 'uriTemplate' => '/v1/{name=operations/**}:cancel', 'body' => '*', 'placeholders' => ['name' => ['getters' => ['getName']]]], 'DeleteOperation' => ['method' => 'delete', 'uriTemplate' => '/v1/{name=operations/**}', 'placeholders' => ['name' => ['getters' => ['getName']]]], 'GetOperation' => ['method' => 'get', 'uriTemplate' => '/v1/{name=operations/**}', 'placeholders' => ['name' => ['getters' => ['getName']]]], 'ListOperations' => ['method' => 'get', 'uriTemplate' => '/v1/{name=operations}', 'placeholders' => ['name' => ['getters' => ['getName']]], 'queryParams' => ['filter']]]]];