// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        v3.19.0
// source: interservice/compliance/status/status.proto

package status

import (
	context "context"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	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 MigrationStatus_Status int32

const (
	MigrationStatus_UNKNOWN  MigrationStatus_Status = 0
	MigrationStatus_RUNNING  MigrationStatus_Status = 1
	MigrationStatus_FINISHED MigrationStatus_Status = 2
	MigrationStatus_FAILED   MigrationStatus_Status = 3
	MigrationStatus_SKIPPED  MigrationStatus_Status = 4
)

// Enum value maps for MigrationStatus_Status.
var (
	MigrationStatus_Status_name = map[int32]string{
		0: "UNKNOWN",
		1: "RUNNING",
		2: "FINISHED",
		3: "FAILED",
		4: "SKIPPED",
	}
	MigrationStatus_Status_value = map[string]int32{
		"UNKNOWN":  0,
		"RUNNING":  1,
		"FINISHED": 2,
		"FAILED":   3,
		"SKIPPED":  4,
	}
)

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

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

func (MigrationStatus_Status) Descriptor() protoreflect.EnumDescriptor {
	return file_interservice_compliance_status_status_proto_enumTypes[0].Descriptor()
}

func (MigrationStatus_Status) Type() protoreflect.EnumType {
	return &file_interservice_compliance_status_status_proto_enumTypes[0]
}

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

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

type ControlIndexMigrationStatus_Status int32

const (
	ControlIndexMigrationStatus_NOTCONFIGURED ControlIndexMigrationStatus_Status = 0
	ControlIndexMigrationStatus_NOTSTARTED    ControlIndexMigrationStatus_Status = 1
	ControlIndexMigrationStatus_INPROGRESS    ControlIndexMigrationStatus_Status = 2
	ControlIndexMigrationStatus_COMPLETED     ControlIndexMigrationStatus_Status = 3
)

// Enum value maps for ControlIndexMigrationStatus_Status.
var (
	ControlIndexMigrationStatus_Status_name = map[int32]string{
		0: "NOTCONFIGURED",
		1: "NOTSTARTED",
		2: "INPROGRESS",
		3: "COMPLETED",
	}
	ControlIndexMigrationStatus_Status_value = map[string]int32{
		"NOTCONFIGURED": 0,
		"NOTSTARTED":    1,
		"INPROGRESS":    2,
		"COMPLETED":     3,
	}
)

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

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

func (ControlIndexMigrationStatus_Status) Descriptor() protoreflect.EnumDescriptor {
	return file_interservice_compliance_status_status_proto_enumTypes[1].Descriptor()
}

func (ControlIndexMigrationStatus_Status) Type() protoreflect.EnumType {
	return &file_interservice_compliance_status_status_proto_enumTypes[1]
}

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

// Deprecated: Use ControlIndexMigrationStatus_Status.Descriptor instead.
func (ControlIndexMigrationStatus_Status) EnumDescriptor() ([]byte, []int) {
	return file_interservice_compliance_status_status_proto_rawDescGZIP(), []int{1, 0}
}

// MigrationStatus message
type MigrationStatus struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Total         int64                  `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty" toml:"total,omitempty" mapstructure:"total,omitempty"`
	Completed     int64                  `protobuf:"varint,2,opt,name=completed,proto3" json:"completed,omitempty" toml:"completed,omitempty" mapstructure:"completed,omitempty"`
	Logs          []*LogEntry            `protobuf:"bytes,3,rep,name=logs,proto3" json:"logs,omitempty" toml:"logs,omitempty" mapstructure:"logs,omitempty"`
	Status        MigrationStatus_Status `protobuf:"varint,4,opt,name=status,proto3,enum=chef.automate.domain.compliance.status.MigrationStatus_Status" json:"status,omitempty" toml:"status,omitempty" mapstructure:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*MigrationStatus) ProtoMessage() {}

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

func (x *MigrationStatus) GetTotal() int64 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *MigrationStatus) GetCompleted() int64 {
	if x != nil {
		return x.Completed
	}
	return 0
}

func (x *MigrationStatus) GetLogs() []*LogEntry {
	if x != nil {
		return x.Logs
	}
	return nil
}

func (x *MigrationStatus) GetStatus() MigrationStatus_Status {
	if x != nil {
		return x.Status
	}
	return MigrationStatus_UNKNOWN
}

type ControlIndexMigrationStatus struct {
	state         protoimpl.MessageState             `protogen:"open.v1"`
	Status        ControlIndexMigrationStatus_Status `protobuf:"varint,1,opt,name=status,proto3,enum=chef.automate.domain.compliance.status.ControlIndexMigrationStatus_Status" json:"status,omitempty" toml:"status,omitempty" mapstructure:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ControlIndexMigrationStatus) ProtoMessage() {}

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

func (x *ControlIndexMigrationStatus) GetStatus() ControlIndexMigrationStatus_Status {
	if x != nil {
		return x.Status
	}
	return ControlIndexMigrationStatus_NOTCONFIGURED
}

