// 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/kms/v1/ekm_service.proto

package kmspb

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"
	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
	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)
)

// [KeyManagementMode][google.cloud.kms.v1.EkmConnection.KeyManagementMode]
// describes who can perform control plane cryptographic operations using this
// [EkmConnection][google.cloud.kms.v1.EkmConnection].
type EkmConnection_KeyManagementMode int32

const (
	// Not specified.
	EkmConnection_KEY_MANAGEMENT_MODE_UNSPECIFIED EkmConnection_KeyManagementMode = 0
	// EKM-side key management operations on
	// [CryptoKeys][google.cloud.kms.v1.CryptoKey] created with this
	// [EkmConnection][google.cloud.kms.v1.EkmConnection] must be initiated from
	// the EKM directly and cannot be performed from Cloud KMS. This means that:
	// * When creating a
	// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] associated with
	// this
	//
	//	[EkmConnection][google.cloud.kms.v1.EkmConnection], the caller must
	//	supply the key path of pre-existing external key material that will be
	//	linked to the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
	//   - Destruction of external key material cannot be requested via the
	//     Cloud KMS API and must be performed directly in the EKM.
	//   - Automatic rotation of key material is not supported.
	EkmConnection_MANUAL EkmConnection_KeyManagementMode = 1
	// All [CryptoKeys][google.cloud.kms.v1.CryptoKey] created with this
	// [EkmConnection][google.cloud.kms.v1.EkmConnection] use EKM-side key
	// management operations initiated from Cloud KMS. This means that:
	//
	// * When a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
	// associated with this [EkmConnection][google.cloud.kms.v1.EkmConnection]
	// is
	//
	//	created, the EKM automatically generates new key material and a new
	//	key path. The caller cannot supply the key path of pre-existing
	//	external key material.
	//   - Destruction of external key material associated with this
	//     [EkmConnection][google.cloud.kms.v1.EkmConnection] can be requested by
	//     calling
	//     [DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion].
	//   - Automatic rotation of key material is supported.
	EkmConnection_CLOUD_KMS EkmConnection_KeyManagementMode = 2
)

// Enum value maps for EkmConnection_KeyManagementMode.
var (
	EkmConnection_KeyManagementMode_name = map[int32]string{
		0: "KEY_MANAGEMENT_MODE_UNSPECIFIED",
		1: "MANUAL",
		2: "CLOUD_KMS",
	}
	EkmConnection_KeyManagementMode_value = map[string]int32{
		"KEY_MANAGEMENT_MODE_UNSPECIFIED": 0,
		"MANUAL":                          1,
		"CLOUD_KMS":                       2,
	}
)

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

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

func (EkmConnection_KeyManagementMode) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_kms_v1_ekm_service_proto_enumTypes[0].Descriptor()
}

func (EkmConnection_KeyManagementMode) Type() protoreflect.EnumType {
	return &file_google_cloud_kms_v1_ekm_service_proto_enumTypes[0]
}

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

// Deprecated: Use EkmConnection_KeyManagementMode.Descriptor instead.
func (EkmConnection_KeyManagementMode) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_kms_v1_ekm_service_proto_rawDescGZIP(), []int{8, 0}
}

// Request message for
// [EkmService.ListEkmConnections][google.cloud.kms.v1.EkmService.ListEkmConnections].
type ListEkmConnectionsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The resource name of the location associated with the
	// [EkmConnections][google.cloud.kms.v1.EkmConnection] to list, in the format
	// `projects/*/locations/*`.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Optional. Optional limit on the number of
	// [EkmConnections][google.cloud.kms.v1.EkmConnection] to include in the
	// response. Further [EkmConnections][google.cloud.kms.v1.EkmConnection] can
	// subsequently be obtained by including the
	// [ListEkmConnectionsResponse.next_page_token][google.cloud.kms.v1.ListEkmConnectionsResponse.next_page_token]
	// in a subsequent request. If unspecified, the server will pick an
	// appropriate default.
	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Optional. Optional pagination token, returned earlier via
	// [ListEkmConnectionsResponse.next_page_token][google.cloud.kms.v1.ListEkmConnectionsResponse.next_page_token].
	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// Optional. Only include resources that match the filter in the response. For
	// more information, see
	// [Sorting and filtering list
	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
	// Optional. Specify how the results should be sorted. If not specified, the
	// results will be sorted in the default order.  For more information, see
	// [Sorting and filtering list
	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
	OrderBy       string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListEkmConnectionsRequest) ProtoMessage() {}

func (x *ListEkmConnectionsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_kms_v1_ekm_service_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 ListEkmConnectionsRequest.ProtoReflect.Descriptor instead.
func (*ListEkmConnectionsRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_kms_v1_ekm_service_proto_rawDescGZIP(), []int{0}
}

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

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

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

func (x *ListEkmConnectionsRequest) GetFilter() string {
	if x != nil {
		return x.Filter
	}
	return ""
}

func (x *ListEkmConnectionsRequest) GetOrderBy() string {
	if x != nil {
		return x.OrderBy
	}
	return ""
}

// Response message for
// [EkmService.ListEkmConnections][google.cloud.kms.v1.EkmService.ListEkmConnections].
type ListEkmConnectionsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The list of [EkmConnections][google.cloud.kms.v1.EkmConnection].
	EkmConnections []*EkmConnection `protobuf:"bytes,1,rep,name=ekm_connections,json=ekmConnections,proto3" json:"ekm_connections,omitempty"`
	// A token to retrieve next page of results. Pass this value in
	// [ListEkmConnectionsRequest.page_token][google.cloud.kms.v1.ListEkmConnectionsRequest.page_token]
	// to retrieve the next page of results.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// The total number of [EkmConnections][google.cloud.kms.v1.EkmConnection]
	// that matched the query.
	//
	// This field is not populated if
	// [ListEkmConnectionsRequest.filter][google.cloud.kms.v1.ListEkmConnectionsRequest.filter]
	// is applied.
	TotalSize     int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListEkmConnectionsResponse) ProtoMessage() {}

