// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: BUSL-1.1

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        (unknown)
// source: private/pbcommon/common.proto

package pbcommon

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	durationpb "google.golang.org/protobuf/types/known/durationpb"
	structpb "google.golang.org/protobuf/types/known/structpb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

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)
)

// RaftIndex is used to track the index used while creating
// or modifying a given struct type.
//
// mog annotation:
//
// target=github.com/hashicorp/consul/agent/structs.RaftIndex
// output=common.gen.go
// name=Structs
// ignore-fields=state,sizeCache,unknownFields
type RaftIndex struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// @gotags: bexpr:"-"
	CreateIndex uint64 `protobuf:"varint,1,opt,name=CreateIndex,proto3" json:"CreateIndex,omitempty" bexpr:"-"`
	// @gotags: bexpr:"-"
	ModifyIndex   uint64 `protobuf:"varint,2,opt,name=ModifyIndex,proto3" json:"ModifyIndex,omitempty" bexpr:"-"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*RaftIndex) ProtoMessage() {}

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

func (x *RaftIndex) GetCreateIndex() uint64 {
	if x != nil {
		return x.CreateIndex
	}
	return 0
}

func (x *RaftIndex) GetModifyIndex() uint64 {
	if x != nil {
		return x.ModifyIndex
	}
	return 0
}

// TargetDatacenter is intended to be used within other messages used for RPC routing
// amongst the various Consul datacenters
type TargetDatacenter struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Datacenter    string                 `protobuf:"bytes,1,opt,name=Datacenter,proto3" json:"Datacenter,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TargetDatacenter) ProtoMessage() {}

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

func (x *TargetDatacenter) GetDatacenter() string {
	if x != nil {
		return x.Datacenter
	}
	return ""
}

// mog annotation:
//
// target=github.com/hashicorp/consul/agent/structs.WriteRequest
// output=common.gen.go
// name=Structs
// ignore-fields=state,sizeCache,unknownFields
type WriteRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Token is the ACL token ID. If not provided, the 'anonymous'
	// token is assumed for backwards compatibility.
	Token         string `protobuf:"bytes,1,opt,name=Token,proto3" json:"Token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*WriteRequest) ProtoMessage() {}

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

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

// ReadRequest is a type that may be embedded into any requests for read
// operations.
// It is a replacement for QueryOptions now that we no longer need any of those
// fields because we are moving away from using blocking queries.
// It is also similar to WriteRequest. It is a separate type so that in the
// future we can introduce fields that may only be relevant for reads.
type ReadRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Token is the ACL token ID. If not provided, the 'anonymous'
	// token is assumed for backwards compatibility.
	Token string `protobuf:"bytes,1,opt,name=Token,proto3" json:"Token,omitempty"`
	// RequireConsistent indicates that the request must be sent to the leader.
	RequireConsistent bool `protobuf:"varint,2,opt,name=RequireConsistent,proto3" json:"RequireConsistent,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*ReadRequest) ProtoMessage() {}

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

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

func (x *ReadRequest) GetRequireConsistent() bool {
	if x != nil {
		return x.RequireConsistent
	}
	return false
}

