// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        v6.30.2
// source: proto/wal.proto

package wal

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	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)
)

type WALCapability_RPC_Type int32

const (
	WALCapability_RPC_TYPE_UNSPECIFIED WALCapability_RPC_Type = 0
	// TYPE_ARCHIVE_WAL indicates that the Plugin is able to
	// reply to the Archive RPC request
	WALCapability_RPC_TYPE_ARCHIVE_WAL WALCapability_RPC_Type = 1
	// TYPE_RESTORE_WAL indicates that the Plugin is able to
	// reply to the Restore RPC request
	WALCapability_RPC_TYPE_RESTORE_WAL WALCapability_RPC_Type = 2
	// TYPE_STATUS indicates that the Plugin is able to
	// reply to the Status RPC request
	WALCapability_RPC_TYPE_STATUS WALCapability_RPC_Type = 3
	// TYPE_SET_FIRST_REQUIRED indicates that the Plugin is able to
	// reply to the SetFirstRequired RPC request
	WALCapability_RPC_TYPE_SET_FIRST_REQUIRED WALCapability_RPC_Type = 4
)

// Enum value maps for WALCapability_RPC_Type.
var (
	WALCapability_RPC_Type_name = map[int32]string{
		0: "TYPE_UNSPECIFIED",
		1: "TYPE_ARCHIVE_WAL",
		2: "TYPE_RESTORE_WAL",
		3: "TYPE_STATUS",
		4: "TYPE_SET_FIRST_REQUIRED",
	}
	WALCapability_RPC_Type_value = map[string]int32{
		"TYPE_UNSPECIFIED":        0,
		"TYPE_ARCHIVE_WAL":        1,
		"TYPE_RESTORE_WAL":        2,
		"TYPE_STATUS":             3,
		"TYPE_SET_FIRST_REQUIRED": 4,
	}
)

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

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

func (WALCapability_RPC_Type) Descriptor() protoreflect.EnumDescriptor {
	return file_proto_wal_proto_enumTypes[0].Descriptor()
}

func (WALCapability_RPC_Type) Type() protoreflect.EnumType {
	return &file_proto_wal_proto_enumTypes[0]
}

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

// Deprecated: Use WALCapability_RPC_Type.Descriptor instead.
func (WALCapability_RPC_Type) EnumDescriptor() ([]byte, []int) {
	return file_proto_wal_proto_rawDescGZIP(), []int{10, 0, 0}
}

type WALArchiveRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// This field is REQUIRED. Value of this field is the JSON
	// serialization of the Cluster corresponding to the Pod being applied
	ClusterDefinition []byte `protobuf:"bytes,1,opt,name=cluster_definition,json=clusterDefinition,proto3" json:"cluster_definition,omitempty"`
	// This field is REQUIRED. Value of this field is the full path
	// of the WAL file that should be archived
	SourceFileName string `protobuf:"bytes,2,opt,name=source_file_name,json=sourceFileName,proto3" json:"source_file_name,omitempty"`
	// This field is OPTIONAL. Values are opaque.
	Parameters    map[string]string `protobuf:"bytes,3,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*WALArchiveRequest) ProtoMessage() {}

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

func (x *WALArchiveRequest) GetClusterDefinition() []byte {
	if x != nil {
		return x.ClusterDefinition
	}
	return nil
}

func (x *WALArchiveRequest) GetSourceFileName() string {
	if x != nil {
		return x.SourceFileName
	}
	return ""
}

func (x *WALArchiveRequest) GetParameters() map[string]string {
	if x != nil {
		return x.Parameters
	}
	return nil
}

type WALArchiveResult struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*WALArchiveResult) ProtoMessage() {}

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

type WALRestoreRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// This field is REQUIRED. Value of this field is the JSON
	// serialization of the Cluster corresponding to the Pod being applied
	ClusterDefinition []byte `protobuf:"bytes,1,opt,name=cluster_definition,json=clusterDefinition,proto3" json:"cluster_definition,omitempty"`
	// This field is REQUIRED. Value of this field is the name of
	// the WAL to be retrieved from the archive, such as:
	// 000000010000000100000012
	SourceWalName string `protobuf:"bytes,2,opt,name=source_wal_name,json=sourceWalName,proto3" json:"source_wal_name,omitempty"`
	// This field is REQUIRED. Value of this field is the full path
	// where the WAL file should be stored
	DestinationFileName string `protobuf:"bytes,3,opt,name=destination_file_name,json=destinationFileName,proto3" json:"destination_file_name,omitempty"`
	// This field is OPTIONAL. Values are opaque.
	Parameters    map[string]string `protobuf:"bytes,4,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*WALRestoreRequest) ProtoMessage() {}

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

