Dialogflow API . projects . locations . agents . tools

Instance Methods

close()

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

Creates a Tool in the specified agent.

delete(name, force=None, x__xgafv=None)

Deletes a specified Tool.

export(parent, body=None, x__xgafv=None)

Exports the selected tools.

get(name, x__xgafv=None)

Retrieves the specified Tool.

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

Returns a list of Tools in the specified agent.

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

Update the specified Tool.

Method Details

close()
Close httplib2 connections.
create(parent, body=None, x__xgafv=None)
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's usage and a specification of the tool which contains the schema and authentication information.
  "dataStoreSpec": { # A DataStoreTool is a way to provide specifications needed to search a list of data stores. # Data store search tool specification.
    "dataStoreConnections": [ # 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.
        "dataStore": "A String", # 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}`
        "dataStoreType": "A String", # The type of the connected data store.
      },
    ],
    "fallbackPrompt": { # A FallbackPrompt is a way to provide specifications for the Data Store fallback prompt when generating responses. # Required. Fallback prompt configurations to use.
    },
  },
  "description": "A String", # Required. High level description of the Tool and its usage.
  "displayName": "A String", # Required. The human-readable name of the Tool, unique within an agent.
  "extensionSpec": { # An ExtensionTool is a way to use Vertex Extensions as a tool. # Vertex extension tool specification.
    "name": "A String", # Required. The full name of the referenced vertex extension. Formats: `projects/{project}/locations/{location}/extensions/{extension}`
  },
  "functionSpec": { # A Function tool describes the functions to be invoked on the client side. # Client side executed function specification.
    "inputSchema": { # 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's parameters as properties of the object.
      "a_key": "", # Properties of the object.
    },
    "outputSchema": { # 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's parameters as properties of the object.
      "a_key": "", # Properties of the object.
    },
  },
  "name": "A String", # The unique identifier of the Tool. Format: `projects//locations//agents//tools/`.
  "openApiSpec": { # An OpenAPI tool is a way to provide the Tool specifications in the Open API schema format. # OpenAPI specification of the Tool.
    "authentication": { # Authentication information required for API calls # Optional. Authentication information required by the API.
      "apiKeyConfig": { # Config for authentication with API key. # Config for API key auth.
        "apiKey": "A String", # Required. The API key.
        "keyName": "A String", # Required. The parameter name or the header name of the API key. E.g., If the API request is "https://example.com/act?X-Api-Key=", "X-Api-Key" would be the parameter name.
        "requestLocation": "A String", # Required. Key location in the request.
      },
      "bearerTokenConfig": { # Config for authentication using bearer token. # Config for bearer token auth.
        "token": "A String", # Required. 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`.
      },
      "oauthConfig": { # Config for authentication with OAuth. # Config for OAuth.
        "clientId": "A String", # Required. The client ID from the OAuth provider.
        "clientSecret": "A String", # Required. The client secret from the OAuth provider.
        "oauthGrantType": "A String", # Required. OAuth grant types.
        "scopes": [ # Optional. The OAuth scopes to grant.
          "A String",
        ],
        "tokenEndpoint": "A String", # Required. The token endpoint in the OAuth provider to exchange for an access token.
      },
      "serviceAgentAuthConfig": { # 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.
        "serviceAgentAuth": "A String", # 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.
      },
    },
    "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration.
      "service": "A String", # 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.
    },
    "textSchema": "A String", # Required. The OpenAPI schema specified as a text.
    "tlsConfig": { # The TLS configuration. # Optional. TLS configuration for the HTTPS verification.
      "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification.
        { # The CA certificate.
          "cert": "A String", # 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's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". 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 <(printf "\nsubjectAltName='DNS:www.example.com'")
          "displayName": "A String", # Required. The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.
        },
      ],
    },
  },
  "toolType": "A String", # 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's usage and a specification of the tool which contains the schema and authentication information.
  "dataStoreSpec": { # A DataStoreTool is a way to provide specifications needed to search a list of data stores. # Data store search tool specification.
    "dataStoreConnections": [ # 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.
        "dataStore": "A String", # 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}`
        "dataStoreType": "A String", # The type of the connected data store.
      },
    ],
    "fallbackPrompt": { # A FallbackPrompt is a way to provide specifications for the Data Store fallback prompt when generating responses. # Required. Fallback prompt configurations to use.
    },
  },
  "description": "A String", # Required. High level description of the Tool and its usage.
  "displayName": "A String", # Required. The human-readable name of the Tool, unique within an agent.
  "extensionSpec": { # An ExtensionTool is a way to use Vertex Extensions as a tool. # Vertex extension tool specification.
    "name": "A String", # Required. The full name of the referenced vertex extension. Formats: `projects/{project}/locations/{location}/extensions/{extension}`
  },
  "functionSpec": { # A Function tool describes the functions to be invoked on the client side. # Client side executed function specification.
    "inputSchema": { # 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's parameters as properties of the object.
      "a_key": "", # Properties of the object.
    },
    "outputSchema": { # 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's parameters as properties of the object.
      "a_key": "", # Properties of the object.
    },
  },
  "name": "A String", # The unique identifier of the Tool. Format: `projects//locations//agents//tools/`.
  "openApiSpec": { # An OpenAPI tool is a way to provide the Tool specifications in the Open API schema format. # OpenAPI specification of the Tool.
    "authentication": { # Authentication information required for API calls # Optional. Authentication information required by the API.
      "apiKeyConfig": { # Config for authentication with API key. # Config for API key auth.
        "apiKey": "A String", # Required. The API key.
        "keyName": "A String", # Required. The parameter name or the header name of the API key. E.g., If the API request is "https://example.com/act?X-Api-Key=", "X-Api-Key" would be the parameter name.
        "requestLocation": "A String", # Required. Key location in the request.
      },
      "bearerTokenConfig": { # Config for authentication using bearer token. # Config for bearer token auth.
        "token": "A String", # Required. 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`.
      },
      "oauthConfig": { # Config for authentication with OAuth. # Config for OAuth.
        "clientId": "A String", # Required. The client ID from the OAuth provider.
        "clientSecret": "A String", # Required. The client secret from the OAuth provider.
        "oauthGrantType": "A String", # Required. OAuth grant types.
        "scopes": [ # Optional. The OAuth scopes to grant.
          "A String",
        ],
        "tokenEndpoint": "A String", # Required. The token endpoint in the OAuth provider to exchange for an access token.
      },
      "serviceAgentAuthConfig": { # 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.
        "serviceAgentAuth": "A String", # 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.
      },
    },
    "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration.
      "service": "A String", # 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.
    },
    "textSchema": "A String", # Required. The OpenAPI schema specified as a text.
    "tlsConfig": { # The TLS configuration. # Optional. TLS configuration for the HTTPS verification.
      "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification.
        { # The CA certificate.
          "cert": "A String", # 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's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". 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 <(printf "\nsubjectAltName='DNS:www.example.com'")
          "displayName": "A String", # Required. The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.
        },
      ],
    },
  },
  "toolType": "A String", # Output only. The tool type.
}
delete(name, force=None, x__xgafv=None)
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); }
}
export(parent, body=None, x__xgafv=None)
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.
  "dataFormat": "A String", # Optional. The data format of the exported tools. If not specified, `BLOB` is assumed.
  "tools": [ # Required. The name of the tools to export. Format: `projects//locations//agents//tools/`.
    "A String",
  ],
  "toolsContentInline": True or False, # Optional. The option to return the serialized tools inline.
  "toolsUri": "A String", # 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'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.
  "done": 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.
  "error": { # 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.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # 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.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # 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}`.
  "response": { # 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`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
get(name, x__xgafv=None)
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's usage and a specification of the tool which contains the schema and authentication information.
  "dataStoreSpec": { # A DataStoreTool is a way to provide specifications needed to search a list of data stores. # Data store search tool specification.
    "dataStoreConnections": [ # 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.
        "dataStore": "A String", # 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}`
        "dataStoreType": "A String", # The type of the connected data store.
      },
    ],
    "fallbackPrompt": { # A FallbackPrompt is a way to provide specifications for the Data Store fallback prompt when generating responses. # Required. Fallback prompt configurations to use.
    },
  },
  "description": "A String", # Required. High level description of the Tool and its usage.
  "displayName": "A String", # Required. The human-readable name of the Tool, unique within an agent.
  "extensionSpec": { # An ExtensionTool is a way to use Vertex Extensions as a tool. # Vertex extension tool specification.
    "name": "A String", # Required. The full name of the referenced vertex extension. Formats: `projects/{project}/locations/{location}/extensions/{extension}`
  },
  "functionSpec": { # A Function tool describes the functions to be invoked on the client side. # Client side executed function specification.
    "inputSchema": { # 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's parameters as properties of the object.
      "a_key": "", # Properties of the object.
    },
    "outputSchema": { # 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's parameters as properties of the object.
      "a_key": "", # Properties of the object.
    },
  },
  "name": "A String", # The unique identifier of the Tool. Format: `projects//locations//agents//tools/`.
  "openApiSpec": { # An OpenAPI tool is a way to provide the Tool specifications in the Open API schema format. # OpenAPI specification of the Tool.
    "authentication": { # Authentication information required for API calls # Optional. Authentication information required by the API.
      "apiKeyConfig": { # Config for authentication with API key. # Config for API key auth.
        "apiKey": "A String", # Required. The API key.
        "keyName": "A String", # Required. The parameter name or the header name of the API key. E.g., If the API request is "https://example.com/act?X-Api-Key=", "X-Api-Key" would be the parameter name.
        "requestLocation": "A String", # Required. Key location in the request.
      },
      "bearerTokenConfig": { # Config for authentication using bearer token. # Config for bearer token auth.
        "token": "A String", # Required. 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`.
      },
      "oauthConfig": { # Config for authentication with OAuth. # Config for OAuth.
        "clientId": "A String", # Required. The client ID from the OAuth provider.
        "clientSecret": "A String", # Required. The client secret from the OAuth provider.
        "oauthGrantType": "A String", # Required. OAuth grant types.
        "scopes": [ # Optional. The OAuth scopes to grant.
          "A String",
        ],
        "tokenEndpoint": "A String", # Required. The token endpoint in the OAuth provider to exchange for an access token.
      },
      "serviceAgentAuthConfig": { # 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.
        "serviceAgentAuth": "A String", # 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.
      },
    },
    "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration.
      "service": "A String", # 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.
    },
    "textSchema": "A String", # Required. The OpenAPI schema specified as a text.
    "tlsConfig": { # The TLS configuration. # Optional. TLS configuration for the HTTPS verification.
      "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification.
        { # The CA certificate.
          "cert": "A String", # 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's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". 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 <(printf "\nsubjectAltName='DNS:www.example.com'")
          "displayName": "A String", # Required. The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.
        },
      ],
    },
  },
  "toolType": "A String", # Output only. The tool type.
}
list(parent, pageSize=None, pageToken=None, x__xgafv=None)
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.
  "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results in the list.
  "tools": [ # 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's usage and a specification of the tool which contains the schema and authentication information.
      "dataStoreSpec": { # A DataStoreTool is a way to provide specifications needed to search a list of data stores. # Data store search tool specification.
        "dataStoreConnections": [ # 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.
            "dataStore": "A String", # 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}`
            "dataStoreType": "A String", # The type of the connected data store.
          },
        ],
        "fallbackPrompt": { # A FallbackPrompt is a way to provide specifications for the Data Store fallback prompt when generating responses. # Required. Fallback prompt configurations to use.
        },
      },
      "description": "A String", # Required. High level description of the Tool and its usage.
      "displayName": "A String", # Required. The human-readable name of the Tool, unique within an agent.
      "extensionSpec": { # An ExtensionTool is a way to use Vertex Extensions as a tool. # Vertex extension tool specification.
        "name": "A String", # Required. The full name of the referenced vertex extension. Formats: `projects/{project}/locations/{location}/extensions/{extension}`
      },
      "functionSpec": { # A Function tool describes the functions to be invoked on the client side. # Client side executed function specification.
        "inputSchema": { # 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's parameters as properties of the object.
          "a_key": "", # Properties of the object.
        },
        "outputSchema": { # 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's parameters as properties of the object.
          "a_key": "", # Properties of the object.
        },
      },
      "name": "A String", # The unique identifier of the Tool. Format: `projects//locations//agents//tools/`.
      "openApiSpec": { # An OpenAPI tool is a way to provide the Tool specifications in the Open API schema format. # OpenAPI specification of the Tool.
        "authentication": { # Authentication information required for API calls # Optional. Authentication information required by the API.
          "apiKeyConfig": { # Config for authentication with API key. # Config for API key auth.
            "apiKey": "A String", # Required. The API key.
            "keyName": "A String", # Required. The parameter name or the header name of the API key. E.g., If the API request is "https://example.com/act?X-Api-Key=", "X-Api-Key" would be the parameter name.
            "requestLocation": "A String", # Required. Key location in the request.
          },
          "bearerTokenConfig": { # Config for authentication using bearer token. # Config for bearer token auth.
            "token": "A String", # Required. 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`.
          },
          "oauthConfig": { # Config for authentication with OAuth. # Config for OAuth.
            "clientId": "A String", # Required. The client ID from the OAuth provider.
            "clientSecret": "A String", # Required. The client secret from the OAuth provider.
            "oauthGrantType": "A String", # Required. OAuth grant types.
            "scopes": [ # Optional. The OAuth scopes to grant.
              "A String",
            ],
            "tokenEndpoint": "A String", # Required. The token endpoint in the OAuth provider to exchange for an access token.
          },
          "serviceAgentAuthConfig": { # 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.
            "serviceAgentAuth": "A String", # 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.
          },
        },
        "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration.
          "service": "A String", # 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.
        },
        "textSchema": "A String", # Required. The OpenAPI schema specified as a text.
        "tlsConfig": { # The TLS configuration. # Optional. TLS configuration for the HTTPS verification.
          "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification.
            { # The CA certificate.
              "cert": "A String", # 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's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". 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 <(printf "\nsubjectAltName='DNS:www.example.com'")
              "displayName": "A String", # Required. The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.
            },
          ],
        },
      },
      "toolType": "A String", # Output only. The tool type.
    },
  ],
}
list_next()
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 'execute()' on to request the next
          page. Returns None if there are no more items in the collection.
        
