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 FetchAuthTokenInterface|CredentialsWrapper $credentials This option should only be used with 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 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 now recommended to create the credentials explicitly: use Google\Auth\Credentials\ServiceAccountCredentials; use Google\ApiCore\Options\ClientOptions; $creds = new ServiceAccountCredentials($scopes, $json); $options = new ClientOptions(['credentials' => $creds]); 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)
 
  • return mixed
  • attribute ReturnTypeWillChange
public offsetSet( $offset, $value) : void
 
  • throws \BadMethodCallException
public offsetUnset( $offset) : void
 
  • throws \BadMethodCallException
public setApiEndpoint(?string $apiEndpoint) : self
 
  • param ?string $apiEndpoint
  • return $this
public setApiKey(?string $apiKey) : self
 
  • param string $apiKey
  • return $this
public setClientCertSource(?callable $clientCertSource) : self
 
  • param ?callable $clientCertSource
  • return $this
public setClientConfig( $clientConfig) : self
 
  • param string|array $clientConfig
  • return $this
  • throws \InvalidArgumentException
public setCredentials( $credentials) : self
 
  • param string|array|\FetchAuthTokenInterface|\CredentialsWrapper|null $credentials
  • return $this
public setCredentialsConfig(array $credentialsConfig) : self
 
  • param array $credentialsConfig
  • return $this
public setDisableRetries(bool $disableRetries) : self
 
  • param bool $disableRetries
  • return $this
public setGapicVersion(?string $gapicVersion) : self
 
  • param ?string $gapicVersion
  • return $this
public setLibName(?string $libName) : self
 
  • param ?string $libName
  • return $this
public setLibVersion(?string $libVersion) : self
 
  • param ?string $libVersion
  • return $this
public setLogger(Psr\Log\LoggerInterface|false|?null $logger) : self
 
  • param null|false|\LoggerInterface $logger
  • return $this
public setServiceName(?string $serviceName) : self
 
  • param ?string $serviceName
  • return $this
public setTransport( $transport) : self
 
  • param string|\TransportInterface|null $transport
  • return $this
public setTransportConfig(Google\ApiCore\Options\TransportOptions $transportConfig) : self
 
  • param \TransportOptions $transportConfig
  • return $this
public setUniverseDomain(?string $universeDomain) : self
 
  • param string $universeDomain
  • return $this
public setVersionFile(?string $versionFile) : self
 
  • param ?string $versionFile
  • return $this
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) : self
 
  • param ?string $descriptorsConfigPath
  • return $this
private static validateFileExists(string $filePath)
 
  • param string $filePath
  • throws \ValidationException
Methods
private static validateFileExists(string $filePath)
 
  • param string $filePath
  • throws \ValidationException
© 2026 Bruce Wells
Search Namespaces \ Classes
Configuration