func (x *WALRestoreRequest) GetClusterDefinition() []byte {
	if x != nil {
		return x.ClusterDefinition
	}
	return nil
}

func (x *WALRestoreRequest) GetSourceWalName() string {
	if x != nil {
		return x.SourceWalName
	}
	return ""
}

func (x *WALRestoreRequest) GetDestinationFileName() string {
	if x != nil {
		return x.DestinationFileName
	}
	return ""
}

func (x *WALRestoreRequest) GetParameters() map[string]string {
	if x != nil {
		return x.Parameters
	}
	return nil
}

type WALRestoreResult struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*WALRestoreResult) ProtoMessage() {}

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

type WALStatusRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// This field is REQUIRED. Value of this field is the JSON
	// serialization of the Cluster corresponding to the Pod being applied
	ClusterDefinition []byte `protobuf:"bytes,1,opt,name=cluster_definition,json=clusterDefinition,proto3" json:"cluster_definition,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*WALStatusRequest) ProtoMessage() {}

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

func (x *WALStatusRequest) GetClusterDefinition() []byte {
	if x != nil {
		return x.ClusterDefinition
	}
	return nil
}

type WALStatusResult struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// This field is REQUIRED. Value of this field is the base name of
	// the oldest archived WAL, such as:
	// 000000010000000100000012
	FirstWal string `protobuf:"bytes,1,opt,name=first_wal,json=firstWal,proto3" json:"first_wal,omitempty"`
	// This field is REQUIRED. Value of this field is the base name of
	// the newest archived WAL, such as:
	// 000000010000000100000014
	LastWal string `protobuf:"bytes,2,opt,name=last_wal,json=lastWal,proto3" json:"last_wal,omitempty"`
	// This field is OPTIONAL. Value is opaque.
	AdditionalInformation map[string]string `protobuf:"bytes,4,rep,name=additional_information,json=additionalInformation,proto3" json:"additional_information,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

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

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

func (*WALStatusResult) ProtoMessage() {}

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

func (x *WALStatusResult) GetFirstWal() string {
	if x != nil {
		return x.FirstWal
	}
	return ""
}

func (x *WALStatusResult) GetLastWal() string {
	if x != nil {
		return x.LastWal
	}
	return ""
}

func (x *WALStatusResult) GetAdditionalInformation() map[string]string {
	if x != nil {
		return x.AdditionalInformation
	}
	return nil
}

type SetFirstRequiredRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// This field is REQUIRED. Value of this field is the JSON
	// serialization of the Cluster corresponding to the Pod being applied
	ClusterDefinition []byte `protobuf:"bytes,1,opt,name=cluster_definition,json=clusterDefinition,proto3" json:"cluster_definition,omitempty"`
	// This field is REQUIRED. Value of this field is the name of the first
	// required WAL in the WAL archive for this cluster (normally based on the
	// begin WAL of the first available base backup for the cluster)
	FirstRequiredWal string `protobuf:"bytes,2,opt,name=first_required_wal,json=firstRequiredWal,proto3" json:"first_required_wal,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*SetFirstRequiredRequest) ProtoMessage() {}

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

func (x *SetFirstRequiredRequest) GetClusterDefinition() []byte {
	if x != nil {
		return x.ClusterDefinition
	}
	return nil
}

func (x *SetFirstRequiredRequest) GetFirstRequiredWal() string {
	if x != nil {
		return x.FirstRequiredWal
	}
	return ""
}

type SetFirstRequiredResult struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SetFirstRequiredResult) ProtoMessage() {}

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

type WALCapabilitiesRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*WALCapabilitiesRequest) ProtoMessage() {}

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

type WALCapabilitiesResult struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// All the capabilities that the controller service supports. This
	// field is OPTIONAL.
	Capabilities  []*WALCapability `protobuf:"bytes,1,rep,name=capabilities,proto3" json:"capabilities,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*WALCapabilitiesResult) ProtoMessage() {}

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

