// Copyright 2026 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v6.33.2
// source: google/cloud/dialogflow/v2/tool.proto

package dialogflowpb

import (
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"

	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
	structpb "google.golang.org/protobuf/types/known/structpb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// Types of confirmation requirement.
type Tool_ConfirmationRequirement int32

const (
	// Unspecified. Whether the action requires confirmation is inferred from
	// method_type.
	Tool_CONFIRMATION_REQUIREMENT_UNSPECIFIED Tool_ConfirmationRequirement = 0
	// Conformation is required.
	Tool_REQUIRED Tool_ConfirmationRequirement = 1
	// Conformation is not required.
	Tool_NOT_REQUIRED Tool_ConfirmationRequirement = 2
)

// Enum value maps for Tool_ConfirmationRequirement.
var (
	Tool_ConfirmationRequirement_name = map[int32]string{
		0: "CONFIRMATION_REQUIREMENT_UNSPECIFIED",
		1: "REQUIRED",
		2: "NOT_REQUIRED",
	}
	Tool_ConfirmationRequirement_value = map[string]int32{
		"CONFIRMATION_REQUIREMENT_UNSPECIFIED": 0,
		"REQUIRED":                             1,
		"NOT_REQUIRED":                         2,
	}
)

func (x Tool_ConfirmationRequirement) Enum() *Tool_ConfirmationRequirement {
	p := new(Tool_ConfirmationRequirement)
	*p = x
	return p
}

func (x Tool_ConfirmationRequirement) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Tool_ConfirmationRequirement) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_dialogflow_v2_tool_proto_enumTypes[0].Descriptor()
}

func (Tool_ConfirmationRequirement) Type() protoreflect.EnumType {
	return &file_google_cloud_dialogflow_v2_tool_proto_enumTypes[0]
}

func (x Tool_ConfirmationRequirement) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Tool_ConfirmationRequirement.Descriptor instead.
func (Tool_ConfirmationRequirement) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{6, 0}
}

// The method type of the tool.
type Tool_MethodType int32

const (
	// Unspecified.
	Tool_METHOD_TYPE_UNSPECIFIED Tool_MethodType = 0
	// GET method.
	Tool_GET Tool_MethodType = 1
	// POST method.
	Tool_POST Tool_MethodType = 2
	// PUT method.
	Tool_PUT Tool_MethodType = 3
	// DELETE method.
	Tool_DELETE Tool_MethodType = 4
	// PATCH method.
	Tool_PATCH Tool_MethodType = 5
)

// Enum value maps for Tool_MethodType.
var (
	Tool_MethodType_name = map[int32]string{
		0: "METHOD_TYPE_UNSPECIFIED",
		1: "GET",
		2: "POST",
		3: "PUT",
		4: "DELETE",
		5: "PATCH",
	}
	Tool_MethodType_value = map[string]int32{
		"METHOD_TYPE_UNSPECIFIED": 0,
		"GET":                     1,
		"POST":                    2,
		"PUT":                     3,
		"DELETE":                  4,
		"PATCH":                   5,
	}
)

func (x Tool_MethodType) Enum() *Tool_MethodType {
	p := new(Tool_MethodType)
	*p = x
	return p
}

func (x Tool_MethodType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Tool_MethodType) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_dialogflow_v2_tool_proto_enumTypes[1].Descriptor()
}

func (Tool_MethodType) Type() protoreflect.EnumType {
	return &file_google_cloud_dialogflow_v2_tool_proto_enumTypes[1]
}

func (x Tool_MethodType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Tool_MethodType.Descriptor instead.
func (Tool_MethodType) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{6, 1}
}

// The operation to perform on the entity.
type Tool_ConnectorTool_Action_EntityOperation_OperationType int32

const (
	// Operation type unspecified. Invalid, ConnectorTool create/update
	// will fail.
	Tool_ConnectorTool_Action_EntityOperation_OPERATION_TYPE_UNSPECIFIED Tool_ConnectorTool_Action_EntityOperation_OperationType = 0
	// List operation.
	Tool_ConnectorTool_Action_EntityOperation_LIST Tool_ConnectorTool_Action_EntityOperation_OperationType = 1
	// Get operation.
	Tool_ConnectorTool_Action_EntityOperation_GET Tool_ConnectorTool_Action_EntityOperation_OperationType = 2
	// Create operation.
	Tool_ConnectorTool_Action_EntityOperation_CREATE Tool_ConnectorTool_Action_EntityOperation_OperationType = 3
	// Update operation.
	Tool_ConnectorTool_Action_EntityOperation_UPDATE Tool_ConnectorTool_Action_EntityOperation_OperationType = 4
	// Delete operation.
	Tool_ConnectorTool_Action_EntityOperation_DELETE Tool_ConnectorTool_Action_EntityOperation_OperationType = 5
)

// Enum value maps for Tool_ConnectorTool_Action_EntityOperation_OperationType.
var (
	Tool_ConnectorTool_Action_EntityOperation_OperationType_name = map[int32]string{
		0: "OPERATION_TYPE_UNSPECIFIED",
		1: "LIST",
		2: "GET",
		3: "CREATE",
		4: "UPDATE",
		5: "DELETE",
	}
	Tool_ConnectorTool_Action_EntityOperation_OperationType_value = map[string]int32{
		"OPERATION_TYPE_UNSPECIFIED": 0,
		"LIST":                       1,
		"GET":                        2,
		"CREATE":                     3,
		"UPDATE":                     4,
		"DELETE":                     5,
	}
)

func (x Tool_ConnectorTool_Action_EntityOperation_OperationType) Enum() *Tool_ConnectorTool_Action_EntityOperation_OperationType {
	p := new(Tool_ConnectorTool_Action_EntityOperation_OperationType)
	*p = x
	return p
}

func (x Tool_ConnectorTool_Action_EntityOperation_OperationType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Tool_ConnectorTool_Action_EntityOperation_OperationType) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_dialogflow_v2_tool_proto_enumTypes[2].Descriptor()
}

func (Tool_ConnectorTool_Action_EntityOperation_OperationType) Type() protoreflect.EnumType {
	return &file_google_cloud_dialogflow_v2_tool_proto_enumTypes[2]
}

func (x Tool_ConnectorTool_Action_EntityOperation_OperationType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Tool_ConnectorTool_Action_EntityOperation_OperationType.Descriptor instead.
func (Tool_ConnectorTool_Action_EntityOperation_OperationType) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{6, 3, 0, 0, 0}
}

// The location of the API key in the request.
type Tool_Authentication_RequestLocation int32

const (
	// Default value. This value is unused.
	Tool_Authentication_REQUEST_LOCATION_UNSPECIFIED Tool_Authentication_RequestLocation = 0
	// Represents the key in http header.
	Tool_Authentication_HEADER Tool_Authentication_RequestLocation = 1
	// Represents the key in query string.
	Tool_Authentication_QUERY_STRING Tool_Authentication_RequestLocation = 2
)

// Enum value maps for Tool_Authentication_RequestLocation.
var (
	Tool_Authentication_RequestLocation_name = map[int32]string{
		0: "REQUEST_LOCATION_UNSPECIFIED",
		1: "HEADER",
		2: "QUERY_STRING",
	}
	Tool_Authentication_RequestLocation_value = map[string]int32{
		"REQUEST_LOCATION_UNSPECIFIED": 0,
		"HEADER":                       1,
		"QUERY_STRING":                 2,
	}
)

func (x Tool_Authentication_RequestLocation) Enum() *Tool_Authentication_RequestLocation {
	p := new(Tool_Authentication_RequestLocation)
	*p = x
	return p
}

func (x Tool_Authentication_RequestLocation) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Tool_Authentication_RequestLocation) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_dialogflow_v2_tool_proto_enumTypes[3].Descriptor()
}

func (Tool_Authentication_RequestLocation) Type() protoreflect.EnumType {
	return &file_google_cloud_dialogflow_v2_tool_proto_enumTypes[3]
}

func (x Tool_Authentication_RequestLocation) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Tool_Authentication_RequestLocation.Descriptor instead.
func (Tool_Authentication_RequestLocation) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{6, 4, 0}
}

// OAuth grant types. Only [client credential
// grant](https://oauth.net/2/grant-types/client-credentials) is
// supported.
type Tool_Authentication_OAuthConfig_OauthGrantType int32

const (
	// Default value. This value is unused.
	Tool_Authentication_OAuthConfig_OAUTH_GRANT_TYPE_UNSPECIFIED Tool_Authentication_OAuthConfig_OauthGrantType = 0
	// Represents the [client credential
	// flow](https://oauth.net/2/grant-types/client-credentials).
	Tool_Authentication_OAuthConfig_CLIENT_CREDENTIAL Tool_Authentication_OAuthConfig_OauthGrantType = 1
)

// Enum value maps for Tool_Authentication_OAuthConfig_OauthGrantType.
var (
	Tool_Authentication_OAuthConfig_OauthGrantType_name = map[int32]string{
		0: "OAUTH_GRANT_TYPE_UNSPECIFIED",
		1: "CLIENT_CREDENTIAL",
	}
	Tool_Authentication_OAuthConfig_OauthGrantType_value = map[string]int32{
		"OAUTH_GRANT_TYPE_UNSPECIFIED": 0,
		"CLIENT_CREDENTIAL":            1,
	}
)

func (x Tool_Authentication_OAuthConfig_OauthGrantType) Enum() *Tool_Authentication_OAuthConfig_OauthGrantType {
	p := new(Tool_Authentication_OAuthConfig_OauthGrantType)
	*p = x
	return p
}

func (x Tool_Authentication_OAuthConfig_OauthGrantType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Tool_Authentication_OAuthConfig_OauthGrantType) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_dialogflow_v2_tool_proto_enumTypes[4].Descriptor()
}

func (Tool_Authentication_OAuthConfig_OauthGrantType) Type() protoreflect.EnumType {
	return &file_google_cloud_dialogflow_v2_tool_proto_enumTypes[4]
}

func (x Tool_Authentication_OAuthConfig_OauthGrantType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Tool_Authentication_OAuthConfig_OauthGrantType.Descriptor instead.
func (Tool_Authentication_OAuthConfig_OauthGrantType) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{6, 4, 1, 0}
}

