// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.9
// 	protoc        v5.29.5
// source: terraformer.proto

package pb

import (
	spec "github.com/berops/claudie/proto/pb/spec"
	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 BuildInfrastructureRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Current       *spec.K8Scluster       `protobuf:"bytes,1,opt,name=current,proto3" json:"current,omitempty"`
	Desired       *spec.K8Scluster       `protobuf:"bytes,2,opt,name=desired,proto3" json:"desired,omitempty"`
	CurrentLbs    []*spec.LBcluster      `protobuf:"bytes,3,rep,name=currentLbs,proto3" json:"currentLbs,omitempty"`
	DesiredLbs    []*spec.LBcluster      `protobuf:"bytes,4,rep,name=desiredLbs,proto3" json:"desiredLbs,omitempty"`
	ProjectName   string                 `protobuf:"bytes,5,opt,name=projectName,proto3" json:"projectName,omitempty"`
	Options       uint64                 `protobuf:"varint,6,opt,name=options,proto3" json:"options,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*BuildInfrastructureRequest) ProtoMessage() {}

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

func (x *BuildInfrastructureRequest) GetCurrent() *spec.K8Scluster {
	if x != nil {
		return x.Current
	}
	return nil
}

func (x *BuildInfrastructureRequest) GetDesired() *spec.K8Scluster {
	if x != nil {
		return x.Desired
	}
	return nil
}

func (x *BuildInfrastructureRequest) GetCurrentLbs() []*spec.LBcluster {
	if x != nil {
		return x.CurrentLbs
	}
	return nil
}

func (x *BuildInfrastructureRequest) GetDesiredLbs() []*spec.LBcluster {
	if x != nil {
		return x.DesiredLbs
	}
	return nil
}

func (x *BuildInfrastructureRequest) GetProjectName() string {
	if x != nil {
		return x.ProjectName
	}
	return ""
}

func (x *BuildInfrastructureRequest) GetOptions() uint64 {
	if x != nil {
		return x.Options
	}
	return 0
}

type BuildInfrastructureResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Response:
	//
	//	*BuildInfrastructureResponse_Ok
	//	*BuildInfrastructureResponse_Fail
	Response      isBuildInfrastructureResponse_Response `protobuf_oneof:"Response"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*BuildInfrastructureResponse) ProtoMessage() {}

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

func (x *BuildInfrastructureResponse) GetResponse() isBuildInfrastructureResponse_Response {
	if x != nil {
		return x.Response
	}
	return nil
}

func (x *BuildInfrastructureResponse) GetOk() *BuildInfrastructureResponse_InfrastructureData {
	if x != nil {
		if x, ok := x.Response.(*BuildInfrastructureResponse_Ok); ok {
			return x.Ok
		}
	}
	return nil
}

func (x *BuildInfrastructureResponse) GetFail() *BuildInfrastructureResponse_InfrastructureData {
	if x != nil {
		if x, ok := x.Response.(*BuildInfrastructureResponse_Fail); ok {
			return x.Fail
		}
	}
	return nil
}

type isBuildInfrastructureResponse_Response interface {
	isBuildInfrastructureResponse_Response()
}

type BuildInfrastructureResponse_Ok struct {
	Ok *BuildInfrastructureResponse_InfrastructureData `protobuf:"bytes,6,opt,name=ok,proto3,oneof"`
}

type BuildInfrastructureResponse_Fail struct {
	Fail *BuildInfrastructureResponse_InfrastructureData `protobuf:"bytes,7,opt,name=fail,proto3,oneof"`
}

func (*BuildInfrastructureResponse_Ok) isBuildInfrastructureResponse_Response() {}

func (*BuildInfrastructureResponse_Fail) isBuildInfrastructureResponse_Response() {}

type DestroyInfrastructureRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ProjectName   string                 `protobuf:"bytes,1,opt,name=projectName,proto3" json:"projectName,omitempty"`
	Current       *spec.K8Scluster       `protobuf:"bytes,2,opt,name=current,proto3" json:"current,omitempty"`
	CurrentLbs    []*spec.LBcluster      `protobuf:"bytes,3,rep,name=currentLbs,proto3" json:"currentLbs,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DestroyInfrastructureRequest) ProtoMessage() {}

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

func (x *DestroyInfrastructureRequest) GetProjectName() string {
	if x != nil {
		return x.ProjectName
	}
	return ""
}

func (x *DestroyInfrastructureRequest) GetCurrent() *spec.K8Scluster {
	if x != nil {
		return x.Current
	}
	return nil
}

func (x *DestroyInfrastructureRequest) GetCurrentLbs() []*spec.LBcluster {
	if x != nil {
		return x.CurrentLbs
	}
	return nil
}

type DestroyInfrastructureResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Current       *spec.K8Scluster       `protobuf:"bytes,1,opt,name=current,proto3" json:"current,omitempty"`
	CurrentLbs    []*spec.LBcluster      `protobuf:"bytes,2,rep,name=currentLbs,proto3" json:"currentLbs,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DestroyInfrastructureResponse) ProtoMessage() {}

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

