Copied!

The ClientOptions class adds typing to the associative array of options passed into each API client constructor. To use this class directly, pass the result of {@see \Google\ApiCore\Options\ClientOptions::toArray()} to the client constructor:

use Google\ApiCore\ClientOptions;
use Google\Cloud\SecretManager\Client\SecretManagerClient;

$options = new ClientOptions([
    'credentials' => '/path/to/my/credentials.json'
]);
$secretManager = new SecretManagerClient($options->toArray());

Note: It's possible to pass an associative array to the API clients as well, as ClientOptions will still be used internally for validation.

CloneableInstantiable
Methods
public __construct(array $options)
 
  • param array $options { @type string $apiEndpoint The address of the API remote host, for example "example.googleapis.com. May also include the port, for example "example.googleapis.com:443" @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|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 \Google\Auth\FetchAuthTokenInterface object or \Google\ApiCore\CredentialsWrapper object. Note that when one of these objects are provided, any settings in $authConfig will be ignored. Important: If you accept a credential configuration (credential JSON/File/Stream) from an external source for authentication to Google Cloud Platform, you must validate it before providing it to any Google API or library. Providing an unvalidated credential configuration to Google APIs can compromise the security of your systems and data. For more information {@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 \Google\ApiCore\CredentialsWrapper::build. @type string|TransportInterface|null $transport The transport used for executing network requests. May be either the string rest, grpc, or 'grpc-fallback'. Defaults to grpc if gRPC support is detected on the system. Advanced usage: Additionally, it is possible to pass in an already instantiated TransportInterface object. Note that when this objects 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' => [...], 'grpc-fallback' => [...], ]; See the GrpcTransport::build and RestTransport::build methods for the supported options. @type string $versionFile The path to a file which contains the current version of the client. @type string $descriptorsConfigPath The path to a descriptor configuration file. @type string $serviceName The name of the service. @type string $libName The name of the client application. @type string $libVersion The version of the client application. @type string $gapicVersion The code generator version of the GAPIC library. @type callable $clientCertSource A callable which returns the client cert as a string. @type string $universeDomain The default service domain for a given Cloud universe. @type string $apiKey The API key to be used for the client. @type null|false|LoggerInterface A PSR-3 compliant logger. }
public offsetExists( $offset) : bool
public offsetGet( $offset)
public offsetSet( $offset, $value) : void
 
  • throws \BadMethodCallException
public offsetUnset( $offset) : void
 
  • throws \BadMethodCallException
public setApiEndpoint(?string $apiEndpoint) : void
 
  • param ?string $apiEndpoint
public setApiKey(?string $apiKey)
 
  • param string $apiKey
public setClientCertSource(?callable $clientCertSource)
 
  • param ?callable $clientCertSource
public setClientConfig( $clientConfig) : void
 
  • param string|array $clientConfig
  • throws \InvalidArgumentException
public setCredentials( $credentials) : void
 
  • param string|array|\FetchAuthTokenInterface|\CredentialsWrapper|null $credentials
public setCredentialsConfig(array $credentialsConfig) : void
 
  • param array $credentialsConfig
public setDisableRetries(bool $disableRetries) : void
 
  • param bool $disableRetries
public setGapicVersion(?string $gapicVersion) : void
 
  • param ?string $gapicVersion
public setLibName(?string $libName) : void
 
  • param ?string $libName
public setLibVersion(?string $libVersion) : void
 
  • param ?string $libVersion
public setLogger(Psr\Log\LoggerInterface|false|?null $logger)
 
  • param null|false|\LoggerInterface $logger
public setServiceName(?string $serviceName) : void
 
  • param ?string $serviceName
public setTransport( $transport) : void
 
  • param string|\TransportInterface|null $transport
public setTransportConfig(Google\ApiCore\Options\TransportOptions $transportConfig) : void
 
  • param \TransportOptions $transportConfig
public setUniverseDomain(?string $universeDomain)
 
  • param string $universeDomain
public setVersionFile(?string $versionFile) : void
 
  • param ?string $versionFile
public toArray() : array
Properties
private ?string $apiEndpoint
private ?string $apiKey
private ?Closure $clientCertSource
private array $clientConfig
private $credentials = NULL
 
  • var string|array|\FetchAuthTokenInterface|\CredentialsWrapper|null
private array $credentialsConfig
private ?string $descriptorsConfigPath
private bool $disableRetries
private ?string $gapicVersion
private ?string $libName
private ?string $libVersion
private Psr\Log\LoggerInterface|false|?null $logger
private ?string $serviceName
private $transport = NULL
 
  • var string|\TransportInterface|null $transport
private Google\ApiCore\Options\TransportOptions $transportConfig
private ?string $universeDomain
private ?string $versionFile
Methods
private fromArray(array $arr) : void
 

Sets the array of options as class properites.

  • param array $arr See the constructor for the list of supported options.
private setDescriptorsConfigPath(?string $descriptorsConfigPath)
 
  • param ?string $descriptorsConfigPath
private static validateFileExists(string $filePath)
 
  • param string $filePath
  • throws \ValidationException
Methods
private static validateFileExists(string $filePath)
 
  • param string $filePath
  • throws \ValidationException
© 2025 Bruce Wells
Search Namespaces \ Classes
Configuration