// Indicate the auth token type generated from the [Diaglogflow service
// agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent).
type Tool_Authentication_ServiceAgentAuthConfig_ServiceAgentAuth int32

const (
	// Service agent auth type unspecified. Default to ID_TOKEN.
	Tool_Authentication_ServiceAgentAuthConfig_SERVICE_AGENT_AUTH_UNSPECIFIED Tool_Authentication_ServiceAgentAuthConfig_ServiceAgentAuth = 0
	// Use [ID
	// token](https://cloud.google.com/docs/authentication/token-types#id)
	// generated from service agent. This can be used to access Cloud
	// Function and Cloud Run after you grant Invoker role to
	// `service-<PROJECT-NUMBER>@gcp-sa-dialogflow.iam.gserviceaccount.com`.
	Tool_Authentication_ServiceAgentAuthConfig_ID_TOKEN Tool_Authentication_ServiceAgentAuthConfig_ServiceAgentAuth = 1
	// Use [access
	// token](https://cloud.google.com/docs/authentication/token-types#access)
	// generated from service agent. This can be used to access other Google
	// Cloud APIs after you grant required roles to
	// `service-<PROJECT-NUMBER>@gcp-sa-dialogflow.iam.gserviceaccount.com`.
	Tool_Authentication_ServiceAgentAuthConfig_ACCESS_TOKEN Tool_Authentication_ServiceAgentAuthConfig_ServiceAgentAuth = 2
)

// Enum value maps for Tool_Authentication_ServiceAgentAuthConfig_ServiceAgentAuth.
var (
	Tool_Authentication_ServiceAgentAuthConfig_ServiceAgentAuth_name = map[int32]string{
		0: "SERVICE_AGENT_AUTH_UNSPECIFIED",
		1: "ID_TOKEN",
		2: "ACCESS_TOKEN",
	}
	Tool_Authentication_ServiceAgentAuthConfig_ServiceAgentAuth_value = map[string]int32{
		"SERVICE_AGENT_AUTH_UNSPECIFIED": 0,
		"ID_TOKEN":                       1,
		"ACCESS_TOKEN":                   2,
	}
)

func (x Tool_Authentication_ServiceAgentAuthConfig_ServiceAgentAuth) Enum() *Tool_Authentication_ServiceAgentAuthConfig_ServiceAgentAuth {
	p := new(Tool_Authentication_ServiceAgentAuthConfig_ServiceAgentAuth)
	*p = x
	return p
}

func (x Tool_Authentication_ServiceAgentAuthConfig_ServiceAgentAuth) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Tool_Authentication_ServiceAgentAuthConfig_ServiceAgentAuth) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_dialogflow_v2_tool_proto_enumTypes[5].Descriptor()
}

func (Tool_Authentication_ServiceAgentAuthConfig_ServiceAgentAuth) Type() protoreflect.EnumType {
	return &file_google_cloud_dialogflow_v2_tool_proto_enumTypes[5]
}

func (x Tool_Authentication_ServiceAgentAuthConfig_ServiceAgentAuth) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Tool_Authentication_ServiceAgentAuthConfig_ServiceAgentAuth.Descriptor instead.
func (Tool_Authentication_ServiceAgentAuthConfig_ServiceAgentAuth) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{6, 4, 2, 0}
}

// Request message of CreateTool.
type CreateToolRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The project/location to create tool for. Format:
	// `projects/<Project ID>/locations/<Location ID>`
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Required. The tool to create.
	Tool *Tool `protobuf:"bytes,2,opt,name=tool,proto3" json:"tool,omitempty"`
	// Optional. The ID to use for the tool, which will become the final
	// component of the tool's resource name.
	//
	// The tool ID must be compliant with the regression formula
	// `[a-zA-Z][a-zA-Z0-9_-]*` with the characters length in range of [3,64].
	// If the field is not provide, an Id will be auto-generated.
	// If the field is provided, the caller is responsible for
	// 1. the uniqueness of the ID, otherwise the request will be rejected.
	// 2. the consistency for whether to use custom ID or not under a project to
	// better ensure uniqueness.
	ToolId        string `protobuf:"bytes,3,opt,name=tool_id,json=toolId,proto3" json:"tool_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateToolRequest) Reset() {
	*x = CreateToolRequest{}
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CreateToolRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateToolRequest) ProtoMessage() {}

func (x *CreateToolRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateToolRequest.ProtoReflect.Descriptor instead.
func (*CreateToolRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{0}
}

func (x *CreateToolRequest) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *CreateToolRequest) GetTool() *Tool {
	if x != nil {
		return x.Tool
	}
	return nil
}

func (x *CreateToolRequest) GetToolId() string {
	if x != nil {
		return x.ToolId
	}
	return ""
}

// Request message of GetTool.
type GetToolRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The tool resource name to retrieve. Format:
	// `projects/<Project ID>/locations/<Location ID>/tools/<Tool ID>`
	Name          string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetToolRequest) Reset() {
	*x = GetToolRequest{}
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetToolRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetToolRequest) ProtoMessage() {}

func (x *GetToolRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetToolRequest.ProtoReflect.Descriptor instead.
func (*GetToolRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{1}
}

func (x *GetToolRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

// Request message of ListTools.
type ListToolsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The project/location to list tools for. Format:
	// `projects/<Project ID>/locations/<Location ID>`
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Optional. Maximum number of conversation models to return in a single page.
	// Default to 10.
	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Optional. The next_page_token value returned from a previous list request.
	PageToken     string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListToolsRequest) Reset() {
	*x = ListToolsRequest{}
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListToolsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListToolsRequest) ProtoMessage() {}

func (x *ListToolsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListToolsRequest.ProtoReflect.Descriptor instead.
func (*ListToolsRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{2}
}

func (x *ListToolsRequest) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *ListToolsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *ListToolsRequest) GetPageToken() string {
	if x != nil {
		return x.PageToken
	}
	return ""
}

// Response of ListTools.
type ListToolsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of tools retrieved.
	Tools []*Tool `protobuf:"bytes,1,rep,name=tools,proto3" json:"tools,omitempty"`
	// Token to retrieve the next page of results, or empty if there are no more
	// results in the list.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListToolsResponse) Reset() {
	*x = ListToolsResponse{}
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListToolsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListToolsResponse) ProtoMessage() {}

func (x *ListToolsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListToolsResponse.ProtoReflect.Descriptor instead.
func (*ListToolsResponse) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{3}
}

func (x *ListToolsResponse) GetTools() []*Tool {
	if x != nil {
		return x.Tools
	}
	return nil
}

func (x *ListToolsResponse) GetNextPageToken() string {
	if x != nil {
		return x.NextPageToken
	}
	return ""
}

// Request of DeleteTool.
type DeleteToolRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The tool resource name to delete. Format:
	// `projects/<Project ID>/locations/<Location ID>/tools/<Tool ID>`
	Name          string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteToolRequest) Reset() {
	*x = DeleteToolRequest{}
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteToolRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteToolRequest) ProtoMessage() {}

func (x *DeleteToolRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteToolRequest.ProtoReflect.Descriptor instead.
func (*DeleteToolRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{4}
}

func (x *DeleteToolRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

// Request of UpdateTool.
type UpdateToolRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The tool to update.
	// The name field of tool is to identify the tool to
	// update.
	Tool *Tool `protobuf:"bytes,1,opt,name=tool,proto3" json:"tool,omitempty"`
	// Optional. The list of fields to update.
	UpdateMask    *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateToolRequest) Reset() {
	*x = UpdateToolRequest{}
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdateToolRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateToolRequest) ProtoMessage() {}

func (x *UpdateToolRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateToolRequest.ProtoReflect.Descriptor instead.
func (*UpdateToolRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{5}
}

func (x *UpdateToolRequest) GetTool() *Tool {
	if x != nil {
		return x.Tool
	}
	return nil
}

func (x *UpdateToolRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
	if x != nil {
		return x.UpdateMask
	}
	return nil
}

// Represents a tool.
type Tool struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Output only. Identifier. The resource name of the tool. Format:
	// `projects/<Project ID>/locations/<Location ID>/tools/<Tool ID>`.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Required. A human readable short name of the tool, which should be unique
	// within the project. It should only contain letters, numbers, and
	// underscores, and it will be used by LLM to identify the tool.
	ToolKey string `protobuf:"bytes,2,opt,name=tool_key,json=toolKey,proto3" json:"tool_key,omitempty"`
	// Optional. A human readable short name of the tool, to be shown on the UI.
	DisplayName string `protobuf:"bytes,19,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// Optional. A human readable description of the tool.
	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	// Optional. Confirmation requirement for the actions. Each key is an action
	// name in the action_schemas. If an action's confirmation requirement is
	// unspecified (either the key is not present, or its value is
	// CONFIRMATION_REQUIREMENT_UNSPECIFIED), the requirement is inferred from the
	// action's method_type - confirmation is not required if and only if
	// method_type is GET.
	ActionConfirmationRequirement map[string]Tool_ConfirmationRequirement `protobuf:"bytes,17,rep,name=action_confirmation_requirement,json=actionConfirmationRequirement,proto3" json:"action_confirmation_requirement,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=google.cloud.dialogflow.v2.Tool_ConfirmationRequirement"`
	// Specification of the Tool.
	//
	// Types that are valid to be assigned to Specification:
	//
	//	*Tool_ExtensionSpec
	//	*Tool_FunctionSpec
	//	*Tool_ConnectorSpec
	//	*Tool_OpenApiSpec
	Specification isTool_Specification `protobuf_oneof:"specification"`
	// Output only. Creation time of this tool.
	CreateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// Output only. Update time of this tool.
	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
	// Output only. A read only boolean field reflecting Zone Separation
	// status of the tool. If the field is absent, it means the status is unknown.
	SatisfiesPzs *bool `protobuf:"varint,14,opt,name=satisfies_pzs,json=satisfiesPzs,proto3,oneof" json:"satisfies_pzs,omitempty"`
	// Output only. A read only boolean field reflecting Zone Isolation status
	// of the tool. If the field is absent, it means the status is unknown.
	SatisfiesPzi  *bool `protobuf:"varint,15,opt,name=satisfies_pzi,json=satisfiesPzi,proto3,oneof" json:"satisfies_pzi,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Tool) Reset() {
	*x = Tool{}
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Tool) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Tool) ProtoMessage() {}

func (x *Tool) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Tool.ProtoReflect.Descriptor instead.
func (*Tool) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{6}
}

func (x *Tool) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Tool) GetToolKey() string {
	if x != nil {
		return x.ToolKey
	}
	return ""
}

func (x *Tool) GetDisplayName() string {
	if x != nil {
		return x.DisplayName
	}
	return ""
}

func (x *Tool) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *Tool) GetActionConfirmationRequirement() map[string]Tool_ConfirmationRequirement {
	if x != nil {
		return x.ActionConfirmationRequirement
	}
	return nil
}

func (x *Tool) GetSpecification() isTool_Specification {
	if x != nil {
		return x.Specification
	}
	return nil
}

// Deprecated: Marked as deprecated in google/cloud/dialogflow/v2/tool.proto.
func (x *Tool) GetExtensionSpec() *Tool_ExtensionTool {
	if x != nil {
		if x, ok := x.Specification.(*Tool_ExtensionSpec); ok {
			return x.ExtensionSpec
		}
	}
	return nil
}

func (x *Tool) GetFunctionSpec() *Tool_FunctionTool {
	if x != nil {
		if x, ok := x.Specification.(*Tool_FunctionSpec); ok {
			return x.FunctionSpec
		}
	}
	return nil
}

func (x *Tool) GetConnectorSpec() *Tool_ConnectorTool {
	if x != nil {
		if x, ok := x.Specification.(*Tool_ConnectorSpec); ok {
			return x.ConnectorSpec
		}
	}
	return nil
}

func (x *Tool) GetOpenApiSpec() *Tool_OpenApiTool {
	if x != nil {
		if x, ok := x.Specification.(*Tool_OpenApiSpec); ok {
			return x.OpenApiSpec
		}
	}
	return nil
}

func (x *Tool) GetCreateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.CreateTime
	}
	return nil
}

func (x *Tool) GetUpdateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdateTime
	}
	return nil
}

func (x *Tool) GetSatisfiesPzs() bool {
	if x != nil && x.SatisfiesPzs != nil {
		return *x.SatisfiesPzs
	}
	return false
}

func (x *Tool) GetSatisfiesPzi() bool {
	if x != nil && x.SatisfiesPzi != nil {
		return *x.SatisfiesPzi
	}
	return false
}

type isTool_Specification interface {
	isTool_Specification()
}

type Tool_ExtensionSpec struct {
	// Vertex extension tool specification.
	//
	// Deprecated: Marked as deprecated in google/cloud/dialogflow/v2/tool.proto.
	ExtensionSpec *Tool_ExtensionTool `protobuf:"bytes,4,opt,name=extension_spec,json=extensionSpec,proto3,oneof"`
}

type Tool_FunctionSpec struct {
	// Client side executed function specification.
	FunctionSpec *Tool_FunctionTool `protobuf:"bytes,13,opt,name=function_spec,json=functionSpec,proto3,oneof"`
}

type Tool_ConnectorSpec struct {
	// Integration connectors tool specification.
	ConnectorSpec *Tool_ConnectorTool `protobuf:"bytes,18,opt,name=connector_spec,json=connectorSpec,proto3,oneof"`
}

type Tool_OpenApiSpec struct {
	// OpenAPI tool.
	OpenApiSpec *Tool_OpenApiTool `protobuf:"bytes,20,opt,name=open_api_spec,json=openApiSpec,proto3,oneof"`
}

func (*Tool_ExtensionSpec) isTool_Specification() {}

func (*Tool_FunctionSpec) isTool_Specification() {}

func (*Tool_ConnectorSpec) isTool_Specification() {}

func (*Tool_OpenApiSpec) isTool_Specification() {}

// An ExtensionTool is a way to use Vertex Extensions as a tool.
type Tool_ExtensionTool struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The full name of the referenced vertex extension.
	// Format:
	// `projects/{project}/locations/{location}/extensions/{extension}`
	Name          string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Tool_ExtensionTool) Reset() {
	*x = Tool_ExtensionTool{}
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Tool_ExtensionTool) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Tool_ExtensionTool) ProtoMessage() {}

func (x *Tool_ExtensionTool) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Tool_ExtensionTool.ProtoReflect.Descriptor instead.
func (*Tool_ExtensionTool) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{6, 0}
}

func (x *Tool_ExtensionTool) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

// A Function tool describes the functions to be invoked on the client side.
type Tool_FunctionTool struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Optional. The JSON schema is encapsulated in a
	// [google.protobuf.Struct][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.
	InputSchema *structpb.Struct `protobuf:"bytes,1,opt,name=input_schema,json=inputSchema,proto3" json:"input_schema,omitempty"`
	// Optional. The JSON schema is encapsulated in a
	// [google.protobuf.Struct][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.
	OutputSchema *structpb.Struct `protobuf:"bytes,2,opt,name=output_schema,json=outputSchema,proto3" json:"output_schema,omitempty"`
	// Optional. The method type of the function. If not specified, the default
	// value is GET.
	MethodType    Tool_MethodType `protobuf:"varint,4,opt,name=method_type,json=methodType,proto3,enum=google.cloud.dialogflow.v2.Tool_MethodType" json:"method_type,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Tool_FunctionTool) Reset() {
	*x = Tool_FunctionTool{}
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Tool_FunctionTool) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Tool_FunctionTool) ProtoMessage() {}