func (x *ListEkmConnectionsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_kms_v1_ekm_service_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 ListEkmConnectionsResponse.ProtoReflect.Descriptor instead.
func (*ListEkmConnectionsResponse) Descriptor() ([]byte, []int) {
	return file_google_cloud_kms_v1_ekm_service_proto_rawDescGZIP(), []int{1}
}

func (x *ListEkmConnectionsResponse) GetEkmConnections() []*EkmConnection {
	if x != nil {
		return x.EkmConnections
	}
	return nil
}

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

func (x *ListEkmConnectionsResponse) GetTotalSize() int32 {
	if x != nil {
		return x.TotalSize
	}
	return 0
}

// Request message for
// [EkmService.GetEkmConnection][google.cloud.kms.v1.EkmService.GetEkmConnection].
type GetEkmConnectionRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The [name][google.cloud.kms.v1.EkmConnection.name] of the
	// [EkmConnection][google.cloud.kms.v1.EkmConnection] to get.
	Name          string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetEkmConnectionRequest) ProtoMessage() {}

func (x *GetEkmConnectionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_kms_v1_ekm_service_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 GetEkmConnectionRequest.ProtoReflect.Descriptor instead.
func (*GetEkmConnectionRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_kms_v1_ekm_service_proto_rawDescGZIP(), []int{2}
}

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

// Request message for
// [EkmService.CreateEkmConnection][google.cloud.kms.v1.EkmService.CreateEkmConnection].
type CreateEkmConnectionRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The resource name of the location associated with the
	// [EkmConnection][google.cloud.kms.v1.EkmConnection], in the format
	// `projects/*/locations/*`.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Required. It must be unique within a location and match the regular
	// expression `[a-zA-Z0-9_-]{1,63}`.
	EkmConnectionId string `protobuf:"bytes,2,opt,name=ekm_connection_id,json=ekmConnectionId,proto3" json:"ekm_connection_id,omitempty"`
	// Required. An [EkmConnection][google.cloud.kms.v1.EkmConnection] with
	// initial field values.
	EkmConnection *EkmConnection `protobuf:"bytes,3,opt,name=ekm_connection,json=ekmConnection,proto3" json:"ekm_connection,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CreateEkmConnectionRequest) ProtoMessage() {}

func (x *CreateEkmConnectionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_kms_v1_ekm_service_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 CreateEkmConnectionRequest.ProtoReflect.Descriptor instead.
func (*CreateEkmConnectionRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_kms_v1_ekm_service_proto_rawDescGZIP(), []int{3}
}

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

func (x *CreateEkmConnectionRequest) GetEkmConnectionId() string {
	if x != nil {
		return x.EkmConnectionId
	}
	return ""
}

func (x *CreateEkmConnectionRequest) GetEkmConnection() *EkmConnection {
	if x != nil {
		return x.EkmConnection
	}
	return nil
}

// Request message for
// [EkmService.UpdateEkmConnection][google.cloud.kms.v1.EkmService.UpdateEkmConnection].
type UpdateEkmConnectionRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. [EkmConnection][google.cloud.kms.v1.EkmConnection] with updated
	// values.
	EkmConnection *EkmConnection `protobuf:"bytes,1,opt,name=ekm_connection,json=ekmConnection,proto3" json:"ekm_connection,omitempty"`
	// Required. List of fields to be updated in this request.
	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 *UpdateEkmConnectionRequest) Reset() {
	*x = UpdateEkmConnectionRequest{}
	mi := &file_google_cloud_kms_v1_ekm_service_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpdateEkmConnectionRequest) ProtoMessage() {}

func (x *UpdateEkmConnectionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_kms_v1_ekm_service_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 UpdateEkmConnectionRequest.ProtoReflect.Descriptor instead.
func (*UpdateEkmConnectionRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_kms_v1_ekm_service_proto_rawDescGZIP(), []int{4}
}

func (x *UpdateEkmConnectionRequest) GetEkmConnection() *EkmConnection {
	if x != nil {
		return x.EkmConnection
	}
	return nil
}

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

// Request message for
// [EkmService.GetEkmConfig][google.cloud.kms.v1.EkmService.GetEkmConfig].
type GetEkmConfigRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The [name][google.cloud.kms.v1.EkmConfig.name] of the
	// [EkmConfig][google.cloud.kms.v1.EkmConfig] to get.
	Name          string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetEkmConfigRequest) ProtoMessage() {}

func (x *GetEkmConfigRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_kms_v1_ekm_service_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 GetEkmConfigRequest.ProtoReflect.Descriptor instead.
func (*GetEkmConfigRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_kms_v1_ekm_service_proto_rawDescGZIP(), []int{5}
}

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

// Request message for
// [EkmService.UpdateEkmConfig][google.cloud.kms.v1.EkmService.UpdateEkmConfig].
type UpdateEkmConfigRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. [EkmConfig][google.cloud.kms.v1.EkmConfig] with updated values.
	EkmConfig *EkmConfig `protobuf:"bytes,1,opt,name=ekm_config,json=ekmConfig,proto3" json:"ekm_config,omitempty"`
	// Required. List of fields to be updated in this request.
	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 *UpdateEkmConfigRequest) Reset() {
	*x = UpdateEkmConfigRequest{}
	mi := &file_google_cloud_kms_v1_ekm_service_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpdateEkmConfigRequest) ProtoMessage() {}

func (x *UpdateEkmConfigRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_kms_v1_ekm_service_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 UpdateEkmConfigRequest.ProtoReflect.Descriptor instead.
func (*UpdateEkmConfigRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_kms_v1_ekm_service_proto_rawDescGZIP(), []int{6}
}

func (x *UpdateEkmConfigRequest) GetEkmConfig() *EkmConfig {
	if x != nil {
		return x.EkmConfig
	}
	return nil
}

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

// A [Certificate][google.cloud.kms.v1.Certificate] represents an X.509
// certificate used to authenticate HTTPS connections to EKM replicas.
type Certificate struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The raw certificate bytes in DER format.
	RawDer []byte `protobuf:"bytes,1,opt,name=raw_der,json=rawDer,proto3" json:"raw_der,omitempty"`
	// Output only. True if the certificate was parsed successfully.
	Parsed bool `protobuf:"varint,2,opt,name=parsed,proto3" json:"parsed,omitempty"`
	// Output only. The issuer distinguished name in RFC 2253 format. Only present
	// if [parsed][google.cloud.kms.v1.Certificate.parsed] is true.
	Issuer string `protobuf:"bytes,3,opt,name=issuer,proto3" json:"issuer,omitempty"`
	// Output only. The subject distinguished name in RFC 2253 format. Only
	// present if [parsed][google.cloud.kms.v1.Certificate.parsed] is true.
	Subject string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"`
	// Output only. The subject Alternative DNS names. Only present if
	// [parsed][google.cloud.kms.v1.Certificate.parsed] is true.
	SubjectAlternativeDnsNames []string `protobuf:"bytes,5,rep,name=subject_alternative_dns_names,json=subjectAlternativeDnsNames,proto3" json:"subject_alternative_dns_names,omitempty"`
	// Output only. The certificate is not valid before this time. Only present if
	// [parsed][google.cloud.kms.v1.Certificate.parsed] is true.
	NotBeforeTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=not_before_time,json=notBeforeTime,proto3" json:"not_before_time,omitempty"`
	// Output only. The certificate is not valid after this time. Only present if
	// [parsed][google.cloud.kms.v1.Certificate.parsed] is true.
	NotAfterTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=not_after_time,json=notAfterTime,proto3" json:"not_after_time,omitempty"`
	// Output only. The certificate serial number as a hex string. Only present if
	// [parsed][google.cloud.kms.v1.Certificate.parsed] is true.
	SerialNumber string `protobuf:"bytes,8,opt,name=serial_number,json=serialNumber,proto3" json:"serial_number,omitempty"`
	// Output only. The SHA-256 certificate fingerprint as a hex string. Only
	// present if [parsed][google.cloud.kms.v1.Certificate.parsed] is true.
	Sha256Fingerprint string `protobuf:"bytes,9,opt,name=sha256_fingerprint,json=sha256Fingerprint,proto3" json:"sha256_fingerprint,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*Certificate) ProtoMessage() {}

func (x *Certificate) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_kms_v1_ekm_service_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 Certificate.ProtoReflect.Descriptor instead.
func (*Certificate) Descriptor() ([]byte, []int) {
	return file_google_cloud_kms_v1_ekm_service_proto_rawDescGZIP(), []int{7}
}

func (x *Certificate) GetRawDer() []byte {
	if x != nil {
		return x.RawDer
	}
	return nil
}

func (x *Certificate) GetParsed() bool {
	if x != nil {
		return x.Parsed
	}
	return false
}

func (x *Certificate) GetIssuer() string {
	if x != nil {
		return x.Issuer
	}
	return ""
}

func (x *Certificate) GetSubject() string {
	if x != nil {
		return x.Subject
	}
	return ""
}

func (x *Certificate) GetSubjectAlternativeDnsNames() []string {
	if x != nil {
		return x.SubjectAlternativeDnsNames
	}
	return nil
}

func (x *Certificate) GetNotBeforeTime() *timestamppb.Timestamp {
	if x != nil {
		return x.NotBeforeTime
	}
	return nil
}

func (x *Certificate) GetNotAfterTime() *timestamppb.Timestamp {
	if x != nil {
		return x.NotAfterTime
	}
	return nil
}

func (x *Certificate) GetSerialNumber() string {
	if x != nil {
		return x.SerialNumber
	}
	return ""
}

func (x *Certificate) GetSha256Fingerprint() string {
	if x != nil {
		return x.Sha256Fingerprint
	}
	return ""
}

// An [EkmConnection][google.cloud.kms.v1.EkmConnection] represents an
// individual EKM connection. It can be used for creating
// [CryptoKeys][google.cloud.kms.v1.CryptoKey] and
// [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] with a
// [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of
// [EXTERNAL_VPC][google.cloud.kms.v1.ProtectionLevel.EXTERNAL_VPC], as well as
// performing cryptographic operations using keys created within the
// [EkmConnection][google.cloud.kms.v1.EkmConnection].
type EkmConnection struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Output only. The resource name for the
	// [EkmConnection][google.cloud.kms.v1.EkmConnection] in the format
	// `projects/*/locations/*/ekmConnections/*`.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Output only. The time at which the
	// [EkmConnection][google.cloud.kms.v1.EkmConnection] was created.
	CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// Optional. A list of
	// [ServiceResolvers][google.cloud.kms.v1.EkmConnection.ServiceResolver] where
	// the EKM can be reached. There should be one ServiceResolver per EKM
	// replica. Currently, only a single
	// [ServiceResolver][google.cloud.kms.v1.EkmConnection.ServiceResolver] is
	// supported.
	ServiceResolvers []*EkmConnection_ServiceResolver `protobuf:"bytes,3,rep,name=service_resolvers,json=serviceResolvers,proto3" json:"service_resolvers,omitempty"`
	// Optional. Etag of the currently stored
	// [EkmConnection][google.cloud.kms.v1.EkmConnection].
	Etag string `protobuf:"bytes,5,opt,name=etag,proto3" json:"etag,omitempty"`
	// Optional. Describes who can perform control plane operations on the EKM. If
	// unset, this defaults to
	// [MANUAL][google.cloud.kms.v1.EkmConnection.KeyManagementMode.MANUAL].
	KeyManagementMode EkmConnection_KeyManagementMode `protobuf:"varint,6,opt,name=key_management_mode,json=keyManagementMode,proto3,enum=google.cloud.kms.v1.EkmConnection_KeyManagementMode" json:"key_management_mode,omitempty"`
	// Optional. Identifies the EKM Crypto Space that this
	// [EkmConnection][google.cloud.kms.v1.EkmConnection] maps to. Note: This
	// field is required if
	// [KeyManagementMode][google.cloud.kms.v1.EkmConnection.KeyManagementMode] is
	// [CLOUD_KMS][google.cloud.kms.v1.EkmConnection.KeyManagementMode.CLOUD_KMS].
	CryptoSpacePath string `protobuf:"bytes,7,opt,name=crypto_space_path,json=cryptoSpacePath,proto3" json:"crypto_space_path,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*EkmConnection) ProtoMessage() {}

func (x *EkmConnection) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_kms_v1_ekm_service_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 EkmConnection.ProtoReflect.Descriptor instead.
func (*EkmConnection) Descriptor() ([]byte, []int) {
	return file_google_cloud_kms_v1_ekm_service_proto_rawDescGZIP(), []int{8}
}

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

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

func (x *EkmConnection) GetServiceResolvers() []*EkmConnection_ServiceResolver {
	if x != nil {
		return x.ServiceResolvers
	}
	return nil
}

func (x *EkmConnection) GetEtag() string {
	if x != nil {
		return x.Etag
	}
	return ""
}

func (x *EkmConnection) GetKeyManagementMode() EkmConnection_KeyManagementMode {
	if x != nil {
		return x.KeyManagementMode
	}
	return EkmConnection_KEY_MANAGEMENT_MODE_UNSPECIFIED
}

func (x *EkmConnection) GetCryptoSpacePath() string {
	if x != nil {
		return x.CryptoSpacePath
	}
	return ""
}

// An [EkmConfig][google.cloud.kms.v1.EkmConfig] is a singleton resource that
// represents configuration parameters that apply to all
// [CryptoKeys][google.cloud.kms.v1.CryptoKey] and
// [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] with a
// [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of
// [EXTERNAL_VPC][google.cloud.kms.v1.ProtectionLevel.EXTERNAL_VPC] in a given
// project and location.
type EkmConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Output only. The resource name for the
	// [EkmConfig][google.cloud.kms.v1.EkmConfig] in the format
	// `projects/*/locations/*/ekmConfig`.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Optional. Resource name of the default
	// [EkmConnection][google.cloud.kms.v1.EkmConnection]. Setting this field to
	// the empty string removes the default.
	DefaultEkmConnection string `protobuf:"bytes,2,opt,name=default_ekm_connection,json=defaultEkmConnection,proto3" json:"default_ekm_connection,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

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

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

func (*EkmConfig) ProtoMessage() {}

func (x *EkmConfig) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_kms_v1_ekm_service_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 EkmConfig.ProtoReflect.Descriptor instead.
func (*EkmConfig) Descriptor() ([]byte, []int) {
	return file_google_cloud_kms_v1_ekm_service_proto_rawDescGZIP(), []int{9}
}

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

func (x *EkmConfig) GetDefaultEkmConnection() string {
	if x != nil {
		return x.DefaultEkmConnection
	}
	return ""
}

// Request message for
// [EkmService.VerifyConnectivity][google.cloud.kms.v1.EkmService.VerifyConnectivity].
type VerifyConnectivityRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The [name][google.cloud.kms.v1.EkmConnection.name] of the
	// [EkmConnection][google.cloud.kms.v1.EkmConnection] to verify.
	Name          string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*VerifyConnectivityRequest) ProtoMessage() {}

func (x *VerifyConnectivityRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_kms_v1_ekm_service_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 VerifyConnectivityRequest.ProtoReflect.Descriptor instead.
func (*VerifyConnectivityRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_kms_v1_ekm_service_proto_rawDescGZIP(), []int{10}
}

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

// Response message for
// [EkmService.VerifyConnectivity][google.cloud.kms.v1.EkmService.VerifyConnectivity].
type VerifyConnectivityResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*VerifyConnectivityResponse) ProtoMessage() {}

func (x *VerifyConnectivityResponse) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_kms_v1_ekm_service_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 VerifyConnectivityResponse.ProtoReflect.Descriptor instead.
func (*VerifyConnectivityResponse) Descriptor() ([]byte, []int) {
	return file_google_cloud_kms_v1_ekm_service_proto_rawDescGZIP(), []int{11}
}

// A [ServiceResolver][google.cloud.kms.v1.EkmConnection.ServiceResolver]
// represents an EKM replica that can be reached within an
// [EkmConnection][google.cloud.kms.v1.EkmConnection].
type EkmConnection_ServiceResolver struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The resource name of the Service Directory service pointing to
	// an EKM replica, in the format
	// `projects/*/locations/*/namespaces/*/services/*`.
	ServiceDirectoryService string `protobuf:"bytes,1,opt,name=service_directory_service,json=serviceDirectoryService,proto3" json:"service_directory_service,omitempty"`
	// Optional. The filter applied to the endpoints of the resolved service. If
	// no filter is specified, all endpoints will be considered. An endpoint
	// will be chosen arbitrarily from the filtered list for each request.
	//
	// For endpoint filter syntax and examples, see
	// https://cloud.google.com/service-directory/docs/reference/rpc/google.cloud.servicedirectory.v1#resolveservicerequest.
	EndpointFilter string `protobuf:"bytes,2,opt,name=endpoint_filter,json=endpointFilter,proto3" json:"endpoint_filter,omitempty"`
	// Required. The hostname of the EKM replica used at TLS and HTTP layers.
	Hostname string `protobuf:"bytes,3,opt,name=hostname,proto3" json:"hostname,omitempty"`
	// Required. A list of leaf server certificates used to authenticate HTTPS
	// connections to the EKM replica. Currently, a maximum of 10
	// [Certificate][google.cloud.kms.v1.Certificate] is supported.
	ServerCertificates []*Certificate `protobuf:"bytes,4,rep,name=server_certificates,json=serverCertificates,proto3" json:"server_certificates,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

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

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

func (*EkmConnection_ServiceResolver) ProtoMessage() {}

func (x *EkmConnection_ServiceResolver) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_kms_v1_ekm_service_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 EkmConnection_ServiceResolver.ProtoReflect.Descriptor instead.
func (*EkmConnection_ServiceResolver) Descriptor() ([]byte, []int) {
	return file_google_cloud_kms_v1_ekm_service_proto_rawDescGZIP(), []int{8, 0}
}

func (x *EkmConnection_ServiceResolver) GetServiceDirectoryService() string {
	if x != nil {
		return x.ServiceDirectoryService
	}
	return ""
}

func (x *EkmConnection_ServiceResolver) GetEndpointFilter() string {
	if x != nil {
		return x.EndpointFilter
	}
	return ""
}

func (x *EkmConnection_ServiceResolver) GetHostname() string {
	if x != nil {
		return x.Hostname
	}
	return ""
}

func (x *EkmConnection_ServiceResolver) GetServerCertificates() []*Certificate {
	if x != nil {
		return x.ServerCertificates
	}
	return nil
}

var File_google_cloud_kms_v1_ekm_service_proto protoreflect.FileDescriptor

const file_google_cloud_kms_v1_ekm_service_proto_rawDesc = "" +
	"\n" +
	"%google/cloud/kms/v1/ekm_service.proto\x12\x13google.cloud.kms.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xe1\x01\n" +
	"\x19ListEkmConnectionsRequest\x12A\n" +
	"\x06parent\x18\x01 \x01(\tB)\xe0A\x02\xfaA#\n" +
	"!locations.googleapis.com/LocationR\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\x12\x1b\n" +
	"\x06filter\x18\x04 \x01(\tB\x03\xe0A\x01R\x06filter\x12\x1e\n" +
	"\border_by\x18\x05 \x01(\tB\x03\xe0A\x01R\aorderBy\"\xb0\x01\n" +
	"\x1aListEkmConnectionsResponse\x12K\n" +
	"\x0fekm_connections\x18\x01 \x03(\v2\".google.cloud.kms.v1.EkmConnectionR\x0eekmConnections\x12&\n" +
	"\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\x12\x1d\n" +
	"\n" +
	"total_size\x18\x03 \x01(\x05R\ttotalSize\"\\\n" +
	"\x17GetEkmConnectionRequest\x12A\n" +
	"\x04name\x18\x01 \x01(\tB-\xe0A\x02\xfaA'\n" +
	"%cloudkms.googleapis.com/EkmConnectionR\x04name\"\xe0\x01\n" +
	"\x1aCreateEkmConnectionRequest\x12A\n" +
	"\x06parent\x18\x01 \x01(\tB)\xe0A\x02\xfaA#\n" +
	"!locations.googleapis.com/LocationR\x06parent\x12/\n" +
	"\x11ekm_connection_id\x18\x02 \x01(\tB\x03\xe0A\x02R\x0fekmConnectionId\x12N\n" +
	"\x0eekm_connection\x18\x03 \x01(\v2\".google.cloud.kms.v1.EkmConnectionB\x03\xe0A\x02R\rekmConnection\"\xae\x01\n" +
	"\x1aUpdateEkmConnectionRequest\x12N\n" +
	"\x0eekm_connection\x18\x01 \x01(\v2\".google.cloud.kms.v1.EkmConnectionB\x03\xe0A\x02R\rekmConnection\x12@\n" +
	"\vupdate_mask\x18\x02 \x01(\v2\x1a.google.protobuf.FieldMaskB\x03\xe0A\x02R\n" +
	"updateMask\"T\n" +
	"\x13GetEkmConfigRequest\x12=\n" +
	"\x04name\x18\x01 \x01(\tB)\xe0A\x02\xfaA#\n" +
	"!cloudkms.googleapis.com/EkmConfigR\x04name\"\x9e\x01\n" +
	"\x16UpdateEkmConfigRequest\x12B\n" +
	"\n" +
	"ekm_config\x18\x01 \x01(\v2\x1e.google.cloud.kms.v1.EkmConfigB\x03\xe0A\x02R\tekmConfig\x12@\n" +
	"\vupdate_mask\x18\x02 \x01(\v2\x1a.google.protobuf.FieldMaskB\x03\xe0A\x02R\n" +
	"updateMask\"\xba\x03\n" +
	"\vCertificate\x12\x1c\n" +
	"\araw_der\x18\x01 \x01(\fB\x03\xe0A\x02R\x06rawDer\x12\x1b\n" +
	"\x06parsed\x18\x02 \x01(\bB\x03\xe0A\x03R\x06parsed\x12\x1b\n" +
	"\x06issuer\x18\x03 \x01(\tB\x03\xe0A\x03R\x06issuer\x12\x1d\n" +
	"\asubject\x18\x04 \x01(\tB\x03\xe0A\x03R\asubject\x12F\n" +
	"\x1dsubject_alternative_dns_names\x18\x05 \x03(\tB\x03\xe0A\x03R\x1asubjectAlternativeDnsNames\x12G\n" +
	"\x0fnot_before_time\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampB\x03\xe0A\x03R\rnotBeforeTime\x12E\n" +
	"\x0enot_after_time\x18\a \x01(\v2\x1a.google.protobuf.TimestampB\x03\xe0A\x03R\fnotAfterTime\x12(\n" +
	"\rserial_number\x18\b \x01(\tB\x03\xe0A\x03R\fserialNumber\x122\n" +
	"\x12sha256_fingerprint\x18\t \x01(\tB\x03\xe0A\x03R\x11sha256Fingerprint\"\xf7\x06\n" +
	"\rEkmConnection\x12\x17\n" +
	"\x04name\x18\x01 \x01(\tB\x03\xe0A\x03R\x04name\x12@\n" +
	"\vcreate_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampB\x03\xe0A\x03R\n" +
	"createTime\x12d\n" +
	"\x11service_resolvers\x18\x03 \x03(\v22.google.cloud.kms.v1.EkmConnection.ServiceResolverB\x03\xe0A\x01R\x10serviceResolvers\x12\x17\n" +
	"\x04etag\x18\x05 \x01(\tB\x03\xe0A\x01R\x04etag\x12i\n" +
	"\x13key_management_mode\x18\x06 \x01(\x0e24.google.cloud.kms.v1.EkmConnection.KeyManagementModeB\x03\xe0A\x01R\x11keyManagementMode\x12/\n" +
	"\x11crypto_space_path\x18\a \x01(\tB\x03\xe0A\x01R\x0fcryptoSpacePath\x1a\xa5\x02\n" +
	"\x0fServiceResolver\x12k\n" +
	"\x19service_directory_service\x18\x01 \x01(\tB/\xe0A\x02\xfaA)\n" +
	"'servicedirectory.googleapis.com/ServiceR\x17serviceDirectoryService\x12,\n" +
	"\x0fendpoint_filter\x18\x02 \x01(\tB\x03\xe0A\x01R\x0eendpointFilter\x12\x1f\n" +
	"\bhostname\x18\x03 \x01(\tB\x03\xe0A\x02R\bhostname\x12V\n" +
	"\x13server_certificates\x18\x04 \x03(\v2 .google.cloud.kms.v1.CertificateB\x03\xe0A\x02R\x12serverCertificates\"S\n" +
	"\x11KeyManagementMode\x12#\n" +
	"\x1fKEY_MANAGEMENT_MODE_UNSPECIFIED\x10\x00\x12\n" +
	"\n" +
	"\x06MANUAL\x10\x01\x12\r\n" +
	"\tCLOUD_KMS\x10\x02:s\xeaAp\n" +
	"%cloudkms.googleapis.com/EkmConnection\x12Gprojects/{project}/locations/{location}/ekmConnections/{ekm_connection}\"\xe4\x01\n" +
	"\tEkmConfig\x12\x17\n" +
	"\x04name\x18\x01 \x01(\tB\x03\xe0A\x03R\x04name\x12c\n" +
	"\x16default_ekm_connection\x18\x02 \x01(\tB-\xe0A\x01\xfaA'\n" +
	"%cloudkms.googleapis.com/EkmConnectionR\x14defaultEkmConnection:Y\xeaAV\n" +
	"!cloudkms.googleapis.com/EkmConfig\x121projects/{project}/locations/{location}/ekmConfig\"^\n" +
	"\x19VerifyConnectivityRequest\x12A\n" +
	"\x04name\x18\x01 \x01(\tB-\xe0A\x02\xfaA'\n" +
	"%cloudkms.googleapis.com/EkmConnectionR\x04name\"\x1c\n" +
	"\x1aVerifyConnectivityResponse2\xdc\v\n" +
	"\n" +
	"EkmService\x12\xba\x01\n" +
	"\x12ListEkmConnections\x12..google.cloud.kms.v1.ListEkmConnectionsRequest\x1a/.google.cloud.kms.v1.ListEkmConnectionsResponse\"C\xdaA\x06parent\x82\xd3\xe4\x93\x024\x122/v1/{parent=projects/*/locations/*}/ekmConnections\x12\xa7\x01\n" +
	"\x10GetEkmConnection\x12,.google.cloud.kms.v1.GetEkmConnectionRequest\x1a\".google.cloud.kms.v1.EkmConnection\"A\xdaA\x04name\x82\xd3\xe4\x93\x024\x122/v1/{name=projects/*/locations/*/ekmConnections/*}\x12\xe0\x01\n" +
	"\x13CreateEkmConnection\x12/.google.cloud.kms.v1.CreateEkmConnectionRequest\x1a\".google.cloud.kms.v1.EkmConnection\"t\xdaA'parent,ekm_connection_id,ekm_connection\x82\xd3\xe4\x93\x02D:\x0eekm_connection\"2/v1/{parent=projects/*/locations/*}/ekmConnections\x12\xe2\x01\n" +
	"\x13UpdateEkmConnection\x12/.google.cloud.kms.v1.UpdateEkmConnectionRequest\x1a\".google.cloud.kms.v1.EkmConnection\"v\xdaA\x1aekm_connection,update_mask\x82\xd3\xe4\x93\x02S:\x0eekm_connection2A/v1/{ekm_connection.name=projects/*/locations/*/ekmConnections/*}\x12\x94\x01\n" +
	"\fGetEkmConfig\x12(.google.cloud.kms.v1.GetEkmConfigRequest\x1a\x1e.google.cloud.kms.v1.EkmConfig\":\xdaA\x04name\x82\xd3\xe4\x93\x02-\x12+/v1/{name=projects/*/locations/*/ekmConfig}\x12\xc3\x01\n" +
	"\x0fUpdateEkmConfig\x12+.google.cloud.kms.v1.UpdateEkmConfigRequest\x1a\x1e.google.cloud.kms.v1.EkmConfig\"c\xdaA\x16ekm_config,update_mask\x82\xd3\xe4\x93\x02D:\n" +
	"ekm_config26/v1/{ekm_config.name=projects/*/locations/*/ekmConfig}\x12\xcb\x01\n" +
	"\x12VerifyConnectivity\x12..google.cloud.kms.v1.VerifyConnectivityRequest\x1a/.google.cloud.kms.v1.VerifyConnectivityResponse\"T\xdaA\x04name\x82\xd3\xe4\x93\x02G\x12E/v1/{name=projects/*/locations/*/ekmConnections/*}:verifyConnectivity\x1at\xcaA\x17cloudkms.googleapis.com\xd2AWhttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloudkmsB\x82\x02\xeaA|\n" +
	"'servicedirectory.googleapis.com/Service\x12Qprojects/{project}/locations/{location}/namespaces/{namespace}/services/{service}\n" +
	"\x17com.google.cloud.kms.v1B\x0fEkmServiceProtoP\x01Z)cloud.google.com/go/kms/apiv1/kmspb;kmspb\xaa\x02\x13Google.Cloud.Kms.V1\xca\x02\x13Google\\Cloud\\Kms\\V1b\x06proto3"

var (
	file_google_cloud_kms_v1_ekm_service_proto_rawDescOnce sync.Once
	file_google_cloud_kms_v1_ekm_service_proto_rawDescData []byte
)

func file_google_cloud_kms_v1_ekm_service_proto_rawDescGZIP() []byte {
	file_google_cloud_kms_v1_ekm_service_proto_rawDescOnce.Do(func() {
		file_google_cloud_kms_v1_ekm_service_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_google_cloud_kms_v1_ekm_service_proto_rawDesc), len(file_google_cloud_kms_v1_ekm_service_proto_rawDesc)))
	})
	return file_google_cloud_kms_v1_ekm_service_proto_rawDescData
}

var file_google_cloud_kms_v1_ekm_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_google_cloud_kms_v1_ekm_service_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
var file_google_cloud_kms_v1_ekm_service_proto_goTypes = []any{
	(EkmConnection_KeyManagementMode)(0),  // 0: google.cloud.kms.v1.EkmConnection.KeyManagementMode
	(*ListEkmConnectionsRequest)(nil),     // 1: google.cloud.kms.v1.ListEkmConnectionsRequest
	(*ListEkmConnectionsResponse)(nil),    // 2: google.cloud.kms.v1.ListEkmConnectionsResponse
	(*GetEkmConnectionRequest)(nil),       // 3: google.cloud.kms.v1.GetEkmConnectionRequest
	(*CreateEkmConnectionRequest)(nil),    // 4: google.cloud.kms.v1.CreateEkmConnectionRequest
	(*UpdateEkmConnectionRequest)(nil),    // 5: google.cloud.kms.v1.UpdateEkmConnectionRequest
	(*GetEkmConfigRequest)(nil),           // 6: google.cloud.kms.v1.GetEkmConfigRequest
	(*UpdateEkmConfigRequest)(nil),        // 7: google.cloud.kms.v1.UpdateEkmConfigRequest
	(*Certificate)(nil),                   // 8: google.cloud.kms.v1.Certificate
	(*EkmConnection)(nil),                 // 9: google.cloud.kms.v1.EkmConnection
	(*EkmConfig)(nil),                     // 10: google.cloud.kms.v1.EkmConfig
	(*VerifyConnectivityRequest)(nil),     // 11: google.cloud.kms.v1.VerifyConnectivityRequest
	(*VerifyConnectivityResponse)(nil),    // 12: google.cloud.kms.v1.VerifyConnectivityResponse
	(*EkmConnection_ServiceResolver)(nil), // 13: google.cloud.kms.v1.EkmConnection.ServiceResolver
	(*fieldmaskpb.FieldMask)(nil),         // 14: google.protobuf.FieldMask
	(*timestamppb.Timestamp)(nil),         // 15: google.protobuf.Timestamp
}
var file_google_cloud_kms_v1_ekm_service_proto_depIdxs = []int32{
	9,  // 0: google.cloud.kms.v1.ListEkmConnectionsResponse.ekm_connections:type_name -> google.cloud.kms.v1.EkmConnection
	9,  // 1: google.cloud.kms.v1.CreateEkmConnectionRequest.ekm_connection:type_name -> google.cloud.kms.v1.EkmConnection
	9,  // 2: google.cloud.kms.v1.UpdateEkmConnectionRequest.ekm_connection:type_name -> google.cloud.kms.v1.EkmConnection
	14, // 3: google.cloud.kms.v1.UpdateEkmConnectionRequest.update_mask:type_name -> google.protobuf.FieldMask
	10, // 4: google.cloud.kms.v1.UpdateEkmConfigRequest.ekm_config:type_name -> google.cloud.kms.v1.EkmConfig
	14, // 5: google.cloud.kms.v1.UpdateEkmConfigRequest.update_mask:type_name -> google.protobuf.FieldMask
	15, // 6: google.cloud.kms.v1.Certificate.not_before_time:type_name -> google.protobuf.Timestamp
	15, // 7: google.cloud.kms.v1.Certificate.not_after_time:type_name -> google.protobuf.Timestamp
	15, // 8: google.cloud.kms.v1.EkmConnection.create_time:type_name -> google.protobuf.Timestamp
	13, // 9: google.cloud.kms.v1.EkmConnection.service_resolvers:type_name -> google.cloud.kms.v1.EkmConnection.ServiceResolver
	0,  // 10: google.cloud.kms.v1.EkmConnection.key_management_mode:type_name -> google.cloud.kms.v1.EkmConnection.KeyManagementMode
	8,  // 11: google.cloud.kms.v1.EkmConnection.ServiceResolver.server_certificates:type_name -> google.cloud.kms.v1.Certificate
	1,  // 12: google.cloud.kms.v1.EkmService.ListEkmConnections:input_type -> google.cloud.kms.v1.ListEkmConnectionsRequest
	3,  // 13: google.cloud.kms.v1.EkmService.GetEkmConnection:input_type -> google.cloud.kms.v1.GetEkmConnectionRequest
	4,  // 14: google.cloud.kms.v1.EkmService.CreateEkmConnection:input_type -> google.cloud.kms.v1.CreateEkmConnectionRequest
	5,  // 15: google.cloud.kms.v1.EkmService.UpdateEkmConnection:input_type -> google.cloud.kms.v1.UpdateEkmConnectionRequest
	6,  // 16: google.cloud.kms.v1.EkmService.GetEkmConfig:input_type -> google.cloud.kms.v1.GetEkmConfigRequest
	7,  // 17: google.cloud.kms.v1.EkmService.UpdateEkmConfig:input_type -> google.cloud.kms.v1.UpdateEkmConfigRequest
	11, // 18: google.cloud.kms.v1.EkmService.VerifyConnectivity:input_type -> google.cloud.kms.v1.VerifyConnectivityRequest
	2,  // 19: google.cloud.kms.v1.EkmService.ListEkmConnections:output_type -> google.cloud.kms.v1.ListEkmConnectionsResponse
	9,  // 20: google.cloud.kms.v1.EkmService.GetEkmConnection:output_type -> google.cloud.kms.v1.EkmConnection
	9,  // 21: google.cloud.kms.v1.EkmService.CreateEkmConnection:output_type -> google.cloud.kms.v1.EkmConnection
	9,  // 22: google.cloud.kms.v1.EkmService.UpdateEkmConnection:output_type -> google.cloud.kms.v1.EkmConnection
	10, // 23: google.cloud.kms.v1.EkmService.GetEkmConfig:output_type -> google.cloud.kms.v1.EkmConfig
	10, // 24: google.cloud.kms.v1.EkmService.UpdateEkmConfig:output_type -> google.cloud.kms.v1.EkmConfig
	12, // 25: google.cloud.kms.v1.EkmService.VerifyConnectivity:output_type -> google.cloud.kms.v1.VerifyConnectivityResponse
	19, // [19:26] is the sub-list for method output_type
	12, // [12:19] is the sub-list for method input_type
	12, // [12:12] is the sub-list for extension type_name
	12, // [12:12] is the sub-list for extension extendee
	0,  // [0:12] is the sub-list for field type_name
}

func init() { file_google_cloud_kms_v1_ekm_service_proto_init() }
func file_google_cloud_kms_v1_ekm_service_proto_init() {
	if File_google_cloud_kms_v1_ekm_service_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_cloud_kms_v1_ekm_service_proto_rawDesc), len(file_google_cloud_kms_v1_ekm_service_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   13,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_google_cloud_kms_v1_ekm_service_proto_goTypes,
		DependencyIndexes: file_google_cloud_kms_v1_ekm_service_proto_depIdxs,
		EnumInfos:         file_google_cloud_kms_v1_ekm_service_proto_enumTypes,
		MessageInfos:      file_google_cloud_kms_v1_ekm_service_proto_msgTypes,
	}.Build()
	File_google_cloud_kms_v1_ekm_service_proto = out.File
	file_google_cloud_kms_v1_ekm_service_proto_goTypes = nil
	file_google_cloud_kms_v1_ekm_service_proto_depIdxs = nil
}