// QueryOptions is used to specify various flags for read queries
//
// mog annotation:
//
// target=github.com/hashicorp/consul/agent/structs.QueryOptions
// output=common.gen.go
// name=Structs
// ignore-fields=StaleIfError,AllowNotModifiedResponse,state,sizeCache,unknownFields
type QueryOptions struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Token is the ACL token ID. If not provided, the 'anonymous'
	// token is assumed for backwards compatibility.
	Token string `protobuf:"bytes,1,opt,name=Token,proto3" json:"Token,omitempty"`
	// If set, wait until query exceeds given index. Must be provided
	// with MaxQueryTime.
	MinQueryIndex uint64 `protobuf:"varint,2,opt,name=MinQueryIndex,proto3" json:"MinQueryIndex,omitempty"`
	// Provided with MinQueryIndex to wait for change.
	// mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto
	MaxQueryTime *durationpb.Duration `protobuf:"bytes,3,opt,name=MaxQueryTime,proto3" json:"MaxQueryTime,omitempty"`
	// If set, any follower can service the request. Results
	// may be arbitrarily stale.
	AllowStale bool `protobuf:"varint,4,opt,name=AllowStale,proto3" json:"AllowStale,omitempty"`
	// If set, the leader must verify leadership prior to
	// servicing the request. Prevents a stale read.
	RequireConsistent bool `protobuf:"varint,5,opt,name=RequireConsistent,proto3" json:"RequireConsistent,omitempty"`
	// If set, the local agent may respond with an arbitrarily stale locally
	// cached response. The semantics differ from AllowStale since the agent may
	// be entirely partitioned from the servers and still considered "healthy" by
	// operators. Stale responses from Servers are also arbitrarily stale, but can
	// provide additional bounds on the last contact time from the leader. It's
	// expected that servers that are partitioned are noticed and replaced in a
	// timely way by operators while the same may not be true for client agents.
	UseCache bool `protobuf:"varint,6,opt,name=UseCache,proto3" json:"UseCache,omitempty"`
	// If set and AllowStale is true, will try first a stale
	// read, and then will perform a consistent read if stale
	// read is older than value.
	// mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto
	MaxStaleDuration *durationpb.Duration `protobuf:"bytes,7,opt,name=MaxStaleDuration,proto3" json:"MaxStaleDuration,omitempty"`
	// MaxAge limits how old a cached value will be returned if UseCache is true.
	// If there is a cached response that is older than the MaxAge, it is treated
	// as a cache miss and a new fetch invoked. If the fetch fails, the error is
	// returned. Clients that wish to allow for stale results on error can set
	// StaleIfError to a longer duration to change this behavior. It is ignored
	// if the endpoint supports background refresh caching. See
	// https://developer.hashicorp.com/api/index.html#agent-caching for more details.
	// mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto
	MaxAge *durationpb.Duration `protobuf:"bytes,8,opt,name=MaxAge,proto3" json:"MaxAge,omitempty"`
	// MustRevalidate forces the agent to fetch a fresh version of a cached
	// resource or at least validate that the cached version is still fresh. It is
	// implied by either max-age=0 or must-revalidate Cache-Control headers. It
	// only makes sense when UseCache is true. We store it since MaxAge = 0 is the
	// default unset value.
	MustRevalidate bool `protobuf:"varint,9,opt,name=MustRevalidate,proto3" json:"MustRevalidate,omitempty"`
	// StaleIfError specifies how stale the client will accept a cached response
	// if the servers are unavailable to fetch a fresh one. Only makes sense when
	// UseCache is true and MaxAge is set to a lower, non-zero value. It is
	// ignored if the endpoint supports background refresh caching. See
	// https://developer.hashicorp.com/api/index.html#agent-caching for more details.
	StaleIfError *durationpb.Duration `protobuf:"bytes,10,opt,name=StaleIfError,proto3" json:"StaleIfError,omitempty"`
	// Filter specifies the go-bexpr filter expression to be used for
	// filtering the data prior to returning a response
	Filter        string `protobuf:"bytes,11,opt,name=Filter,proto3" json:"Filter,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*QueryOptions) ProtoMessage() {}

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

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

func (x *QueryOptions) GetMinQueryIndex() uint64 {
	if x != nil {
		return x.MinQueryIndex
	}
	return 0
}

func (x *QueryOptions) GetMaxQueryTime() *durationpb.Duration {
	if x != nil {
		return x.MaxQueryTime
	}
	return nil
}

func (x *QueryOptions) GetAllowStale() bool {
	if x != nil {
		return x.AllowStale
	}
	return false
}

func (x *QueryOptions) GetRequireConsistent() bool {
	if x != nil {
		return x.RequireConsistent
	}
	return false
}

func (x *QueryOptions) GetUseCache() bool {
	if x != nil {
		return x.UseCache
	}
	return false
}

func (x *QueryOptions) GetMaxStaleDuration() *durationpb.Duration {
	if x != nil {
		return x.MaxStaleDuration
	}
	return nil
}

func (x *QueryOptions) GetMaxAge() *durationpb.Duration {
	if x != nil {
		return x.MaxAge
	}
	return nil
}

func (x *QueryOptions) GetMustRevalidate() bool {
	if x != nil {
		return x.MustRevalidate
	}
	return false
}

func (x *QueryOptions) GetStaleIfError() *durationpb.Duration {
	if x != nil {
		return x.StaleIfError
	}
	return nil
}

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

// QueryMeta allows a query response to include potentially
// useful metadata about a query
//
// mog annotation:
//
// target=github.com/hashicorp/consul/agent/structs.QueryMeta
// output=common.gen.go
// name=Structs
// ignore-fields=NotModified,Backend,state,sizeCache,unknownFields
type QueryMeta struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// This is the index associated with the read
	Index uint64 `protobuf:"varint,1,opt,name=Index,proto3" json:"Index,omitempty"`
	// If AllowStale is used, this is time elapsed since
	// last contact between the follower and leader. This
	// can be used to gauge staleness.
	// mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto
	LastContact *durationpb.Duration `protobuf:"bytes,2,opt,name=LastContact,proto3" json:"LastContact,omitempty"`
	// Used to indicate if there is a known leader node
	KnownLeader bool `protobuf:"varint,3,opt,name=KnownLeader,proto3" json:"KnownLeader,omitempty"`
	// Consistencylevel returns the consistency used to serve the query
	// Having `discovery_max_stale` on the agent can affect whether
	// the request was served by a leader.
	ConsistencyLevel string `protobuf:"bytes,4,opt,name=ConsistencyLevel,proto3" json:"ConsistencyLevel,omitempty"`
	// ResultsFilteredByACLs is true when some of the query's results were
	// filtered out by enforcing ACLs. It may be false because nothing was
	// removed, or because the endpoint does not yet support this flag.
	ResultsFilteredByACLs bool `protobuf:"varint,7,opt,name=ResultsFilteredByACLs,proto3" json:"ResultsFilteredByACLs,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

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

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