func (x *WALCapabilitiesResult) GetCapabilities() []*WALCapability {
	if x != nil {
		return x.Capabilities
	}
	return nil
}

type WALCapability struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Type:
	//
	//	*WALCapability_Rpc
	Type          isWALCapability_Type `protobuf_oneof:"type"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*WALCapability) ProtoMessage() {}

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

func (x *WALCapability) GetType() isWALCapability_Type {
	if x != nil {
		return x.Type
	}
	return nil
}

func (x *WALCapability) GetRpc() *WALCapability_RPC {
	if x != nil {
		if x, ok := x.Type.(*WALCapability_Rpc); ok {
			return x.Rpc
		}
	}
	return nil
}

type isWALCapability_Type interface {
	isWALCapability_Type()
}

type WALCapability_Rpc struct {
	Rpc *WALCapability_RPC `protobuf:"bytes,1,opt,name=rpc,proto3,oneof"`
}

func (*WALCapability_Rpc) isWALCapability_Type() {}

type WALCapability_RPC struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Type          WALCapability_RPC_Type `protobuf:"varint,1,opt,name=type,proto3,enum=cnpgi.wal.v1.WALCapability_RPC_Type" json:"type,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WALCapability_RPC) Reset() {
	*x = WALCapability_RPC{}
	mi := &file_proto_wal_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*WALCapability_RPC) ProtoMessage() {}

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

func (x *WALCapability_RPC) GetType() WALCapability_RPC_Type {
	if x != nil {
		return x.Type
	}
	return WALCapability_RPC_TYPE_UNSPECIFIED
}

var File_proto_wal_proto protoreflect.FileDescriptor