func (x *DestroyInfrastructureResponse) GetCurrent() *spec.K8Scluster {
	if x != nil {
		return x.Current
	}
	return nil
}

func (x *DestroyInfrastructureResponse) GetCurrentLbs() []*spec.LBcluster {
	if x != nil {
		return x.CurrentLbs
	}
	return nil
}

type BuildInfrastructureResponse_InfrastructureData struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Desired       *spec.K8Scluster       `protobuf:"bytes,1,opt,name=desired,proto3" json:"desired,omitempty"`
	DesiredLbs    []*spec.LBcluster      `protobuf:"bytes,2,rep,name=desiredLbs,proto3" json:"desiredLbs,omitempty"`
	Failed        []string               `protobuf:"bytes,3,rep,name=failed,proto3" json:"failed,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*BuildInfrastructureResponse_InfrastructureData) ProtoMessage() {}

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

func (x *BuildInfrastructureResponse_InfrastructureData) GetDesired() *spec.K8Scluster {
	if x != nil {
		return x.Desired
	}
	return nil
}

func (x *BuildInfrastructureResponse_InfrastructureData) GetDesiredLbs() []*spec.LBcluster {
	if x != nil {
		return x.DesiredLbs
	}
	return nil
}

func (x *BuildInfrastructureResponse_InfrastructureData) GetFailed() []string {
	if x != nil {
		return x.Failed
	}
	return nil
}

var File_terraformer_proto protoreflect.FileDescriptor

const file_terraformer_proto_rawDesc = "" +
	"\n" +
	"\x11terraformer.proto\x12\aclaudie\x1a\x13spec/manifest.proto\"\x92\x02\n" +
	"\x1aBuildInfrastructureRequest\x12*\n" +
	"\acurrent\x18\x01 \x01(\v2\x10.spec.K8sclusterR\acurrent\x12*\n" +
	"\adesired\x18\x02 \x01(\v2\x10.spec.K8sclusterR\adesired\x12/\n" +
	"\n" +
	"currentLbs\x18\x03 \x03(\v2\x0f.spec.LBclusterR\n" +
	"currentLbs\x12/\n" +
	"\n" +
	"desiredLbs\x18\x04 \x03(\v2\x0f.spec.LBclusterR\n" +
	"desiredLbs\x12 \n" +
	"\vprojectName\x18\x05 \x01(\tR\vprojectName\x12\x18\n" +
	"\aoptions\x18\x06 \x01(\x04R\aoptions\"\xcf\x02\n" +
	"\x1bBuildInfrastructureResponse\x12I\n" +
	"\x02ok\x18\x06 \x01(\v27.claudie.BuildInfrastructureResponse.InfrastructureDataH\x00R\x02ok\x12M\n" +
	"\x04fail\x18\a \x01(\v27.claudie.BuildInfrastructureResponse.InfrastructureDataH\x00R\x04fail\x1a\x89\x01\n" +
	"\x12InfrastructureData\x12*\n" +
	"\adesired\x18\x01 \x01(\v2\x10.spec.K8sclusterR\adesired\x12/\n" +
	"\n" +
	"desiredLbs\x18\x02 \x03(\v2\x0f.spec.LBclusterR\n" +
	"desiredLbs\x12\x16\n" +
	"\x06failed\x18\x03 \x03(\tR\x06failedB\n" +
	"\n" +
	"\bResponse\"\x9d\x01\n" +
	"\x1cDestroyInfrastructureRequest\x12 \n" +
	"\vprojectName\x18\x01 \x01(\tR\vprojectName\x12*\n" +
	"\acurrent\x18\x02 \x01(\v2\x10.spec.K8sclusterR\acurrent\x12/\n" +
	"\n" +
	"currentLbs\x18\x03 \x03(\v2\x0f.spec.LBclusterR\n" +
	"currentLbs\"|\n" +
	"\x1dDestroyInfrastructureResponse\x12*\n" +
	"\acurrent\x18\x01 \x01(\v2\x10.spec.K8sclusterR\acurrent\x12/\n" +
	"\n" +
	"currentLbs\x18\x02 \x03(\v2\x0f.spec.LBclusterR\n" +
	"currentLbs2\xde\x01\n" +
	"\x12TerraformerService\x12`\n" +
	"\x13BuildInfrastructure\x12#.claudie.BuildInfrastructureRequest\x1a$.claudie.BuildInfrastructureResponse\x12f\n" +
	"\x15DestroyInfrastructure\x12%.claudie.DestroyInfrastructureRequest\x1a&.claudie.DestroyInfrastructureResponseB\n" +
	"Z\bproto/pbb\x06proto3"