func (*QueryMeta) ProtoMessage() {}

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

func (x *QueryMeta) GetIndex() uint64 {
	if x != nil {
		return x.Index
	}
	return 0
}

func (x *QueryMeta) GetLastContact() *durationpb.Duration {
	if x != nil {
		return x.LastContact
	}
	return nil
}

func (x *QueryMeta) GetKnownLeader() bool {
	if x != nil {
		return x.KnownLeader
	}
	return false
}

func (x *QueryMeta) GetConsistencyLevel() string {
	if x != nil {
		return x.ConsistencyLevel
	}
	return ""
}

func (x *QueryMeta) GetResultsFilteredByACLs() bool {
	if x != nil {
		return x.ResultsFilteredByACLs
	}
	return false
}

// EnterpriseMeta contains metadata that is only used by the Enterprise version
// of Consul.
type EnterpriseMeta struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Namespace in which the entity exists.
	Namespace string `protobuf:"bytes,1,opt,name=Namespace,proto3" json:"Namespace,omitempty"`
	// Partition in which the entity exists.
	Partition     string `protobuf:"bytes,2,opt,name=Partition,proto3" json:"Partition,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*EnterpriseMeta) ProtoMessage() {}

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

func (x *EnterpriseMeta) GetNamespace() string {
	if x != nil {
		return x.Namespace
	}
	return ""
}

func (x *EnterpriseMeta) GetPartition() string {
	if x != nil {
		return x.Partition
	}
	return ""
}

// mog annotation:
//
// target=github.com/hashicorp/consul/agent/structs.EnvoyExtension
// output=common.gen.go
// name=Structs
type EnvoyExtension struct {
	state    protoimpl.MessageState `protogen:"open.v1"`
	Name     string                 `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"`
	Required bool                   `protobuf:"varint,2,opt,name=Required,proto3" json:"Required,omitempty"`
	// mog: func-to=ProtobufTypesStructToMapStringInterface func-from=MapStringInterfaceToProtobufTypesStruct
	Arguments     *structpb.Struct `protobuf:"bytes,3,opt,name=Arguments,proto3" json:"Arguments,omitempty"`
	ConsulVersion string           `protobuf:"bytes,4,opt,name=ConsulVersion,proto3" json:"ConsulVersion,omitempty"`
	EnvoyVersion  string           `protobuf:"bytes,5,opt,name=EnvoyVersion,proto3" json:"EnvoyVersion,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*EnvoyExtension) ProtoMessage() {}

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

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

func (x *EnvoyExtension) GetRequired() bool {
	if x != nil {
		return x.Required
	}
	return false
}

func (x *EnvoyExtension) GetArguments() *structpb.Struct {
	if x != nil {
		return x.Arguments
	}
	return nil
}

func (x *EnvoyExtension) GetConsulVersion() string {
	if x != nil {
		return x.ConsulVersion
	}
	return ""
}

func (x *EnvoyExtension) GetEnvoyVersion() string {
	if x != nil {
		return x.EnvoyVersion
	}
	return ""
}

// mog annotation:
//
// target=github.com/hashicorp/consul/agent/structs.Locality
// output=common.gen.go
// name=Structs
type Locality struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Region is region the zone belongs to.
	Region string `protobuf:"bytes,1,opt,name=Region,proto3" json:"Region,omitempty"`
	// Zone is the zone the entity is running in.
	Zone          string `protobuf:"bytes,2,opt,name=Zone,proto3" json:"Zone,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Locality) ProtoMessage() {}

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