patch(name, body=None, updateMask=None, x__xgafv=None)
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's usage and a specification of the tool which contains the schema and authentication information.
  "dataStoreSpec": { # A DataStoreTool is a way to provide specifications needed to search a list of data stores. # Data store search tool specification.
    "dataStoreConnections": [ # 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.
        "dataStore": "A String", # 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}`
        "dataStoreType": "A String", # The type of the connected data store.
      },
    ],
    "fallbackPrompt": { # A FallbackPrompt is a way to provide specifications for the Data Store fallback prompt when generating responses. # Required. Fallback prompt configurations to use.
    },
  },
  "description": "A String", # Required. High level description of the Tool and its usage.
  "displayName": "A String", # Required. The human-readable name of the Tool, unique within an agent.
  "extensionSpec": { # An ExtensionTool is a way to use Vertex Extensions as a tool. # Vertex extension tool specification.
    "name": "A String", # Required. The full name of the referenced vertex extension. Formats: `projects/{project}/locations/{location}/extensions/{extension}`
  },
  "functionSpec": { # A Function tool describes the functions to be invoked on the client side. # Client side executed function specification.
    "inputSchema": { # 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's parameters as properties of the object.
      "a_key": "", # Properties of the object.
    },
    "outputSchema": { # 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's parameters as properties of the object.
      "a_key": "", # Properties of the object.
    },
  },
  "name": "A String", # The unique identifier of the Tool. Format: `projects//locations//agents//tools/`.
  "openApiSpec": { # An OpenAPI tool is a way to provide the Tool specifications in the Open API schema format. # OpenAPI specification of the Tool.
    "authentication": { # Authentication information required for API calls # Optional. Authentication information required by the API.
      "apiKeyConfig": { # Config for authentication with API key. # Config for API key auth.
        "apiKey": "A String", # Required. The API key.
        "keyName": "A String", # Required. The parameter name or the header name of the API key. E.g., If the API request is "https://example.com/act?X-Api-Key=", "X-Api-Key" would be the parameter name.
        "requestLocation": "A String", # Required. Key location in the request.
      },
      "bearerTokenConfig": { # Config for authentication using bearer token. # Config for bearer token auth.
        "token": "A String", # Required. 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`.
      },
      "oauthConfig": { # Config for authentication with OAuth. # Config for OAuth.
        "clientId": "A String", # Required. The client ID from the OAuth provider.
        "clientSecret": "A String", # Required. The client secret from the OAuth provider.
        "oauthGrantType": "A String", # Required. OAuth grant types.
        "scopes": [ # Optional. The OAuth scopes to grant.
          "A String",
        ],
        "tokenEndpoint": "A String", # Required. The token endpoint in the OAuth provider to exchange for an access token.
      },
      "serviceAgentAuthConfig": { # 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.
        "serviceAgentAuth": "A String", # 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.
      },
    },
    "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration.
      "service": "A String", # 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.
    },
    "textSchema": "A String", # Required. The OpenAPI schema specified as a text.
    "tlsConfig": { # The TLS configuration. # Optional. TLS configuration for the HTTPS verification.
      "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification.
        { # The CA certificate.
          "cert": "A String", # 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's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". 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 <(printf "\nsubjectAltName='DNS:www.example.com'")
          "displayName": "A String", # Required. The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.
        },
      ],
    },
  },
  "toolType": "A String", # 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's usage and a specification of the tool which contains the schema and authentication information.
  "dataStoreSpec": { # A DataStoreTool is a way to provide specifications needed to search a list of data stores. # Data store search tool specification.
    "dataStoreConnections": [ # 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.
        "dataStore": "A String", # 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}`
        "dataStoreType": "A String", # The type of the connected data store.
      },
    ],
    "fallbackPrompt": { # A FallbackPrompt is a way to provide specifications for the Data Store fallback prompt when generating responses. # Required. Fallback prompt configurations to use.
    },
  },
  "description": "A String", # Required. High level description of the Tool and its usage.
  "displayName": "A String", # Required. The human-readable name of the Tool, unique within an agent.
  "extensionSpec": { # An ExtensionTool is a way to use Vertex Extensions as a tool. # Vertex extension tool specification.
    "name": "A String", # Required. The full name of the referenced vertex extension. Formats: `projects/{project}/locations/{location}/extensions/{extension}`
  },
  "functionSpec": { # A Function tool describes the functions to be invoked on the client side. # Client side executed function specification.
    "inputSchema": { # 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's parameters as properties of the object.
      "a_key": "", # Properties of the object.
    },
    "outputSchema": { # 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's parameters as properties of the object.
      "a_key": "", # Properties of the object.
    },
  },
  "name": "A String", # The unique identifier of the Tool. Format: `projects//locations//agents//tools/`.
  "openApiSpec": { # An OpenAPI tool is a way to provide the Tool specifications in the Open API schema format. # OpenAPI specification of the Tool.
    "authentication": { # Authentication information required for API calls # Optional. Authentication information required by the API.
      "apiKeyConfig": { # Config for authentication with API key. # Config for API key auth.
        "apiKey": "A String", # Required. The API key.
        "keyName": "A String", # Required. The parameter name or the header name of the API key. E.g., If the API request is "https://example.com/act?X-Api-Key=", "X-Api-Key" would be the parameter name.
        "requestLocation": "A String", # Required. Key location in the request.
      },
      "bearerTokenConfig": { # Config for authentication using bearer token. # Config for bearer token auth.
        "token": "A String", # Required. 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`.
      },
      "oauthConfig": { # Config for authentication with OAuth. # Config for OAuth.
        "clientId": "A String", # Required. The client ID from the OAuth provider.
        "clientSecret": "A String", # Required. The client secret from the OAuth provider.
        "oauthGrantType": "A String", # Required. OAuth grant types.
        "scopes": [ # Optional. The OAuth scopes to grant.
          "A String",
        ],
        "tokenEndpoint": "A String", # Required. The token endpoint in the OAuth provider to exchange for an access token.
      },
      "serviceAgentAuthConfig": { # 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.
        "serviceAgentAuth": "A String", # 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.
      },
    },
    "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration.
      "service": "A String", # 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.
    },
    "textSchema": "A String", # Required. The OpenAPI schema specified as a text.
    "tlsConfig": { # The TLS configuration. # Optional. TLS configuration for the HTTPS verification.
      "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification.
        { # The CA certificate.
          "cert": "A String", # 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's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". 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 <(printf "\nsubjectAltName='DNS:www.example.com'")
          "displayName": "A String", # Required. The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.
        },
      ],
    },
  },
  "toolType": "A String", # Output only. The tool type.
}