Reference documentation and code samples for the Google Cloud Discovery Engine V1 Client class ControlServiceClient.
Service Description: Service for performing CRUD operations on Controls.
Controls allow for custom logic to be implemented in the serving path. Controls need to be attached to a Serving Config to be considered during a request.
This class provides the ability to make remote calls to the backing service through method calls that map to API methods.
Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parseName method to extract the individual identifiers contained within formatted names that are returned by the API.
Namespace
Google \ Cloud \ DiscoveryEngine \ V1 \ ClientMethods
__construct
Constructor.
Parameters | |
---|---|
Name | Description |
options |
array
Optional. Options for configuring the service API wrapper. |
↳ apiEndpoint |
string
The address of the API remote host. May optionally include the port, formatted as "
|
↳ credentials |
string|array|FetchAuthTokenInterface|CredentialsWrapper
The credentials to be used by the client to authorize API calls. This option accepts either a path to a credentials file, or a decoded credentials file as a PHP array. Advanced usage: In addition, this option can also accept a pre-constructed Google\Auth\FetchAuthTokenInterface object or Google\ApiCore\CredentialsWrapper object. Note that when one of these objects are provided, any settings in $credentialsConfig will be ignored. |
↳ credentialsConfig |
array
Options used to configure credentials, including auth token caching, for the client. For a full list of supporting configuration options, see Google\ApiCore\CredentialsWrapper::build() . |
↳ disableRetries |
bool
Determines whether or not retries defined by the client configuration should be disabled. Defaults to |
↳ clientConfig |
string|array
Client method configuration, including retry settings. This option can be either a path to a JSON file, or a PHP array containing the decoded JSON data. By default this settings points to the default client config file, which is provided in the resources folder. |
↳ transport |
string|TransportInterface
The transport used for executing network requests. May be either the string |
↳ transportConfig |
array
Configuration options that will be used to construct the transport. Options for each supported transport type should be passed in a key for that transport. For example: $transportConfig = [ 'grpc' => [...], 'rest' => [...], ]; See the Google\ApiCore\Transport\GrpcTransport::build() and Google\ApiCore\Transport\RestTransport::build() methods for the supported options. |
↳ clientCertSource |
callable
A callable which returns the client cert as a string. This can be used to provide a certificate and private key to the transport layer for mTLS. |
createControl
Creates a Control.
By default 1000 controls are allowed for a data store. A request can be submitted to adjust this limit. If the Control to create already exists, an ALREADY_EXISTS error is returned.
The async variant is ControlServiceClient::createControlAsync() .
Parameters | |
---|---|
Name | Description |
request |
Google\Cloud\DiscoveryEngine\V1\CreateControlRequest
A request to house fields associated with the call. |
callOptions |
array
Optional. |
↳ retrySettings |
RetrySettings|array
Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage. |
Returns | |
---|---|
Type | Description |
Google\Cloud\DiscoveryEngine\V1\Control |
use Google\ApiCore\ApiException;
use Google\Cloud\DiscoveryEngine\V1\Client\ControlServiceClient;
use Google\Cloud\DiscoveryEngine\V1\Control;
use Google\Cloud\DiscoveryEngine\V1\CreateControlRequest;
use Google\Cloud\DiscoveryEngine\V1\SolutionType;
/**
* @param string $formattedParent Full resource name of parent data store. Format:
* `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`
* or
* `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`. Please see
* {@see ControlServiceClient::dataStoreName()} for help formatting this field.
* @param string $controlDisplayName Human readable name. The identifier used in UI views.
*
* Must be UTF-8 encoded string. Length limit is 128 characters.
* Otherwise an INVALID ARGUMENT error is thrown.
* @param int $controlSolutionType Immutable. What solution the control belongs to.
*
* Must be compatible with vertical of resource.
* Otherwise an INVALID ARGUMENT error is thrown.
* @param string $controlId The ID to use for the Control, which will become the final
* component of the Control's resource name.
*
* This value must be within 1-63 characters.
* Valid characters are /[a-z][0-9]-_/.
*/
function create_control_sample(
string $formattedParent,
string $controlDisplayName,
int $controlSolutionType,
string $controlId
): void {
// Create a client.
$controlServiceClient = new ControlServiceClient();
// Prepare the request message.
$control = (new Control())
->setDisplayName($controlDisplayName)
->setSolutionType($controlSolutionType);
$request = (new CreateControlRequest())
->setParent($formattedParent)
->setControl($control)
->setControlId($controlId);
// Call the API and handle any network failures.
try {
/** @var Control $response */
$response = $controlServiceClient->createControl($request);
printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}
/**
* Helper to execute the sample.
*
* This sample has been automatically generated and should be regarded as a code
* template only. It will require modifications to work:
* - It may require correct/in-range values for request initialization.
* - It may require specifying regional endpoints when creating the service client,
* please see the apiEndpoint client configuration option for more details.
*/
function callSample(): void
{
$formattedParent = ControlServiceClient::dataStoreName('[PROJECT]', '[LOCATION]', '[DATA_STORE]');
$controlDisplayName = '[DISPLAY_NAME]';
$controlSolutionType = SolutionType::SOLUTION_TYPE_UNSPECIFIED;
$controlId = '[CONTROL_ID]';
create_control_sample($formattedParent, $controlDisplayName, $controlSolutionType, $controlId);
}
deleteControl
Deletes a Control.
If the Control to delete does not exist, a NOT_FOUND error is returned.
The async variant is ControlServiceClient::deleteControlAsync() .
Parameters | |
---|---|
Name | Description |
request |
Google\Cloud\DiscoveryEngine\V1\DeleteControlRequest
A request to house fields associated with the call. |
callOptions |
array
Optional. |
↳ retrySettings |
RetrySettings|array
Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage. |
use Google\ApiCore\ApiException;
use Google\Cloud\DiscoveryEngine\V1\Client\ControlServiceClient;
use Google\Cloud\DiscoveryEngine\V1\DeleteControlRequest;
/**
* @param string $formattedName The resource name of the Control to delete. Format:
* `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/controls/{control_id}`
* Please see {@see ControlServiceClient::controlName()} for help formatting this field.
*/
function delete_control_sample(string $formattedName): void
{
// Create a client.
$controlServiceClient = new ControlServiceClient();
// Prepare the request message.
$request = (new DeleteControlRequest())
->setName($formattedName);
// Call the API and handle any network failures.
try {
$controlServiceClient->deleteControl($request);
printf('Call completed successfully.' . PHP_EOL);
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}
/**
* Helper to execute the sample.
*
* This sample has been automatically generated and should be regarded as a code
* template only. It will require modifications to work:
* - It may require correct/in-range values for request initialization.
* - It may require specifying regional endpoints when creating the service client,
* please see the apiEndpoint client configuration option for more details.
*/
function callSample(): void
{
$formattedName = ControlServiceClient::controlName(
'[PROJECT]',
'[LOCATION]',
'[DATA_STORE]',
'[CONTROL]'
);
delete_control_sample($formattedName);
}
getControl
Gets a Control.
The async variant is ControlServiceClient::getControlAsync() .
Parameters | |
---|---|
Name | Description |
request |
Google\Cloud\DiscoveryEngine\V1\GetControlRequest
A request to house fields associated with the call. |
callOptions |
array
Optional. |
↳ retrySettings |
RetrySettings|array
Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage. |
Returns | |
---|---|
Type | Description |
Google\Cloud\DiscoveryEngine\V1\Control |
use Google\ApiCore\ApiException;
use Google\Cloud\DiscoveryEngine\V1\Client\ControlServiceClient;
use Google\Cloud\DiscoveryEngine\V1\Control;
use Google\Cloud\DiscoveryEngine\V1\GetControlRequest;
/**
* @param string $formattedName The resource name of the Control to get. Format:
* `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/controls/{control_id}`
* Please see {@see ControlServiceClient::controlName()} for help formatting this field.
*/
function get_control_sample(string $formattedName): void
{
// Create a client.
$controlServiceClient = new ControlServiceClient();
// Prepare the request message.
$request = (new GetControlRequest())
->setName($formattedName);
// Call the API and handle any network failures.
try {
/** @var Control $response */
$response = $controlServiceClient->getControl($request);
printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}
/**
* Helper to execute the sample.
*
* This sample has been automatically generated and should be regarded as a code
* template only. It will require modifications to work:
* - It may require correct/in-range values for request initialization.
* - It may require specifying regional endpoints when creating the service client,
* please see the apiEndpoint client configuration option for more details.
*/
function callSample(): void
{
$formattedName = ControlServiceClient::controlName(
'[PROJECT]',
'[LOCATION]',
'[DATA_STORE]',
'[CONTROL]'
);
get_control_sample($formattedName);
}
listControls
Lists all Controls by their parent DataStore.
The async variant is ControlServiceClient::listControlsAsync() .
Parameters | |
---|---|
Name | Description |
request |
Google\Cloud\DiscoveryEngine\V1\ListControlsRequest
A request to house fields associated with the call. |
callOptions |
array
Optional. |
↳ retrySettings |
RetrySettings|array
Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage. |
Returns | |
---|---|
Type | Description |
Google\ApiCore\PagedListResponse |
use Google\ApiCore\ApiException;
use Google\ApiCore\PagedListResponse;
use Google\Cloud\DiscoveryEngine\V1\Client\ControlServiceClient;
use Google\Cloud\DiscoveryEngine\V1\Control;
use Google\Cloud\DiscoveryEngine\V1\ListControlsRequest;
/**
* @param string $formattedParent The data store resource name. Format:
* `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`
* or
* `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`. Please see
* {@see ControlServiceClient::dataStoreName()} for help formatting this field.
*/
function list_controls_sample(string $formattedParent): void
{
// Create a client.
$controlServiceClient = new ControlServiceClient();
// Prepare the request message.
$request = (new ListControlsRequest())
->setParent($formattedParent);
// Call the API and handle any network failures.
try {
/** @var PagedListResponse $response */
$response = $controlServiceClient->listControls($request);
/** @var Control $element */
foreach ($response as $element) {
printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString());
}
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}
/**
* Helper to execute the sample.
*
* This sample has been automatically generated and should be regarded as a code
* template only. It will require modifications to work:
* - It may require correct/in-range values for request initialization.
* - It may require specifying regional endpoints when creating the service client,
* please see the apiEndpoint client configuration option for more details.
*/
function callSample(): void
{
$formattedParent = ControlServiceClient::dataStoreName('[PROJECT]', '[LOCATION]', '[DATA_STORE]');
list_controls_sample($formattedParent);
}
updateControl
Updates a Control.
Control action type cannot be changed. If the Control to update does not exist, a NOT_FOUND error is returned.
The async variant is ControlServiceClient::updateControlAsync() .
Parameters | |
---|---|
Name | Description |
request |
Google\Cloud\DiscoveryEngine\V1\UpdateControlRequest
A request to house fields associated with the call. |
callOptions |
array
Optional. |
↳ retrySettings |
RetrySettings|array
Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage. |
Returns | |
---|---|
Type | Description |
Google\Cloud\DiscoveryEngine\V1\Control |
use Google\ApiCore\ApiException;
use Google\Cloud\DiscoveryEngine\V1\Client\ControlServiceClient;
use Google\Cloud\DiscoveryEngine\V1\Control;
use Google\Cloud\DiscoveryEngine\V1\SolutionType;
use Google\Cloud\DiscoveryEngine\V1\UpdateControlRequest;
/**
* @param string $controlDisplayName Human readable name. The identifier used in UI views.
*
* Must be UTF-8 encoded string. Length limit is 128 characters.
* Otherwise an INVALID ARGUMENT error is thrown.
* @param int $controlSolutionType Immutable. What solution the control belongs to.
*
* Must be compatible with vertical of resource.
* Otherwise an INVALID ARGUMENT error is thrown.
*/
function update_control_sample(string $controlDisplayName, int $controlSolutionType): void
{
// Create a client.
$controlServiceClient = new ControlServiceClient();
// Prepare the request message.
$control = (new Control())
->setDisplayName($controlDisplayName)
->setSolutionType($controlSolutionType);
$request = (new UpdateControlRequest())
->setControl($control);
// Call the API and handle any network failures.
try {
/** @var Control $response */
$response = $controlServiceClient->updateControl($request);
printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}
/**
* Helper to execute the sample.
*
* This sample has been automatically generated and should be regarded as a code
* template only. It will require modifications to work:
* - It may require correct/in-range values for request initialization.
* - It may require specifying regional endpoints when creating the service client,
* please see the apiEndpoint client configuration option for more details.
*/
function callSample(): void
{
$controlDisplayName = '[DISPLAY_NAME]';
$controlSolutionType = SolutionType::SOLUTION_TYPE_UNSPECIFIED;
update_control_sample($controlDisplayName, $controlSolutionType);
}
createControlAsync
Parameters | |
---|---|
Name | Description |
request |
Google\Cloud\DiscoveryEngine\V1\CreateControlRequest
|
optionalArgs |
array
|
Returns | |
---|---|
Type | Description |
GuzzleHttp\Promise\PromiseInterface<Google\Cloud\DiscoveryEngine\V1\Control> |
deleteControlAsync
Parameters | |
---|---|
Name | Description |
request |
Google\Cloud\DiscoveryEngine\V1\DeleteControlRequest
|
optionalArgs |
array
|
Returns | |
---|---|
Type | Description |
GuzzleHttp\Promise\PromiseInterface<void> |
getControlAsync
Parameters | |
---|---|
Name | Description |
request |
Google\Cloud\DiscoveryEngine\V1\GetControlRequest
|
optionalArgs |
array
|
Returns | |
---|---|
Type | Description |
GuzzleHttp\Promise\PromiseInterface<Google\Cloud\DiscoveryEngine\V1\Control> |
listControlsAsync
Parameters | |
---|---|
Name | Description |
request |
Google\Cloud\DiscoveryEngine\V1\ListControlsRequest
|
optionalArgs |
array
|
Returns | |
---|---|
Type | Description |
GuzzleHttp\Promise\PromiseInterface<Google\ApiCore\PagedListResponse> |
updateControlAsync
Parameters | |
---|---|
Name | Description |
request |
Google\Cloud\DiscoveryEngine\V1\UpdateControlRequest
|
optionalArgs |
array
|
Returns | |
---|---|
Type | Description |
GuzzleHttp\Promise\PromiseInterface<Google\Cloud\DiscoveryEngine\V1\Control> |
static::controlName
Formats a string containing the fully-qualified path to represent a control resource.
Parameters | |
---|---|
Name | Description |
project |
string
|
location |
string
|
dataStore |
string
|
control |
string
|
Returns | |
---|---|
Type | Description |
string |
The formatted control resource. |
static::dataStoreName
Formats a string containing the fully-qualified path to represent a data_store resource.
Parameters | |
---|---|
Name | Description |
project |
string
|
location |
string
|
dataStore |
string
|
Returns | |
---|---|
Type | Description |
string |
The formatted data_store resource. |
static::engineName
Formats a string containing the fully-qualified path to represent a engine resource.
Parameters | |
---|---|
Name | Description |
project |
string
|
location |
string
|
collection |
string
|
engine |
string
|
Returns | |
---|---|
Type | Description |
string |
The formatted engine resource. |
static::projectLocationCollectionDataStoreName
Formats a string containing the fully-qualified path to represent a project_location_collection_data_store resource.
Parameters | |
---|---|
Name | Description |
project |
string
|
location |
string
|
collection |
string
|
dataStore |
string
|
Returns | |
---|---|
Type | Description |
string |
The formatted project_location_collection_data_store resource. |
static::projectLocationCollectionDataStoreControlName
Formats a string containing the fully-qualified path to represent a project_location_collection_data_store_control resource.
Parameters | |
---|---|
Name | Description |
project |
string
|
location |
string
|
collection |
string
|
dataStore |
string
|
control |
string
|
Returns | |
---|---|
Type | Description |
string |
The formatted project_location_collection_data_store_control resource. |
static::projectLocationCollectionEngineControlName
Formats a string containing the fully-qualified path to represent a project_location_collection_engine_control resource.
Parameters | |
---|---|
Name | Description |
project |
string
|
location |
string
|
collection |
string
|
engine |
string
|
control |
string
|
Returns | |
---|---|
Type | Description |
string |
The formatted project_location_collection_engine_control resource. |
static::projectLocationDataStoreName
Formats a string containing the fully-qualified path to represent a project_location_data_store resource.
Parameters | |
---|---|
Name | Description |
project |
string
|
location |
string
|
dataStore |
string
|
Returns | |
---|---|
Type | Description |
string |
The formatted project_location_data_store resource. |
static::projectLocationDataStoreControlName
Formats a string containing the fully-qualified path to represent a project_location_data_store_control resource.
Parameters | |
---|---|
Name | Description |
project |
string
|
location |
string
|
dataStore |
string
|
control |
string
|
Returns | |
---|---|
Type | Description |
string |
The formatted project_location_data_store_control resource. |
static::parseName
Parses a formatted name string and returns an associative array of the components in the name.
The following name formats are supported: Template: Pattern
- control: projects/{project}/locations/{location}/dataStores/{data_store}/controls/{control}
- dataStore: projects/{project}/locations/{location}/dataStores/{data_store}
- engine: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}
- projectLocationCollectionDataStore: projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}
- projectLocationCollectionDataStoreControl: projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/controls/{control}
- projectLocationCollectionEngineControl: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/controls/{control}
- projectLocationDataStore: projects/{project}/locations/{location}/dataStores/{data_store}
- projectLocationDataStoreControl: projects/{project}/locations/{location}/dataStores/{data_store}/controls/{control}
The optional $template argument can be supplied to specify a particular pattern, and must match one of the templates listed above. If no $template argument is provided, or if the $template argument does not match one of the templates listed, then parseName will check each of the supported templates, and return the first match.
Parameters | |
---|---|
Name | Description |
formattedName |
string
The formatted name string |
template |
string
Optional name of template to match |
Returns | |
---|---|
Type | Description |
array |
An associative array from name component IDs to component values. |