func (x *Locality) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *Locality) GetZone() string {
	if x != nil {
		return x.Zone
	}
	return ""
}

var File_private_pbcommon_common_proto protoreflect.FileDescriptor

const file_private_pbcommon_common_proto_rawDesc = "" +
	"\n" +
	"\x1dprivate/pbcommon/common.proto\x12 hashicorp.consul.internal.common\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\"O\n" +
	"\tRaftIndex\x12 \n" +
	"\vCreateIndex\x18\x01 \x01(\x04R\vCreateIndex\x12 \n" +
	"\vModifyIndex\x18\x02 \x01(\x04R\vModifyIndex\"2\n" +
	"\x10TargetDatacenter\x12\x1e\n" +
	"\n" +
	"Datacenter\x18\x01 \x01(\tR\n" +
	"Datacenter\"$\n" +
	"\fWriteRequest\x12\x14\n" +
	"\x05Token\x18\x01 \x01(\tR\x05Token\"Q\n" +
	"\vReadRequest\x12\x14\n" +
	"\x05Token\x18\x01 \x01(\tR\x05Token\x12,\n" +
	"\x11RequireConsistent\x18\x02 \x01(\bR\x11RequireConsistent\"\xec\x03\n" +
	"\fQueryOptions\x12\x14\n" +
	"\x05Token\x18\x01 \x01(\tR\x05Token\x12$\n" +
	"\rMinQueryIndex\x18\x02 \x01(\x04R\rMinQueryIndex\x12=\n" +
	"\fMaxQueryTime\x18\x03 \x01(\v2\x19.google.protobuf.DurationR\fMaxQueryTime\x12\x1e\n" +
	"\n" +
	"AllowStale\x18\x04 \x01(\bR\n" +
	"AllowStale\x12,\n" +
	"\x11RequireConsistent\x18\x05 \x01(\bR\x11RequireConsistent\x12\x1a\n" +
	"\bUseCache\x18\x06 \x01(\bR\bUseCache\x12E\n" +
	"\x10MaxStaleDuration\x18\a \x01(\v2\x19.google.protobuf.DurationR\x10MaxStaleDuration\x121\n" +
	"\x06MaxAge\x18\b \x01(\v2\x19.google.protobuf.DurationR\x06MaxAge\x12&\n" +
	"\x0eMustRevalidate\x18\t \x01(\bR\x0eMustRevalidate\x12=\n" +
	"\fStaleIfError\x18\n" +
	" \x01(\v2\x19.google.protobuf.DurationR\fStaleIfError\x12\x16\n" +
	"\x06Filter\x18\v \x01(\tR\x06Filter\"\xee\x01\n" +
	"\tQueryMeta\x12\x14\n" +
	"\x05Index\x18\x01 \x01(\x04R\x05Index\x12;\n" +
	"\vLastContact\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\vLastContact\x12 \n" +
	"\vKnownLeader\x18\x03 \x01(\bR\vKnownLeader\x12*\n" +
	"\x10ConsistencyLevel\x18\x04 \x01(\tR\x10ConsistencyLevel\x124\n" +
	"\x15ResultsFilteredByACLs\x18\a \x01(\bR\x15ResultsFilteredByACLsJ\x04\b\x05\x10\x06J\x04\b\x06\x10\a\"L\n" +
	"\x0eEnterpriseMeta\x12\x1c\n" +
	"\tNamespace\x18\x01 \x01(\tR\tNamespace\x12\x1c\n" +
	"\tPartition\x18\x02 \x01(\tR\tPartition\"\xc1\x01\n" +
	"\x0eEnvoyExtension\x12\x12\n" +
	"\x04Name\x18\x01 \x01(\tR\x04Name\x12\x1a\n" +
	"\bRequired\x18\x02 \x01(\bR\bRequired\x125\n" +
	"\tArguments\x18\x03 \x01(\v2\x17.google.protobuf.StructR\tArguments\x12$\n" +
	"\rConsulVersion\x18\x04 \x01(\tR\rConsulVersion\x12\"\n" +
	"\fEnvoyVersion\x18\x05 \x01(\tR\fEnvoyVersion\"6\n" +
	"\bLocality\x12\x16\n" +
	"\x06Region\x18\x01 \x01(\tR\x06Region\x12\x12\n" +
	"\x04Zone\x18\x02 \x01(\tR\x04ZoneB\x8b\x02\n" +
	"$com.hashicorp.consul.internal.commonB\vCommonProtoP\x01Z2github.com/hashicorp/consul/proto/private/pbcommon\xa2\x02\x04HCIC\xaa\x02 Hashicorp.Consul.Internal.Common\xca\x02 Hashicorp\\Consul\\Internal\\Common\xe2\x02,Hashicorp\\Consul\\Internal\\Common\\GPBMetadata\xea\x02#Hashicorp::Consul::Internal::Commonb\x06proto3"

