// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v6.31.1
// source: omni/specs/infra.proto

package specs

import (
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"

	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type MachineRequestStatusSpec_Stage int32

const (
	MachineRequestStatusSpec_UNKNOWN      MachineRequestStatusSpec_Stage = 0
	MachineRequestStatusSpec_PROVISIONING MachineRequestStatusSpec_Stage = 1
	MachineRequestStatusSpec_PROVISIONED  MachineRequestStatusSpec_Stage = 2
	MachineRequestStatusSpec_FAILED       MachineRequestStatusSpec_Stage = 3
)

// Enum value maps for MachineRequestStatusSpec_Stage.
var (
	MachineRequestStatusSpec_Stage_name = map[int32]string{
		0: "UNKNOWN",
		1: "PROVISIONING",
		2: "PROVISIONED",
		3: "FAILED",
	}
	MachineRequestStatusSpec_Stage_value = map[string]int32{
		"UNKNOWN":      0,
		"PROVISIONING": 1,
		"PROVISIONED":  2,
		"FAILED":       3,
	}
)

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

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

func (MachineRequestStatusSpec_Stage) Descriptor() protoreflect.EnumDescriptor {
	return file_omni_specs_infra_proto_enumTypes[0].Descriptor()
}

func (MachineRequestStatusSpec_Stage) Type() protoreflect.EnumType {
	return &file_omni_specs_infra_proto_enumTypes[0]
}

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

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

type InfraMachineSpec_MachinePowerState int32

const (
	InfraMachineSpec_POWER_STATE_OFF InfraMachineSpec_MachinePowerState = 0
	InfraMachineSpec_POWER_STATE_ON  InfraMachineSpec_MachinePowerState = 1
)

// Enum value maps for InfraMachineSpec_MachinePowerState.
var (
	InfraMachineSpec_MachinePowerState_name = map[int32]string{
		0: "POWER_STATE_OFF",
		1: "POWER_STATE_ON",
	}
	InfraMachineSpec_MachinePowerState_value = map[string]int32{
		"POWER_STATE_OFF": 0,
		"POWER_STATE_ON":  1,
	}
)

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

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

func (InfraMachineSpec_MachinePowerState) Descriptor() protoreflect.EnumDescriptor {
	return file_omni_specs_infra_proto_enumTypes[1].Descriptor()
}

func (InfraMachineSpec_MachinePowerState) Type() protoreflect.EnumType {
	return &file_omni_specs_infra_proto_enumTypes[1]
}

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

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

type InfraMachineStatusSpec_MachinePowerState int32

const (
	InfraMachineStatusSpec_POWER_STATE_UNKNOWN InfraMachineStatusSpec_MachinePowerState = 0
	InfraMachineStatusSpec_POWER_STATE_OFF     InfraMachineStatusSpec_MachinePowerState = 1
	InfraMachineStatusSpec_POWER_STATE_ON      InfraMachineStatusSpec_MachinePowerState = 2
)

// Enum value maps for InfraMachineStatusSpec_MachinePowerState.
var (
	InfraMachineStatusSpec_MachinePowerState_name = map[int32]string{
		0: "POWER_STATE_UNKNOWN",
		1: "POWER_STATE_OFF",
		2: "POWER_STATE_ON",
	}
	InfraMachineStatusSpec_MachinePowerState_value = map[string]int32{
		"POWER_STATE_UNKNOWN": 0,
		"POWER_STATE_OFF":     1,
		"POWER_STATE_ON":      2,
	}
)

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

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

func (InfraMachineStatusSpec_MachinePowerState) Descriptor() protoreflect.EnumDescriptor {
	return file_omni_specs_infra_proto_enumTypes[2].Descriptor()
}

func (InfraMachineStatusSpec_MachinePowerState) Type() protoreflect.EnumType {
	return &file_omni_specs_infra_proto_enumTypes[2]
}

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

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

type MachineRequestSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	TalosVersion  string                 `protobuf:"bytes,1,opt,name=talos_version,json=talosVersion,proto3" json:"talos_version,omitempty"`
	Overlay       *Overlay               `protobuf:"bytes,2,opt,name=overlay,proto3" json:"overlay,omitempty"`
	Extensions    []string               `protobuf:"bytes,3,rep,name=extensions,proto3" json:"extensions,omitempty"`
	KernelArgs    []string               `protobuf:"bytes,4,rep,name=kernel_args,json=kernelArgs,proto3" json:"kernel_args,omitempty"`
	MetaValues    []*MetaValue           `protobuf:"bytes,5,rep,name=meta_values,json=metaValues,proto3" json:"meta_values,omitempty"`
	ProviderData  string                 `protobuf:"bytes,6,opt,name=provider_data,json=providerData,proto3" json:"provider_data,omitempty"`
	GrpcTunnel    GrpcTunnelMode         `protobuf:"varint,7,opt,name=grpc_tunnel,json=grpcTunnel,proto3,enum=specs.GrpcTunnelMode" json:"grpc_tunnel,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*MachineRequestSpec) ProtoMessage() {}

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

func (x *MachineRequestSpec) GetTalosVersion() string {
	if x != nil {
		return x.TalosVersion
	}
	return ""
}

func (x *MachineRequestSpec) GetOverlay() *Overlay {
	if x != nil {
		return x.Overlay
	}
	return nil
}

func (x *MachineRequestSpec) GetExtensions() []string {
	if x != nil {
		return x.Extensions
	}
	return nil
}

func (x *MachineRequestSpec) GetKernelArgs() []string {
	if x != nil {
		return x.KernelArgs
	}
	return nil
}

func (x *MachineRequestSpec) GetMetaValues() []*MetaValue {
	if x != nil {
		return x.MetaValues
	}
	return nil
}

func (x *MachineRequestSpec) GetProviderData() string {
	if x != nil {
		return x.ProviderData
	}
	return ""
}

func (x *MachineRequestSpec) GetGrpcTunnel() GrpcTunnelMode {
	if x != nil {
		return x.GrpcTunnel
	}
	return GrpcTunnelMode_UNSET
}

type MachineRequestStatusSpec struct {
	state         protoimpl.MessageState         `protogen:"open.v1"`
	Id            string                         `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Stage         MachineRequestStatusSpec_Stage `protobuf:"varint,2,opt,name=stage,proto3,enum=specs.MachineRequestStatusSpec_Stage" json:"stage,omitempty"`
	Error         string                         `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
	Status        string                         `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*MachineRequestStatusSpec) ProtoMessage() {}

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