func (x *Tool_FunctionTool) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Tool_FunctionTool.ProtoReflect.Descriptor instead.
func (*Tool_FunctionTool) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{6, 1}
}

func (x *Tool_FunctionTool) GetInputSchema() *structpb.Struct {
	if x != nil {
		return x.InputSchema
	}
	return nil
}

func (x *Tool_FunctionTool) GetOutputSchema() *structpb.Struct {
	if x != nil {
		return x.OutputSchema
	}
	return nil
}

func (x *Tool_FunctionTool) GetMethodType() Tool_MethodType {
	if x != nil {
		return x.MethodType
	}
	return Tool_METHOD_TYPE_UNSPECIFIED
}

// An OpenAPI tool is a way to provide the Tool specifications in the Open API
// schema format.
type Tool_OpenApiTool struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Schema representation.
	//
	// Types that are valid to be assigned to Schema:
	//
	//	*Tool_OpenApiTool_TextSchema
	Schema isTool_OpenApiTool_Schema `protobuf_oneof:"schema"`
	// Optional. Authentication information required by the API.
	Authentication *Tool_Authentication `protobuf:"bytes,2,opt,name=authentication,proto3" json:"authentication,omitempty"`
	// Optional. TLS configuration for the HTTPS verification.
	TlsConfig *Tool_TLSConfig `protobuf:"bytes,3,opt,name=tls_config,json=tlsConfig,proto3" json:"tls_config,omitempty"`
	// Optional. Service Directory configuration.
	ServiceDirectoryConfig *Tool_ServiceDirectoryConfig `protobuf:"bytes,4,opt,name=service_directory_config,json=serviceDirectoryConfig,proto3" json:"service_directory_config,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *Tool_OpenApiTool) Reset() {
	*x = Tool_OpenApiTool{}
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Tool_OpenApiTool) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Tool_OpenApiTool) ProtoMessage() {}

func (x *Tool_OpenApiTool) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Tool_OpenApiTool.ProtoReflect.Descriptor instead.
func (*Tool_OpenApiTool) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{6, 2}
}

func (x *Tool_OpenApiTool) GetSchema() isTool_OpenApiTool_Schema {
	if x != nil {
		return x.Schema
	}
	return nil
}

func (x *Tool_OpenApiTool) GetTextSchema() string {
	if x != nil {
		if x, ok := x.Schema.(*Tool_OpenApiTool_TextSchema); ok {
			return x.TextSchema
		}
	}
	return ""
}

func (x *Tool_OpenApiTool) GetAuthentication() *Tool_Authentication {
	if x != nil {
		return x.Authentication
	}
	return nil
}

func (x *Tool_OpenApiTool) GetTlsConfig() *Tool_TLSConfig {
	if x != nil {
		return x.TlsConfig
	}
	return nil
}

func (x *Tool_OpenApiTool) GetServiceDirectoryConfig() *Tool_ServiceDirectoryConfig {
	if x != nil {
		return x.ServiceDirectoryConfig
	}
	return nil
}

type isTool_OpenApiTool_Schema interface {
	isTool_OpenApiTool_Schema()
}

type Tool_OpenApiTool_TextSchema struct {
	// Required. The OpenAPI schema specified as a text.
	TextSchema string `protobuf:"bytes,1,opt,name=text_schema,json=textSchema,proto3,oneof"`
}

func (*Tool_OpenApiTool_TextSchema) isTool_OpenApiTool_Schema() {}

// A ConnectorTool enabling using Integration Connectors Connections as tools.
type Tool_ConnectorTool struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The full resource name of the referenced Integration Connectors
	// Connection. Format: 'projects/*/locations/*/connections/*'
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Required. Actions for the tool to use.
	Actions       []*Tool_ConnectorTool_Action `protobuf:"bytes,2,rep,name=actions,proto3" json:"actions,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Tool_ConnectorTool) Reset() {
	*x = Tool_ConnectorTool{}
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Tool_ConnectorTool) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Tool_ConnectorTool) ProtoMessage() {}

func (x *Tool_ConnectorTool) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Tool_ConnectorTool.ProtoReflect.Descriptor instead.
func (*Tool_ConnectorTool) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{6, 3}
}

func (x *Tool_ConnectorTool) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Tool_ConnectorTool) GetActions() []*Tool_ConnectorTool_Action {
	if x != nil {
		return x.Actions
	}
	return nil
}