const file_proto_wal_proto_rawDesc = "" +
	"\n" +
	"\x0fproto/wal.proto\x12\fcnpgi.wal.v1\"\xfc\x01\n" +
	"\x11WALArchiveRequest\x12-\n" +
	"\x12cluster_definition\x18\x01 \x01(\fR\x11clusterDefinition\x12(\n" +
	"\x10source_file_name\x18\x02 \x01(\tR\x0esourceFileName\x12O\n" +
	"\n" +
	"parameters\x18\x03 \x03(\v2/.cnpgi.wal.v1.WALArchiveRequest.ParametersEntryR\n" +
	"parameters\x1a=\n" +
	"\x0fParametersEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x12\n" +
	"\x10WALArchiveResult\"\xae\x02\n" +
	"\x11WALRestoreRequest\x12-\n" +
	"\x12cluster_definition\x18\x01 \x01(\fR\x11clusterDefinition\x12&\n" +
	"\x0fsource_wal_name\x18\x02 \x01(\tR\rsourceWalName\x122\n" +
	"\x15destination_file_name\x18\x03 \x01(\tR\x13destinationFileName\x12O\n" +
	"\n" +
	"parameters\x18\x04 \x03(\v2/.cnpgi.wal.v1.WALRestoreRequest.ParametersEntryR\n" +
	"parameters\x1a=\n" +
	"\x0fParametersEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x12\n" +
	"\x10WALRestoreResult\"A\n" +
	"\x10WALStatusRequest\x12-\n" +
	"\x12cluster_definition\x18\x01 \x01(\fR\x11clusterDefinition\"\x84\x02\n" +
	"\x0fWALStatusResult\x12\x1b\n" +
	"\tfirst_wal\x18\x01 \x01(\tR\bfirstWal\x12\x19\n" +
	"\blast_wal\x18\x02 \x01(\tR\alastWal\x12o\n" +
	"\x16additional_information\x18\x04 \x03(\v28.cnpgi.wal.v1.WALStatusResult.AdditionalInformationEntryR\x15additionalInformation\x1aH\n" +
	"\x1aAdditionalInformationEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"v\n" +
	"\x17SetFirstRequiredRequest\x12-\n" +
	"\x12cluster_definition\x18\x01 \x01(\fR\x11clusterDefinition\x12,\n" +
	"\x12first_required_wal\x18\x02 \x01(\tR\x10firstRequiredWal\"\x18\n" +
	"\x16SetFirstRequiredResult\"\x18\n" +
	"\x16WALCapabilitiesRequest\"X\n" +
	"\x15WALCapabilitiesResult\x12?\n" +
	"\fcapabilities\x18\x01 \x03(\v2\x1b.cnpgi.wal.v1.WALCapabilityR\fcapabilities\"\x86\x02\n" +
	"\rWALCapability\x123\n" +
	"\x03rpc\x18\x01 \x01(\v2\x1f.cnpgi.wal.v1.WALCapability.RPCH\x00R\x03rpc\x1a\xb7\x01\n" +
	"\x03RPC\x128\n" +
	"\x04type\x18\x01 \x01(\x0e2$.cnpgi.wal.v1.WALCapability.RPC.TypeR\x04type\"v\n" +
	"\x04Type\x12\x14\n" +
	"\x10TYPE_UNSPECIFIED\x10\x00\x12\x14\n" +
	"\x10TYPE_ARCHIVE_WAL\x10\x01\x12\x14\n" +
	"\x10TYPE_RESTORE_WAL\x10\x02\x12\x0f\n" +
	"\vTYPE_STATUS\x10\x03\x12\x1b\n" +
	"\x17TYPE_SET_FIRST_REQUIRED\x10\x04B\x06\n" +
	"\x04type2\xaf\x03\n" +
	"\x03WAL\x12^\n" +
	"\x0fGetCapabilities\x12$.cnpgi.wal.v1.WALCapabilitiesRequest\x1a#.cnpgi.wal.v1.WALCapabilitiesResult\"\x00\x12L\n" +
	"\aArchive\x12\x1f.cnpgi.wal.v1.WALArchiveRequest\x1a\x1e.cnpgi.wal.v1.WALArchiveResult\"\x00\x12L\n" +
	"\aRestore\x12\x1f.cnpgi.wal.v1.WALRestoreRequest\x1a\x1e.cnpgi.wal.v1.WALRestoreResult\"\x00\x12I\n" +
	"\x06Status\x12\x1e.cnpgi.wal.v1.WALStatusRequest\x1a\x1d.cnpgi.wal.v1.WALStatusResult\"\x00\x12a\n" +
	"\x10SetFirstRequired\x12%.cnpgi.wal.v1.SetFirstRequiredRequest\x1a$.cnpgi.wal.v1.SetFirstRequiredResult\"\x00B*Z(github.com/cloudnative-pg/cnpg-i/pkg/walb\x06proto3"

var (
	file_proto_wal_proto_rawDescOnce sync.Once
	file_proto_wal_proto_rawDescData []byte
)

func file_proto_wal_proto_rawDescGZIP() []byte {
	file_proto_wal_proto_rawDescOnce.Do(func() {
		file_proto_wal_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_proto_wal_proto_rawDesc), len(file_proto_wal_proto_rawDesc)))
	})
	return file_proto_wal_proto_rawDescData
}