var (
	file_private_pbcommon_common_proto_rawDescOnce sync.Once
	file_private_pbcommon_common_proto_rawDescData []byte
)

func file_private_pbcommon_common_proto_rawDescGZIP() []byte {
	file_private_pbcommon_common_proto_rawDescOnce.Do(func() {
		file_private_pbcommon_common_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_private_pbcommon_common_proto_rawDesc), len(file_private_pbcommon_common_proto_rawDesc)))
	})
	return file_private_pbcommon_common_proto_rawDescData
}

var file_private_pbcommon_common_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_private_pbcommon_common_proto_goTypes = []any{
	(*RaftIndex)(nil),           // 0: hashicorp.consul.internal.common.RaftIndex
	(*TargetDatacenter)(nil),    // 1: hashicorp.consul.internal.common.TargetDatacenter
	(*WriteRequest)(nil),        // 2: hashicorp.consul.internal.common.WriteRequest
	(*ReadRequest)(nil),         // 3: hashicorp.consul.internal.common.ReadRequest
	(*QueryOptions)(nil),        // 4: hashicorp.consul.internal.common.QueryOptions
	(*QueryMeta)(nil),           // 5: hashicorp.consul.internal.common.QueryMeta
	(*EnterpriseMeta)(nil),      // 6: hashicorp.consul.internal.common.EnterpriseMeta
	(*EnvoyExtension)(nil),      // 7: hashicorp.consul.internal.common.EnvoyExtension
	(*Locality)(nil),            // 8: hashicorp.consul.internal.common.Locality
	(*durationpb.Duration)(nil), // 9: google.protobuf.Duration
	(*structpb.Struct)(nil),     // 10: google.protobuf.Struct
}
var file_private_pbcommon_common_proto_depIdxs = []int32{
	9,  // 0: hashicorp.consul.internal.common.QueryOptions.MaxQueryTime:type_name -> google.protobuf.Duration
	9,  // 1: hashicorp.consul.internal.common.QueryOptions.MaxStaleDuration:type_name -> google.protobuf.Duration
	9,  // 2: hashicorp.consul.internal.common.QueryOptions.MaxAge:type_name -> google.protobuf.Duration
	9,  // 3: hashicorp.consul.internal.common.QueryOptions.StaleIfError:type_name -> google.protobuf.Duration
	9,  // 4: hashicorp.consul.internal.common.QueryMeta.LastContact:type_name -> google.protobuf.Duration
	10, // 5: hashicorp.consul.internal.common.EnvoyExtension.Arguments:type_name -> google.protobuf.Struct
	6,  // [6:6] is the sub-list for method output_type
	6,  // [6:6] is the sub-list for method input_type
	6,  // [6:6] is the sub-list for extension type_name
	6,  // [6:6] is the sub-list for extension extendee
	0,  // [0:6] is the sub-list for field type_name
}

func init() { file_private_pbcommon_common_proto_init() }
func file_private_pbcommon_common_proto_init() {
	if File_private_pbcommon_common_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_private_pbcommon_common_proto_rawDesc), len(file_private_pbcommon_common_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   9,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_private_pbcommon_common_proto_goTypes,
		DependencyIndexes: file_private_pbcommon_common_proto_depIdxs,
		MessageInfos:      file_private_pbcommon_common_proto_msgTypes,
	}.Build()
	File_private_pbcommon_common_proto = out.File
	file_private_pbcommon_common_proto_goTypes = nil
	file_private_pbcommon_common_proto_depIdxs = nil
}