// Authentication information required for API calls
type Tool_Authentication struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The auth configuration.
	//
	// Types that are valid to be assigned to AuthConfig:
	//
	//	*Tool_Authentication_ApiKeyConfig_
	//	*Tool_Authentication_OauthConfig
	//	*Tool_Authentication_ServiceAgentAuthConfig_
	//	*Tool_Authentication_BearerTokenConfig_
	AuthConfig    isTool_Authentication_AuthConfig `protobuf_oneof:"auth_config"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Tool_Authentication) Reset() {
	*x = Tool_Authentication{}
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Tool_Authentication) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Tool_Authentication) ProtoMessage() {}

func (x *Tool_Authentication) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Tool_Authentication.ProtoReflect.Descriptor instead.
func (*Tool_Authentication) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{6, 4}
}

func (x *Tool_Authentication) GetAuthConfig() isTool_Authentication_AuthConfig {
	if x != nil {
		return x.AuthConfig
	}
	return nil
}

func (x *Tool_Authentication) GetApiKeyConfig() *Tool_Authentication_ApiKeyConfig {
	if x != nil {
		if x, ok := x.AuthConfig.(*Tool_Authentication_ApiKeyConfig_); ok {
			return x.ApiKeyConfig
		}
	}
	return nil
}

func (x *Tool_Authentication) GetOauthConfig() *Tool_Authentication_OAuthConfig {
	if x != nil {
		if x, ok := x.AuthConfig.(*Tool_Authentication_OauthConfig); ok {
			return x.OauthConfig
		}
	}
	return nil
}

func (x *Tool_Authentication) GetServiceAgentAuthConfig() *Tool_Authentication_ServiceAgentAuthConfig {
	if x != nil {
		if x, ok := x.AuthConfig.(*Tool_Authentication_ServiceAgentAuthConfig_); ok {
			return x.ServiceAgentAuthConfig
		}
	}
	return nil
}

func (x *Tool_Authentication) GetBearerTokenConfig() *Tool_Authentication_BearerTokenConfig {
	if x != nil {
		if x, ok := x.AuthConfig.(*Tool_Authentication_BearerTokenConfig_); ok {
			return x.BearerTokenConfig
		}
	}
	return nil
}

type isTool_Authentication_AuthConfig interface {
	isTool_Authentication_AuthConfig()
}

type Tool_Authentication_ApiKeyConfig_ struct {
	// Config for API key auth.
	ApiKeyConfig *Tool_Authentication_ApiKeyConfig `protobuf:"bytes,1,opt,name=api_key_config,json=apiKeyConfig,proto3,oneof"`
}

type Tool_Authentication_OauthConfig struct {
	// Config for OAuth.
	OauthConfig *Tool_Authentication_OAuthConfig `protobuf:"bytes,2,opt,name=oauth_config,json=oauthConfig,proto3,oneof"`
}

type Tool_Authentication_ServiceAgentAuthConfig_ struct {
	// Config for [Diglogflow service
	// agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent)
	// auth.
	ServiceAgentAuthConfig *Tool_Authentication_ServiceAgentAuthConfig `protobuf:"bytes,3,opt,name=service_agent_auth_config,json=serviceAgentAuthConfig,proto3,oneof"`
}

type Tool_Authentication_BearerTokenConfig_ struct {
	// Config for bearer token auth.
	BearerTokenConfig *Tool_Authentication_BearerTokenConfig `protobuf:"bytes,4,opt,name=bearer_token_config,json=bearerTokenConfig,proto3,oneof"`
}

func (*Tool_Authentication_ApiKeyConfig_) isTool_Authentication_AuthConfig() {}

func (*Tool_Authentication_OauthConfig) isTool_Authentication_AuthConfig() {}

func (*Tool_Authentication_ServiceAgentAuthConfig_) isTool_Authentication_AuthConfig() {}

func (*Tool_Authentication_BearerTokenConfig_) isTool_Authentication_AuthConfig() {}

// The TLS configuration.
type Tool_TLSConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. Specifies a list of allowed custom CA certificates for HTTPS
	// verification.
	CaCerts       []*Tool_TLSConfig_CACert `protobuf:"bytes,1,rep,name=ca_certs,json=caCerts,proto3" json:"ca_certs,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Tool_TLSConfig) Reset() {
	*x = Tool_TLSConfig{}
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Tool_TLSConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Tool_TLSConfig) ProtoMessage() {}

func (x *Tool_TLSConfig) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Tool_TLSConfig.ProtoReflect.Descriptor instead.
func (*Tool_TLSConfig) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{6, 5}
}

func (x *Tool_TLSConfig) GetCaCerts() []*Tool_TLSConfig_CACert {
	if x != nil {
		return x.CaCerts
	}
	return nil
}

// Configuration for tools using Service Directory.
type Tool_ServiceDirectoryConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The name of [Service
	// Directory](https://cloud.google.com/service-directory) service.
	// Format:
	// `projects/<ProjectID>/locations/<LocationID>/namespaces/<NamespaceID>/services/<ServiceID>`.
	// `LocationID` of the service directory must be the same as the location
	// of the tool.
	Service       string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Tool_ServiceDirectoryConfig) Reset() {
	*x = Tool_ServiceDirectoryConfig{}
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Tool_ServiceDirectoryConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Tool_ServiceDirectoryConfig) ProtoMessage() {}

func (x *Tool_ServiceDirectoryConfig) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Tool_ServiceDirectoryConfig.ProtoReflect.Descriptor instead.
func (*Tool_ServiceDirectoryConfig) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{6, 6}
}

func (x *Tool_ServiceDirectoryConfig) GetService() string {
	if x != nil {
		return x.Service
	}
	return ""
}