var file_proto_wal_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_proto_wal_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
var file_proto_wal_proto_goTypes = []any{
	(WALCapability_RPC_Type)(0),     // 0: cnpgi.wal.v1.WALCapability.RPC.Type
	(*WALArchiveRequest)(nil),       // 1: cnpgi.wal.v1.WALArchiveRequest
	(*WALArchiveResult)(nil),        // 2: cnpgi.wal.v1.WALArchiveResult
	(*WALRestoreRequest)(nil),       // 3: cnpgi.wal.v1.WALRestoreRequest
	(*WALRestoreResult)(nil),        // 4: cnpgi.wal.v1.WALRestoreResult
	(*WALStatusRequest)(nil),        // 5: cnpgi.wal.v1.WALStatusRequest
	(*WALStatusResult)(nil),         // 6: cnpgi.wal.v1.WALStatusResult
	(*SetFirstRequiredRequest)(nil), // 7: cnpgi.wal.v1.SetFirstRequiredRequest
	(*SetFirstRequiredResult)(nil),  // 8: cnpgi.wal.v1.SetFirstRequiredResult
	(*WALCapabilitiesRequest)(nil),  // 9: cnpgi.wal.v1.WALCapabilitiesRequest
	(*WALCapabilitiesResult)(nil),   // 10: cnpgi.wal.v1.WALCapabilitiesResult
	(*WALCapability)(nil),           // 11: cnpgi.wal.v1.WALCapability
	nil,                             // 12: cnpgi.wal.v1.WALArchiveRequest.ParametersEntry
	nil,                             // 13: cnpgi.wal.v1.WALRestoreRequest.ParametersEntry
	nil,                             // 14: cnpgi.wal.v1.WALStatusResult.AdditionalInformationEntry
	(*WALCapability_RPC)(nil),       // 15: cnpgi.wal.v1.WALCapability.RPC
}
var file_proto_wal_proto_depIdxs = []int32{
	12, // 0: cnpgi.wal.v1.WALArchiveRequest.parameters:type_name -> cnpgi.wal.v1.WALArchiveRequest.ParametersEntry
	13, // 1: cnpgi.wal.v1.WALRestoreRequest.parameters:type_name -> cnpgi.wal.v1.WALRestoreRequest.ParametersEntry
	14, // 2: cnpgi.wal.v1.WALStatusResult.additional_information:type_name -> cnpgi.wal.v1.WALStatusResult.AdditionalInformationEntry
	11, // 3: cnpgi.wal.v1.WALCapabilitiesResult.capabilities:type_name -> cnpgi.wal.v1.WALCapability
	15, // 4: cnpgi.wal.v1.WALCapability.rpc:type_name -> cnpgi.wal.v1.WALCapability.RPC
	0,  // 5: cnpgi.wal.v1.WALCapability.RPC.type:type_name -> cnpgi.wal.v1.WALCapability.RPC.Type
	9,  // 6: cnpgi.wal.v1.WAL.GetCapabilities:input_type -> cnpgi.wal.v1.WALCapabilitiesRequest
	1,  // 7: cnpgi.wal.v1.WAL.Archive:input_type -> cnpgi.wal.v1.WALArchiveRequest
	3,  // 8: cnpgi.wal.v1.WAL.Restore:input_type -> cnpgi.wal.v1.WALRestoreRequest
	5,  // 9: cnpgi.wal.v1.WAL.Status:input_type -> cnpgi.wal.v1.WALStatusRequest
	7,  // 10: cnpgi.wal.v1.WAL.SetFirstRequired:input_type -> cnpgi.wal.v1.SetFirstRequiredRequest
	10, // 11: cnpgi.wal.v1.WAL.GetCapabilities:output_type -> cnpgi.wal.v1.WALCapabilitiesResult
	2,  // 12: cnpgi.wal.v1.WAL.Archive:output_type -> cnpgi.wal.v1.WALArchiveResult
	4,  // 13: cnpgi.wal.v1.WAL.Restore:output_type -> cnpgi.wal.v1.WALRestoreResult
	6,  // 14: cnpgi.wal.v1.WAL.Status:output_type -> cnpgi.wal.v1.WALStatusResult
	8,  // 15: cnpgi.wal.v1.WAL.SetFirstRequired:output_type -> cnpgi.wal.v1.SetFirstRequiredResult
	11, // [11:16] is the sub-list for method output_type
	6,  // [6:11] 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_proto_wal_proto_init() }
func file_proto_wal_proto_init() {
	if File_proto_wal_proto != nil {
		return
	}
	file_proto_wal_proto_msgTypes[10].OneofWrappers = []any{
		(*WALCapability_Rpc)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_proto_wal_proto_rawDesc), len(file_proto_wal_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   15,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_proto_wal_proto_goTypes,
		DependencyIndexes: file_proto_wal_proto_depIdxs,
		EnumInfos:         file_proto_wal_proto_enumTypes,
		MessageInfos:      file_proto_wal_proto_msgTypes,
	}.Build()
	File_proto_wal_proto = out.File
	file_proto_wal_proto_goTypes = nil
	file_proto_wal_proto_depIdxs = nil
}