// label is used to differentiate between multiple migrations done by one service
type LogEntry struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Label         string                 `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty" toml:"label,omitempty" mapstructure:"label,omitempty"`
	Timestamp     *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty" toml:"timestamp,omitempty" mapstructure:"timestamp,omitempty"`
	Text          string                 `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty" toml:"text,omitempty" mapstructure:"text,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*LogEntry) ProtoMessage() {}

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

func (x *LogEntry) GetLabel() string {
	if x != nil {
		return x.Label
	}
	return ""
}

func (x *LogEntry) GetTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.Timestamp
	}
	return nil
}

func (x *LogEntry) GetText() string {
	if x != nil {
		return x.Text
	}
	return ""
}

var File_interservice_compliance_status_status_proto protoreflect.FileDescriptor

const file_interservice_compliance_status_status_proto_rawDesc = "" +
	"\n" +
	"+interservice/compliance/status/status.proto\x12&chef.automate.domain.compliance.status\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xae\x02\n" +
	"\x0fMigrationStatus\x12\x14\n" +
	"\x05total\x18\x01 \x01(\x03R\x05total\x12\x1c\n" +
	"\tcompleted\x18\x02 \x01(\x03R\tcompleted\x12D\n" +
	"\x04logs\x18\x03 \x03(\v20.chef.automate.domain.compliance.status.LogEntryR\x04logs\x12V\n" +
	"\x06status\x18\x04 \x01(\x0e2>.chef.automate.domain.compliance.status.MigrationStatus.StatusR\x06status\"I\n" +
	"\x06Status\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\v\n" +
	"\aRUNNING\x10\x01\x12\f\n" +
	"\bFINISHED\x10\x02\x12\n" +
	"\n" +
	"\x06FAILED\x10\x03\x12\v\n" +
	"\aSKIPPED\x10\x04\"\xcd\x01\n" +
	"\x1bControlIndexMigrationStatus\x12b\n" +
	"\x06status\x18\x01 \x01(\x0e2J.chef.automate.domain.compliance.status.ControlIndexMigrationStatus.StatusR\x06status\"J\n" +
	"\x06Status\x12\x11\n" +
	"\rNOTCONFIGURED\x10\x00\x12\x0e\n" +
	"\n" +
	"NOTSTARTED\x10\x01\x12\x0e\n" +
	"\n" +
	"INPROGRESS\x10\x02\x12\r\n" +
	"\tCOMPLETED\x10\x03\"n\n" +
	"\bLogEntry\x12\x14\n" +
	"\x05label\x18\x01 \x01(\tR\x05label\x128\n" +
	"\ttimestamp\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\x12\x12\n" +
	"\x04text\x18\x03 \x01(\tR\x04text2\x83\x02\n" +
	"\x17ComplianceStatusService\x12g\n" +
	"\x12GetMigrationStatus\x12\x16.google.protobuf.Empty\x1a7.chef.automate.domain.compliance.status.MigrationStatus\"\x00\x12\x7f\n" +
	"\x1eGetControlIndexMigrationStatus\x12\x16.google.protobuf.Empty\x1aC.chef.automate.domain.compliance.status.ControlIndexMigrationStatus\"\x00B=Z;github.com/chef/automate/api/interservice/compliance/statusb\x06proto3"

var (
	file_interservice_compliance_status_status_proto_rawDescOnce sync.Once
	file_interservice_compliance_status_status_proto_rawDescData []byte
)

func file_interservice_compliance_status_status_proto_rawDescGZIP() []byte {
	file_interservice_compliance_status_status_proto_rawDescOnce.Do(func() {
		file_interservice_compliance_status_status_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_interservice_compliance_status_status_proto_rawDesc), len(file_interservice_compliance_status_status_proto_rawDesc)))
	})
	return file_interservice_compliance_status_status_proto_rawDescData
}

var file_interservice_compliance_status_status_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_interservice_compliance_status_status_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_interservice_compliance_status_status_proto_goTypes = []any{
	(MigrationStatus_Status)(0),             // 0: chef.automate.domain.compliance.status.MigrationStatus.Status
	(ControlIndexMigrationStatus_Status)(0), // 1: chef.automate.domain.compliance.status.ControlIndexMigrationStatus.Status
	(*MigrationStatus)(nil),                 // 2: chef.automate.domain.compliance.status.MigrationStatus
	(*ControlIndexMigrationStatus)(nil),     // 3: chef.automate.domain.compliance.status.ControlIndexMigrationStatus
	(*LogEntry)(nil),                        // 4: chef.automate.domain.compliance.status.LogEntry
	(*timestamppb.Timestamp)(nil),           // 5: google.protobuf.Timestamp
	(*emptypb.Empty)(nil),                   // 6: google.protobuf.Empty
}
var file_interservice_compliance_status_status_proto_depIdxs = []int32{
	4, // 0: chef.automate.domain.compliance.status.MigrationStatus.logs:type_name -> chef.automate.domain.compliance.status.LogEntry
	0, // 1: chef.automate.domain.compliance.status.MigrationStatus.status:type_name -> chef.automate.domain.compliance.status.MigrationStatus.Status
	1, // 2: chef.automate.domain.compliance.status.ControlIndexMigrationStatus.status:type_name -> chef.automate.domain.compliance.status.ControlIndexMigrationStatus.Status
	5, // 3: chef.automate.domain.compliance.status.LogEntry.timestamp:type_name -> google.protobuf.Timestamp
	6, // 4: chef.automate.domain.compliance.status.ComplianceStatusService.GetMigrationStatus:input_type -> google.protobuf.Empty
	6, // 5: chef.automate.domain.compliance.status.ComplianceStatusService.GetControlIndexMigrationStatus:input_type -> google.protobuf.Empty
	2, // 6: chef.automate.domain.compliance.status.ComplianceStatusService.GetMigrationStatus:output_type -> chef.automate.domain.compliance.status.MigrationStatus
	3, // 7: chef.automate.domain.compliance.status.ComplianceStatusService.GetControlIndexMigrationStatus:output_type -> chef.automate.domain.compliance.status.ControlIndexMigrationStatus
	6, // [6:8] is the sub-list for method output_type
	4, // [4:6] is the sub-list for method input_type
	4, // [4:4] is the sub-list for extension type_name
	4, // [4:4] is the sub-list for extension extendee
	0, // [0:4] is the sub-list for field type_name
}

func init() { file_interservice_compliance_status_status_proto_init() }
func file_interservice_compliance_status_status_proto_init() {
	if File_interservice_compliance_status_status_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_interservice_compliance_status_status_proto_rawDesc), len(file_interservice_compliance_status_status_proto_rawDesc)),
			NumEnums:      2,
			NumMessages:   3,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_interservice_compliance_status_status_proto_goTypes,
		DependencyIndexes: file_interservice_compliance_status_status_proto_depIdxs,
		EnumInfos:         file_interservice_compliance_status_status_proto_enumTypes,
		MessageInfos:      file_interservice_compliance_status_status_proto_msgTypes,
	}.Build()
	File_interservice_compliance_status_status_proto = out.File
	file_interservice_compliance_status_status_proto_goTypes = nil
	file_interservice_compliance_status_status_proto_depIdxs = nil
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConnInterface

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6

// ComplianceStatusServiceClient is the client API for ComplianceStatusService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type ComplianceStatusServiceClient interface {
	GetMigrationStatus(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*MigrationStatus, error)
	GetControlIndexMigrationStatus(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ControlIndexMigrationStatus, error)
}

type complianceStatusServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewComplianceStatusServiceClient(cc grpc.ClientConnInterface) ComplianceStatusServiceClient {
	return &complianceStatusServiceClient{cc}
}

func (c *complianceStatusServiceClient) GetMigrationStatus(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*MigrationStatus, error) {
	out := new(MigrationStatus)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.compliance.status.ComplianceStatusService/GetMigrationStatus", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *complianceStatusServiceClient) GetControlIndexMigrationStatus(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ControlIndexMigrationStatus, error) {
	out := new(ControlIndexMigrationStatus)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.compliance.status.ComplianceStatusService/GetControlIndexMigrationStatus", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// ComplianceStatusServiceServer is the server API for ComplianceStatusService service.
type ComplianceStatusServiceServer interface {
	GetMigrationStatus(context.Context, *emptypb.Empty) (*MigrationStatus, error)
	GetControlIndexMigrationStatus(context.Context, *emptypb.Empty) (*ControlIndexMigrationStatus, error)
}

// UnimplementedComplianceStatusServiceServer can be embedded to have forward compatible implementations.
type UnimplementedComplianceStatusServiceServer struct {
}

func (*UnimplementedComplianceStatusServiceServer) GetMigrationStatus(context.Context, *emptypb.Empty) (*MigrationStatus, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetMigrationStatus not implemented")
}
func (*UnimplementedComplianceStatusServiceServer) GetControlIndexMigrationStatus(context.Context, *emptypb.Empty) (*ControlIndexMigrationStatus, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetControlIndexMigrationStatus not implemented")
}

func RegisterComplianceStatusServiceServer(s *grpc.Server, srv ComplianceStatusServiceServer) {
	s.RegisterService(&_ComplianceStatusService_serviceDesc, srv)
}

func _ComplianceStatusService_GetMigrationStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(emptypb.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ComplianceStatusServiceServer).GetMigrationStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.compliance.status.ComplianceStatusService/GetMigrationStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ComplianceStatusServiceServer).GetMigrationStatus(ctx, req.(*emptypb.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _ComplianceStatusService_GetControlIndexMigrationStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(emptypb.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ComplianceStatusServiceServer).GetControlIndexMigrationStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.compliance.status.ComplianceStatusService/GetControlIndexMigrationStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ComplianceStatusServiceServer).GetControlIndexMigrationStatus(ctx, req.(*emptypb.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

var _ComplianceStatusService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "chef.automate.domain.compliance.status.ComplianceStatusService",
	HandlerType: (*ComplianceStatusServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetMigrationStatus",
			Handler:    _ComplianceStatusService_GetMigrationStatus_Handler,
		},
		{
			MethodName: "GetControlIndexMigrationStatus",
			Handler:    _ComplianceStatusService_GetControlIndexMigrationStatus_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "interservice/compliance/status/status.proto",
}