// Configuration of a Connection operation for the tool to use.
type Tool_ConnectorTool_Action struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. Specification for an action to configure for the tool to use.
	//
	// Types that are valid to be assigned to ActionSpec:
	//
	//	*Tool_ConnectorTool_Action_ConnectionActionId
	//	*Tool_ConnectorTool_Action_EntityOperation_
	ActionSpec isTool_ConnectorTool_Action_ActionSpec `protobuf_oneof:"action_spec"`
	// Optional. Entity fields to use as inputs for the operation.
	// If no fields are specified, all fields of the Entity will be used.
	InputFields []string `protobuf:"bytes,2,rep,name=input_fields,json=inputFields,proto3" json:"input_fields,omitempty"`
	// Optional. Entity fields to return from the operation.
	// If no fields are specified, all fields of the Entity will be returned.
	OutputFields  []string `protobuf:"bytes,3,rep,name=output_fields,json=outputFields,proto3" json:"output_fields,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Tool_ConnectorTool_Action) Reset() {
	*x = Tool_ConnectorTool_Action{}
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Tool_ConnectorTool_Action) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Tool_ConnectorTool_Action) ProtoMessage() {}

func (x *Tool_ConnectorTool_Action) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Tool_ConnectorTool_Action.ProtoReflect.Descriptor instead.
func (*Tool_ConnectorTool_Action) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{6, 3, 0}
}

func (x *Tool_ConnectorTool_Action) GetActionSpec() isTool_ConnectorTool_Action_ActionSpec {
	if x != nil {
		return x.ActionSpec
	}
	return nil
}

func (x *Tool_ConnectorTool_Action) GetConnectionActionId() string {
	if x != nil {
		if x, ok := x.ActionSpec.(*Tool_ConnectorTool_Action_ConnectionActionId); ok {
			return x.ConnectionActionId
		}
	}
	return ""
}

func (x *Tool_ConnectorTool_Action) GetEntityOperation() *Tool_ConnectorTool_Action_EntityOperation {
	if x != nil {
		if x, ok := x.ActionSpec.(*Tool_ConnectorTool_Action_EntityOperation_); ok {
			return x.EntityOperation
		}
	}
	return nil
}

func (x *Tool_ConnectorTool_Action) GetInputFields() []string {
	if x != nil {
		return x.InputFields
	}
	return nil
}

func (x *Tool_ConnectorTool_Action) GetOutputFields() []string {
	if x != nil {
		return x.OutputFields
	}
	return nil
}

type isTool_ConnectorTool_Action_ActionSpec interface {
	isTool_ConnectorTool_Action_ActionSpec()
}

type Tool_ConnectorTool_Action_ConnectionActionId struct {
	// ID of a Connection action for the tool to use.
	ConnectionActionId string `protobuf:"bytes,4,opt,name=connection_action_id,json=connectionActionId,proto3,oneof"`
}

type Tool_ConnectorTool_Action_EntityOperation_ struct {
	// Entity operation configuration for the tool to use.
	EntityOperation *Tool_ConnectorTool_Action_EntityOperation `protobuf:"bytes,5,opt,name=entity_operation,json=entityOperation,proto3,oneof"`
}

func (*Tool_ConnectorTool_Action_ConnectionActionId) isTool_ConnectorTool_Action_ActionSpec() {}

func (*Tool_ConnectorTool_Action_EntityOperation_) isTool_ConnectorTool_Action_ActionSpec() {}

// Entity CRUD operation specification.
type Tool_ConnectorTool_Action_EntityOperation struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. ID of the entity.
	EntityId string `protobuf:"bytes,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
	// Required. Operation to perform on the entity.
	Operation     Tool_ConnectorTool_Action_EntityOperation_OperationType `protobuf:"varint,2,opt,name=operation,proto3,enum=google.cloud.dialogflow.v2.Tool_ConnectorTool_Action_EntityOperation_OperationType" json:"operation,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Tool_ConnectorTool_Action_EntityOperation) Reset() {
	*x = Tool_ConnectorTool_Action_EntityOperation{}
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Tool_ConnectorTool_Action_EntityOperation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Tool_ConnectorTool_Action_EntityOperation) ProtoMessage() {}

func (x *Tool_ConnectorTool_Action_EntityOperation) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Tool_ConnectorTool_Action_EntityOperation.ProtoReflect.Descriptor instead.
func (*Tool_ConnectorTool_Action_EntityOperation) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{6, 3, 0, 0}
}

func (x *Tool_ConnectorTool_Action_EntityOperation) GetEntityId() string {
	if x != nil {
		return x.EntityId
	}
	return ""
}

func (x *Tool_ConnectorTool_Action_EntityOperation) GetOperation() Tool_ConnectorTool_Action_EntityOperation_OperationType {
	if x != nil {
		return x.Operation
	}
	return Tool_ConnectorTool_Action_EntityOperation_OPERATION_TYPE_UNSPECIFIED
}

// Config for authentication with API key.
type Tool_Authentication_ApiKeyConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// 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=<API
	// KEY>", "X-Api-Key" would be the parameter name.
	KeyName string `protobuf:"bytes,1,opt,name=key_name,json=keyName,proto3" json:"key_name,omitempty"`
	// Optional. The API key. If the `secret_version_for_api_key` field is
	// set, this field will be ignored.
	ApiKey string `protobuf:"bytes,2,opt,name=api_key,json=apiKey,proto3" json:"api_key,omitempty"`
	// 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}`
	SecretVersionForApiKey string `protobuf:"bytes,4,opt,name=secret_version_for_api_key,json=secretVersionForApiKey,proto3" json:"secret_version_for_api_key,omitempty"`
	// Required. Key location in the request.
	RequestLocation Tool_Authentication_RequestLocation `protobuf:"varint,3,opt,name=request_location,json=requestLocation,proto3,enum=google.cloud.dialogflow.v2.Tool_Authentication_RequestLocation" json:"request_location,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *Tool_Authentication_ApiKeyConfig) Reset() {
	*x = Tool_Authentication_ApiKeyConfig{}
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Tool_Authentication_ApiKeyConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Tool_Authentication_ApiKeyConfig) ProtoMessage() {}

func (x *Tool_Authentication_ApiKeyConfig) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[17]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Tool_Authentication_ApiKeyConfig.ProtoReflect.Descriptor instead.
func (*Tool_Authentication_ApiKeyConfig) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{6, 4, 0}
}

func (x *Tool_Authentication_ApiKeyConfig) GetKeyName() string {
	if x != nil {
		return x.KeyName
	}
	return ""
}

func (x *Tool_Authentication_ApiKeyConfig) GetApiKey() string {
	if x != nil {
		return x.ApiKey
	}
	return ""
}

func (x *Tool_Authentication_ApiKeyConfig) GetSecretVersionForApiKey() string {
	if x != nil {
		return x.SecretVersionForApiKey
	}
	return ""
}

func (x *Tool_Authentication_ApiKeyConfig) GetRequestLocation() Tool_Authentication_RequestLocation {
	if x != nil {
		return x.RequestLocation
	}
	return Tool_Authentication_REQUEST_LOCATION_UNSPECIFIED
}

// Config for authentication with OAuth.
type Tool_Authentication_OAuthConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. OAuth grant types.
	OauthGrantType Tool_Authentication_OAuthConfig_OauthGrantType `protobuf:"varint,1,opt,name=oauth_grant_type,json=oauthGrantType,proto3,enum=google.cloud.dialogflow.v2.Tool_Authentication_OAuthConfig_OauthGrantType" json:"oauth_grant_type,omitempty"`
	// Required. The client ID from the OAuth provider.
	ClientId string `protobuf:"bytes,2,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"`
	// Optional. The client secret from the OAuth provider. If the
	// `secret_version_for_client_secret` field is set, this field will be
	// ignored.
	ClientSecret string `protobuf:"bytes,3,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"`
	// 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}`
	SecretVersionForClientSecret string `protobuf:"bytes,6,opt,name=secret_version_for_client_secret,json=secretVersionForClientSecret,proto3" json:"secret_version_for_client_secret,omitempty"`
	// Required. The token endpoint in the OAuth provider to exchange for an
	// access token.
	TokenEndpoint string `protobuf:"bytes,4,opt,name=token_endpoint,json=tokenEndpoint,proto3" json:"token_endpoint,omitempty"`
	// Optional. The OAuth scopes to grant.
	Scopes        []string `protobuf:"bytes,5,rep,name=scopes,proto3" json:"scopes,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Tool_Authentication_OAuthConfig) Reset() {
	*x = Tool_Authentication_OAuthConfig{}
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Tool_Authentication_OAuthConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Tool_Authentication_OAuthConfig) ProtoMessage() {}

func (x *Tool_Authentication_OAuthConfig) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[18]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Tool_Authentication_OAuthConfig.ProtoReflect.Descriptor instead.
func (*Tool_Authentication_OAuthConfig) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{6, 4, 1}
}

func (x *Tool_Authentication_OAuthConfig) GetOauthGrantType() Tool_Authentication_OAuthConfig_OauthGrantType {
	if x != nil {
		return x.OauthGrantType
	}
	return Tool_Authentication_OAuthConfig_OAUTH_GRANT_TYPE_UNSPECIFIED
}

func (x *Tool_Authentication_OAuthConfig) GetClientId() string {
	if x != nil {
		return x.ClientId
	}
	return ""
}

func (x *Tool_Authentication_OAuthConfig) GetClientSecret() string {
	if x != nil {
		return x.ClientSecret
	}
	return ""
}

func (x *Tool_Authentication_OAuthConfig) GetSecretVersionForClientSecret() string {
	if x != nil {
		return x.SecretVersionForClientSecret
	}
	return ""
}

func (x *Tool_Authentication_OAuthConfig) GetTokenEndpoint() string {
	if x != nil {
		return x.TokenEndpoint
	}
	return ""
}

func (x *Tool_Authentication_OAuthConfig) GetScopes() []string {
	if x != nil {
		return x.Scopes
	}
	return nil
}

// Config for auth using [Dialogflow service
// agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent).
type Tool_Authentication_ServiceAgentAuthConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// 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.
	ServiceAgentAuth Tool_Authentication_ServiceAgentAuthConfig_ServiceAgentAuth `protobuf:"varint,1,opt,name=service_agent_auth,json=serviceAgentAuth,proto3,enum=google.cloud.dialogflow.v2.Tool_Authentication_ServiceAgentAuthConfig_ServiceAgentAuth" json:"service_agent_auth,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *Tool_Authentication_ServiceAgentAuthConfig) Reset() {
	*x = Tool_Authentication_ServiceAgentAuthConfig{}
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Tool_Authentication_ServiceAgentAuthConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Tool_Authentication_ServiceAgentAuthConfig) ProtoMessage() {}

func (x *Tool_Authentication_ServiceAgentAuthConfig) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[19]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Tool_Authentication_ServiceAgentAuthConfig.ProtoReflect.Descriptor instead.
func (*Tool_Authentication_ServiceAgentAuthConfig) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{6, 4, 2}
}

func (x *Tool_Authentication_ServiceAgentAuthConfig) GetServiceAgentAuth() Tool_Authentication_ServiceAgentAuthConfig_ServiceAgentAuth {
	if x != nil {
		return x.ServiceAgentAuth
	}
	return Tool_Authentication_ServiceAgentAuthConfig_SERVICE_AGENT_AUTH_UNSPECIFIED
}

