blob: 702e3969e3fa3d513bd8d7210c471117415dc286 [file] [edit]
<html><body>
<style>
body, h1, h2, h3, div, span, p, pre, a {
margin: 0;
padding: 0;
border: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
body {
font-size: 13px;
padding: 1em;
}
h1 {
font-size: 26px;
margin-bottom: 1em;
}
h2 {
font-size: 24px;
margin-bottom: 1em;
}
h3 {
font-size: 20px;
margin-bottom: 1em;
margin-top: 1em;
}
pre, code {
line-height: 1.5;
font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}
pre {
margin-top: 0.5em;
}
h1, h2, h3, p {
font-family: Arial, sans serif;
}
h1, h2, h3 {
border-bottom: solid #CCC 1px;
}
.toc_element {
margin-top: 0.5em;
}
.firstline {
margin-left: 2 em;
}
.method {
margin-top: 1em;
border: solid 1px #CCC;
padding: 1em;
background: #EEE;
}
.details {
font-weight: bold;
font-size: 14px;
}
</style>
<h1><a href="dialogflow_v3beta1.html">Dialogflow API</a> . <a href="dialogflow_v3beta1.projects.html">projects</a> . <a href="dialogflow_v3beta1.projects.locations.html">locations</a> . <a href="dialogflow_v3beta1.projects.locations.agents.html">agents</a> . <a href="dialogflow_v3beta1.projects.locations.agents.tools.html">tools</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
<code><a href="dialogflow_v3beta1.projects.locations.agents.tools.versions.html">versions()</a></code>
</p>
<p class="firstline">Returns the versions Resource.</p>
<p class="toc_element">
<code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
<code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Creates a Tool in the specified agent.</p>
<p class="toc_element">
<code><a href="#delete">delete(name, force=None, x__xgafv=None)</a></code></p>
<p class="firstline">Deletes a specified Tool.</p>
<p class="toc_element">
<code><a href="#export">export(parent, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Exports the selected tools.</p>
<p class="toc_element">
<code><a href="#get">get(name, x__xgafv=None)</a></code></p>
<p class="firstline">Retrieves the specified Tool.</p>
<p class="toc_element">
<code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
<p class="firstline">Returns a list of Tools in the specified agent.</p>
<p class="toc_element">
<code><a href="#list_next">list_next()</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
<code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
<p class="firstline">Update the specified Tool.</p>
<h3>Method Details</h3>
<div class="method">
<code class="details" id="close">close()</code>
<pre>Close httplib2 connections.</pre>
</div>
<div class="method">
<code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
<pre>Creates a Tool in the specified agent.
Args:
parent: string, Required. The agent to create a Tool for. Format: `projects//locations//agents/`. (required)
body: object, The request body.
The object takes the form of:
{ # A tool provides a list of actions which are available to the Playbook to attain its goal. A Tool consists of a description of the tool&#x27;s usage and a specification of the tool which contains the schema and authentication information.
&quot;connectorSpec&quot;: { # A ConnectorTool enabling using Integration Connectors Connections as tools. # Integration connectors tool specification.
&quot;actions&quot;: [ # Required. Actions for the tool to use.
{ # Configuration of a Connection operation for the tool to use.
&quot;connectionActionId&quot;: &quot;A String&quot;, # ID of a Connection action for the tool to use.
&quot;entityOperation&quot;: { # Entity CRUD operation specification. # Entity operation configuration for the tool to use.
&quot;entityId&quot;: &quot;A String&quot;, # Required. ID of the entity.
&quot;operation&quot;: &quot;A String&quot;, # Required. Operation to perform on the entity.
},
&quot;inputFields&quot;: [ # Optional. Entity fields to use as inputs for the operation. If no fields are specified, all fields of the Entity will be used.
&quot;A String&quot;,
],
&quot;outputFields&quot;: [ # Optional. Entity fields to return from the operation. If no fields are specified, all fields of the Entity will be returned.
&quot;A String&quot;,
],
},
],
&quot;endUserAuthConfig&quot;: { # End-user authentication configuration used for Connection calls. The field values can either be hardcoded authentication values or the names of [session parameters](https://cloud.google.com/dialogflow/cx/docs/concept/parameter#session-ref) or [request parameters](https://cloud.google.com/dialogflow/cx/docs/concept/parameter#request-scoped). If parameter names are provided, then those parameters can be used to pass the authentication values dynamically, through `$session.params.param-id` or `$request.payload.param-id`. # Optional. Integration Connectors end-user authentication configuration. If configured, the end-user authentication fields will be passed in the Integration Connectors API request and override the admin, default authentication configured for the Connection. **Note**: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the ConnectorTool creation will fail. See: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override
&quot;oauth2AuthCodeConfig&quot;: { # Oauth 2.0 Authorization Code authentication configuration. # Oauth 2.0 Authorization Code authentication.
&quot;oauthToken&quot;: &quot;A String&quot;, # Required. Oauth token value or parameter name to pass it through.
},
&quot;oauth2JwtBearerConfig&quot;: { # JWT Profile Oauth 2.0 Authorization Grant authentication configuration. # JWT Profile Oauth 2.0 Authorization Grant authentication.
&quot;clientKey&quot;: &quot;A String&quot;, # Required. Client key value or parameter name to pass it through.
&quot;issuer&quot;: &quot;A String&quot;, # Required. Issuer value or parameter name to pass it through.
&quot;subject&quot;: &quot;A String&quot;, # Required. Subject value or parameter name to pass it through.
},
},
&quot;name&quot;: &quot;A String&quot;, # Required. The full resource name of the referenced Integration Connectors Connection. Format: `projects/*/locations/*/connections/*`
},
&quot;dataStoreSpec&quot;: { # A DataStoreTool is a way to provide specifications needed to search a list of data stores. # Data store search tool specification.
&quot;dataStoreConnections&quot;: [ # Required. List of data stores to search.
{ # A data store connection. It represents a data store in Discovery Engine and the type of the contents it contains.
&quot;dataStore&quot;: &quot;A String&quot;, # The full name of the referenced data store. Formats: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}` `projects/{project}/locations/{location}/dataStores/{data_store}`
&quot;dataStoreType&quot;: &quot;A String&quot;, # The type of the connected data store.
&quot;documentProcessingMode&quot;: &quot;A String&quot;, # The document processing mode for the data store connection. Should only be set for PUBLIC_WEB and UNSTRUCTURED data stores. If not set it is considered as DOCUMENTS, as this is the legacy mode.
},
],
&quot;fallbackPrompt&quot;: { # A FallbackPrompt is a way to provide specifications for the Data Store fallback prompt when generating responses. # Required. Fallback prompt configurations to use.
},
},
&quot;description&quot;: &quot;A String&quot;, # Required. High level description of the Tool and its usage.
&quot;displayName&quot;: &quot;A String&quot;, # Required. The human-readable name of the Tool, unique within an agent.
&quot;extensionSpec&quot;: { # An ExtensionTool is a way to use Vertex Extensions as a tool. # Vertex extension tool specification.
&quot;name&quot;: &quot;A String&quot;, # Required. The full name of the referenced vertex extension. Formats: `projects/{project}/locations/{location}/extensions/{extension}`
},
&quot;functionSpec&quot;: { # A Function tool describes the functions to be invoked on the client side. # Client side executed function specification.
&quot;inputSchema&quot;: { # Optional. The JSON schema is encapsulated in a google.protobuf.Struct to describe the input of the function. This input is a JSON object that contains the function&#x27;s parameters as properties of the object.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
&quot;outputSchema&quot;: { # Optional. The JSON schema is encapsulated in a google.protobuf.Struct to describe the output of the function. This output is a JSON object that contains the function&#x27;s parameters as properties of the object.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
},
&quot;name&quot;: &quot;A String&quot;, # The unique identifier of the Tool. Format: `projects//locations//agents//tools/`.
&quot;openApiSpec&quot;: { # An OpenAPI tool is a way to provide the Tool specifications in the Open API schema format. # OpenAPI specification of the Tool.
&quot;authentication&quot;: { # Authentication information required for API calls # Optional. Authentication information required by the API.
&quot;apiKeyConfig&quot;: { # Config for authentication with API key. # Config for API key auth.
&quot;apiKey&quot;: &quot;A String&quot;, # Optional. The API key. If the `secret_version_for_api_key` field is set, this field will be ignored.
&quot;keyName&quot;: &quot;A String&quot;, # Required. The parameter name or the header name of the API key. E.g., If the API request is &quot;https://example.com/act?X-Api-Key=&quot;, &quot;X-Api-Key&quot; would be the parameter name.
&quot;requestLocation&quot;: &quot;A String&quot;, # Required. Key location in the request.
&quot;secretVersionForApiKey&quot;: &quot;A String&quot;, # Optional. The name of the SecretManager secret version resource storing the API key. If this field is set, the `api_key` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
},
&quot;bearerTokenConfig&quot;: { # Config for authentication using bearer token. # Config for bearer token auth.
&quot;secretVersionForToken&quot;: &quot;A String&quot;, # Optional. The name of the SecretManager secret version resource storing the Bearer token. If this field is set, the `token` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
&quot;token&quot;: &quot;A String&quot;, # Optional. The text token appended to the text `Bearer` to the request Authorization header. [Session parameters reference](https://cloud.google.com/dialogflow/cx/docs/concept/parameter#session-ref) can be used to pass the token dynamically, e.g. `$session.params.parameter-id`.
},
&quot;oauthConfig&quot;: { # Config for authentication with OAuth. # Config for OAuth.
&quot;clientId&quot;: &quot;A String&quot;, # Required. The client ID from the OAuth provider.
&quot;clientSecret&quot;: &quot;A String&quot;, # Optional. The client secret from the OAuth provider. If the `secret_version_for_client_secret` field is set, this field will be ignored.
&quot;oauthGrantType&quot;: &quot;A String&quot;, # Required. OAuth grant types.
&quot;scopes&quot;: [ # Optional. The OAuth scopes to grant.
&quot;A String&quot;,
],
&quot;secretVersionForClientSecret&quot;: &quot;A String&quot;, # Optional. The name of the SecretManager secret version resource storing the client secret. If this field is set, the `client_secret` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
&quot;tokenEndpoint&quot;: &quot;A String&quot;, # Required. The token endpoint in the OAuth provider to exchange for an access token.
},
&quot;serviceAgentAuthConfig&quot;: { # Config for auth using [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). # Config for [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent) auth.
&quot;serviceAgentAuth&quot;: &quot;A String&quot;, # Optional. Indicate the auth token type generated from the [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). The generated token is sent in the Authorization header.
},
},
&quot;serviceDirectoryConfig&quot;: { # Configuration for tools using Service Directory. # Optional. Service Directory configuration.
&quot;service&quot;: &quot;A String&quot;, # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `LocationID` of the service directory must be the same as the location of the agent.
},
&quot;textSchema&quot;: &quot;A String&quot;, # Required. The OpenAPI schema specified as a text.
&quot;tlsConfig&quot;: { # The TLS configuration. # Optional. TLS configuration for the HTTPS verification.
&quot;caCerts&quot;: [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification.
{ # The CA certificate.
&quot;cert&quot;: &quot;A String&quot;, # Required. The allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google&#x27;s default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with &quot;subject alt name&quot;. For instance a certificate can be self-signed using the following command: ``` openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile &lt;(printf &quot;\nsubjectAltName=&#x27;DNS:www.example.com&#x27;&quot;) ```
&quot;displayName&quot;: &quot;A String&quot;, # Required. The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.
},
],
},
},
&quot;toolType&quot;: &quot;A String&quot;, # Output only. The tool type.
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # A tool provides a list of actions which are available to the Playbook to attain its goal. A Tool consists of a description of the tool&#x27;s usage and a specification of the tool which contains the schema and authentication information.
&quot;connectorSpec&quot;: { # A ConnectorTool enabling using Integration Connectors Connections as tools. # Integration connectors tool specification.
&quot;actions&quot;: [ # Required. Actions for the tool to use.
{ # Configuration of a Connection operation for the tool to use.
&quot;connectionActionId&quot;: &quot;A String&quot;, # ID of a Connection action for the tool to use.
&quot;entityOperation&quot;: { # Entity CRUD operation specification. # Entity operation configuration for the tool to use.
&quot;entityId&quot;: &quot;A String&quot;, # Required. ID of the entity.
&quot;operation&quot;: &quot;A String&quot;, # Required. Operation to perform on the entity.
},
&quot;inputFields&quot;: [ # Optional. Entity fields to use as inputs for the operation. If no fields are specified, all fields of the Entity will be used.
&quot;A String&quot;,
],
&quot;outputFields&quot;: [ # Optional. Entity fields to return from the operation. If no fields are specified, all fields of the Entity will be returned.
&quot;A String&quot;,
],
},
],
&quot;endUserAuthConfig&quot;: { # End-user authentication configuration used for Connection calls. The field values can either be hardcoded authentication values or the names of [session parameters](https://cloud.google.com/dialogflow/cx/docs/concept/parameter#session-ref) or [request parameters](https://cloud.google.com/dialogflow/cx/docs/concept/parameter#request-scoped). If parameter names are provided, then those parameters can be used to pass the authentication values dynamically, through `$session.params.param-id` or `$request.payload.param-id`. # Optional. Integration Connectors end-user authentication configuration. If configured, the end-user authentication fields will be passed in the Integration Connectors API request and override the admin, default authentication configured for the Connection. **Note**: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the ConnectorTool creation will fail. See: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override
&quot;oauth2AuthCodeConfig&quot;: { # Oauth 2.0 Authorization Code authentication configuration. # Oauth 2.0 Authorization Code authentication.
&quot;oauthToken&quot;: &quot;A String&quot;, # Required. Oauth token value or parameter name to pass it through.
},
&quot;oauth2JwtBearerConfig&quot;: { # JWT Profile Oauth 2.0 Authorization Grant authentication configuration. # JWT Profile Oauth 2.0 Authorization Grant authentication.
&quot;clientKey&quot;: &quot;A String&quot;, # Required. Client key value or parameter name to pass it through.
&quot;issuer&quot;: &quot;A String&quot;, # Required. Issuer value or parameter name to pass it through.
&quot;subject&quot;: &quot;A String&quot;, # Required. Subject value or parameter name to pass it through.
},
},
&quot;name&quot;: &quot;A String&quot;, # Required. The full resource name of the referenced Integration Connectors Connection. Format: `projects/*/locations/*/connections/*`
},
&quot;dataStoreSpec&quot;: { # A DataStoreTool is a way to provide specifications needed to search a list of data stores. # Data store search tool specification.
&quot;dataStoreConnections&quot;: [ # Required. List of data stores to search.
{ # A data store connection. It represents a data store in Discovery Engine and the type of the contents it contains.
&quot;dataStore&quot;: &quot;A String&quot;, # The full name of the referenced data store. Formats: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}` `projects/{project}/locations/{location}/dataStores/{data_store}`
&quot;dataStoreType&quot;: &quot;A String&quot;, # The type of the connected data store.
&quot;documentProcessingMode&quot;: &quot;A String&quot;, # The document processing mode for the data store connection. Should only be set for PUBLIC_WEB and UNSTRUCTURED data stores. If not set it is considered as DOCUMENTS, as this is the legacy mode.
},
],
&quot;fallbackPrompt&quot;: { # A FallbackPrompt is a way to provide specifications for the Data Store fallback prompt when generating responses. # Required. Fallback prompt configurations to use.
},
},
&quot;description&quot;: &quot;A String&quot;, # Required. High level description of the Tool and its usage.
&quot;displayName&quot;: &quot;A String&quot;, # Required. The human-readable name of the Tool, unique within an agent.
&quot;extensionSpec&quot;: { # An ExtensionTool is a way to use Vertex Extensions as a tool. # Vertex extension tool specification.
&quot;name&quot;: &quot;A String&quot;, # Required. The full name of the referenced vertex extension. Formats: `projects/{project}/locations/{location}/extensions/{extension}`
},
&quot;functionSpec&quot;: { # A Function tool describes the functions to be invoked on the client side. # Client side executed function specification.
&quot;inputSchema&quot;: { # Optional. The JSON schema is encapsulated in a google.protobuf.Struct to describe the input of the function. This input is a JSON object that contains the function&#x27;s parameters as properties of the object.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
&quot;outputSchema&quot;: { # Optional. The JSON schema is encapsulated in a google.protobuf.Struct to describe the output of the function. This output is a JSON object that contains the function&#x27;s parameters as properties of the object.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
},
&quot;name&quot;: &quot;A String&quot;, # The unique identifier of the Tool. Format: `projects//locations//agents//tools/`.
&quot;openApiSpec&quot;: { # An OpenAPI tool is a way to provide the Tool specifications in the Open API schema format. # OpenAPI specification of the Tool.
&quot;authentication&quot;: { # Authentication information required for API calls # Optional. Authentication information required by the API.
&quot;apiKeyConfig&quot;: { # Config for authentication with API key. # Config for API key auth.
&quot;apiKey&quot;: &quot;A String&quot;, # Optional. The API key. If the `secret_version_for_api_key` field is set, this field will be ignored.
&quot;keyName&quot;: &quot;A String&quot;, # Required. The parameter name or the header name of the API key. E.g., If the API request is &quot;https://example.com/act?X-Api-Key=&quot;, &quot;X-Api-Key&quot; would be the parameter name.
&quot;requestLocation&quot;: &quot;A String&quot;, # Required. Key location in the request.
&quot;secretVersionForApiKey&quot;: &quot;A String&quot;, # Optional. The name of the SecretManager secret version resource storing the API key. If this field is set, the `api_key` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
},
&quot;bearerTokenConfig&quot;: { # Config for authentication using bearer token. # Config for bearer token auth.
&quot;secretVersionForToken&quot;: &quot;A String&quot;, # Optional. The name of the SecretManager secret version resource storing the Bearer token. If this field is set, the `token` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
&quot;token&quot;: &quot;A String&quot;, # Optional. The text token appended to the text `Bearer` to the request Authorization header. [Session parameters reference](https://cloud.google.com/dialogflow/cx/docs/concept/parameter#session-ref) can be used to pass the token dynamically, e.g. `$session.params.parameter-id`.
},
&quot;oauthConfig&quot;: { # Config for authentication with OAuth. # Config for OAuth.
&quot;clientId&quot;: &quot;A String&quot;, # Required. The client ID from the OAuth provider.
&quot;clientSecret&quot;: &quot;A String&quot;, # Optional. The client secret from the OAuth provider. If the `secret_version_for_client_secret` field is set, this field will be ignored.
&quot;oauthGrantType&quot;: &quot;A String&quot;, # Required. OAuth grant types.
&quot;scopes&quot;: [ # Optional. The OAuth scopes to grant.
&quot;A String&quot;,
],
&quot;secretVersionForClientSecret&quot;: &quot;A String&quot;, # Optional. The name of the SecretManager secret version resource storing the client secret. If this field is set, the `client_secret` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
&quot;tokenEndpoint&quot;: &quot;A String&quot;, # Required. The token endpoint in the OAuth provider to exchange for an access token.
},
&quot;serviceAgentAuthConfig&quot;: { # Config for auth using [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). # Config for [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent) auth.
&quot;serviceAgentAuth&quot;: &quot;A String&quot;, # Optional. Indicate the auth token type generated from the [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). The generated token is sent in the Authorization header.
},
},
&quot;serviceDirectoryConfig&quot;: { # Configuration for tools using Service Directory. # Optional. Service Directory configuration.
&quot;service&quot;: &quot;A String&quot;, # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `LocationID` of the service directory must be the same as the location of the agent.
},
&quot;textSchema&quot;: &quot;A String&quot;, # Required. The OpenAPI schema specified as a text.
&quot;tlsConfig&quot;: { # The TLS configuration. # Optional. TLS configuration for the HTTPS verification.
&quot;caCerts&quot;: [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification.
{ # The CA certificate.
&quot;cert&quot;: &quot;A String&quot;, # Required. The allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google&#x27;s default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with &quot;subject alt name&quot;. For instance a certificate can be self-signed using the following command: ``` openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile &lt;(printf &quot;\nsubjectAltName=&#x27;DNS:www.example.com&#x27;&quot;) ```
&quot;displayName&quot;: &quot;A String&quot;, # Required. The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.
},
],
},
},
&quot;toolType&quot;: &quot;A String&quot;, # Output only. The tool type.
}</pre>
</div>
<div class="method">
<code class="details" id="delete">delete(name, force=None, x__xgafv=None)</code>
<pre>Deletes a specified Tool.
Args:
name: string, Required. The name of the Tool to be deleted. Format: `projects//locations//agents//tools/`. (required)
force: boolean, This field has no effect for Tools not being used. For Tools that are used: * If `force` is set to false, an error will be returned with message indicating the referenced resources. * If `force` is set to true, Dialogflow will remove the tool, as well as any references to the tool.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
}</pre>
</div>
<div class="method">
<code class="details" id="export">export(parent, body=None, x__xgafv=None)</code>
<pre>Exports the selected tools.
Args:
parent: string, Required. The agent to export tools from. Format: `projects//locations//agents/`. (required)
body: object, The request body.
The object takes the form of:
{ # The request message for Tools.ExportTools.
&quot;dataFormat&quot;: &quot;A String&quot;, # Optional. The data format of the exported tools. If not specified, `BLOB` is assumed.
&quot;tools&quot;: [ # Required. The name of the tools to export. Format: `projects//locations//agents//tools/`.
&quot;A String&quot;,
],
&quot;toolsContentInline&quot;: True or False, # Optional. The option to return the serialized tools inline.
&quot;toolsUri&quot;: &quot;A String&quot;, # Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to export the tools to. The format of this URI must be `gs:///`. Dialogflow performs a write operation for the Cloud Storage object on the caller&#x27;s behalf, so your request authentication must have write permissions for the object. For more information, see [Dialogflow access control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # This resource represents a long-running operation that is the result of a network API call.
&quot;done&quot;: True or False, # 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.
&quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
&quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
&quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
{
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
],
&quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
},
&quot;metadata&quot;: { # 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.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
&quot;name&quot;: &quot;A String&quot;, # 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}`.
&quot;response&quot;: { # The normal, successful response of the operation. 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`.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
}</pre>
</div>
<div class="method">
<code class="details" id="get">get(name, x__xgafv=None)</code>
<pre>Retrieves the specified Tool.
Args:
name: string, Required. The name of the Tool. Format: `projects//locations//agents//tools/`. (required)
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # A tool provides a list of actions which are available to the Playbook to attain its goal. A Tool consists of a description of the tool&#x27;s usage and a specification of the tool which contains the schema and authentication information.
&quot;connectorSpec&quot;: { # A ConnectorTool enabling using Integration Connectors Connections as tools. # Integration connectors tool specification.
&quot;actions&quot;: [ # Required. Actions for the tool to use.
{ # Configuration of a Connection operation for the tool to use.
&quot;connectionActionId&quot;: &quot;A String&quot;, # ID of a Connection action for the tool to use.
&quot;entityOperation&quot;: { # Entity CRUD operation specification. # Entity operation configuration for the tool to use.
&quot;entityId&quot;: &quot;A String&quot;, # Required. ID of the entity.
&quot;operation&quot;: &quot;A String&quot;, # Required. Operation to perform on the entity.
},
&quot;inputFields&quot;: [ # Optional. Entity fields to use as inputs for the operation. If no fields are specified, all fields of the Entity will be used.
&quot;A String&quot;,
],
&quot;outputFields&quot;: [ # Optional. Entity fields to return from the operation. If no fields are specified, all fields of the Entity will be returned.
&quot;A String&quot;,
],
},
],
&quot;endUserAuthConfig&quot;: { # End-user authentication configuration used for Connection calls. The field values can either be hardcoded authentication values or the names of [session parameters](https://cloud.google.com/dialogflow/cx/docs/concept/parameter#session-ref) or [request parameters](https://cloud.google.com/dialogflow/cx/docs/concept/parameter#request-scoped). If parameter names are provided, then those parameters can be used to pass the authentication values dynamically, through `$session.params.param-id` or `$request.payload.param-id`. # Optional. Integration Connectors end-user authentication configuration. If configured, the end-user authentication fields will be passed in the Integration Connectors API request and override the admin, default authentication configured for the Connection. **Note**: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the ConnectorTool creation will fail. See: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override
&quot;oauth2AuthCodeConfig&quot;: { # Oauth 2.0 Authorization Code authentication configuration. # Oauth 2.0 Authorization Code authentication.
&quot;oauthToken&quot;: &quot;A String&quot;, # Required. Oauth token value or parameter name to pass it through.
},
&quot;oauth2JwtBearerConfig&quot;: { # JWT Profile Oauth 2.0 Authorization Grant authentication configuration. # JWT Profile Oauth 2.0 Authorization Grant authentication.
&quot;clientKey&quot;: &quot;A String&quot;, # Required. Client key value or parameter name to pass it through.
&quot;issuer&quot;: &quot;A String&quot;, # Required. Issuer value or parameter name to pass it through.
&quot;subject&quot;: &quot;A String&quot;, # Required. Subject value or parameter name to pass it through.
},
},
&quot;name&quot;: &quot;A String&quot;, # Required. The full resource name of the referenced Integration Connectors Connection. Format: `projects/*/locations/*/connections/*`
},
&quot;dataStoreSpec&quot;: { # A DataStoreTool is a way to provide specifications needed to search a list of data stores. # Data store search tool specification.
&quot;dataStoreConnections&quot;: [ # Required. List of data stores to search.
{ # A data store connection. It represents a data store in Discovery Engine and the type of the contents it contains.
&quot;dataStore&quot;: &quot;A String&quot;, # The full name of the referenced data store. Formats: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}` `projects/{project}/locations/{location}/dataStores/{data_store}`
&quot;dataStoreType&quot;: &quot;A String&quot;, # The type of the connected data store.
&quot;documentProcessingMode&quot;: &quot;A String&quot;, # The document processing mode for the data store connection. Should only be set for PUBLIC_WEB and UNSTRUCTURED data stores. If not set it is considered as DOCUMENTS, as this is the legacy mode.
},
],
&quot;fallbackPrompt&quot;: { # A FallbackPrompt is a way to provide specifications for the Data Store fallback prompt when generating responses. # Required. Fallback prompt configurations to use.
},
},
&quot;description&quot;: &quot;A String&quot;, # Required. High level description of the Tool and its usage.
&quot;displayName&quot;: &quot;A String&quot;, # Required. The human-readable name of the Tool, unique within an agent.
&quot;extensionSpec&quot;: { # An ExtensionTool is a way to use Vertex Extensions as a tool. # Vertex extension tool specification.
&quot;name&quot;: &quot;A String&quot;, # Required. The full name of the referenced vertex extension. Formats: `projects/{project}/locations/{location}/extensions/{extension}`
},
&quot;functionSpec&quot;: { # A Function tool describes the functions to be invoked on the client side. # Client side executed function specification.
&quot;inputSchema&quot;: { # Optional. The JSON schema is encapsulated in a google.protobuf.Struct to describe the input of the function. This input is a JSON object that contains the function&#x27;s parameters as properties of the object.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
&quot;outputSchema&quot;: { # Optional. The JSON schema is encapsulated in a google.protobuf.Struct to describe the output of the function. This output is a JSON object that contains the function&#x27;s parameters as properties of the object.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
},
&quot;name&quot;: &quot;A String&quot;, # The unique identifier of the Tool. Format: `projects//locations//agents//tools/`.
&quot;openApiSpec&quot;: { # An OpenAPI tool is a way to provide the Tool specifications in the Open API schema format. # OpenAPI specification of the Tool.
&quot;authentication&quot;: { # Authentication information required for API calls # Optional. Authentication information required by the API.
&quot;apiKeyConfig&quot;: { # Config for authentication with API key. # Config for API key auth.
&quot;apiKey&quot;: &quot;A String&quot;, # Optional. The API key. If the `secret_version_for_api_key` field is set, this field will be ignored.
&quot;keyName&quot;: &quot;A String&quot;, # Required. The parameter name or the header name of the API key. E.g., If the API request is &quot;https://example.com/act?X-Api-Key=&quot;, &quot;X-Api-Key&quot; would be the parameter name.
&quot;requestLocation&quot;: &quot;A String&quot;, # Required. Key location in the request.
&quot;secretVersionForApiKey&quot;: &quot;A String&quot;, # Optional. The name of the SecretManager secret version resource storing the API key. If this field is set, the `api_key` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
},
&quot;bearerTokenConfig&quot;: { # Config for authentication using bearer token. # Config for bearer token auth.
&quot;secretVersionForToken&quot;: &quot;A String&quot;, # Optional. The name of the SecretManager secret version resource storing the Bearer token. If this field is set, the `token` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
&quot;token&quot;: &quot;A String&quot;, # Optional. The text token appended to the text `Bearer` to the request Authorization header. [Session parameters reference](https://cloud.google.com/dialogflow/cx/docs/concept/parameter#session-ref) can be used to pass the token dynamically, e.g. `$session.params.parameter-id`.
},
&quot;oauthConfig&quot;: { # Config for authentication with OAuth. # Config for OAuth.
&quot;clientId&quot;: &quot;A String&quot;, # Required. The client ID from the OAuth provider.
&quot;clientSecret&quot;: &quot;A String&quot;, # Optional. The client secret from the OAuth provider. If the `secret_version_for_client_secret` field is set, this field will be ignored.
&quot;oauthGrantType&quot;: &quot;A String&quot;, # Required. OAuth grant types.
&quot;scopes&quot;: [ # Optional. The OAuth scopes to grant.
&quot;A String&quot;,
],
&quot;secretVersionForClientSecret&quot;: &quot;A String&quot;, # Optional. The name of the SecretManager secret version resource storing the client secret. If this field is set, the `client_secret` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
&quot;tokenEndpoint&quot;: &quot;A String&quot;, # Required. The token endpoint in the OAuth provider to exchange for an access token.
},
&quot;serviceAgentAuthConfig&quot;: { # Config for auth using [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). # Config for [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent) auth.
&quot;serviceAgentAuth&quot;: &quot;A String&quot;, # Optional. Indicate the auth token type generated from the [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). The generated token is sent in the Authorization header.
},
},
&quot;serviceDirectoryConfig&quot;: { # Configuration for tools using Service Directory. # Optional. Service Directory configuration.
&quot;service&quot;: &quot;A String&quot;, # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `LocationID` of the service directory must be the same as the location of the agent.
},
&quot;textSchema&quot;: &quot;A String&quot;, # Required. The OpenAPI schema specified as a text.
&quot;tlsConfig&quot;: { # The TLS configuration. # Optional. TLS configuration for the HTTPS verification.
&quot;caCerts&quot;: [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification.
{ # The CA certificate.
&quot;cert&quot;: &quot;A String&quot;, # Required. The allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google&#x27;s default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with &quot;subject alt name&quot;. For instance a certificate can be self-signed using the following command: ``` openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile &lt;(printf &quot;\nsubjectAltName=&#x27;DNS:www.example.com&#x27;&quot;) ```
&quot;displayName&quot;: &quot;A String&quot;, # Required. The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.
},
],
},
},
&quot;toolType&quot;: &quot;A String&quot;, # Output only. The tool type.
}</pre>
</div>
<div class="method">
<code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
<pre>Returns a list of Tools in the specified agent.
Args:
parent: string, Required. The agent to list the Tools from. Format: `projects//locations//agents/`. (required)
pageSize: integer, The maximum number of items to return in a single page. By default 100 and at most 1000.
pageToken: string, The next_page_token value returned from a previous list request.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # The response message for Tools.ListTools.
&quot;nextPageToken&quot;: &quot;A String&quot;, # Token to retrieve the next page of results, or empty if there are no more results in the list.
&quot;tools&quot;: [ # The list of Tools. There will be a maximum number of items returned based on the page_size field in the request.
{ # A tool provides a list of actions which are available to the Playbook to attain its goal. A Tool consists of a description of the tool&#x27;s usage and a specification of the tool which contains the schema and authentication information.
&quot;connectorSpec&quot;: { # A ConnectorTool enabling using Integration Connectors Connections as tools. # Integration connectors tool specification.
&quot;actions&quot;: [ # Required. Actions for the tool to use.
{ # Configuration of a Connection operation for the tool to use.
&quot;connectionActionId&quot;: &quot;A String&quot;, # ID of a Connection action for the tool to use.
&quot;entityOperation&quot;: { # Entity CRUD operation specification. # Entity operation configuration for the tool to use.
&quot;entityId&quot;: &quot;A String&quot;, # Required. ID of the entity.
&quot;operation&quot;: &quot;A String&quot;, # Required. Operation to perform on the entity.
},
&quot;inputFields&quot;: [ # Optional. Entity fields to use as inputs for the operation. If no fields are specified, all fields of the Entity will be used.
&quot;A String&quot;,
],
&quot;outputFields&quot;: [ # Optional. Entity fields to return from the operation. If no fields are specified, all fields of the Entity will be returned.
&quot;A String&quot;,
],
},
],
&quot;endUserAuthConfig&quot;: { # End-user authentication configuration used for Connection calls. The field values can either be hardcoded authentication values or the names of [session parameters](https://cloud.google.com/dialogflow/cx/docs/concept/parameter#session-ref) or [request parameters](https://cloud.google.com/dialogflow/cx/docs/concept/parameter#request-scoped). If parameter names are provided, then those parameters can be used to pass the authentication values dynamically, through `$session.params.param-id` or `$request.payload.param-id`. # Optional. Integration Connectors end-user authentication configuration. If configured, the end-user authentication fields will be passed in the Integration Connectors API request and override the admin, default authentication configured for the Connection. **Note**: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the ConnectorTool creation will fail. See: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override
&quot;oauth2AuthCodeConfig&quot;: { # Oauth 2.0 Authorization Code authentication configuration. # Oauth 2.0 Authorization Code authentication.
&quot;oauthToken&quot;: &quot;A String&quot;, # Required. Oauth token value or parameter name to pass it through.
},
&quot;oauth2JwtBearerConfig&quot;: { # JWT Profile Oauth 2.0 Authorization Grant authentication configuration. # JWT Profile Oauth 2.0 Authorization Grant authentication.
&quot;clientKey&quot;: &quot;A String&quot;, # Required. Client key value or parameter name to pass it through.
&quot;issuer&quot;: &quot;A String&quot;, # Required. Issuer value or parameter name to pass it through.
&quot;subject&quot;: &quot;A String&quot;, # Required. Subject value or parameter name to pass it through.
},
},
&quot;name&quot;: &quot;A String&quot;, # Required. The full resource name of the referenced Integration Connectors Connection. Format: `projects/*/locations/*/connections/*`
},
&quot;dataStoreSpec&quot;: { # A DataStoreTool is a way to provide specifications needed to search a list of data stores. # Data store search tool specification.
&quot;dataStoreConnections&quot;: [ # Required. List of data stores to search.
{ # A data store connection. It represents a data store in Discovery Engine and the type of the contents it contains.
&quot;dataStore&quot;: &quot;A String&quot;, # The full name of the referenced data store. Formats: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}` `projects/{project}/locations/{location}/dataStores/{data_store}`
&quot;dataStoreType&quot;: &quot;A String&quot;, # The type of the connected data store.
&quot;documentProcessingMode&quot;: &quot;A String&quot;, # The document processing mode for the data store connection. Should only be set for PUBLIC_WEB and UNSTRUCTURED data stores. If not set it is considered as DOCUMENTS, as this is the legacy mode.
},
],
&quot;fallbackPrompt&quot;: { # A FallbackPrompt is a way to provide specifications for the Data Store fallback prompt when generating responses. # Required. Fallback prompt configurations to use.
},
},
&quot;description&quot;: &quot;A String&quot;, # Required. High level description of the Tool and its usage.
&quot;displayName&quot;: &quot;A String&quot;, # Required. The human-readable name of the Tool, unique within an agent.
&quot;extensionSpec&quot;: { # An ExtensionTool is a way to use Vertex Extensions as a tool. # Vertex extension tool specification.
&quot;name&quot;: &quot;A String&quot;, # Required. The full name of the referenced vertex extension. Formats: `projects/{project}/locations/{location}/extensions/{extension}`
},
&quot;functionSpec&quot;: { # A Function tool describes the functions to be invoked on the client side. # Client side executed function specification.
&quot;inputSchema&quot;: { # Optional. The JSON schema is encapsulated in a google.protobuf.Struct to describe the input of the function. This input is a JSON object that contains the function&#x27;s parameters as properties of the object.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
&quot;outputSchema&quot;: { # Optional. The JSON schema is encapsulated in a google.protobuf.Struct to describe the output of the function. This output is a JSON object that contains the function&#x27;s parameters as properties of the object.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
},
&quot;name&quot;: &quot;A String&quot;, # The unique identifier of the Tool. Format: `projects//locations//agents//tools/`.
&quot;openApiSpec&quot;: { # An OpenAPI tool is a way to provide the Tool specifications in the Open API schema format. # OpenAPI specification of the Tool.
&quot;authentication&quot;: { # Authentication information required for API calls # Optional. Authentication information required by the API.
&quot;apiKeyConfig&quot;: { # Config for authentication with API key. # Config for API key auth.
&quot;apiKey&quot;: &quot;A String&quot;, # Optional. The API key. If the `secret_version_for_api_key` field is set, this field will be ignored.
&quot;keyName&quot;: &quot;A String&quot;, # Required. The parameter name or the header name of the API key. E.g., If the API request is &quot;https://example.com/act?X-Api-Key=&quot;, &quot;X-Api-Key&quot; would be the parameter name.
&quot;requestLocation&quot;: &quot;A String&quot;, # Required. Key location in the request.
&quot;secretVersionForApiKey&quot;: &quot;A String&quot;, # Optional. The name of the SecretManager secret version resource storing the API key. If this field is set, the `api_key` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
},
&quot;bearerTokenConfig&quot;: { # Config for authentication using bearer token. # Config for bearer token auth.
&quot;secretVersionForToken&quot;: &quot;A String&quot;, # Optional. The name of the SecretManager secret version resource storing the Bearer token. If this field is set, the `token` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
&quot;token&quot;: &quot;A String&quot;, # Optional. The text token appended to the text `Bearer` to the request Authorization header. [Session parameters reference](https://cloud.google.com/dialogflow/cx/docs/concept/parameter#session-ref) can be used to pass the token dynamically, e.g. `$session.params.parameter-id`.
},
&quot;oauthConfig&quot;: { # Config for authentication with OAuth. # Config for OAuth.
&quot;clientId&quot;: &quot;A String&quot;, # Required. The client ID from the OAuth provider.
&quot;clientSecret&quot;: &quot;A String&quot;, # Optional. The client secret from the OAuth provider. If the `secret_version_for_client_secret` field is set, this field will be ignored.
&quot;oauthGrantType&quot;: &quot;A String&quot;, # Required. OAuth grant types.
&quot;scopes&quot;: [ # Optional. The OAuth scopes to grant.
&quot;A String&quot;,
],
&quot;secretVersionForClientSecret&quot;: &quot;A String&quot;, # Optional. The name of the SecretManager secret version resource storing the client secret. If this field is set, the `client_secret` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
&quot;tokenEndpoint&quot;: &quot;A String&quot;, # Required. The token endpoint in the OAuth provider to exchange for an access token.
},
&quot;serviceAgentAuthConfig&quot;: { # Config for auth using [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). # Config for [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent) auth.
&quot;serviceAgentAuth&quot;: &quot;A String&quot;, # Optional. Indicate the auth token type generated from the [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). The generated token is sent in the Authorization header.
},
},
&quot;serviceDirectoryConfig&quot;: { # Configuration for tools using Service Directory. # Optional. Service Directory configuration.
&quot;service&quot;: &quot;A String&quot;, # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `LocationID` of the service directory must be the same as the location of the agent.
},
&quot;textSchema&quot;: &quot;A String&quot;, # Required. The OpenAPI schema specified as a text.
&quot;tlsConfig&quot;: { # The TLS configuration. # Optional. TLS configuration for the HTTPS verification.
&quot;caCerts&quot;: [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification.
{ # The CA certificate.
&quot;cert&quot;: &quot;A String&quot;, # Required. The allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google&#x27;s default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with &quot;subject alt name&quot;. For instance a certificate can be self-signed using the following command: ``` openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile &lt;(printf &quot;\nsubjectAltName=&#x27;DNS:www.example.com&#x27;&quot;) ```
&quot;displayName&quot;: &quot;A String&quot;, # Required. The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.
},
],
},
},
&quot;toolType&quot;: &quot;A String&quot;, # Output only. The tool type.
},
],
}</pre>
</div>
<div class="method">
<code class="details" id="list_next">list_next()</code>
<pre>Retrieves the next page of results.
Args:
previous_request: The request for the previous page. (required)
previous_response: The response from the request for the previous page. (required)
Returns:
A request object that you can call &#x27;execute()&#x27; on to request the next
page. Returns None if there are no more items in the collection.
</pre>
</div>
<div class="method">
<code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
<pre>Update the specified Tool.
Args:
name: string, The unique identifier of the Tool. Format: `projects//locations//agents//tools/`. (required)
body: object, The request body.
The object takes the form of:
{ # A tool provides a list of actions which are available to the Playbook to attain its goal. A Tool consists of a description of the tool&#x27;s usage and a specification of the tool which contains the schema and authentication information.
&quot;connectorSpec&quot;: { # A ConnectorTool enabling using Integration Connectors Connections as tools. # Integration connectors tool specification.
&quot;actions&quot;: [ # Required. Actions for the tool to use.
{ # Configuration of a Connection operation for the tool to use.
&quot;connectionActionId&quot;: &quot;A String&quot;, # ID of a Connection action for the tool to use.
&quot;entityOperation&quot;: { # Entity CRUD operation specification. # Entity operation configuration for the tool to use.
&quot;entityId&quot;: &quot;A String&quot;, # Required. ID of the entity.
&quot;operation&quot;: &quot;A String&quot;, # Required. Operation to perform on the entity.
},
&quot;inputFields&quot;: [ # Optional. Entity fields to use as inputs for the operation. If no fields are specified, all fields of the Entity will be used.
&quot;A String&quot;,
],
&quot;outputFields&quot;: [ # Optional. Entity fields to return from the operation. If no fields are specified, all fields of the Entity will be returned.
&quot;A String&quot;,
],
},
],
&quot;endUserAuthConfig&quot;: { # End-user authentication configuration used for Connection calls. The field values can either be hardcoded authentication values or the names of [session parameters](https://cloud.google.com/dialogflow/cx/docs/concept/parameter#session-ref) or [request parameters](https://cloud.google.com/dialogflow/cx/docs/concept/parameter#request-scoped). If parameter names are provided, then those parameters can be used to pass the authentication values dynamically, through `$session.params.param-id` or `$request.payload.param-id`. # Optional. Integration Connectors end-user authentication configuration. If configured, the end-user authentication fields will be passed in the Integration Connectors API request and override the admin, default authentication configured for the Connection. **Note**: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the ConnectorTool creation will fail. See: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override
&quot;oauth2AuthCodeConfig&quot;: { # Oauth 2.0 Authorization Code authentication configuration. # Oauth 2.0 Authorization Code authentication.
&quot;oauthToken&quot;: &quot;A String&quot;, # Required. Oauth token value or parameter name to pass it through.
},
&quot;oauth2JwtBearerConfig&quot;: { # JWT Profile Oauth 2.0 Authorization Grant authentication configuration. # JWT Profile Oauth 2.0 Authorization Grant authentication.
&quot;clientKey&quot;: &quot;A String&quot;, # Required. Client key value or parameter name to pass it through.
&quot;issuer&quot;: &quot;A String&quot;, # Required. Issuer value or parameter name to pass it through.
&quot;subject&quot;: &quot;A String&quot;, # Required. Subject value or parameter name to pass it through.
},
},
&quot;name&quot;: &quot;A String&quot;, # Required. The full resource name of the referenced Integration Connectors Connection. Format: `projects/*/locations/*/connections/*`
},
&quot;dataStoreSpec&quot;: { # A DataStoreTool is a way to provide specifications needed to search a list of data stores. # Data store search tool specification.
&quot;dataStoreConnections&quot;: [ # Required. List of data stores to search.
{ # A data store connection. It represents a data store in Discovery Engine and the type of the contents it contains.
&quot;dataStore&quot;: &quot;A String&quot;, # The full name of the referenced data store. Formats: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}` `projects/{project}/locations/{location}/dataStores/{data_store}`
&quot;dataStoreType&quot;: &quot;A String&quot;, # The type of the connected data store.
&quot;documentProcessingMode&quot;: &quot;A String&quot;, # The document processing mode for the data store connection. Should only be set for PUBLIC_WEB and UNSTRUCTURED data stores. If not set it is considered as DOCUMENTS, as this is the legacy mode.
},
],
&quot;fallbackPrompt&quot;: { # A FallbackPrompt is a way to provide specifications for the Data Store fallback prompt when generating responses. # Required. Fallback prompt configurations to use.
},
},
&quot;description&quot;: &quot;A String&quot;, # Required. High level description of the Tool and its usage.
&quot;displayName&quot;: &quot;A String&quot;, # Required. The human-readable name of the Tool, unique within an agent.
&quot;extensionSpec&quot;: { # An ExtensionTool is a way to use Vertex Extensions as a tool. # Vertex extension tool specification.
&quot;name&quot;: &quot;A String&quot;, # Required. The full name of the referenced vertex extension. Formats: `projects/{project}/locations/{location}/extensions/{extension}`
},
&quot;functionSpec&quot;: { # A Function tool describes the functions to be invoked on the client side. # Client side executed function specification.
&quot;inputSchema&quot;: { # Optional. The JSON schema is encapsulated in a google.protobuf.Struct to describe the input of the function. This input is a JSON object that contains the function&#x27;s parameters as properties of the object.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
&quot;outputSchema&quot;: { # Optional. The JSON schema is encapsulated in a google.protobuf.Struct to describe the output of the function. This output is a JSON object that contains the function&#x27;s parameters as properties of the object.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
},
&quot;name&quot;: &quot;A String&quot;, # The unique identifier of the Tool. Format: `projects//locations//agents//tools/`.
&quot;openApiSpec&quot;: { # An OpenAPI tool is a way to provide the Tool specifications in the Open API schema format. # OpenAPI specification of the Tool.
&quot;authentication&quot;: { # Authentication information required for API calls # Optional. Authentication information required by the API.
&quot;apiKeyConfig&quot;: { # Config for authentication with API key. # Config for API key auth.
&quot;apiKey&quot;: &quot;A String&quot;, # Optional. The API key. If the `secret_version_for_api_key` field is set, this field will be ignored.
&quot;keyName&quot;: &quot;A String&quot;, # Required. The parameter name or the header name of the API key. E.g., If the API request is &quot;https://example.com/act?X-Api-Key=&quot;, &quot;X-Api-Key&quot; would be the parameter name.
&quot;requestLocation&quot;: &quot;A String&quot;, # Required. Key location in the request.
&quot;secretVersionForApiKey&quot;: &quot;A String&quot;, # Optional. The name of the SecretManager secret version resource storing the API key. If this field is set, the `api_key` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
},
&quot;bearerTokenConfig&quot;: { # Config for authentication using bearer token. # Config for bearer token auth.
&quot;secretVersionForToken&quot;: &quot;A String&quot;, # Optional. The name of the SecretManager secret version resource storing the Bearer token. If this field is set, the `token` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
&quot;token&quot;: &quot;A String&quot;, # Optional. The text token appended to the text `Bearer` to the request Authorization header. [Session parameters reference](https://cloud.google.com/dialogflow/cx/docs/concept/parameter#session-ref) can be used to pass the token dynamically, e.g. `$session.params.parameter-id`.
},
&quot;oauthConfig&quot;: { # Config for authentication with OAuth. # Config for OAuth.
&quot;clientId&quot;: &quot;A String&quot;, # Required. The client ID from the OAuth provider.
&quot;clientSecret&quot;: &quot;A String&quot;, # Optional. The client secret from the OAuth provider. If the `secret_version_for_client_secret` field is set, this field will be ignored.
&quot;oauthGrantType&quot;: &quot;A String&quot;, # Required. OAuth grant types.
&quot;scopes&quot;: [ # Optional. The OAuth scopes to grant.
&quot;A String&quot;,
],
&quot;secretVersionForClientSecret&quot;: &quot;A String&quot;, # Optional. The name of the SecretManager secret version resource storing the client secret. If this field is set, the `client_secret` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
&quot;tokenEndpoint&quot;: &quot;A String&quot;, # Required. The token endpoint in the OAuth provider to exchange for an access token.
},
&quot;serviceAgentAuthConfig&quot;: { # Config for auth using [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). # Config for [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent) auth.
&quot;serviceAgentAuth&quot;: &quot;A String&quot;, # Optional. Indicate the auth token type generated from the [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). The generated token is sent in the Authorization header.
},
},
&quot;serviceDirectoryConfig&quot;: { # Configuration for tools using Service Directory. # Optional. Service Directory configuration.
&quot;service&quot;: &quot;A String&quot;, # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `LocationID` of the service directory must be the same as the location of the agent.
},
&quot;textSchema&quot;: &quot;A String&quot;, # Required. The OpenAPI schema specified as a text.
&quot;tlsConfig&quot;: { # The TLS configuration. # Optional. TLS configuration for the HTTPS verification.
&quot;caCerts&quot;: [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification.
{ # The CA certificate.
&quot;cert&quot;: &quot;A String&quot;, # Required. The allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google&#x27;s default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with &quot;subject alt name&quot;. For instance a certificate can be self-signed using the following command: ``` openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile &lt;(printf &quot;\nsubjectAltName=&#x27;DNS:www.example.com&#x27;&quot;) ```
&quot;displayName&quot;: &quot;A String&quot;, # Required. The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.
},
],
},
},
&quot;toolType&quot;: &quot;A String&quot;, # Output only. The tool type.
}
updateMask: string, The mask to control which fields get updated. If the mask is not present, all fields will be updated.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # A tool provides a list of actions which are available to the Playbook to attain its goal. A Tool consists of a description of the tool&#x27;s usage and a specification of the tool which contains the schema and authentication information.
&quot;connectorSpec&quot;: { # A ConnectorTool enabling using Integration Connectors Connections as tools. # Integration connectors tool specification.
&quot;actions&quot;: [ # Required. Actions for the tool to use.
{ # Configuration of a Connection operation for the tool to use.
&quot;connectionActionId&quot;: &quot;A String&quot;, # ID of a Connection action for the tool to use.
&quot;entityOperation&quot;: { # Entity CRUD operation specification. # Entity operation configuration for the tool to use.
&quot;entityId&quot;: &quot;A String&quot;, # Required. ID of the entity.
&quot;operation&quot;: &quot;A String&quot;, # Required. Operation to perform on the entity.
},
&quot;inputFields&quot;: [ # Optional. Entity fields to use as inputs for the operation. If no fields are specified, all fields of the Entity will be used.
&quot;A String&quot;,
],
&quot;outputFields&quot;: [ # Optional. Entity fields to return from the operation. If no fields are specified, all fields of the Entity will be returned.
&quot;A String&quot;,
],
},
],
&quot;endUserAuthConfig&quot;: { # End-user authentication configuration used for Connection calls. The field values can either be hardcoded authentication values or the names of [session parameters](https://cloud.google.com/dialogflow/cx/docs/concept/parameter#session-ref) or [request parameters](https://cloud.google.com/dialogflow/cx/docs/concept/parameter#request-scoped). If parameter names are provided, then those parameters can be used to pass the authentication values dynamically, through `$session.params.param-id` or `$request.payload.param-id`. # Optional. Integration Connectors end-user authentication configuration. If configured, the end-user authentication fields will be passed in the Integration Connectors API request and override the admin, default authentication configured for the Connection. **Note**: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the ConnectorTool creation will fail. See: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override
&quot;oauth2AuthCodeConfig&quot;: { # Oauth 2.0 Authorization Code authentication configuration. # Oauth 2.0 Authorization Code authentication.
&quot;oauthToken&quot;: &quot;A String&quot;, # Required. Oauth token value or parameter name to pass it through.
},
&quot;oauth2JwtBearerConfig&quot;: { # JWT Profile Oauth 2.0 Authorization Grant authentication configuration. # JWT Profile Oauth 2.0 Authorization Grant authentication.
&quot;clientKey&quot;: &quot;A String&quot;, # Required. Client key value or parameter name to pass it through.
&quot;issuer&quot;: &quot;A String&quot;, # Required. Issuer value or parameter name to pass it through.
&quot;subject&quot;: &quot;A String&quot;, # Required. Subject value or parameter name to pass it through.
},
},
&quot;name&quot;: &quot;A String&quot;, # Required. The full resource name of the referenced Integration Connectors Connection. Format: `projects/*/locations/*/connections/*`
},
&quot;dataStoreSpec&quot;: { # A DataStoreTool is a way to provide specifications needed to search a list of data stores. # Data store search tool specification.
&quot;dataStoreConnections&quot;: [ # Required. List of data stores to search.
{ # A data store connection. It represents a data store in Discovery Engine and the type of the contents it contains.
&quot;dataStore&quot;: &quot;A String&quot;, # The full name of the referenced data store. Formats: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}` `projects/{project}/locations/{location}/dataStores/{data_store}`
&quot;dataStoreType&quot;: &quot;A String&quot;, # The type of the connected data store.
&quot;documentProcessingMode&quot;: &quot;A String&quot;, # The document processing mode for the data store connection. Should only be set for PUBLIC_WEB and UNSTRUCTURED data stores. If not set it is considered as DOCUMENTS, as this is the legacy mode.
},
],
&quot;fallbackPrompt&quot;: { # A FallbackPrompt is a way to provide specifications for the Data Store fallback prompt when generating responses. # Required. Fallback prompt configurations to use.
},
},
&quot;description&quot;: &quot;A String&quot;, # Required. High level description of the Tool and its usage.
&quot;displayName&quot;: &quot;A String&quot;, # Required. The human-readable name of the Tool, unique within an agent.
&quot;extensionSpec&quot;: { # An ExtensionTool is a way to use Vertex Extensions as a tool. # Vertex extension tool specification.
&quot;name&quot;: &quot;A String&quot;, # Required. The full name of the referenced vertex extension. Formats: `projects/{project}/locations/{location}/extensions/{extension}`
},
&quot;functionSpec&quot;: { # A Function tool describes the functions to be invoked on the client side. # Client side executed function specification.
&quot;inputSchema&quot;: { # Optional. The JSON schema is encapsulated in a google.protobuf.Struct to describe the input of the function. This input is a JSON object that contains the function&#x27;s parameters as properties of the object.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
&quot;outputSchema&quot;: { # Optional. The JSON schema is encapsulated in a google.protobuf.Struct to describe the output of the function. This output is a JSON object that contains the function&#x27;s parameters as properties of the object.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
},
&quot;name&quot;: &quot;A String&quot;, # The unique identifier of the Tool. Format: `projects//locations//agents//tools/`.
&quot;openApiSpec&quot;: { # An OpenAPI tool is a way to provide the Tool specifications in the Open API schema format. # OpenAPI specification of the Tool.
&quot;authentication&quot;: { # Authentication information required for API calls # Optional. Authentication information required by the API.
&quot;apiKeyConfig&quot;: { # Config for authentication with API key. # Config for API key auth.
&quot;apiKey&quot;: &quot;A String&quot;, # Optional. The API key. If the `secret_version_for_api_key` field is set, this field will be ignored.
&quot;keyName&quot;: &quot;A String&quot;, # Required. The parameter name or the header name of the API key. E.g., If the API request is &quot;https://example.com/act?X-Api-Key=&quot;, &quot;X-Api-Key&quot; would be the parameter name.
&quot;requestLocation&quot;: &quot;A String&quot;, # Required. Key location in the request.
&quot;secretVersionForApiKey&quot;: &quot;A String&quot;, # Optional. The name of the SecretManager secret version resource storing the API key. If this field is set, the `api_key` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
},
&quot;bearerTokenConfig&quot;: { # Config for authentication using bearer token. # Config for bearer token auth.
&quot;secretVersionForToken&quot;: &quot;A String&quot;, # Optional. The name of the SecretManager secret version resource storing the Bearer token. If this field is set, the `token` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
&quot;token&quot;: &quot;A String&quot;, # Optional. The text token appended to the text `Bearer` to the request Authorization header. [Session parameters reference](https://cloud.google.com/dialogflow/cx/docs/concept/parameter#session-ref) can be used to pass the token dynamically, e.g. `$session.params.parameter-id`.
},
&quot;oauthConfig&quot;: { # Config for authentication with OAuth. # Config for OAuth.
&quot;clientId&quot;: &quot;A String&quot;, # Required. The client ID from the OAuth provider.
&quot;clientSecret&quot;: &quot;A String&quot;, # Optional. The client secret from the OAuth provider. If the `secret_version_for_client_secret` field is set, this field will be ignored.
&quot;oauthGrantType&quot;: &quot;A String&quot;, # Required. OAuth grant types.
&quot;scopes&quot;: [ # Optional. The OAuth scopes to grant.
&quot;A String&quot;,
],
&quot;secretVersionForClientSecret&quot;: &quot;A String&quot;, # Optional. The name of the SecretManager secret version resource storing the client secret. If this field is set, the `client_secret` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
&quot;tokenEndpoint&quot;: &quot;A String&quot;, # Required. The token endpoint in the OAuth provider to exchange for an access token.
},
&quot;serviceAgentAuthConfig&quot;: { # Config for auth using [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). # Config for [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent) auth.
&quot;serviceAgentAuth&quot;: &quot;A String&quot;, # Optional. Indicate the auth token type generated from the [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). The generated token is sent in the Authorization header.
},
},
&quot;serviceDirectoryConfig&quot;: { # Configuration for tools using Service Directory. # Optional. Service Directory configuration.
&quot;service&quot;: &quot;A String&quot;, # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `LocationID` of the service directory must be the same as the location of the agent.
},
&quot;textSchema&quot;: &quot;A String&quot;, # Required. The OpenAPI schema specified as a text.
&quot;tlsConfig&quot;: { # The TLS configuration. # Optional. TLS configuration for the HTTPS verification.
&quot;caCerts&quot;: [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification.
{ # The CA certificate.
&quot;cert&quot;: &quot;A String&quot;, # Required. The allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google&#x27;s default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with &quot;subject alt name&quot;. For instance a certificate can be self-signed using the following command: ``` openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile &lt;(printf &quot;\nsubjectAltName=&#x27;DNS:www.example.com&#x27;&quot;) ```
&quot;displayName&quot;: &quot;A String&quot;, # Required. The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.
},
],
},
},
&quot;toolType&quot;: &quot;A String&quot;, # Output only. The tool type.
}</pre>
</div>
</body></html>