func (x *MachineRequestStatusSpec) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *MachineRequestStatusSpec) GetStage() MachineRequestStatusSpec_Stage {
	if x != nil {
		return x.Stage
	}
	return MachineRequestStatusSpec_UNKNOWN
}

func (x *MachineRequestStatusSpec) GetError() string {
	if x != nil {
		return x.Error
	}
	return ""
}

func (x *MachineRequestStatusSpec) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

type InfraMachineSpec struct {
	state               protoimpl.MessageState                  `protogen:"open.v1"`
	PreferredPowerState InfraMachineSpec_MachinePowerState      `protobuf:"varint,1,opt,name=preferred_power_state,json=preferredPowerState,proto3,enum=specs.InfraMachineSpec_MachinePowerState" json:"preferred_power_state,omitempty"`
	AcceptanceStatus    InfraMachineConfigSpec_AcceptanceStatus `protobuf:"varint,2,opt,name=acceptance_status,json=acceptanceStatus,proto3,enum=specs.InfraMachineConfigSpec_AcceptanceStatus" json:"acceptance_status,omitempty"`
	ClusterTalosVersion string                                  `protobuf:"bytes,3,opt,name=cluster_talos_version,json=clusterTalosVersion,proto3" json:"cluster_talos_version,omitempty"`
	Extensions          []string                                `protobuf:"bytes,4,rep,name=extensions,proto3" json:"extensions,omitempty"`
	// WipeId is set to a new id each time the machine gets unallocated.
	//
	// It is used by the provider to ensure that the machine is wiped between allocations.
	WipeId            string `protobuf:"bytes,5,opt,name=wipe_id,json=wipeId,proto3" json:"wipe_id,omitempty"`
	ExtraKernelArgs   string `protobuf:"bytes,6,opt,name=extra_kernel_args,json=extraKernelArgs,proto3" json:"extra_kernel_args,omitempty"`
	RequestedRebootId string `protobuf:"bytes,7,opt,name=requested_reboot_id,json=requestedRebootId,proto3" json:"requested_reboot_id,omitempty"`
	Cordoned          bool   `protobuf:"varint,8,opt,name=cordoned,proto3" json:"cordoned,omitempty"`
	// InstallEventId is a counter, incremented each time Omni receives an event over SideroLink that indicates there is Talos installation on the disk.
	//
	// This value is then used by the infra provider to make the decision whether Talos is installed or not.
	// It is able to track the installation state by:
	//   - Storing a copy of the value of this counter internally after wiping a machine.
	//   - Comparing the value of this counter with the stored value to determine if Talos is installed:
	//     It is installed if the value of the counter is greater than the stored value.
	InstallEventId uint64 `protobuf:"varint,9,opt,name=install_event_id,json=installEventId,proto3" json:"install_event_id,omitempty"`
	// NodeUniqueToken is copied from the corresponding siderolink.Link resource.
	NodeUniqueToken string `protobuf:"bytes,10,opt,name=node_unique_token,json=nodeUniqueToken,proto3" json:"node_unique_token,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*InfraMachineSpec) ProtoMessage() {}

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

func (x *InfraMachineSpec) GetPreferredPowerState() InfraMachineSpec_MachinePowerState {
	if x != nil {
		return x.PreferredPowerState
	}
	return InfraMachineSpec_POWER_STATE_OFF
}

func (x *InfraMachineSpec) GetAcceptanceStatus() InfraMachineConfigSpec_AcceptanceStatus {
	if x != nil {
		return x.AcceptanceStatus
	}
	return InfraMachineConfigSpec_PENDING
}

func (x *InfraMachineSpec) GetClusterTalosVersion() string {
	if x != nil {
		return x.ClusterTalosVersion
	}
	return ""
}

func (x *InfraMachineSpec) GetExtensions() []string {
	if x != nil {
		return x.Extensions
	}
	return nil
}

func (x *InfraMachineSpec) GetWipeId() string {
	if x != nil {
		return x.WipeId
	}
	return ""
}

func (x *InfraMachineSpec) GetExtraKernelArgs() string {
	if x != nil {
		return x.ExtraKernelArgs
	}
	return ""
}

func (x *InfraMachineSpec) GetRequestedRebootId() string {
	if x != nil {
		return x.RequestedRebootId
	}
	return ""
}

func (x *InfraMachineSpec) GetCordoned() bool {
	if x != nil {
		return x.Cordoned
	}
	return false
}

func (x *InfraMachineSpec) GetInstallEventId() uint64 {
	if x != nil {
		return x.InstallEventId
	}
	return 0
}

func (x *InfraMachineSpec) GetNodeUniqueToken() string {
	if x != nil {
		return x.NodeUniqueToken
	}
	return ""
}

type InfraMachineStateSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Installed     bool                   `protobuf:"varint,1,opt,name=installed,proto3" json:"installed,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*InfraMachineStateSpec) ProtoMessage() {}

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

func (x *InfraMachineStateSpec) GetInstalled() bool {
	if x != nil {
		return x.Installed
	}
	return false
}

type InfraMachineStatusSpec struct {
	state      protoimpl.MessageState                   `protogen:"open.v1"`
	PowerState InfraMachineStatusSpec_MachinePowerState `protobuf:"varint,1,opt,name=power_state,json=powerState,proto3,enum=specs.InfraMachineStatusSpec_MachinePowerState" json:"power_state,omitempty"`
	// ReadyToUse is set to true when the machine is not dirty, i.e., there is no pending wipe operation.
	ReadyToUse          bool                   `protobuf:"varint,2,opt,name=ready_to_use,json=readyToUse,proto3" json:"ready_to_use,omitempty"`
	LastRebootId        string                 `protobuf:"bytes,3,opt,name=last_reboot_id,json=lastRebootId,proto3" json:"last_reboot_id,omitempty"`
	LastRebootTimestamp *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=last_reboot_timestamp,json=lastRebootTimestamp,proto3" json:"last_reboot_timestamp,omitempty"`
	Installed           bool                   `protobuf:"varint,5,opt,name=installed,proto3" json:"installed,omitempty"`
	// WipedNodeUniqueToken is updated when the bare metal infra provider wipes the machine.
	// It reads the current token from the infra.Machine resource and updates it here.
	WipedNodeUniqueToken string `protobuf:"bytes,6,opt,name=wiped_node_unique_token,json=wipedNodeUniqueToken,proto3" json:"wiped_node_unique_token,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

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

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

func (*InfraMachineStatusSpec) ProtoMessage() {}

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

func (x *InfraMachineStatusSpec) GetPowerState() InfraMachineStatusSpec_MachinePowerState {
	if x != nil {
		return x.PowerState
	}
	return InfraMachineStatusSpec_POWER_STATE_UNKNOWN
}

func (x *InfraMachineStatusSpec) GetReadyToUse() bool {
	if x != nil {
		return x.ReadyToUse
	}
	return false
}

func (x *InfraMachineStatusSpec) GetLastRebootId() string {
	if x != nil {
		return x.LastRebootId
	}
	return ""
}

func (x *InfraMachineStatusSpec) GetLastRebootTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.LastRebootTimestamp
	}
	return nil
}

func (x *InfraMachineStatusSpec) GetInstalled() bool {
	if x != nil {
		return x.Installed
	}
	return false
}

func (x *InfraMachineStatusSpec) GetWipedNodeUniqueToken() string {
	if x != nil {
		return x.WipedNodeUniqueToken
	}
	return ""
}

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

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

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

func (*InfraProviderSpec) ProtoMessage() {}

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

type InfraProviderStatusSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Schema        string                 `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"`
	Name          string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Description   string                 `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	Icon          string                 `protobuf:"bytes,4,opt,name=icon,proto3" json:"icon,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*InfraProviderStatusSpec) ProtoMessage() {}

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

func (x *InfraProviderStatusSpec) GetSchema() string {
	if x != nil {
		return x.Schema
	}
	return ""
}

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

func (x *InfraProviderStatusSpec) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *InfraProviderStatusSpec) GetIcon() string {
	if x != nil {
		return x.Icon
	}
	return ""
}

type InfraProviderHealthStatusSpec struct {
	state                  protoimpl.MessageState `protogen:"open.v1"`
	LastHeartbeatTimestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=last_heartbeat_timestamp,json=lastHeartbeatTimestamp,proto3" json:"last_heartbeat_timestamp,omitempty"`
	Error                  string                 `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

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

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

func (*InfraProviderHealthStatusSpec) ProtoMessage() {}

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

func (x *InfraProviderHealthStatusSpec) GetLastHeartbeatTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.LastHeartbeatTimestamp
	}
	return nil
}

func (x *InfraProviderHealthStatusSpec) GetError() string {
	if x != nil {
		return x.Error
	}
	return ""
}

type BMCConfigSpec struct {
	state         protoimpl.MessageState     `protogen:"open.v1"`
	Config        *InfraMachineBMCConfigSpec `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*BMCConfigSpec) ProtoMessage() {}

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

func (x *BMCConfigSpec) GetConfig() *InfraMachineBMCConfigSpec {
	if x != nil {
		return x.Config
	}
	return nil
}

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

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

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

func (*MachineRegistrationSpec) ProtoMessage() {}

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

var File_omni_specs_infra_proto protoreflect.FileDescriptor

const file_omni_specs_infra_proto_rawDesc = "" +
	"\n" +
	"\x16omni/specs/infra.proto\x12\x05specs\x1a\x15omni/specs/omni.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xb4\x02\n" +
	"\x12MachineRequestSpec\x12#\n" +
	"\rtalos_version\x18\x01 \x01(\tR\ftalosVersion\x12(\n" +
	"\aoverlay\x18\x02 \x01(\v2\x0e.specs.OverlayR\aoverlay\x12\x1e\n" +
	"\n" +
	"extensions\x18\x03 \x03(\tR\n" +
	"extensions\x12\x1f\n" +
	"\vkernel_args\x18\x04 \x03(\tR\n" +
	"kernelArgs\x121\n" +
	"\vmeta_values\x18\x05 \x03(\v2\x10.specs.MetaValueR\n" +
	"metaValues\x12#\n" +
	"\rprovider_data\x18\x06 \x01(\tR\fproviderData\x126\n" +
	"\vgrpc_tunnel\x18\a \x01(\x0e2\x15.specs.GrpcTunnelModeR\n" +
	"grpcTunnel\"\xda\x01\n" +
	"\x18MachineRequestStatusSpec\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12;\n" +
	"\x05stage\x18\x02 \x01(\x0e2%.specs.MachineRequestStatusSpec.StageR\x05stage\x12\x14\n" +
	"\x05error\x18\x03 \x01(\tR\x05error\x12\x16\n" +
	"\x06status\x18\x04 \x01(\tR\x06status\"C\n" +
	"\x05Stage\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\x10\n" +
	"\fPROVISIONING\x10\x01\x12\x0f\n" +
	"\vPROVISIONED\x10\x02\x12\n" +
	"\n" +
	"\x06FAILED\x10\x03\"\xc7\x04\n" +
	"\x10InfraMachineSpec\x12]\n" +
	"\x15preferred_power_state\x18\x01 \x01(\x0e2).specs.InfraMachineSpec.MachinePowerStateR\x13preferredPowerState\x12[\n" +
	"\x11acceptance_status\x18\x02 \x01(\x0e2..specs.InfraMachineConfigSpec.AcceptanceStatusR\x10acceptanceStatus\x122\n" +
	"\x15cluster_talos_version\x18\x03 \x01(\tR\x13clusterTalosVersion\x12\x1e\n" +
	"\n" +
	"extensions\x18\x04 \x03(\tR\n" +
	"extensions\x12\x17\n" +
	"\awipe_id\x18\x05 \x01(\tR\x06wipeId\x12*\n" +
	"\x11extra_kernel_args\x18\x06 \x01(\tR\x0fextraKernelArgs\x12.\n" +
	"\x13requested_reboot_id\x18\a \x01(\tR\x11requestedRebootId\x12\x1a\n" +
	"\bcordoned\x18\b \x01(\bR\bcordoned\x12(\n" +
	"\x10install_event_id\x18\t \x01(\x04R\x0einstallEventId\x12*\n" +
	"\x11node_unique_token\x18\n" +
	" \x01(\tR\x0fnodeUniqueToken\"<\n" +
	"\x11MachinePowerState\x12\x13\n" +
	"\x0fPOWER_STATE_OFF\x10\x00\x12\x12\n" +
	"\x0ePOWER_STATE_ON\x10\x01\"5\n" +
	"\x15InfraMachineStateSpec\x12\x1c\n" +
	"\tinstalled\x18\x01 \x01(\bR\tinstalled\"\xae\x03\n" +
	"\x16InfraMachineStatusSpec\x12P\n" +
	"\vpower_state\x18\x01 \x01(\x0e2/.specs.InfraMachineStatusSpec.MachinePowerStateR\n" +
	"powerState\x12 \n" +
	"\fready_to_use\x18\x02 \x01(\bR\n" +
	"readyToUse\x12$\n" +
	"\x0elast_reboot_id\x18\x03 \x01(\tR\flastRebootId\x12N\n" +
	"\x15last_reboot_timestamp\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\x13lastRebootTimestamp\x12\x1c\n" +
	"\tinstalled\x18\x05 \x01(\bR\tinstalled\x125\n" +
	"\x17wiped_node_unique_token\x18\x06 \x01(\tR\x14wipedNodeUniqueToken\"U\n" +
	"\x11MachinePowerState\x12\x17\n" +
	"\x13POWER_STATE_UNKNOWN\x10\x00\x12\x13\n" +
	"\x0fPOWER_STATE_OFF\x10\x01\x12\x12\n" +
	"\x0ePOWER_STATE_ON\x10\x02\"\x13\n" +
	"\x11InfraProviderSpec\"{\n" +
	"\x17InfraProviderStatusSpec\x12\x16\n" +
	"\x06schema\x18\x01 \x01(\tR\x06schema\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12 \n" +
	"\vdescription\x18\x03 \x01(\tR\vdescription\x12\x12\n" +
	"\x04icon\x18\x04 \x01(\tR\x04icon\"\x8b\x01\n" +
	"\x1dInfraProviderHealthStatusSpec\x12T\n" +
	"\x18last_heartbeat_timestamp\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\x16lastHeartbeatTimestamp\x12\x14\n" +
	"\x05error\x18\x02 \x01(\tR\x05error\"I\n" +
	"\rBMCConfigSpec\x128\n" +
	"\x06config\x18\x01 \x01(\v2 .specs.InfraMachineBMCConfigSpecR\x06config\"\x19\n" +
	"\x17MachineRegistrationSpecB2Z0github.com/siderolabs/omni/client/api/omni/specsb\x06proto3"

var (
	file_omni_specs_infra_proto_rawDescOnce sync.Once
	file_omni_specs_infra_proto_rawDescData []byte
)

func file_omni_specs_infra_proto_rawDescGZIP() []byte {
	file_omni_specs_infra_proto_rawDescOnce.Do(func() {
		file_omni_specs_infra_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_omni_specs_infra_proto_rawDesc), len(file_omni_specs_infra_proto_rawDesc)))
	})
	return file_omni_specs_infra_proto_rawDescData
}