// Config for authentication using bearer token.
type Tool_Authentication_BearerTokenConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// 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`.
	Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
	// 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}`
	SecretVersionForToken string `protobuf:"bytes,2,opt,name=secret_version_for_token,json=secretVersionForToken,proto3" json:"secret_version_for_token,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *Tool_Authentication_BearerTokenConfig) Reset() {
	*x = Tool_Authentication_BearerTokenConfig{}
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Tool_Authentication_BearerTokenConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Tool_Authentication_BearerTokenConfig) ProtoMessage() {}

func (x *Tool_Authentication_BearerTokenConfig) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[20]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Tool_Authentication_BearerTokenConfig.ProtoReflect.Descriptor instead.
func (*Tool_Authentication_BearerTokenConfig) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{6, 4, 3}
}

func (x *Tool_Authentication_BearerTokenConfig) GetToken() string {
	if x != nil {
		return x.Token
	}
	return ""
}

func (x *Tool_Authentication_BearerTokenConfig) GetSecretVersionForToken() string {
	if x != nil {
		return x.SecretVersionForToken
	}
	return ""
}

// The CA certificate.
type Tool_TLSConfig_CACert struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The name of the allowed custom CA certificates. This
	// can be used to disambiguate the custom CA certificates.
	DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// 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'")
	//
	// ```
	Cert          []byte `protobuf:"bytes,2,opt,name=cert,proto3" json:"cert,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Tool_TLSConfig_CACert) Reset() {
	*x = Tool_TLSConfig_CACert{}
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Tool_TLSConfig_CACert) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Tool_TLSConfig_CACert) ProtoMessage() {}

func (x *Tool_TLSConfig_CACert) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_v2_tool_proto_msgTypes[21]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Tool_TLSConfig_CACert.ProtoReflect.Descriptor instead.
func (*Tool_TLSConfig_CACert) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP(), []int{6, 5, 0}
}

func (x *Tool_TLSConfig_CACert) GetDisplayName() string {
	if x != nil {
		return x.DisplayName
	}
	return ""
}

func (x *Tool_TLSConfig_CACert) GetCert() []byte {
	if x != nil {
		return x.Cert
	}
	return nil
}

var File_google_cloud_dialogflow_v2_tool_proto protoreflect.FileDescriptor

const file_google_cloud_dialogflow_v2_tool_proto_rawDesc = "" +
	"\n" +
	"%google/cloud/dialogflow/v2/tool.proto\x12\x1agoogle.cloud.dialogflow.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xac\x01\n" +
	"\x11CreateToolRequest\x12>\n" +
	"\x06parent\x18\x01 \x01(\tB&\xe0A\x02\xfaA \x12\x1edialogflow.googleapis.com/ToolR\x06parent\x129\n" +
	"\x04tool\x18\x02 \x01(\v2 .google.cloud.dialogflow.v2.ToolB\x03\xe0A\x02R\x04tool\x12\x1c\n" +
	"\atool_id\x18\x03 \x01(\tB\x03\xe0A\x01R\x06toolId\"L\n" +
	"\x0eGetToolRequest\x12:\n" +
	"\x04name\x18\x01 \x01(\tB&\xe0A\x02\xfaA \n" +
	"\x1edialogflow.googleapis.com/ToolR\x04name\"\x98\x01\n" +
	"\x10ListToolsRequest\x12>\n" +
	"\x06parent\x18\x01 \x01(\tB&\xe0A\x02\xfaA \x12\x1edialogflow.googleapis.com/ToolR\x06parent\x12 \n" +
	"\tpage_size\x18\x02 \x01(\x05B\x03\xe0A\x01R\bpageSize\x12\"\n" +
	"\n" +
	"page_token\x18\x03 \x01(\tB\x03\xe0A\x01R\tpageToken\"s\n" +
	"\x11ListToolsResponse\x126\n" +
	"\x05tools\x18\x01 \x03(\v2 .google.cloud.dialogflow.v2.ToolR\x05tools\x12&\n" +
	"\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"O\n" +
	"\x11DeleteToolRequest\x12:\n" +
	"\x04name\x18\x01 \x01(\tB&\xe0A\x02\xfaA \n" +
	"\x1edialogflow.googleapis.com/ToolR\x04name\"\x90\x01\n" +
	"\x11UpdateToolRequest\x129\n" +
	"\x04tool\x18\x01 \x01(\v2 .google.cloud.dialogflow.v2.ToolB\x03\xe0A\x02R\x04tool\x12@\n" +
	"\vupdate_mask\x18\x02 \x01(\v2\x1a.google.protobuf.FieldMaskB\x03\xe0A\x01R\n" +
	"updateMask\"\xf6$\n" +
	"\x04Tool\x12\x1a\n" +
	"\x04name\x18\x01 \x01(\tB\x06\xe0A\b\xe0A\x03R\x04name\x12\x1e\n" +
	"\btool_key\x18\x02 \x01(\tB\x03\xe0A\x02R\atoolKey\x12&\n" +
	"\fdisplay_name\x18\x13 \x01(\tB\x03\xe0A\x01R\vdisplayName\x12%\n" +
	"\vdescription\x18\x03 \x01(\tB\x03\xe0A\x01R\vdescription\x12\x90\x01\n" +
	"\x1faction_confirmation_requirement\x18\x11 \x03(\v2C.google.cloud.dialogflow.v2.Tool.ActionConfirmationRequirementEntryB\x03\xe0A\x01R\x1dactionConfirmationRequirement\x12[\n" +
	"\x0eextension_spec\x18\x04 \x01(\v2..google.cloud.dialogflow.v2.Tool.ExtensionToolB\x02\x18\x01H\x00R\rextensionSpec\x12T\n" +
	"\rfunction_spec\x18\r \x01(\v2-.google.cloud.dialogflow.v2.Tool.FunctionToolH\x00R\ffunctionSpec\x12W\n" +
	"\x0econnector_spec\x18\x12 \x01(\v2..google.cloud.dialogflow.v2.Tool.ConnectorToolH\x00R\rconnectorSpec\x12R\n" +
	"\ropen_api_spec\x18\x14 \x01(\v2,.google.cloud.dialogflow.v2.Tool.OpenApiToolH\x00R\vopenApiSpec\x12@\n" +
	"\vcreate_time\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampB\x03\xe0A\x03R\n" +
	"createTime\x12@\n" +
	"\vupdate_time\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampB\x03\xe0A\x03R\n" +
	"updateTime\x12-\n" +
	"\rsatisfies_pzs\x18\x0e \x01(\bB\x03\xe0A\x03H\x01R\fsatisfiesPzs\x88\x01\x01\x12-\n" +
	"\rsatisfies_pzi\x18\x0f \x01(\bB\x03\xe0A\x03H\x02R\fsatisfiesPzi\x88\x01\x01\x1a(\n" +
	"\rExtensionTool\x12\x17\n" +
	"\x04name\x18\x01 \x01(\tB\x03\xe0A\x02R\x04name\x1a\xe5\x01\n" +
	"\fFunctionTool\x12?\n" +
	"\finput_schema\x18\x01 \x01(\v2\x17.google.protobuf.StructB\x03\xe0A\x01R\vinputSchema\x12A\n" +
	"\routput_schema\x18\x02 \x01(\v2\x17.google.protobuf.StructB\x03\xe0A\x01R\foutputSchema\x12Q\n" +
	"\vmethod_type\x18\x04 \x01(\x0e2+.google.cloud.dialogflow.v2.Tool.MethodTypeB\x03\xe0A\x01R\n" +
	"methodType\x1a\xe5\x02\n" +
	"\vOpenApiTool\x12&\n" +
	"\vtext_schema\x18\x01 \x01(\tB\x03\xe0A\x02H\x00R\n" +
	"textSchema\x12\\\n" +
	"\x0eauthentication\x18\x02 \x01(\v2/.google.cloud.dialogflow.v2.Tool.AuthenticationB\x03\xe0A\x01R\x0eauthentication\x12N\n" +
	"\n" +
	"tls_config\x18\x03 \x01(\v2*.google.cloud.dialogflow.v2.Tool.TLSConfigB\x03\xe0A\x01R\ttlsConfig\x12v\n" +
	"\x18service_directory_config\x18\x04 \x01(\v27.google.cloud.dialogflow.v2.Tool.ServiceDirectoryConfigB\x03\xe0A\x01R\x16serviceDirectoryConfigB\b\n" +
	"\x06schema\x1a\xa8\x05\n" +
	"\rConnectorTool\x12\x17\n" +
	"\x04name\x18\x01 \x01(\tB\x03\xe0A\x02R\x04name\x12T\n" +
	"\aactions\x18\x02 \x03(\v25.google.cloud.dialogflow.v2.Tool.ConnectorTool.ActionB\x03\xe0A\x02R\aactions\x1a\xa7\x04\n" +
	"\x06Action\x122\n" +
	"\x14connection_action_id\x18\x04 \x01(\tH\x00R\x12connectionActionId\x12r\n" +
	"\x10entity_operation\x18\x05 \x01(\v2E.google.cloud.dialogflow.v2.Tool.ConnectorTool.Action.EntityOperationH\x00R\x0fentityOperation\x12&\n" +
	"\finput_fields\x18\x02 \x03(\tB\x03\xe0A\x01R\vinputFields\x12(\n" +
	"\routput_fields\x18\x03 \x03(\tB\x03\xe0A\x01R\foutputFields\x1a\x93\x02\n" +
	"\x0fEntityOperation\x12 \n" +
	"\tentity_id\x18\x01 \x01(\tB\x03\xe0A\x02R\bentityId\x12v\n" +
	"\toperation\x18\x02 \x01(\x0e2S.google.cloud.dialogflow.v2.Tool.ConnectorTool.Action.EntityOperation.OperationTypeB\x03\xe0A\x02R\toperation\"f\n" +
	"\rOperationType\x12\x1e\n" +
	"\x1aOPERATION_TYPE_UNSPECIFIED\x10\x00\x12\b\n" +
	"\x04LIST\x10\x01\x12\a\n" +
	"\x03GET\x10\x02\x12\n" +
	"\n" +
	"\x06CREATE\x10\x03\x12\n" +
	"\n" +
	"\x06UPDATE\x10\x04\x12\n" +
	"\n" +
	"\x06DELETE\x10\x05B\r\n" +
	"\vaction_spec\x1a\xea\r\n" +
	"\x0eAuthentication\x12d\n" +
	"\x0eapi_key_config\x18\x01 \x01(\v2<.google.cloud.dialogflow.v2.Tool.Authentication.ApiKeyConfigH\x00R\fapiKeyConfig\x12`\n" +
	"\foauth_config\x18\x02 \x01(\v2;.google.cloud.dialogflow.v2.Tool.Authentication.OAuthConfigH\x00R\voauthConfig\x12\x83\x01\n" +
	"\x19service_agent_auth_config\x18\x03 \x01(\v2F.google.cloud.dialogflow.v2.Tool.Authentication.ServiceAgentAuthConfigH\x00R\x16serviceAgentAuthConfig\x12s\n" +
	"\x13bearer_token_config\x18\x04 \x01(\v2A.google.cloud.dialogflow.v2.Tool.Authentication.BearerTokenConfigH\x00R\x11bearerTokenConfig\x1a\xad\x02\n" +
	"\fApiKeyConfig\x12\x1e\n" +
	"\bkey_name\x18\x01 \x01(\tB\x03\xe0A\x02R\akeyName\x12\x1c\n" +
	"\aapi_key\x18\x02 \x01(\tB\x03\xe0A\x01R\x06apiKey\x12n\n" +
	"\x1asecret_version_for_api_key\x18\x04 \x01(\tB2\xe0A\x01\xfaA,\n" +
	"*secretmanager.googleapis.com/SecretVersionR\x16secretVersionForApiKey\x12o\n" +
	"\x10request_location\x18\x03 \x01(\x0e2?.google.cloud.dialogflow.v2.Tool.Authentication.RequestLocationB\x03\xe0A\x02R\x0frequestLocation\x1a\xe4\x03\n" +
	"\vOAuthConfig\x12y\n" +
	"\x10oauth_grant_type\x18\x01 \x01(\x0e2J.google.cloud.dialogflow.v2.Tool.Authentication.OAuthConfig.OauthGrantTypeB\x03\xe0A\x02R\x0eoauthGrantType\x12 \n" +
	"\tclient_id\x18\x02 \x01(\tB\x03\xe0A\x02R\bclientId\x12(\n" +
	"\rclient_secret\x18\x03 \x01(\tB\x03\xe0A\x01R\fclientSecret\x12z\n" +
	" secret_version_for_client_secret\x18\x06 \x01(\tB2\xe0A\x01\xfaA,\n" +
	"*secretmanager.googleapis.com/SecretVersionR\x1csecretVersionForClientSecret\x12*\n" +
	"\x0etoken_endpoint\x18\x04 \x01(\tB\x03\xe0A\x02R\rtokenEndpoint\x12\x1b\n" +
	"\x06scopes\x18\x05 \x03(\tB\x03\xe0A\x01R\x06scopes\"I\n" +
	"\x0eOauthGrantType\x12 \n" +
	"\x1cOAUTH_GRANT_TYPE_UNSPECIFIED\x10\x00\x12\x15\n" +
	"\x11CLIENT_CREDENTIAL\x10\x01\x1a\xfd\x01\n" +
	"\x16ServiceAgentAuthConfig\x12\x8a\x01\n" +
	"\x12service_agent_auth\x18\x01 \x01(\x0e2W.google.cloud.dialogflow.v2.Tool.Authentication.ServiceAgentAuthConfig.ServiceAgentAuthB\x03\xe0A\x01R\x10serviceAgentAuth\"V\n" +
	"\x10ServiceAgentAuth\x12\"\n" +
	"\x1eSERVICE_AGENT_AUTH_UNSPECIFIED\x10\x00\x12\f\n" +
	"\bID_TOKEN\x10\x01\x12\x10\n" +
	"\fACCESS_TOKEN\x10\x02\x1a\x9b\x01\n" +
	"\x11BearerTokenConfig\x12\x19\n" +
	"\x05token\x18\x01 \x01(\tB\x03\xe0A\x01R\x05token\x12k\n" +
	"\x18secret_version_for_token\x18\x02 \x01(\tB2\xe0A\x01\xfaA,\n" +
	"*secretmanager.googleapis.com/SecretVersionR\x15secretVersionForToken\"Q\n" +
	"\x0fRequestLocation\x12 \n" +
	"\x1cREQUEST_LOCATION_UNSPECIFIED\x10\x00\x12\n" +
	"\n" +
	"\x06HEADER\x10\x01\x12\x10\n" +
	"\fQUERY_STRING\x10\x02B\r\n" +
	"\vauth_config\x1a\xa9\x01\n" +
	"\tTLSConfig\x12Q\n" +
	"\bca_certs\x18\x01 \x03(\v21.google.cloud.dialogflow.v2.Tool.TLSConfig.CACertB\x03\xe0A\x02R\acaCerts\x1aI\n" +
	"\x06CACert\x12&\n" +
	"\fdisplay_name\x18\x01 \x01(\tB\x03\xe0A\x02R\vdisplayName\x12\x17\n" +
	"\x04cert\x18\x02 \x01(\fB\x03\xe0A\x02R\x04cert\x1ac\n" +
	"\x16ServiceDirectoryConfig\x12I\n" +
	"\aservice\x18\x01 \x01(\tB/\xe0A\x02\xfaA)\n" +
	"'servicedirectory.googleapis.com/ServiceR\aservice\x1a\x8a\x01\n" +
	"\"ActionConfirmationRequirementEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12N\n" +
	"\x05value\x18\x02 \x01(\x0e28.google.cloud.dialogflow.v2.Tool.ConfirmationRequirementR\x05value:\x028\x01\"c\n" +
	"\x17ConfirmationRequirement\x12(\n" +
	"$CONFIRMATION_REQUIREMENT_UNSPECIFIED\x10\x00\x12\f\n" +
	"\bREQUIRED\x10\x01\x12\x10\n" +
	"\fNOT_REQUIRED\x10\x02\"\\\n" +
	"\n" +
	"MethodType\x12\x1b\n" +
	"\x17METHOD_TYPE_UNSPECIFIED\x10\x00\x12\a\n" +
	"\x03GET\x10\x01\x12\b\n" +
	"\x04POST\x10\x02\x12\a\n" +
	"\x03PUT\x10\x03\x12\n" +
	"\n" +
	"\x06DELETE\x10\x04\x12\t\n" +
	"\x05PATCH\x10\x05:f\xeaAc\n" +
	"\x1edialogflow.googleapis.com/Tool\x124projects/{project}/locations/{location}/tools/{tool}*\x05tools2\x04toolB\x0f\n" +
	"\rspecificationB\x10\n" +
	"\x0e_satisfies_pzsB\x10\n" +
	"\x0e_satisfies_pzi2\xac\a\n" +
	"\x05Tools\x12\xac\x01\n" +
	"\n" +
	"CreateTool\x12-.google.cloud.dialogflow.v2.CreateToolRequest\x1a .google.cloud.dialogflow.v2.Tool\"M\xdaA\x13parent,tool,tool_id\x82\xd3\xe4\x93\x021:\x04tool\")/v2/{parent=projects/*/locations/*}/tools\x12\x91\x01\n" +
	"\aGetTool\x12*.google.cloud.dialogflow.v2.GetToolRequest\x1a .google.cloud.dialogflow.v2.Tool\"8\xdaA\x04name\x82\xd3\xe4\x93\x02+\x12)/v2/{name=projects/*/locations/*/tools/*}\x12\xa4\x01\n" +
	"\tListTools\x12,.google.cloud.dialogflow.v2.ListToolsRequest\x1a-.google.cloud.dialogflow.v2.ListToolsResponse\":\xdaA\x06parent\x82\xd3\xe4\x93\x02+\x12)/v2/{parent=projects/*/locations/*}/tools\x12\x8d\x01\n" +
	"\n" +
	"DeleteTool\x12-.google.cloud.dialogflow.v2.DeleteToolRequest\x1a\x16.google.protobuf.Empty\"8\xdaA\x04name\x82\xd3\xe4\x93\x02+*)/v2/{name=projects/*/locations/*/tools/*}\x12\xae\x01\n" +
	"\n" +
	"UpdateTool\x12-.google.cloud.dialogflow.v2.UpdateToolRequest\x1a .google.cloud.dialogflow.v2.Tool\"O\xdaA\x10tool,update_mask\x82\xd3\xe4\x93\x026:\x04tool2./v2/{tool.name=projects/*/locations/*/tools/*}\x1ax\xcaA\x19dialogflow.googleapis.com\xd2AYhttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/dialogflowB\xf6\x01\xeaAd\n" +
	"*secretmanager.googleapis.com/SecretVersion\x126projects/{project}/secrets/{secret}/versions/{version}\n" +
	"\x1ecom.google.cloud.dialogflow.v2B\tToolProtoP\x01Z>cloud.google.com/go/dialogflow/apiv2/dialogflowpb;dialogflowpb\xa2\x02\x02DF\xaa\x02\x1aGoogle.Cloud.Dialogflow.V2b\x06proto3"