var (
	file_terraformer_proto_rawDescOnce sync.Once
	file_terraformer_proto_rawDescData []byte
)

func file_terraformer_proto_rawDescGZIP() []byte {
	file_terraformer_proto_rawDescOnce.Do(func() {
		file_terraformer_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_terraformer_proto_rawDesc), len(file_terraformer_proto_rawDesc)))
	})
	return file_terraformer_proto_rawDescData
}

var file_terraformer_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
var file_terraformer_proto_goTypes = []any{
	(*BuildInfrastructureRequest)(nil),                     // 0: claudie.BuildInfrastructureRequest
	(*BuildInfrastructureResponse)(nil),                    // 1: claudie.BuildInfrastructureResponse
	(*DestroyInfrastructureRequest)(nil),                   // 2: claudie.DestroyInfrastructureRequest
	(*DestroyInfrastructureResponse)(nil),                  // 3: claudie.DestroyInfrastructureResponse
	(*BuildInfrastructureResponse_InfrastructureData)(nil), // 4: claudie.BuildInfrastructureResponse.InfrastructureData
	(*spec.K8Scluster)(nil),                                // 5: spec.K8scluster
	(*spec.LBcluster)(nil),                                 // 6: spec.LBcluster
}
var file_terraformer_proto_depIdxs = []int32{
	5,  // 0: claudie.BuildInfrastructureRequest.current:type_name -> spec.K8scluster
	5,  // 1: claudie.BuildInfrastructureRequest.desired:type_name -> spec.K8scluster
	6,  // 2: claudie.BuildInfrastructureRequest.currentLbs:type_name -> spec.LBcluster
	6,  // 3: claudie.BuildInfrastructureRequest.desiredLbs:type_name -> spec.LBcluster
	4,  // 4: claudie.BuildInfrastructureResponse.ok:type_name -> claudie.BuildInfrastructureResponse.InfrastructureData
	4,  // 5: claudie.BuildInfrastructureResponse.fail:type_name -> claudie.BuildInfrastructureResponse.InfrastructureData
	5,  // 6: claudie.DestroyInfrastructureRequest.current:type_name -> spec.K8scluster
	6,  // 7: claudie.DestroyInfrastructureRequest.currentLbs:type_name -> spec.LBcluster
	5,  // 8: claudie.DestroyInfrastructureResponse.current:type_name -> spec.K8scluster
	6,  // 9: claudie.DestroyInfrastructureResponse.currentLbs:type_name -> spec.LBcluster
	5,  // 10: claudie.BuildInfrastructureResponse.InfrastructureData.desired:type_name -> spec.K8scluster
	6,  // 11: claudie.BuildInfrastructureResponse.InfrastructureData.desiredLbs:type_name -> spec.LBcluster
	0,  // 12: claudie.TerraformerService.BuildInfrastructure:input_type -> claudie.BuildInfrastructureRequest
	2,  // 13: claudie.TerraformerService.DestroyInfrastructure:input_type -> claudie.DestroyInfrastructureRequest
	1,  // 14: claudie.TerraformerService.BuildInfrastructure:output_type -> claudie.BuildInfrastructureResponse
	3,  // 15: claudie.TerraformerService.DestroyInfrastructure:output_type -> claudie.DestroyInfrastructureResponse
	14, // [14:16] is the sub-list for method output_type
	12, // [12:14] 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_terraformer_proto_init() }
func file_terraformer_proto_init() {
	if File_terraformer_proto != nil {
		return
	}
	file_terraformer_proto_msgTypes[1].OneofWrappers = []any{
		(*BuildInfrastructureResponse_Ok)(nil),
		(*BuildInfrastructureResponse_Fail)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_terraformer_proto_rawDesc), len(file_terraformer_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   5,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_terraformer_proto_goTypes,
		DependencyIndexes: file_terraformer_proto_depIdxs,
		MessageInfos:      file_terraformer_proto_msgTypes,
	}.Build()
	File_terraformer_proto = out.File
	file_terraformer_proto_goTypes = nil
	file_terraformer_proto_depIdxs = nil
}