var file_omni_specs_infra_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
var file_omni_specs_infra_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
var file_omni_specs_infra_proto_goTypes = []any{
	(MachineRequestStatusSpec_Stage)(0),           // 0: specs.MachineRequestStatusSpec.Stage
	(InfraMachineSpec_MachinePowerState)(0),       // 1: specs.InfraMachineSpec.MachinePowerState
	(InfraMachineStatusSpec_MachinePowerState)(0), // 2: specs.InfraMachineStatusSpec.MachinePowerState
	(*MachineRequestSpec)(nil),                    // 3: specs.MachineRequestSpec
	(*MachineRequestStatusSpec)(nil),              // 4: specs.MachineRequestStatusSpec
	(*InfraMachineSpec)(nil),                      // 5: specs.InfraMachineSpec
	(*InfraMachineStateSpec)(nil),                 // 6: specs.InfraMachineStateSpec
	(*InfraMachineStatusSpec)(nil),                // 7: specs.InfraMachineStatusSpec
	(*InfraProviderSpec)(nil),                     // 8: specs.InfraProviderSpec
	(*InfraProviderStatusSpec)(nil),               // 9: specs.InfraProviderStatusSpec
	(*InfraProviderHealthStatusSpec)(nil),         // 10: specs.InfraProviderHealthStatusSpec
	(*BMCConfigSpec)(nil),                         // 11: specs.BMCConfigSpec
	(*MachineRegistrationSpec)(nil),               // 12: specs.MachineRegistrationSpec
	(*Overlay)(nil),                               // 13: specs.Overlay
	(*MetaValue)(nil),                             // 14: specs.MetaValue
	(GrpcTunnelMode)(0),                           // 15: specs.GrpcTunnelMode
	(InfraMachineConfigSpec_AcceptanceStatus)(0),  // 16: specs.InfraMachineConfigSpec.AcceptanceStatus
	(*timestamppb.Timestamp)(nil),                 // 17: google.protobuf.Timestamp
	(*InfraMachineBMCConfigSpec)(nil),             // 18: specs.InfraMachineBMCConfigSpec
}
var file_omni_specs_infra_proto_depIdxs = []int32{
	13, // 0: specs.MachineRequestSpec.overlay:type_name -> specs.Overlay
	14, // 1: specs.MachineRequestSpec.meta_values:type_name -> specs.MetaValue
	15, // 2: specs.MachineRequestSpec.grpc_tunnel:type_name -> specs.GrpcTunnelMode
	0,  // 3: specs.MachineRequestStatusSpec.stage:type_name -> specs.MachineRequestStatusSpec.Stage
	1,  // 4: specs.InfraMachineSpec.preferred_power_state:type_name -> specs.InfraMachineSpec.MachinePowerState
	16, // 5: specs.InfraMachineSpec.acceptance_status:type_name -> specs.InfraMachineConfigSpec.AcceptanceStatus
	2,  // 6: specs.InfraMachineStatusSpec.power_state:type_name -> specs.InfraMachineStatusSpec.MachinePowerState
	17, // 7: specs.InfraMachineStatusSpec.last_reboot_timestamp:type_name -> google.protobuf.Timestamp
	17, // 8: specs.InfraProviderHealthStatusSpec.last_heartbeat_timestamp:type_name -> google.protobuf.Timestamp
	18, // 9: specs.BMCConfigSpec.config:type_name -> specs.InfraMachineBMCConfigSpec
	10, // [10:10] is the sub-list for method output_type
	10, // [10:10] is the sub-list for method input_type
	10, // [10:10] is the sub-list for extension type_name
	10, // [10:10] is the sub-list for extension extendee
	0,  // [0:10] is the sub-list for field type_name
}

func init() { file_omni_specs_infra_proto_init() }
func file_omni_specs_infra_proto_init() {
	if File_omni_specs_infra_proto != nil {
		return
	}
	file_omni_specs_omni_proto_init()
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_omni_specs_infra_proto_rawDesc), len(file_omni_specs_infra_proto_rawDesc)),
			NumEnums:      3,
			NumMessages:   10,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_omni_specs_infra_proto_goTypes,
		DependencyIndexes: file_omni_specs_infra_proto_depIdxs,
		EnumInfos:         file_omni_specs_infra_proto_enumTypes,
		MessageInfos:      file_omni_specs_infra_proto_msgTypes,
	}.Build()
	File_omni_specs_infra_proto = out.File
	file_omni_specs_infra_proto_goTypes = nil
	file_omni_specs_infra_proto_depIdxs = nil
}