var (
	file_google_cloud_dialogflow_v2_tool_proto_rawDescOnce sync.Once
	file_google_cloud_dialogflow_v2_tool_proto_rawDescData []byte
)

func file_google_cloud_dialogflow_v2_tool_proto_rawDescGZIP() []byte {
	file_google_cloud_dialogflow_v2_tool_proto_rawDescOnce.Do(func() {
		file_google_cloud_dialogflow_v2_tool_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_google_cloud_dialogflow_v2_tool_proto_rawDesc), len(file_google_cloud_dialogflow_v2_tool_proto_rawDesc)))
	})
	return file_google_cloud_dialogflow_v2_tool_proto_rawDescData
}

var file_google_cloud_dialogflow_v2_tool_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
var file_google_cloud_dialogflow_v2_tool_proto_msgTypes = make([]protoimpl.MessageInfo, 22)
var file_google_cloud_dialogflow_v2_tool_proto_goTypes = []any{
	(Tool_ConfirmationRequirement)(0),                                // 0: google.cloud.dialogflow.v2.Tool.ConfirmationRequirement
	(Tool_MethodType)(0),                                             // 1: google.cloud.dialogflow.v2.Tool.MethodType
	(Tool_ConnectorTool_Action_EntityOperation_OperationType)(0),     // 2: google.cloud.dialogflow.v2.Tool.ConnectorTool.Action.EntityOperation.OperationType
	(Tool_Authentication_RequestLocation)(0),                         // 3: google.cloud.dialogflow.v2.Tool.Authentication.RequestLocation
	(Tool_Authentication_OAuthConfig_OauthGrantType)(0),              // 4: google.cloud.dialogflow.v2.Tool.Authentication.OAuthConfig.OauthGrantType
	(Tool_Authentication_ServiceAgentAuthConfig_ServiceAgentAuth)(0), // 5: google.cloud.dialogflow.v2.Tool.Authentication.ServiceAgentAuthConfig.ServiceAgentAuth
	(*CreateToolRequest)(nil),                                        // 6: google.cloud.dialogflow.v2.CreateToolRequest
	(*GetToolRequest)(nil),                                           // 7: google.cloud.dialogflow.v2.GetToolRequest
	(*ListToolsRequest)(nil),                                         // 8: google.cloud.dialogflow.v2.ListToolsRequest
	(*ListToolsResponse)(nil),                                        // 9: google.cloud.dialogflow.v2.ListToolsResponse
	(*DeleteToolRequest)(nil),                                        // 10: google.cloud.dialogflow.v2.DeleteToolRequest
	(*UpdateToolRequest)(nil),                                        // 11: google.cloud.dialogflow.v2.UpdateToolRequest
	(*Tool)(nil),                                                     // 12: google.cloud.dialogflow.v2.Tool
	(*Tool_ExtensionTool)(nil),                                       // 13: google.cloud.dialogflow.v2.Tool.ExtensionTool
	(*Tool_FunctionTool)(nil),                                        // 14: google.cloud.dialogflow.v2.Tool.FunctionTool
	(*Tool_OpenApiTool)(nil),                                         // 15: google.cloud.dialogflow.v2.Tool.OpenApiTool
	(*Tool_ConnectorTool)(nil),                                       // 16: google.cloud.dialogflow.v2.Tool.ConnectorTool
	(*Tool_Authentication)(nil),                                      // 17: google.cloud.dialogflow.v2.Tool.Authentication
	(*Tool_TLSConfig)(nil),                                           // 18: google.cloud.dialogflow.v2.Tool.TLSConfig
	(*Tool_ServiceDirectoryConfig)(nil),                              // 19: google.cloud.dialogflow.v2.Tool.ServiceDirectoryConfig
	nil,                                                              // 20: google.cloud.dialogflow.v2.Tool.ActionConfirmationRequirementEntry
	(*Tool_ConnectorTool_Action)(nil),                                // 21: google.cloud.dialogflow.v2.Tool.ConnectorTool.Action
	(*Tool_ConnectorTool_Action_EntityOperation)(nil),                // 22: google.cloud.dialogflow.v2.Tool.ConnectorTool.Action.EntityOperation
	(*Tool_Authentication_ApiKeyConfig)(nil),                         // 23: google.cloud.dialogflow.v2.Tool.Authentication.ApiKeyConfig
	(*Tool_Authentication_OAuthConfig)(nil),                          // 24: google.cloud.dialogflow.v2.Tool.Authentication.OAuthConfig
	(*Tool_Authentication_ServiceAgentAuthConfig)(nil),               // 25: google.cloud.dialogflow.v2.Tool.Authentication.ServiceAgentAuthConfig
	(*Tool_Authentication_BearerTokenConfig)(nil),                    // 26: google.cloud.dialogflow.v2.Tool.Authentication.BearerTokenConfig
	(*Tool_TLSConfig_CACert)(nil),                                    // 27: google.cloud.dialogflow.v2.Tool.TLSConfig.CACert
	(*fieldmaskpb.FieldMask)(nil),                                    // 28: google.protobuf.FieldMask
	(*timestamppb.Timestamp)(nil),                                    // 29: google.protobuf.Timestamp
	(*structpb.Struct)(nil),                                          // 30: google.protobuf.Struct
	(*emptypb.Empty)(nil),                                            // 31: google.protobuf.Empty
}
var file_google_cloud_dialogflow_v2_tool_proto_depIdxs = []int32{
	12, // 0: google.cloud.dialogflow.v2.CreateToolRequest.tool:type_name -> google.cloud.dialogflow.v2.Tool
	12, // 1: google.cloud.dialogflow.v2.ListToolsResponse.tools:type_name -> google.cloud.dialogflow.v2.Tool
	12, // 2: google.cloud.dialogflow.v2.UpdateToolRequest.tool:type_name -> google.cloud.dialogflow.v2.Tool
	28, // 3: google.cloud.dialogflow.v2.UpdateToolRequest.update_mask:type_name -> google.protobuf.FieldMask
	20, // 4: google.cloud.dialogflow.v2.Tool.action_confirmation_requirement:type_name -> google.cloud.dialogflow.v2.Tool.ActionConfirmationRequirementEntry
	13, // 5: google.cloud.dialogflow.v2.Tool.extension_spec:type_name -> google.cloud.dialogflow.v2.Tool.ExtensionTool
	14, // 6: google.cloud.dialogflow.v2.Tool.function_spec:type_name -> google.cloud.dialogflow.v2.Tool.FunctionTool
	16, // 7: google.cloud.dialogflow.v2.Tool.connector_spec:type_name -> google.cloud.dialogflow.v2.Tool.ConnectorTool
	15, // 8: google.cloud.dialogflow.v2.Tool.open_api_spec:type_name -> google.cloud.dialogflow.v2.Tool.OpenApiTool
	29, // 9: google.cloud.dialogflow.v2.Tool.create_time:type_name -> google.protobuf.Timestamp
	29, // 10: google.cloud.dialogflow.v2.Tool.update_time:type_name -> google.protobuf.Timestamp
	30, // 11: google.cloud.dialogflow.v2.Tool.FunctionTool.input_schema:type_name -> google.protobuf.Struct
	30, // 12: google.cloud.dialogflow.v2.Tool.FunctionTool.output_schema:type_name -> google.protobuf.Struct
	1,  // 13: google.cloud.dialogflow.v2.Tool.FunctionTool.method_type:type_name -> google.cloud.dialogflow.v2.Tool.MethodType
	17, // 14: google.cloud.dialogflow.v2.Tool.OpenApiTool.authentication:type_name -> google.cloud.dialogflow.v2.Tool.Authentication
	18, // 15: google.cloud.dialogflow.v2.Tool.OpenApiTool.tls_config:type_name -> google.cloud.dialogflow.v2.Tool.TLSConfig
	19, // 16: google.cloud.dialogflow.v2.Tool.OpenApiTool.service_directory_config:type_name -> google.cloud.dialogflow.v2.Tool.ServiceDirectoryConfig
	21, // 17: google.cloud.dialogflow.v2.Tool.ConnectorTool.actions:type_name -> google.cloud.dialogflow.v2.Tool.ConnectorTool.Action
	23, // 18: google.cloud.dialogflow.v2.Tool.Authentication.api_key_config:type_name -> google.cloud.dialogflow.v2.Tool.Authentication.ApiKeyConfig
	24, // 19: google.cloud.dialogflow.v2.Tool.Authentication.oauth_config:type_name -> google.cloud.dialogflow.v2.Tool.Authentication.OAuthConfig
	25, // 20: google.cloud.dialogflow.v2.Tool.Authentication.service_agent_auth_config:type_name -> google.cloud.dialogflow.v2.Tool.Authentication.ServiceAgentAuthConfig
	26, // 21: google.cloud.dialogflow.v2.Tool.Authentication.bearer_token_config:type_name -> google.cloud.dialogflow.v2.Tool.Authentication.BearerTokenConfig
	27, // 22: google.cloud.dialogflow.v2.Tool.TLSConfig.ca_certs:type_name -> google.cloud.dialogflow.v2.Tool.TLSConfig.CACert
	0,  // 23: google.cloud.dialogflow.v2.Tool.ActionConfirmationRequirementEntry.value:type_name -> google.cloud.dialogflow.v2.Tool.ConfirmationRequirement
	22, // 24: google.cloud.dialogflow.v2.Tool.ConnectorTool.Action.entity_operation:type_name -> google.cloud.dialogflow.v2.Tool.ConnectorTool.Action.EntityOperation
	2,  // 25: google.cloud.dialogflow.v2.Tool.ConnectorTool.Action.EntityOperation.operation:type_name -> google.cloud.dialogflow.v2.Tool.ConnectorTool.Action.EntityOperation.OperationType
	3,  // 26: google.cloud.dialogflow.v2.Tool.Authentication.ApiKeyConfig.request_location:type_name -> google.cloud.dialogflow.v2.Tool.Authentication.RequestLocation
	4,  // 27: google.cloud.dialogflow.v2.Tool.Authentication.OAuthConfig.oauth_grant_type:type_name -> google.cloud.dialogflow.v2.Tool.Authentication.OAuthConfig.OauthGrantType
	5,  // 28: google.cloud.dialogflow.v2.Tool.Authentication.ServiceAgentAuthConfig.service_agent_auth:type_name -> google.cloud.dialogflow.v2.Tool.Authentication.ServiceAgentAuthConfig.ServiceAgentAuth
	6,  // 29: google.cloud.dialogflow.v2.Tools.CreateTool:input_type -> google.cloud.dialogflow.v2.CreateToolRequest
	7,  // 30: google.cloud.dialogflow.v2.Tools.GetTool:input_type -> google.cloud.dialogflow.v2.GetToolRequest
	8,  // 31: google.cloud.dialogflow.v2.Tools.ListTools:input_type -> google.cloud.dialogflow.v2.ListToolsRequest
	10, // 32: google.cloud.dialogflow.v2.Tools.DeleteTool:input_type -> google.cloud.dialogflow.v2.DeleteToolRequest
	11, // 33: google.cloud.dialogflow.v2.Tools.UpdateTool:input_type -> google.cloud.dialogflow.v2.UpdateToolRequest
	12, // 34: google.cloud.dialogflow.v2.Tools.CreateTool:output_type -> google.cloud.dialogflow.v2.Tool
	12, // 35: google.cloud.dialogflow.v2.Tools.GetTool:output_type -> google.cloud.dialogflow.v2.Tool
	9,  // 36: google.cloud.dialogflow.v2.Tools.ListTools:output_type -> google.cloud.dialogflow.v2.ListToolsResponse
	31, // 37: google.cloud.dialogflow.v2.Tools.DeleteTool:output_type -> google.protobuf.Empty
	12, // 38: google.cloud.dialogflow.v2.Tools.UpdateTool:output_type -> google.cloud.dialogflow.v2.Tool
	34, // [34:39] is the sub-list for method output_type
	29, // [29:34] is the sub-list for method input_type
	29, // [29:29] is the sub-list for extension type_name
	29, // [29:29] is the sub-list for extension extendee
	0,  // [0:29] is the sub-list for field type_name
}

func init() { file_google_cloud_dialogflow_v2_tool_proto_init() }
func file_google_cloud_dialogflow_v2_tool_proto_init() {
	if File_google_cloud_dialogflow_v2_tool_proto != nil {
		return
	}
	file_google_cloud_dialogflow_v2_tool_proto_msgTypes[6].OneofWrappers = []any{
		(*Tool_ExtensionSpec)(nil),
		(*Tool_FunctionSpec)(nil),
		(*Tool_ConnectorSpec)(nil),
		(*Tool_OpenApiSpec)(nil),
	}
	file_google_cloud_dialogflow_v2_tool_proto_msgTypes[9].OneofWrappers = []any{
		(*Tool_OpenApiTool_TextSchema)(nil),
	}
	file_google_cloud_dialogflow_v2_tool_proto_msgTypes[11].OneofWrappers = []any{
		(*Tool_Authentication_ApiKeyConfig_)(nil),
		(*Tool_Authentication_OauthConfig)(nil),
		(*Tool_Authentication_ServiceAgentAuthConfig_)(nil),
		(*Tool_Authentication_BearerTokenConfig_)(nil),
	}
	file_google_cloud_dialogflow_v2_tool_proto_msgTypes[15].OneofWrappers = []any{
		(*Tool_ConnectorTool_Action_ConnectionActionId)(nil),
		(*Tool_ConnectorTool_Action_EntityOperation_)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_cloud_dialogflow_v2_tool_proto_rawDesc), len(file_google_cloud_dialogflow_v2_tool_proto_rawDesc)),
			NumEnums:      6,
			NumMessages:   22,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_google_cloud_dialogflow_v2_tool_proto_goTypes,
		DependencyIndexes: file_google_cloud_dialogflow_v2_tool_proto_depIdxs,
		EnumInfos:         file_google_cloud_dialogflow_v2_tool_proto_enumTypes,
		MessageInfos:      file_google_cloud_dialogflow_v2_tool_proto_msgTypes,
	}.Build()
	File_google_cloud_dialogflow_v2_tool_proto = out.File
	file_google_cloud_dialogflow_v2_tool_proto_goTypes = nil
	file_google_cloud_dialogflow_v2_tool_proto_depIdxs = nil
}
