// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11-devel
// 	protoc        (unknown)
// source: resource/definitions/network/network.proto

package network

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

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

	common "github.com/siderolabs/talos/pkg/machinery/api/common"
	enums "github.com/siderolabs/talos/pkg/machinery/api/resource/definitions/enums"
	runtime "github.com/siderolabs/talos/pkg/machinery/api/resource/definitions/runtime"
)

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

// AddressSpecSpec describes status of rendered secrets.
type AddressSpecSpec struct {
	state           protoimpl.MessageState   `protogen:"open.v1"`
	Address         *common.NetIPPrefix      `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	LinkName        string                   `protobuf:"bytes,2,opt,name=link_name,json=linkName,proto3" json:"link_name,omitempty"`
	Family          enums.NethelpersFamily   `protobuf:"varint,3,opt,name=family,proto3,enum=talos.resource.definitions.enums.NethelpersFamily" json:"family,omitempty"`
	Scope           enums.NethelpersScope    `protobuf:"varint,4,opt,name=scope,proto3,enum=talos.resource.definitions.enums.NethelpersScope" json:"scope,omitempty"`
	Flags           uint32                   `protobuf:"varint,5,opt,name=flags,proto3" json:"flags,omitempty"`
	AnnounceWithArp bool                     `protobuf:"varint,6,opt,name=announce_with_arp,json=announceWithArp,proto3" json:"announce_with_arp,omitempty"`
	ConfigLayer     enums.NetworkConfigLayer `protobuf:"varint,7,opt,name=config_layer,json=configLayer,proto3,enum=talos.resource.definitions.enums.NetworkConfigLayer" json:"config_layer,omitempty"`
	Priority        uint32                   `protobuf:"varint,8,opt,name=priority,proto3" json:"priority,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*AddressSpecSpec) ProtoMessage() {}

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

func (x *AddressSpecSpec) GetAddress() *common.NetIPPrefix {
	if x != nil {
		return x.Address
	}
	return nil
}

func (x *AddressSpecSpec) GetLinkName() string {
	if x != nil {
		return x.LinkName
	}
	return ""
}

func (x *AddressSpecSpec) GetFamily() enums.NethelpersFamily {
	if x != nil {
		return x.Family
	}
	return enums.NethelpersFamily(0)
}

func (x *AddressSpecSpec) GetScope() enums.NethelpersScope {
	if x != nil {
		return x.Scope
	}
	return enums.NethelpersScope(0)
}

func (x *AddressSpecSpec) GetFlags() uint32 {
	if x != nil {
		return x.Flags
	}
	return 0
}

func (x *AddressSpecSpec) GetAnnounceWithArp() bool {
	if x != nil {
		return x.AnnounceWithArp
	}
	return false
}

func (x *AddressSpecSpec) GetConfigLayer() enums.NetworkConfigLayer {
	if x != nil {
		return x.ConfigLayer
	}
	return enums.NetworkConfigLayer(0)
}

func (x *AddressSpecSpec) GetPriority() uint32 {
	if x != nil {
		return x.Priority
	}
	return 0
}

// AddressStatusSpec describes status of rendered secrets.
type AddressStatusSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Address       *common.NetIPPrefix    `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Local         *common.NetIP          `protobuf:"bytes,2,opt,name=local,proto3" json:"local,omitempty"`
	Broadcast     *common.NetIP          `protobuf:"bytes,3,opt,name=broadcast,proto3" json:"broadcast,omitempty"`
	Anycast       *common.NetIP          `protobuf:"bytes,4,opt,name=anycast,proto3" json:"anycast,omitempty"`
	Multicast     *common.NetIP          `protobuf:"bytes,5,opt,name=multicast,proto3" json:"multicast,omitempty"`
	LinkIndex     uint32                 `protobuf:"varint,6,opt,name=link_index,json=linkIndex,proto3" json:"link_index,omitempty"`
	LinkName      string                 `protobuf:"bytes,7,opt,name=link_name,json=linkName,proto3" json:"link_name,omitempty"`
	Family        enums.NethelpersFamily `protobuf:"varint,8,opt,name=family,proto3,enum=talos.resource.definitions.enums.NethelpersFamily" json:"family,omitempty"`
	Scope         enums.NethelpersScope  `protobuf:"varint,9,opt,name=scope,proto3,enum=talos.resource.definitions.enums.NethelpersScope" json:"scope,omitempty"`
	Flags         uint32                 `protobuf:"varint,10,opt,name=flags,proto3" json:"flags,omitempty"`
	Priority      uint32                 `protobuf:"varint,11,opt,name=priority,proto3" json:"priority,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AddressStatusSpec) ProtoMessage() {}

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

func (x *AddressStatusSpec) GetAddress() *common.NetIPPrefix {
	if x != nil {
		return x.Address
	}
	return nil
}

func (x *AddressStatusSpec) GetLocal() *common.NetIP {
	if x != nil {
		return x.Local
	}
	return nil
}

func (x *AddressStatusSpec) GetBroadcast() *common.NetIP {
	if x != nil {
		return x.Broadcast
	}
	return nil
}

func (x *AddressStatusSpec) GetAnycast() *common.NetIP {
	if x != nil {
		return x.Anycast
	}
	return nil
}

func (x *AddressStatusSpec) GetMulticast() *common.NetIP {
	if x != nil {
		return x.Multicast
	}
	return nil
}

func (x *AddressStatusSpec) GetLinkIndex() uint32 {
	if x != nil {
		return x.LinkIndex
	}
	return 0
}

func (x *AddressStatusSpec) GetLinkName() string {
	if x != nil {
		return x.LinkName
	}
	return ""
}

func (x *AddressStatusSpec) GetFamily() enums.NethelpersFamily {
	if x != nil {
		return x.Family
	}
	return enums.NethelpersFamily(0)
}

func (x *AddressStatusSpec) GetScope() enums.NethelpersScope {
	if x != nil {
		return x.Scope
	}
	return enums.NethelpersScope(0)
}

func (x *AddressStatusSpec) GetFlags() uint32 {
	if x != nil {
		return x.Flags
	}
	return 0
}

func (x *AddressStatusSpec) GetPriority() uint32 {
	if x != nil {
		return x.Priority
	}
	return 0
}

// BondMasterSpec describes bond settings if Kind == "bond".
type BondMasterSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Mode specifies the bonding policy
	Mode enums.NethelpersBondMode `protobuf:"varint,1,opt,name=mode,proto3,enum=talos.resource.definitions.enums.NethelpersBondMode" json:"mode,omitempty"`
	// HashPolicy selects the transmit hash policy to use for slave selection.
	HashPolicy enums.NethelpersBondXmitHashPolicy `protobuf:"varint,2,opt,name=hash_policy,json=hashPolicy,proto3,enum=talos.resource.definitions.enums.NethelpersBondXmitHashPolicy" json:"hash_policy,omitempty"`
	// LACPRate specifies the rate at which LACPDU frames are sent.
	LacpRate enums.NethelpersLACPRate `protobuf:"varint,3,opt,name=lacp_rate,json=lacpRate,proto3,enum=talos.resource.definitions.enums.NethelpersLACPRate" json:"lacp_rate,omitempty"`
	// ARPValidate specifies whether or not ARP probes and replies should be validated.
	ArpValidate enums.NethelpersARPValidate `protobuf:"varint,4,opt,name=arp_validate,json=arpValidate,proto3,enum=talos.resource.definitions.enums.NethelpersARPValidate" json:"arp_validate,omitempty"`
	// ARPAllTargets specifies whether ARP probes should be sent to any or all targets.
	ArpAllTargets enums.NethelpersARPAllTargets `protobuf:"varint,5,opt,name=arp_all_targets,json=arpAllTargets,proto3,enum=talos.resource.definitions.enums.NethelpersARPAllTargets" json:"arp_all_targets,omitempty"`
	// PrimaryIndex is a device index specifying which slave is the primary device.
	PrimaryIndex uint32 `protobuf:"varint,6,opt,name=primary_index,json=primaryIndex,proto3" json:"primary_index,omitempty"`
	// PrimaryReselect specifies the policy under which the primary slave should be reselected.
	PrimaryReselect enums.NethelpersPrimaryReselect `protobuf:"varint,7,opt,name=primary_reselect,json=primaryReselect,proto3,enum=talos.resource.definitions.enums.NethelpersPrimaryReselect" json:"primary_reselect,omitempty"`
	// FailOverMac whether active-backup mode should set all slaves to the same MAC address at enslavement, when enabled, or perform special handling.
	FailOverMac enums.NethelpersFailOverMAC `protobuf:"varint,8,opt,name=fail_over_mac,json=failOverMac,proto3,enum=talos.resource.definitions.enums.NethelpersFailOverMAC" json:"fail_over_mac,omitempty"`
	// ADSelect specifies the aggregate selection policy for 802.3ad.
	AdSelect enums.NethelpersADSelect `protobuf:"varint,9,opt,name=ad_select,json=adSelect,proto3,enum=talos.resource.definitions.enums.NethelpersADSelect" json:"ad_select,omitempty"`
	// MIIMon is the link monitoring frequency in milliseconds.
	MiiMon uint32 `protobuf:"varint,10,opt,name=mii_mon,json=miiMon,proto3" json:"mii_mon,omitempty"`
	// UpDelay is the time, in milliseconds, to wait before enabling a slave after a link recovery has been detected.
	UpDelay uint32 `protobuf:"varint,11,opt,name=up_delay,json=upDelay,proto3" json:"up_delay,omitempty"`
	// DownDelay is the time, in milliseconds, to wait before disabling a slave after a link failure has been detected.
	DownDelay uint32 `protobuf:"varint,12,opt,name=down_delay,json=downDelay,proto3" json:"down_delay,omitempty"`
	// ARPInterval is the ARP link monitoring frequency in milliseconds.
	ArpInterval uint32 `protobuf:"varint,13,opt,name=arp_interval,json=arpInterval,proto3" json:"arp_interval,omitempty"`
	// ResendIGMP specifies the number of times IGMP packets should be resent.
	ResendIgmp uint32 `protobuf:"varint,14,opt,name=resend_igmp,json=resendIgmp,proto3" json:"resend_igmp,omitempty"`
	// MinLinks specifies the minimum number of active links to assert carrier.
	MinLinks uint32 `protobuf:"varint,15,opt,name=min_links,json=minLinks,proto3" json:"min_links,omitempty"`
	// LPInterval specifies the number of seconds between instances where the bonding driver sends learning packets to each slave's peer switch.
	LpInterval uint32 `protobuf:"varint,16,opt,name=lp_interval,json=lpInterval,proto3" json:"lp_interval,omitempty"`
	// PacketsPerSlave specifies the number of packets to transmit through a slave before moving to the next one.
	PacketsPerSlave uint32 `protobuf:"varint,17,opt,name=packets_per_slave,json=packetsPerSlave,proto3" json:"packets_per_slave,omitempty"`
	// NumPeerNotif specifies the number of peer notifications
	// (gratuitous ARPs and unsolicited IPv6 Neighbor Advertisements) to be issued after a failover event.
	NumPeerNotif uint32 `protobuf:"varint,18,opt,name=num_peer_notif,json=numPeerNotif,proto3" json:"num_peer_notif,omitempty"`
	// TLBDynamicLB specifies if dynamic shuffling of flows is enabled in tlb or alb mode.
	TlbDynamicLb uint32 `protobuf:"varint,19,opt,name=tlb_dynamic_lb,json=tlbDynamicLb,proto3" json:"tlb_dynamic_lb,omitempty"`
	// AllSlavesActive specifies that duplicate frames (received on inactive ports) should be dropped (0) or delivered (1).
	AllSlavesActive uint32 `protobuf:"varint,20,opt,name=all_slaves_active,json=allSlavesActive,proto3" json:"all_slaves_active,omitempty"`
	// UseCarrier specifies whether or not miimon should use MII or ETHTOOL.
	UseCarrier bool `protobuf:"varint,21,opt,name=use_carrier,json=useCarrier,proto3" json:"use_carrier,omitempty"`
	// ADActorSysPrio is the actor system priority for 802.3ad.
	AdActorSysPrio uint32 `protobuf:"varint,22,opt,name=ad_actor_sys_prio,json=adActorSysPrio,proto3" json:"ad_actor_sys_prio,omitempty"`
	// ADUserPortKey is the user port key (upper 10 bits) for 802.3ad.
	AdUserPortKey uint32 `protobuf:"varint,23,opt,name=ad_user_port_key,json=adUserPortKey,proto3" json:"ad_user_port_key,omitempty"`
	// PeerNotifyDelay is the delay, in milliseconds, between each peer notification.
	PeerNotifyDelay uint32 `protobuf:"varint,24,opt,name=peer_notify_delay,json=peerNotifyDelay,proto3" json:"peer_notify_delay,omitempty"`
	// ARPIPTargets is the list of IP addresses to use for ARP link monitoring when ARPInterval is set.
	//
	// Maximum of 16 targets are supported.
	ArpipTargets []*common.NetIP `protobuf:"bytes,25,rep,name=arpip_targets,json=arpipTargets,proto3" json:"arpip_targets,omitempty"`
	// NSIP6Targets is the list of IPv6 addresses to use for NS link monitoring when ARPInterval is set.
	//
	// Maximum of 16 targets are supported.
	Nsip6Targets []*common.NetIP `protobuf:"bytes,26,rep,name=nsip6_targets,json=nsip6Targets,proto3" json:"nsip6_targets,omitempty"`
	// ADLACPActive specifies whether to send LACPDU frames periodically.
	AdlacpActive enums.NethelpersADLACPActive `protobuf:"varint,27,opt,name=adlacp_active,json=adlacpActive,proto3,enum=talos.resource.definitions.enums.NethelpersADLACPActive" json:"adlacp_active,omitempty"`
	// MissedMax is the number of arp_interval monitor checks that must fail in order for an interface to be marked down by the ARP monitor.
	MissedMax     uint32 `protobuf:"varint,28,opt,name=missed_max,json=missedMax,proto3" json:"missed_max,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*BondMasterSpec) ProtoMessage() {}

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

func (x *BondMasterSpec) GetMode() enums.NethelpersBondMode {
	if x != nil {
		return x.Mode
	}
	return enums.NethelpersBondMode(0)
}

func (x *BondMasterSpec) GetHashPolicy() enums.NethelpersBondXmitHashPolicy {
	if x != nil {
		return x.HashPolicy
	}
	return enums.NethelpersBondXmitHashPolicy(0)
}

func (x *BondMasterSpec) GetLacpRate() enums.NethelpersLACPRate {
	if x != nil {
		return x.LacpRate
	}
	return enums.NethelpersLACPRate(0)
}

func (x *BondMasterSpec) GetArpValidate() enums.NethelpersARPValidate {
	if x != nil {
		return x.ArpValidate
	}
	return enums.NethelpersARPValidate(0)
}

func (x *BondMasterSpec) GetArpAllTargets() enums.NethelpersARPAllTargets {
	if x != nil {
		return x.ArpAllTargets
	}
	return enums.NethelpersARPAllTargets(0)
}

func (x *BondMasterSpec) GetPrimaryIndex() uint32 {
	if x != nil {
		return x.PrimaryIndex
	}
	return 0
}

func (x *BondMasterSpec) GetPrimaryReselect() enums.NethelpersPrimaryReselect {
	if x != nil {
		return x.PrimaryReselect
	}
	return enums.NethelpersPrimaryReselect(0)
}

func (x *BondMasterSpec) GetFailOverMac() enums.NethelpersFailOverMAC {
	if x != nil {
		return x.FailOverMac
	}
	return enums.NethelpersFailOverMAC(0)
}

func (x *BondMasterSpec) GetAdSelect() enums.NethelpersADSelect {
	if x != nil {
		return x.AdSelect
	}
	return enums.NethelpersADSelect(0)
}

func (x *BondMasterSpec) GetMiiMon() uint32 {
	if x != nil {
		return x.MiiMon
	}
	return 0
}

func (x *BondMasterSpec) GetUpDelay() uint32 {
	if x != nil {
		return x.UpDelay
	}
	return 0
}

func (x *BondMasterSpec) GetDownDelay() uint32 {
	if x != nil {
		return x.DownDelay
	}
	return 0
}

func (x *BondMasterSpec) GetArpInterval() uint32 {
	if x != nil {
		return x.ArpInterval
	}
	return 0
}

func (x *BondMasterSpec) GetResendIgmp() uint32 {
	if x != nil {
		return x.ResendIgmp
	}
	return 0
}

func (x *BondMasterSpec) GetMinLinks() uint32 {
	if x != nil {
		return x.MinLinks
	}
	return 0
}

func (x *BondMasterSpec) GetLpInterval() uint32 {
	if x != nil {
		return x.LpInterval
	}
	return 0
}

func (x *BondMasterSpec) GetPacketsPerSlave() uint32 {
	if x != nil {
		return x.PacketsPerSlave
	}
	return 0
}

func (x *BondMasterSpec) GetNumPeerNotif() uint32 {
	if x != nil {
		return x.NumPeerNotif
	}
	return 0
}

func (x *BondMasterSpec) GetTlbDynamicLb() uint32 {
	if x != nil {
		return x.TlbDynamicLb
	}
	return 0
}

func (x *BondMasterSpec) GetAllSlavesActive() uint32 {
	if x != nil {
		return x.AllSlavesActive
	}
	return 0
}

func (x *BondMasterSpec) GetUseCarrier() bool {
	if x != nil {
		return x.UseCarrier
	}
	return false
}

func (x *BondMasterSpec) GetAdActorSysPrio() uint32 {
	if x != nil {
		return x.AdActorSysPrio
	}
	return 0
}

func (x *BondMasterSpec) GetAdUserPortKey() uint32 {
	if x != nil {
		return x.AdUserPortKey
	}
	return 0
}

func (x *BondMasterSpec) GetPeerNotifyDelay() uint32 {
	if x != nil {
		return x.PeerNotifyDelay
	}
	return 0
}

func (x *BondMasterSpec) GetArpipTargets() []*common.NetIP {
	if x != nil {
		return x.ArpipTargets
	}
	return nil
}

func (x *BondMasterSpec) GetNsip6Targets() []*common.NetIP {
	if x != nil {
		return x.Nsip6Targets
	}
	return nil
}

func (x *BondMasterSpec) GetAdlacpActive() enums.NethelpersADLACPActive {
	if x != nil {
		return x.AdlacpActive
	}
	return enums.NethelpersADLACPActive(0)
}

func (x *BondMasterSpec) GetMissedMax() uint32 {
	if x != nil {
		return x.MissedMax
	}
	return 0
}

// BondSlave contains a bond's master name and slave index.
type BondSlave struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// MasterName indicates master link for enslaved bonded interfaces.
	MasterName string `protobuf:"bytes,1,opt,name=master_name,json=masterName,proto3" json:"master_name,omitempty"`
	// SlaveIndex indicates a slave's position in bond.
	SlaveIndex    int64 `protobuf:"varint,2,opt,name=slave_index,json=slaveIndex,proto3" json:"slave_index,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*BondSlave) ProtoMessage() {}

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

func (x *BondSlave) GetMasterName() string {
	if x != nil {
		return x.MasterName
	}
	return ""
}

func (x *BondSlave) GetSlaveIndex() int64 {
	if x != nil {
		return x.SlaveIndex
	}
	return 0
}

// BridgeMasterSpec describes bridge settings if Kind == "bridge".
type BridgeMasterSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Stp           *STPSpec               `protobuf:"bytes,1,opt,name=stp,proto3" json:"stp,omitempty"`
	Vlan          *BridgeVLANSpec        `protobuf:"bytes,2,opt,name=vlan,proto3" json:"vlan,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*BridgeMasterSpec) ProtoMessage() {}

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

func (x *BridgeMasterSpec) GetStp() *STPSpec {
	if x != nil {
		return x.Stp
	}
	return nil
}

func (x *BridgeMasterSpec) GetVlan() *BridgeVLANSpec {
	if x != nil {
		return x.Vlan
	}
	return nil
}

// BridgeSlave contains the name of the master bridge of a bridged interface
type BridgeSlave struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// MasterName indicates master link for enslaved bridged interfaces.
	MasterName    string `protobuf:"bytes,1,opt,name=master_name,json=masterName,proto3" json:"master_name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*BridgeSlave) ProtoMessage() {}

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

func (x *BridgeSlave) GetMasterName() string {
	if x != nil {
		return x.MasterName
	}
	return ""
}

// BridgeVLANSpec describes VLAN settings of a bridge.
type BridgeVLANSpec struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	FilteringEnabled bool                   `protobuf:"varint,1,opt,name=filtering_enabled,json=filteringEnabled,proto3" json:"filtering_enabled,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*BridgeVLANSpec) ProtoMessage() {}

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

func (x *BridgeVLANSpec) GetFilteringEnabled() bool {
	if x != nil {
		return x.FilteringEnabled
	}
	return false
}

// ClientIdentifierSpec is a shared DHCP4/DHCP6 client identifier spec.
type ClientIdentifierSpec struct {
	state            protoimpl.MessageState           `protogen:"open.v1"`
	ClientIdentifier enums.NethelpersClientIdentifier `protobuf:"varint,1,opt,name=client_identifier,json=clientIdentifier,proto3,enum=talos.resource.definitions.enums.NethelpersClientIdentifier" json:"client_identifier,omitempty"`
	DuidRawHex       string                           `protobuf:"bytes,2,opt,name=duid_raw_hex,json=duidRawHex,proto3" json:"duid_raw_hex,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*ClientIdentifierSpec) ProtoMessage() {}

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

func (x *ClientIdentifierSpec) GetClientIdentifier() enums.NethelpersClientIdentifier {
	if x != nil {
		return x.ClientIdentifier
	}
	return enums.NethelpersClientIdentifier(0)
}

func (x *ClientIdentifierSpec) GetDuidRawHex() string {
	if x != nil {
		return x.DuidRawHex
	}
	return ""
}

// DHCP4OperatorSpec describes DHCP4 operator options.
type DHCP4OperatorSpec struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	RouteMetric         uint32                 `protobuf:"varint,1,opt,name=route_metric,json=routeMetric,proto3" json:"route_metric,omitempty"`
	SkipHostnameRequest bool                   `protobuf:"varint,2,opt,name=skip_hostname_request,json=skipHostnameRequest,proto3" json:"skip_hostname_request,omitempty"`
	ClientIdentifier    *ClientIdentifierSpec  `protobuf:"bytes,3,opt,name=client_identifier,json=clientIdentifier,proto3" json:"client_identifier,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

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

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

func (*DHCP4OperatorSpec) ProtoMessage() {}

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

func (x *DHCP4OperatorSpec) GetRouteMetric() uint32 {
	if x != nil {
		return x.RouteMetric
	}
	return 0
}

func (x *DHCP4OperatorSpec) GetSkipHostnameRequest() bool {
	if x != nil {
		return x.SkipHostnameRequest
	}
	return false
}

func (x *DHCP4OperatorSpec) GetClientIdentifier() *ClientIdentifierSpec {
	if x != nil {
		return x.ClientIdentifier
	}
	return nil
}

// DHCP6OperatorSpec describes DHCP6 operator options.
type DHCP6OperatorSpec struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	RouteMetric         uint32                 `protobuf:"varint,2,opt,name=route_metric,json=routeMetric,proto3" json:"route_metric,omitempty"`
	SkipHostnameRequest bool                   `protobuf:"varint,3,opt,name=skip_hostname_request,json=skipHostnameRequest,proto3" json:"skip_hostname_request,omitempty"`
	ClientIdentifier    *ClientIdentifierSpec  `protobuf:"bytes,4,opt,name=client_identifier,json=clientIdentifier,proto3" json:"client_identifier,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

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

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

func (*DHCP6OperatorSpec) ProtoMessage() {}

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

func (x *DHCP6OperatorSpec) GetRouteMetric() uint32 {
	if x != nil {
		return x.RouteMetric
	}
	return 0
}

func (x *DHCP6OperatorSpec) GetSkipHostnameRequest() bool {
	if x != nil {
		return x.SkipHostnameRequest
	}
	return false
}

func (x *DHCP6OperatorSpec) GetClientIdentifier() *ClientIdentifierSpec {
	if x != nil {
		return x.ClientIdentifier
	}
	return nil
}

// DNSResolveCacheSpec describes DNS servers status.
type DNSResolveCacheSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DNSResolveCacheSpec) ProtoMessage() {}

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

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

// EthernetChannelsSpec describes config of Ethernet channels.
type EthernetChannelsSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Rx            uint32                 `protobuf:"varint,1,opt,name=rx,proto3" json:"rx,omitempty"`
	Tx            uint32                 `protobuf:"varint,2,opt,name=tx,proto3" json:"tx,omitempty"`
	Other         uint32                 `protobuf:"varint,3,opt,name=other,proto3" json:"other,omitempty"`
	Combined      uint32                 `protobuf:"varint,4,opt,name=combined,proto3" json:"combined,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EthernetChannelsSpec) Reset() {
	*x = EthernetChannelsSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*EthernetChannelsSpec) ProtoMessage() {}

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

func (x *EthernetChannelsSpec) GetRx() uint32 {
	if x != nil {
		return x.Rx
	}
	return 0
}

func (x *EthernetChannelsSpec) GetTx() uint32 {
	if x != nil {
		return x.Tx
	}
	return 0
}

func (x *EthernetChannelsSpec) GetOther() uint32 {
	if x != nil {
		return x.Other
	}
	return 0
}

func (x *EthernetChannelsSpec) GetCombined() uint32 {
	if x != nil {
		return x.Combined
	}
	return 0
}

// EthernetChannelsStatus describes status of Ethernet channels.
type EthernetChannelsStatus struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Read-only settings.
	RxMax       uint32 `protobuf:"varint,1,opt,name=rx_max,json=rxMax,proto3" json:"rx_max,omitempty"`
	TxMax       uint32 `protobuf:"varint,2,opt,name=tx_max,json=txMax,proto3" json:"tx_max,omitempty"`
	OtherMax    uint32 `protobuf:"varint,3,opt,name=other_max,json=otherMax,proto3" json:"other_max,omitempty"`
	CombinedMax uint32 `protobuf:"varint,4,opt,name=combined_max,json=combinedMax,proto3" json:"combined_max,omitempty"`
	// Current settings (read-write).
	Rx            uint32 `protobuf:"varint,5,opt,name=rx,proto3" json:"rx,omitempty"`
	Tx            uint32 `protobuf:"varint,6,opt,name=tx,proto3" json:"tx,omitempty"`
	Other         uint32 `protobuf:"varint,7,opt,name=other,proto3" json:"other,omitempty"`
	Combined      uint32 `protobuf:"varint,8,opt,name=combined,proto3" json:"combined,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EthernetChannelsStatus) Reset() {
	*x = EthernetChannelsStatus{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*EthernetChannelsStatus) ProtoMessage() {}

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

func (x *EthernetChannelsStatus) GetRxMax() uint32 {
	if x != nil {
		return x.RxMax
	}
	return 0
}

func (x *EthernetChannelsStatus) GetTxMax() uint32 {
	if x != nil {
		return x.TxMax
	}
	return 0
}

func (x *EthernetChannelsStatus) GetOtherMax() uint32 {
	if x != nil {
		return x.OtherMax
	}
	return 0
}

func (x *EthernetChannelsStatus) GetCombinedMax() uint32 {
	if x != nil {
		return x.CombinedMax
	}
	return 0
}

func (x *EthernetChannelsStatus) GetRx() uint32 {
	if x != nil {
		return x.Rx
	}
	return 0
}

func (x *EthernetChannelsStatus) GetTx() uint32 {
	if x != nil {
		return x.Tx
	}
	return 0
}

func (x *EthernetChannelsStatus) GetOther() uint32 {
	if x != nil {
		return x.Other
	}
	return 0
}

func (x *EthernetChannelsStatus) GetCombined() uint32 {
	if x != nil {
		return x.Combined
	}
	return 0
}

// EthernetFeatureStatus describes status of Ethernet features.
type EthernetFeatureStatus struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Status        string                 `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EthernetFeatureStatus) Reset() {
	*x = EthernetFeatureStatus{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*EthernetFeatureStatus) ProtoMessage() {}

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

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

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

// EthernetRingsSpec describes config of Ethernet rings.
type EthernetRingsSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Rx            uint32                 `protobuf:"varint,1,opt,name=rx,proto3" json:"rx,omitempty"`
	RxMini        uint32                 `protobuf:"varint,2,opt,name=rx_mini,json=rxMini,proto3" json:"rx_mini,omitempty"`
	RxJumbo       uint32                 `protobuf:"varint,3,opt,name=rx_jumbo,json=rxJumbo,proto3" json:"rx_jumbo,omitempty"`
	Tx            uint32                 `protobuf:"varint,4,opt,name=tx,proto3" json:"tx,omitempty"`
	RxBufLen      uint32                 `protobuf:"varint,5,opt,name=rx_buf_len,json=rxBufLen,proto3" json:"rx_buf_len,omitempty"`
	CqeSize       uint32                 `protobuf:"varint,6,opt,name=cqe_size,json=cqeSize,proto3" json:"cqe_size,omitempty"`
	TxPush        bool                   `protobuf:"varint,7,opt,name=tx_push,json=txPush,proto3" json:"tx_push,omitempty"`
	RxPush        bool                   `protobuf:"varint,8,opt,name=rx_push,json=rxPush,proto3" json:"rx_push,omitempty"`
	TxPushBufLen  uint32                 `protobuf:"varint,9,opt,name=tx_push_buf_len,json=txPushBufLen,proto3" json:"tx_push_buf_len,omitempty"`
	TcpDataSplit  bool                   `protobuf:"varint,10,opt,name=tcp_data_split,json=tcpDataSplit,proto3" json:"tcp_data_split,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*EthernetRingsSpec) ProtoMessage() {}

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

func (x *EthernetRingsSpec) GetRx() uint32 {
	if x != nil {
		return x.Rx
	}
	return 0
}

func (x *EthernetRingsSpec) GetRxMini() uint32 {
	if x != nil {
		return x.RxMini
	}
	return 0
}

func (x *EthernetRingsSpec) GetRxJumbo() uint32 {
	if x != nil {
		return x.RxJumbo
	}
	return 0
}

func (x *EthernetRingsSpec) GetTx() uint32 {
	if x != nil {
		return x.Tx
	}
	return 0
}

func (x *EthernetRingsSpec) GetRxBufLen() uint32 {
	if x != nil {
		return x.RxBufLen
	}
	return 0
}

func (x *EthernetRingsSpec) GetCqeSize() uint32 {
	if x != nil {
		return x.CqeSize
	}
	return 0
}

func (x *EthernetRingsSpec) GetTxPush() bool {
	if x != nil {
		return x.TxPush
	}
	return false
}

func (x *EthernetRingsSpec) GetRxPush() bool {
	if x != nil {
		return x.RxPush
	}
	return false
}

func (x *EthernetRingsSpec) GetTxPushBufLen() uint32 {
	if x != nil {
		return x.TxPushBufLen
	}
	return 0
}

func (x *EthernetRingsSpec) GetTcpDataSplit() bool {
	if x != nil {
		return x.TcpDataSplit
	}
	return false
}

// EthernetRingsStatus describes status of Ethernet rings.
type EthernetRingsStatus struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Read-only settings.
	RxMax           uint32 `protobuf:"varint,1,opt,name=rx_max,json=rxMax,proto3" json:"rx_max,omitempty"`
	RxMiniMax       uint32 `protobuf:"varint,2,opt,name=rx_mini_max,json=rxMiniMax,proto3" json:"rx_mini_max,omitempty"`
	RxJumboMax      uint32 `protobuf:"varint,3,opt,name=rx_jumbo_max,json=rxJumboMax,proto3" json:"rx_jumbo_max,omitempty"`
	TxMax           uint32 `protobuf:"varint,4,opt,name=tx_max,json=txMax,proto3" json:"tx_max,omitempty"`
	TxPushBufLenMax uint32 `protobuf:"varint,5,opt,name=tx_push_buf_len_max,json=txPushBufLenMax,proto3" json:"tx_push_buf_len_max,omitempty"`
	// Current settings (read-write).
	Rx            uint32 `protobuf:"varint,6,opt,name=rx,proto3" json:"rx,omitempty"`
	RxMini        uint32 `protobuf:"varint,7,opt,name=rx_mini,json=rxMini,proto3" json:"rx_mini,omitempty"`
	RxJumbo       uint32 `protobuf:"varint,8,opt,name=rx_jumbo,json=rxJumbo,proto3" json:"rx_jumbo,omitempty"`
	Tx            uint32 `protobuf:"varint,9,opt,name=tx,proto3" json:"tx,omitempty"`
	RxBufLen      uint32 `protobuf:"varint,10,opt,name=rx_buf_len,json=rxBufLen,proto3" json:"rx_buf_len,omitempty"`
	CqeSize       uint32 `protobuf:"varint,11,opt,name=cqe_size,json=cqeSize,proto3" json:"cqe_size,omitempty"`
	TxPush        bool   `protobuf:"varint,12,opt,name=tx_push,json=txPush,proto3" json:"tx_push,omitempty"`
	RxPush        bool   `protobuf:"varint,13,opt,name=rx_push,json=rxPush,proto3" json:"rx_push,omitempty"`
	TxPushBufLen  uint32 `protobuf:"varint,14,opt,name=tx_push_buf_len,json=txPushBufLen,proto3" json:"tx_push_buf_len,omitempty"`
	TcpDataSplit  bool   `protobuf:"varint,15,opt,name=tcp_data_split,json=tcpDataSplit,proto3" json:"tcp_data_split,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EthernetRingsStatus) Reset() {
	*x = EthernetRingsStatus{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*EthernetRingsStatus) ProtoMessage() {}

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

func (x *EthernetRingsStatus) GetRxMax() uint32 {
	if x != nil {
		return x.RxMax
	}
	return 0
}

func (x *EthernetRingsStatus) GetRxMiniMax() uint32 {
	if x != nil {
		return x.RxMiniMax
	}
	return 0
}

func (x *EthernetRingsStatus) GetRxJumboMax() uint32 {
	if x != nil {
		return x.RxJumboMax
	}
	return 0
}

func (x *EthernetRingsStatus) GetTxMax() uint32 {
	if x != nil {
		return x.TxMax
	}
	return 0
}

func (x *EthernetRingsStatus) GetTxPushBufLenMax() uint32 {
	if x != nil {
		return x.TxPushBufLenMax
	}
	return 0
}

func (x *EthernetRingsStatus) GetRx() uint32 {
	if x != nil {
		return x.Rx
	}
	return 0
}

func (x *EthernetRingsStatus) GetRxMini() uint32 {
	if x != nil {
		return x.RxMini
	}
	return 0
}

func (x *EthernetRingsStatus) GetRxJumbo() uint32 {
	if x != nil {
		return x.RxJumbo
	}
	return 0
}

func (x *EthernetRingsStatus) GetTx() uint32 {
	if x != nil {
		return x.Tx
	}
	return 0
}

func (x *EthernetRingsStatus) GetRxBufLen() uint32 {
	if x != nil {
		return x.RxBufLen
	}
	return 0
}

func (x *EthernetRingsStatus) GetCqeSize() uint32 {
	if x != nil {
		return x.CqeSize
	}
	return 0
}

func (x *EthernetRingsStatus) GetTxPush() bool {
	if x != nil {
		return x.TxPush
	}
	return false
}

func (x *EthernetRingsStatus) GetRxPush() bool {
	if x != nil {
		return x.RxPush
	}
	return false
}

func (x *EthernetRingsStatus) GetTxPushBufLen() uint32 {
	if x != nil {
		return x.TxPushBufLen
	}
	return 0
}

func (x *EthernetRingsStatus) GetTcpDataSplit() bool {
	if x != nil {
		return x.TcpDataSplit
	}
	return false
}

// EthernetSpecSpec describes config of Ethernet link.
type EthernetSpecSpec struct {
	state         protoimpl.MessageState    `protogen:"open.v1"`
	Rings         *EthernetRingsSpec        `protobuf:"bytes,1,opt,name=rings,proto3" json:"rings,omitempty"`
	Features      map[string]bool           `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	Channels      *EthernetChannelsSpec     `protobuf:"bytes,3,opt,name=channels,proto3" json:"channels,omitempty"`
	WakeOnLan     []enums.NethelpersWOLMode `protobuf:"varint,4,rep,packed,name=wake_on_lan,json=wakeOnLan,proto3,enum=talos.resource.definitions.enums.NethelpersWOLMode" json:"wake_on_lan,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EthernetSpecSpec) Reset() {
	*x = EthernetSpecSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*EthernetSpecSpec) ProtoMessage() {}

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

func (x *EthernetSpecSpec) GetRings() *EthernetRingsSpec {
	if x != nil {
		return x.Rings
	}
	return nil
}

func (x *EthernetSpecSpec) GetFeatures() map[string]bool {
	if x != nil {
		return x.Features
	}
	return nil
}

func (x *EthernetSpecSpec) GetChannels() *EthernetChannelsSpec {
	if x != nil {
		return x.Channels
	}
	return nil
}

func (x *EthernetSpecSpec) GetWakeOnLan() []enums.NethelpersWOLMode {
	if x != nil {
		return x.WakeOnLan
	}
	return nil
}

// EthernetStatusSpec describes status of rendered secrets.
type EthernetStatusSpec struct {
	state         protoimpl.MessageState    `protogen:"open.v1"`
	LinkState     bool                      `protobuf:"varint,1,opt,name=link_state,json=linkState,proto3" json:"link_state,omitempty"`
	SpeedMegabits int64                     `protobuf:"varint,2,opt,name=speed_megabits,json=speedMegabits,proto3" json:"speed_megabits,omitempty"`
	Port          enums.NethelpersPort      `protobuf:"varint,3,opt,name=port,proto3,enum=talos.resource.definitions.enums.NethelpersPort" json:"port,omitempty"`
	Duplex        enums.NethelpersDuplex    `protobuf:"varint,4,opt,name=duplex,proto3,enum=talos.resource.definitions.enums.NethelpersDuplex" json:"duplex,omitempty"`
	OurModes      []string                  `protobuf:"bytes,5,rep,name=our_modes,json=ourModes,proto3" json:"our_modes,omitempty"`
	PeerModes     []string                  `protobuf:"bytes,6,rep,name=peer_modes,json=peerModes,proto3" json:"peer_modes,omitempty"`
	Rings         *EthernetRingsStatus      `protobuf:"bytes,7,opt,name=rings,proto3" json:"rings,omitempty"`
	Features      []*EthernetFeatureStatus  `protobuf:"bytes,8,rep,name=features,proto3" json:"features,omitempty"`
	Channels      *EthernetChannelsStatus   `protobuf:"bytes,9,opt,name=channels,proto3" json:"channels,omitempty"`
	WakeOnLan     []enums.NethelpersWOLMode `protobuf:"varint,10,rep,packed,name=wake_on_lan,json=wakeOnLan,proto3,enum=talos.resource.definitions.enums.NethelpersWOLMode" json:"wake_on_lan,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EthernetStatusSpec) Reset() {
	*x = EthernetStatusSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*EthernetStatusSpec) ProtoMessage() {}

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

func (x *EthernetStatusSpec) GetLinkState() bool {
	if x != nil {
		return x.LinkState
	}
	return false
}

func (x *EthernetStatusSpec) GetSpeedMegabits() int64 {
	if x != nil {
		return x.SpeedMegabits
	}
	return 0
}

func (x *EthernetStatusSpec) GetPort() enums.NethelpersPort {
	if x != nil {
		return x.Port
	}
	return enums.NethelpersPort(0)
}

func (x *EthernetStatusSpec) GetDuplex() enums.NethelpersDuplex {
	if x != nil {
		return x.Duplex
	}
	return enums.NethelpersDuplex(0)
}

func (x *EthernetStatusSpec) GetOurModes() []string {
	if x != nil {
		return x.OurModes
	}
	return nil
}

func (x *EthernetStatusSpec) GetPeerModes() []string {
	if x != nil {
		return x.PeerModes
	}
	return nil
}

func (x *EthernetStatusSpec) GetRings() *EthernetRingsStatus {
	if x != nil {
		return x.Rings
	}
	return nil
}

func (x *EthernetStatusSpec) GetFeatures() []*EthernetFeatureStatus {
	if x != nil {
		return x.Features
	}
	return nil
}

func (x *EthernetStatusSpec) GetChannels() *EthernetChannelsStatus {
	if x != nil {
		return x.Channels
	}
	return nil
}

func (x *EthernetStatusSpec) GetWakeOnLan() []enums.NethelpersWOLMode {
	if x != nil {
		return x.WakeOnLan
	}
	return nil
}

// HTTPProbeSpec describes the HTTP Probe.
type HTTPProbeSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// URL to probe: http:// or https:// URL.
	Url *common.URL `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	// Timeout for the probe.
	Timeout       *durationpb.Duration `protobuf:"bytes,2,opt,name=timeout,proto3" json:"timeout,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *HTTPProbeSpec) Reset() {
	*x = HTTPProbeSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*HTTPProbeSpec) ProtoMessage() {}

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

func (x *HTTPProbeSpec) GetUrl() *common.URL {
	if x != nil {
		return x.Url
	}
	return nil
}

func (x *HTTPProbeSpec) GetTimeout() *durationpb.Duration {
	if x != nil {
		return x.Timeout
	}
	return nil
}

// HardwareAddrSpec describes spec for the link.
type HardwareAddrSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Name defines link name
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Hardware address
	HardwareAddr  []byte `protobuf:"bytes,2,opt,name=hardware_addr,json=hardwareAddr,proto3" json:"hardware_addr,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *HardwareAddrSpec) Reset() {
	*x = HardwareAddrSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*HardwareAddrSpec) ProtoMessage() {}

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

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

func (x *HardwareAddrSpec) GetHardwareAddr() []byte {
	if x != nil {
		return x.HardwareAddr
	}
	return nil
}

// HostDNSConfigSpec describes host DNS config.
type HostDNSConfigSpec struct {
	state                   protoimpl.MessageState `protogen:"open.v1"`
	Enabled                 bool                   `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	ListenAddresses         []*common.NetIPPort    `protobuf:"bytes,2,rep,name=listen_addresses,json=listenAddresses,proto3" json:"listen_addresses,omitempty"`
	ServiceHostDnsAddress   *common.NetIP          `protobuf:"bytes,3,opt,name=service_host_dns_address,json=serviceHostDnsAddress,proto3" json:"service_host_dns_address,omitempty"`
	ResolveMemberNames      bool                   `protobuf:"varint,4,opt,name=resolve_member_names,json=resolveMemberNames,proto3" json:"resolve_member_names,omitempty"`
	ServiceHostDnsAddressV6 *common.NetIP          `protobuf:"bytes,5,opt,name=service_host_dns_address_v6,json=serviceHostDnsAddressV6,proto3" json:"service_host_dns_address_v6,omitempty"`
	unknownFields           protoimpl.UnknownFields
	sizeCache               protoimpl.SizeCache
}

func (x *HostDNSConfigSpec) Reset() {
	*x = HostDNSConfigSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*HostDNSConfigSpec) ProtoMessage() {}

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

func (x *HostDNSConfigSpec) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *HostDNSConfigSpec) GetListenAddresses() []*common.NetIPPort {
	if x != nil {
		return x.ListenAddresses
	}
	return nil
}

func (x *HostDNSConfigSpec) GetServiceHostDnsAddress() *common.NetIP {
	if x != nil {
		return x.ServiceHostDnsAddress
	}
	return nil
}

func (x *HostDNSConfigSpec) GetResolveMemberNames() bool {
	if x != nil {
		return x.ResolveMemberNames
	}
	return false
}

func (x *HostDNSConfigSpec) GetServiceHostDnsAddressV6() *common.NetIP {
	if x != nil {
		return x.ServiceHostDnsAddressV6
	}
	return nil
}

// HostnameSpecSpec describes node hostname.
type HostnameSpecSpec struct {
	state         protoimpl.MessageState   `protogen:"open.v1"`
	Hostname      string                   `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
	Domainname    string                   `protobuf:"bytes,2,opt,name=domainname,proto3" json:"domainname,omitempty"`
	ConfigLayer   enums.NetworkConfigLayer `protobuf:"varint,3,opt,name=config_layer,json=configLayer,proto3,enum=talos.resource.definitions.enums.NetworkConfigLayer" json:"config_layer,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *HostnameSpecSpec) Reset() {
	*x = HostnameSpecSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*HostnameSpecSpec) ProtoMessage() {}

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

func (x *HostnameSpecSpec) GetHostname() string {
	if x != nil {
		return x.Hostname
	}
	return ""
}

func (x *HostnameSpecSpec) GetDomainname() string {
	if x != nil {
		return x.Domainname
	}
	return ""
}

func (x *HostnameSpecSpec) GetConfigLayer() enums.NetworkConfigLayer {
	if x != nil {
		return x.ConfigLayer
	}
	return enums.NetworkConfigLayer(0)
}

// HostnameStatusSpec describes node hostname.
type HostnameStatusSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Hostname      string                 `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
	Domainname    string                 `protobuf:"bytes,2,opt,name=domainname,proto3" json:"domainname,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *HostnameStatusSpec) Reset() {
	*x = HostnameStatusSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*HostnameStatusSpec) ProtoMessage() {}

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

func (x *HostnameStatusSpec) GetHostname() string {
	if x != nil {
		return x.Hostname
	}
	return ""
}

func (x *HostnameStatusSpec) GetDomainname() string {
	if x != nil {
		return x.Domainname
	}
	return ""
}

// LinkAliasSpecSpec describes status of rendered secrets.
type LinkAliasSpecSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Alias         string                 `protobuf:"bytes,1,opt,name=alias,proto3" json:"alias,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LinkAliasSpecSpec) Reset() {
	*x = LinkAliasSpecSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*LinkAliasSpecSpec) ProtoMessage() {}

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

func (x *LinkAliasSpecSpec) GetAlias() string {
	if x != nil {
		return x.Alias
	}
	return ""
}

// LinkRefreshSpec describes status of rendered secrets.
type LinkRefreshSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Generation    int64                  `protobuf:"varint,1,opt,name=generation,proto3" json:"generation,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LinkRefreshSpec) Reset() {
	*x = LinkRefreshSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*LinkRefreshSpec) ProtoMessage() {}

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

func (x *LinkRefreshSpec) GetGeneration() int64 {
	if x != nil {
		return x.Generation
	}
	return 0
}

// LinkSpecSpec describes spec for the link.
type LinkSpecSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Name defines link name
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Logical describes if the interface should be created on the fly if it doesn't exist.
	Logical bool `protobuf:"varint,2,opt,name=logical,proto3" json:"logical,omitempty"`
	// If Up is true, bring interface up, otherwise bring interface down.
	//
	// TODO: make *bool ?
	Up bool `protobuf:"varint,3,opt,name=up,proto3" json:"up,omitempty"`
	// Interface MTU (always applies).
	Mtu uint32 `protobuf:"varint,4,opt,name=mtu,proto3" json:"mtu,omitempty"`
	// Kind and Type are only required for Logical interfaces.
	Kind string                   `protobuf:"bytes,5,opt,name=kind,proto3" json:"kind,omitempty"`
	Type enums.NethelpersLinkType `protobuf:"varint,6,opt,name=type,proto3,enum=talos.resource.definitions.enums.NethelpersLinkType" json:"type,omitempty"`
	// ParentName indicates link parent for VLAN interfaces.
	ParentName string `protobuf:"bytes,7,opt,name=parent_name,json=parentName,proto3" json:"parent_name,omitempty"`
	// BondSlave contains bond slave configuration for interfaces enslaved to a bond.
	BondSlave *BondSlave `protobuf:"bytes,8,opt,name=bond_slave,json=bondSlave,proto3" json:"bond_slave,omitempty"`
	// BridgeSlave carries bridge slave details for bridged interfaces.
	BridgeSlave *BridgeSlave `protobuf:"bytes,9,opt,name=bridge_slave,json=bridgeSlave,proto3" json:"bridge_slave,omitempty"`
	// These structures are present depending on "Kind" for Logical interfaces.
	Vlan         *VLANSpec         `protobuf:"bytes,10,opt,name=vlan,proto3" json:"vlan,omitempty"`
	BondMaster   *BondMasterSpec   `protobuf:"bytes,11,opt,name=bond_master,json=bondMaster,proto3" json:"bond_master,omitempty"`
	BridgeMaster *BridgeMasterSpec `protobuf:"bytes,12,opt,name=bridge_master,json=bridgeMaster,proto3" json:"bridge_master,omitempty"`
	Wireguard    *WireguardSpec    `protobuf:"bytes,13,opt,name=wireguard,proto3" json:"wireguard,omitempty"`
	// Configuration layer.
	ConfigLayer enums.NetworkConfigLayer `protobuf:"varint,14,opt,name=config_layer,json=configLayer,proto3,enum=talos.resource.definitions.enums.NetworkConfigLayer" json:"config_layer,omitempty"`
	// Override hardware (MAC) address (if supported).
	HardwareAddress []byte `protobuf:"bytes,15,opt,name=hardware_address,json=hardwareAddress,proto3" json:"hardware_address,omitempty"`
	// Multicast indicates whether the multicast flag should be set on the interface to the value.
	Multicast bool           `protobuf:"varint,16,opt,name=multicast,proto3" json:"multicast,omitempty"`
	VrfMaster *VRFMasterSpec `protobuf:"bytes,17,opt,name=vrf_master,json=vrfMaster,proto3" json:"vrf_master,omitempty"`
	// VRFSlave carries VRF slave details for interfaces in a VRF.
	VrfSlave      *VRFSlave `protobuf:"bytes,18,opt,name=vrf_slave,json=vrfSlave,proto3" json:"vrf_slave,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LinkSpecSpec) Reset() {
	*x = LinkSpecSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*LinkSpecSpec) ProtoMessage() {}

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

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

func (x *LinkSpecSpec) GetLogical() bool {
	if x != nil {
		return x.Logical
	}
	return false
}

func (x *LinkSpecSpec) GetUp() bool {
	if x != nil {
		return x.Up
	}
	return false
}

func (x *LinkSpecSpec) GetMtu() uint32 {
	if x != nil {
		return x.Mtu
	}
	return 0
}

func (x *LinkSpecSpec) GetKind() string {
	if x != nil {
		return x.Kind
	}
	return ""
}

func (x *LinkSpecSpec) GetType() enums.NethelpersLinkType {
	if x != nil {
		return x.Type
	}
	return enums.NethelpersLinkType(0)
}

func (x *LinkSpecSpec) GetParentName() string {
	if x != nil {
		return x.ParentName
	}
	return ""
}

func (x *LinkSpecSpec) GetBondSlave() *BondSlave {
	if x != nil {
		return x.BondSlave
	}
	return nil
}

func (x *LinkSpecSpec) GetBridgeSlave() *BridgeSlave {
	if x != nil {
		return x.BridgeSlave
	}
	return nil
}

func (x *LinkSpecSpec) GetVlan() *VLANSpec {
	if x != nil {
		return x.Vlan
	}
	return nil
}

func (x *LinkSpecSpec) GetBondMaster() *BondMasterSpec {
	if x != nil {
		return x.BondMaster
	}
	return nil
}

func (x *LinkSpecSpec) GetBridgeMaster() *BridgeMasterSpec {
	if x != nil {
		return x.BridgeMaster
	}
	return nil
}

func (x *LinkSpecSpec) GetWireguard() *WireguardSpec {
	if x != nil {
		return x.Wireguard
	}
	return nil
}

func (x *LinkSpecSpec) GetConfigLayer() enums.NetworkConfigLayer {
	if x != nil {
		return x.ConfigLayer
	}
	return enums.NetworkConfigLayer(0)
}

func (x *LinkSpecSpec) GetHardwareAddress() []byte {
	if x != nil {
		return x.HardwareAddress
	}
	return nil
}

func (x *LinkSpecSpec) GetMulticast() bool {
	if x != nil {
		return x.Multicast
	}
	return false
}

func (x *LinkSpecSpec) GetVrfMaster() *VRFMasterSpec {
	if x != nil {
		return x.VrfMaster
	}
	return nil
}

func (x *LinkSpecSpec) GetVrfSlave() *VRFSlave {
	if x != nil {
		return x.VrfSlave
	}
	return nil
}

// LinkStatusSpec describes status of rendered secrets.
type LinkStatusSpec struct {
	state            protoimpl.MessageState           `protogen:"open.v1"`
	Index            uint32                           `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
	Type             enums.NethelpersLinkType         `protobuf:"varint,2,opt,name=type,proto3,enum=talos.resource.definitions.enums.NethelpersLinkType" json:"type,omitempty"`
	LinkIndex        uint32                           `protobuf:"varint,3,opt,name=link_index,json=linkIndex,proto3" json:"link_index,omitempty"`
	Flags            uint32                           `protobuf:"varint,4,opt,name=flags,proto3" json:"flags,omitempty"`
	HardwareAddr     []byte                           `protobuf:"bytes,5,opt,name=hardware_addr,json=hardwareAddr,proto3" json:"hardware_addr,omitempty"`
	BroadcastAddr    []byte                           `protobuf:"bytes,6,opt,name=broadcast_addr,json=broadcastAddr,proto3" json:"broadcast_addr,omitempty"`
	Mtu              uint32                           `protobuf:"varint,7,opt,name=mtu,proto3" json:"mtu,omitempty"`
	QueueDisc        string                           `protobuf:"bytes,8,opt,name=queue_disc,json=queueDisc,proto3" json:"queue_disc,omitempty"`
	MasterIndex      uint32                           `protobuf:"varint,9,opt,name=master_index,json=masterIndex,proto3" json:"master_index,omitempty"`
	OperationalState enums.NethelpersOperationalState `protobuf:"varint,10,opt,name=operational_state,json=operationalState,proto3,enum=talos.resource.definitions.enums.NethelpersOperationalState" json:"operational_state,omitempty"`
	Kind             string                           `protobuf:"bytes,11,opt,name=kind,proto3" json:"kind,omitempty"`
	SlaveKind        string                           `protobuf:"bytes,12,opt,name=slave_kind,json=slaveKind,proto3" json:"slave_kind,omitempty"`
	BusPath          string                           `protobuf:"bytes,13,opt,name=bus_path,json=busPath,proto3" json:"bus_path,omitempty"`
	Pciid            string                           `protobuf:"bytes,14,opt,name=pciid,proto3" json:"pciid,omitempty"`
	Driver           string                           `protobuf:"bytes,15,opt,name=driver,proto3" json:"driver,omitempty"`
	DriverVersion    string                           `protobuf:"bytes,16,opt,name=driver_version,json=driverVersion,proto3" json:"driver_version,omitempty"`
	FirmwareVersion  string                           `protobuf:"bytes,17,opt,name=firmware_version,json=firmwareVersion,proto3" json:"firmware_version,omitempty"`
	ProductId        string                           `protobuf:"bytes,18,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
	VendorId         string                           `protobuf:"bytes,19,opt,name=vendor_id,json=vendorId,proto3" json:"vendor_id,omitempty"`
	Product          string                           `protobuf:"bytes,20,opt,name=product,proto3" json:"product,omitempty"`
	Vendor           string                           `protobuf:"bytes,21,opt,name=vendor,proto3" json:"vendor,omitempty"`
	// Fields coming from ethtool API.
	LinkState     bool                   `protobuf:"varint,22,opt,name=link_state,json=linkState,proto3" json:"link_state,omitempty"`
	SpeedMegabits int64                  `protobuf:"varint,23,opt,name=speed_megabits,json=speedMegabits,proto3" json:"speed_megabits,omitempty"`
	Port          enums.NethelpersPort   `protobuf:"varint,24,opt,name=port,proto3,enum=talos.resource.definitions.enums.NethelpersPort" json:"port,omitempty"`
	Duplex        enums.NethelpersDuplex `protobuf:"varint,25,opt,name=duplex,proto3,enum=talos.resource.definitions.enums.NethelpersDuplex" json:"duplex,omitempty"`
	// Following fields are only populated with respective Kind.
	Vlan          *VLANSpec         `protobuf:"bytes,26,opt,name=vlan,proto3" json:"vlan,omitempty"`
	BridgeMaster  *BridgeMasterSpec `protobuf:"bytes,27,opt,name=bridge_master,json=bridgeMaster,proto3" json:"bridge_master,omitempty"`
	BondMaster    *BondMasterSpec   `protobuf:"bytes,28,opt,name=bond_master,json=bondMaster,proto3" json:"bond_master,omitempty"`
	Wireguard     *WireguardSpec    `protobuf:"bytes,29,opt,name=wireguard,proto3" json:"wireguard,omitempty"`
	PermanentAddr []byte            `protobuf:"bytes,30,opt,name=permanent_addr,json=permanentAddr,proto3" json:"permanent_addr,omitempty"`
	// Fields coming from rtnetlink API.
	Alias         string         `protobuf:"bytes,31,opt,name=alias,proto3" json:"alias,omitempty"`
	AltNames      []string       `protobuf:"bytes,32,rep,name=alt_names,json=altNames,proto3" json:"alt_names,omitempty"`
	VrfMaster     *VRFMasterSpec `protobuf:"bytes,33,opt,name=vrf_master,json=vrfMaster,proto3" json:"vrf_master,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LinkStatusSpec) Reset() {
	*x = LinkStatusSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*LinkStatusSpec) ProtoMessage() {}

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

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

func (x *LinkStatusSpec) GetType() enums.NethelpersLinkType {
	if x != nil {
		return x.Type
	}
	return enums.NethelpersLinkType(0)
}

func (x *LinkStatusSpec) GetLinkIndex() uint32 {
	if x != nil {
		return x.LinkIndex
	}
	return 0
}

func (x *LinkStatusSpec) GetFlags() uint32 {
	if x != nil {
		return x.Flags
	}
	return 0
}

func (x *LinkStatusSpec) GetHardwareAddr() []byte {
	if x != nil {
		return x.HardwareAddr
	}
	return nil
}

func (x *LinkStatusSpec) GetBroadcastAddr() []byte {
	if x != nil {
		return x.BroadcastAddr
	}
	return nil
}

func (x *LinkStatusSpec) GetMtu() uint32 {
	if x != nil {
		return x.Mtu
	}
	return 0
}

func (x *LinkStatusSpec) GetQueueDisc() string {
	if x != nil {
		return x.QueueDisc
	}
	return ""
}

func (x *LinkStatusSpec) GetMasterIndex() uint32 {
	if x != nil {
		return x.MasterIndex
	}
	return 0
}

func (x *LinkStatusSpec) GetOperationalState() enums.NethelpersOperationalState {
	if x != nil {
		return x.OperationalState
	}
	return enums.NethelpersOperationalState(0)
}

func (x *LinkStatusSpec) GetKind() string {
	if x != nil {
		return x.Kind
	}
	return ""
}

func (x *LinkStatusSpec) GetSlaveKind() string {
	if x != nil {
		return x.SlaveKind
	}
	return ""
}

func (x *LinkStatusSpec) GetBusPath() string {
	if x != nil {
		return x.BusPath
	}
	return ""
}

func (x *LinkStatusSpec) GetPciid() string {
	if x != nil {
		return x.Pciid
	}
	return ""
}

func (x *LinkStatusSpec) GetDriver() string {
	if x != nil {
		return x.Driver
	}
	return ""
}

func (x *LinkStatusSpec) GetDriverVersion() string {
	if x != nil {
		return x.DriverVersion
	}
	return ""
}

func (x *LinkStatusSpec) GetFirmwareVersion() string {
	if x != nil {
		return x.FirmwareVersion
	}
	return ""
}

func (x *LinkStatusSpec) GetProductId() string {
	if x != nil {
		return x.ProductId
	}
	return ""
}

func (x *LinkStatusSpec) GetVendorId() string {
	if x != nil {
		return x.VendorId
	}
	return ""
}

func (x *LinkStatusSpec) GetProduct() string {
	if x != nil {
		return x.Product
	}
	return ""
}

func (x *LinkStatusSpec) GetVendor() string {
	if x != nil {
		return x.Vendor
	}
	return ""
}

func (x *LinkStatusSpec) GetLinkState() bool {
	if x != nil {
		return x.LinkState
	}
	return false
}

func (x *LinkStatusSpec) GetSpeedMegabits() int64 {
	if x != nil {
		return x.SpeedMegabits
	}
	return 0
}

func (x *LinkStatusSpec) GetPort() enums.NethelpersPort {
	if x != nil {
		return x.Port
	}
	return enums.NethelpersPort(0)
}

func (x *LinkStatusSpec) GetDuplex() enums.NethelpersDuplex {
	if x != nil {
		return x.Duplex
	}
	return enums.NethelpersDuplex(0)
}

func (x *LinkStatusSpec) GetVlan() *VLANSpec {
	if x != nil {
		return x.Vlan
	}
	return nil
}

func (x *LinkStatusSpec) GetBridgeMaster() *BridgeMasterSpec {
	if x != nil {
		return x.BridgeMaster
	}
	return nil
}

func (x *LinkStatusSpec) GetBondMaster() *BondMasterSpec {
	if x != nil {
		return x.BondMaster
	}
	return nil
}

func (x *LinkStatusSpec) GetWireguard() *WireguardSpec {
	if x != nil {
		return x.Wireguard
	}
	return nil
}

func (x *LinkStatusSpec) GetPermanentAddr() []byte {
	if x != nil {
		return x.PermanentAddr
	}
	return nil
}

func (x *LinkStatusSpec) GetAlias() string {
	if x != nil {
		return x.Alias
	}
	return ""
}

func (x *LinkStatusSpec) GetAltNames() []string {
	if x != nil {
		return x.AltNames
	}
	return nil
}

func (x *LinkStatusSpec) GetVrfMaster() *VRFMasterSpec {
	if x != nil {
		return x.VrfMaster
	}
	return nil
}

// NameServerSpec describes a single DNS nameserver with additional configuration.
type NameServerSpec struct {
	state         protoimpl.MessageState      `protogen:"open.v1"`
	Addr          *common.NetIP               `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
	Protocol      enums.NethelpersDNSProtocol `protobuf:"varint,2,opt,name=protocol,proto3,enum=talos.resource.definitions.enums.NethelpersDNSProtocol" json:"protocol,omitempty"`
	TlsServerName string                      `protobuf:"bytes,3,opt,name=tls_server_name,json=tlsServerName,proto3" json:"tls_server_name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *NameServerSpec) Reset() {
	*x = NameServerSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[27]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*NameServerSpec) ProtoMessage() {}

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

func (x *NameServerSpec) GetAddr() *common.NetIP {
	if x != nil {
		return x.Addr
	}
	return nil
}

func (x *NameServerSpec) GetProtocol() enums.NethelpersDNSProtocol {
	if x != nil {
		return x.Protocol
	}
	return enums.NethelpersDNSProtocol(0)
}

func (x *NameServerSpec) GetTlsServerName() string {
	if x != nil {
		return x.TlsServerName
	}
	return ""
}

// NfTablesAddressMatch describes the match on the IP address.
type NfTablesAddressMatch struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	IncludeSubnets []*common.NetIPPrefix  `protobuf:"bytes,1,rep,name=include_subnets,json=includeSubnets,proto3" json:"include_subnets,omitempty"`
	ExcludeSubnets []*common.NetIPPrefix  `protobuf:"bytes,2,rep,name=exclude_subnets,json=excludeSubnets,proto3" json:"exclude_subnets,omitempty"`
	Invert         bool                   `protobuf:"varint,3,opt,name=invert,proto3" json:"invert,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *NfTablesAddressMatch) Reset() {
	*x = NfTablesAddressMatch{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[28]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*NfTablesAddressMatch) ProtoMessage() {}

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

func (x *NfTablesAddressMatch) GetIncludeSubnets() []*common.NetIPPrefix {
	if x != nil {
		return x.IncludeSubnets
	}
	return nil
}

func (x *NfTablesAddressMatch) GetExcludeSubnets() []*common.NetIPPrefix {
	if x != nil {
		return x.ExcludeSubnets
	}
	return nil
}

func (x *NfTablesAddressMatch) GetInvert() bool {
	if x != nil {
		return x.Invert
	}
	return false
}

// NfTablesChainSpec describes status of rendered secrets.
type NfTablesChainSpec struct {
	state         protoimpl.MessageState                `protogen:"open.v1"`
	Type          string                                `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	Hook          enums.NethelpersNfTablesChainHook     `protobuf:"varint,2,opt,name=hook,proto3,enum=talos.resource.definitions.enums.NethelpersNfTablesChainHook" json:"hook,omitempty"`
	Priority      enums.NethelpersNfTablesChainPriority `protobuf:"varint,3,opt,name=priority,proto3,enum=talos.resource.definitions.enums.NethelpersNfTablesChainPriority" json:"priority,omitempty"`
	Rules         []*NfTablesRule                       `protobuf:"bytes,4,rep,name=rules,proto3" json:"rules,omitempty"`
	Policy        enums.NethelpersNfTablesVerdict       `protobuf:"varint,5,opt,name=policy,proto3,enum=talos.resource.definitions.enums.NethelpersNfTablesVerdict" json:"policy,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *NfTablesChainSpec) Reset() {
	*x = NfTablesChainSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[29]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*NfTablesChainSpec) ProtoMessage() {}

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

func (x *NfTablesChainSpec) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *NfTablesChainSpec) GetHook() enums.NethelpersNfTablesChainHook {
	if x != nil {
		return x.Hook
	}
	return enums.NethelpersNfTablesChainHook(0)
}

func (x *NfTablesChainSpec) GetPriority() enums.NethelpersNfTablesChainPriority {
	if x != nil {
		return x.Priority
	}
	return enums.NethelpersNfTablesChainPriority(0)
}

func (x *NfTablesChainSpec) GetRules() []*NfTablesRule {
	if x != nil {
		return x.Rules
	}
	return nil
}

func (x *NfTablesChainSpec) GetPolicy() enums.NethelpersNfTablesVerdict {
	if x != nil {
		return x.Policy
	}
	return enums.NethelpersNfTablesVerdict(0)
}

// NfTablesClampMSS describes the TCP MSS clamping operation.
//
// MSS is limited by the `MaxMTU` so that:
// - IPv4: MSS = MaxMTU - 40
// - IPv6: MSS = MaxMTU - 60.
type NfTablesClampMSS struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Mtu           uint32                 `protobuf:"varint,1,opt,name=mtu,proto3" json:"mtu,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *NfTablesClampMSS) Reset() {
	*x = NfTablesClampMSS{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*NfTablesClampMSS) ProtoMessage() {}

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

func (x *NfTablesClampMSS) GetMtu() uint32 {
	if x != nil {
		return x.Mtu
	}
	return 0
}

// NfTablesConntrackStateMatch describes the match on the connection tracking state.
type NfTablesConntrackStateMatch struct {
	state         protoimpl.MessageState           `protogen:"open.v1"`
	States        []enums.NethelpersConntrackState `protobuf:"varint,1,rep,packed,name=states,proto3,enum=talos.resource.definitions.enums.NethelpersConntrackState" json:"states,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *NfTablesConntrackStateMatch) Reset() {
	*x = NfTablesConntrackStateMatch{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*NfTablesConntrackStateMatch) ProtoMessage() {}

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

func (x *NfTablesConntrackStateMatch) GetStates() []enums.NethelpersConntrackState {
	if x != nil {
		return x.States
	}
	return nil
}

// NfTablesICMPTypeMatch describes the match on the ICMP type.
type NfTablesICMPTypeMatch struct {
	state         protoimpl.MessageState     `protogen:"open.v1"`
	Types         []enums.NethelpersICMPType `protobuf:"varint,1,rep,packed,name=types,proto3,enum=talos.resource.definitions.enums.NethelpersICMPType" json:"types,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *NfTablesICMPTypeMatch) Reset() {
	*x = NfTablesICMPTypeMatch{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[32]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*NfTablesICMPTypeMatch) ProtoMessage() {}

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

func (x *NfTablesICMPTypeMatch) GetTypes() []enums.NethelpersICMPType {
	if x != nil {
		return x.Types
	}
	return nil
}

// NfTablesIfNameMatch describes the match on the interface name.
type NfTablesIfNameMatch struct {
	state          protoimpl.MessageState        `protogen:"open.v1"`
	Operator       enums.NethelpersMatchOperator `protobuf:"varint,2,opt,name=operator,proto3,enum=talos.resource.definitions.enums.NethelpersMatchOperator" json:"operator,omitempty"`
	InterfaceNames []string                      `protobuf:"bytes,3,rep,name=interface_names,json=interfaceNames,proto3" json:"interface_names,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *NfTablesIfNameMatch) Reset() {
	*x = NfTablesIfNameMatch{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[33]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*NfTablesIfNameMatch) ProtoMessage() {}

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

func (x *NfTablesIfNameMatch) GetOperator() enums.NethelpersMatchOperator {
	if x != nil {
		return x.Operator
	}
	return enums.NethelpersMatchOperator(0)
}

func (x *NfTablesIfNameMatch) GetInterfaceNames() []string {
	if x != nil {
		return x.InterfaceNames
	}
	return nil
}

// NfTablesLayer4Match describes the match on the transport layer protocol.
type NfTablesLayer4Match struct {
	state                protoimpl.MessageState   `protogen:"open.v1"`
	Protocol             enums.NethelpersProtocol `protobuf:"varint,1,opt,name=protocol,proto3,enum=talos.resource.definitions.enums.NethelpersProtocol" json:"protocol,omitempty"`
	MatchSourcePort      *NfTablesPortMatch       `protobuf:"bytes,2,opt,name=match_source_port,json=matchSourcePort,proto3" json:"match_source_port,omitempty"`
	MatchDestinationPort *NfTablesPortMatch       `protobuf:"bytes,3,opt,name=match_destination_port,json=matchDestinationPort,proto3" json:"match_destination_port,omitempty"`
	MatchIcmpType        *NfTablesICMPTypeMatch   `protobuf:"bytes,4,opt,name=match_icmp_type,json=matchIcmpType,proto3" json:"match_icmp_type,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *NfTablesLayer4Match) Reset() {
	*x = NfTablesLayer4Match{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[34]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*NfTablesLayer4Match) ProtoMessage() {}

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

func (x *NfTablesLayer4Match) GetProtocol() enums.NethelpersProtocol {
	if x != nil {
		return x.Protocol
	}
	return enums.NethelpersProtocol(0)
}

func (x *NfTablesLayer4Match) GetMatchSourcePort() *NfTablesPortMatch {
	if x != nil {
		return x.MatchSourcePort
	}
	return nil
}

func (x *NfTablesLayer4Match) GetMatchDestinationPort() *NfTablesPortMatch {
	if x != nil {
		return x.MatchDestinationPort
	}
	return nil
}

func (x *NfTablesLayer4Match) GetMatchIcmpType() *NfTablesICMPTypeMatch {
	if x != nil {
		return x.MatchIcmpType
	}
	return nil
}

// NfTablesLimitMatch describes the match on the packet rate.
type NfTablesLimitMatch struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	PacketRatePerSecond uint64                 `protobuf:"varint,1,opt,name=packet_rate_per_second,json=packetRatePerSecond,proto3" json:"packet_rate_per_second,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *NfTablesLimitMatch) Reset() {
	*x = NfTablesLimitMatch{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[35]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*NfTablesLimitMatch) ProtoMessage() {}

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

func (x *NfTablesLimitMatch) GetPacketRatePerSecond() uint64 {
	if x != nil {
		return x.PacketRatePerSecond
	}
	return 0
}

// NfTablesMark encodes packet mark match/update operation.
//
// When used as a match computes the following condition:
// (mark & mask) ^ xor == value
//
// When used as an update computes the following operation:
// mark = (mark & mask) ^ xor.
type NfTablesMark struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Mask          uint32                 `protobuf:"varint,1,opt,name=mask,proto3" json:"mask,omitempty"`
	Xor           uint32                 `protobuf:"varint,2,opt,name=xor,proto3" json:"xor,omitempty"`
	Value         uint32                 `protobuf:"varint,3,opt,name=value,proto3" json:"value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *NfTablesMark) Reset() {
	*x = NfTablesMark{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[36]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*NfTablesMark) ProtoMessage() {}

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

func (x *NfTablesMark) GetMask() uint32 {
	if x != nil {
		return x.Mask
	}
	return 0
}

func (x *NfTablesMark) GetXor() uint32 {
	if x != nil {
		return x.Xor
	}
	return 0
}

func (x *NfTablesMark) GetValue() uint32 {
	if x != nil {
		return x.Value
	}
	return 0
}

// NfTablesPortMatch describes the match on the transport layer port.
type NfTablesPortMatch struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ranges        []*PortRange           `protobuf:"bytes,1,rep,name=ranges,proto3" json:"ranges,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *NfTablesPortMatch) Reset() {
	*x = NfTablesPortMatch{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[37]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*NfTablesPortMatch) ProtoMessage() {}

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

func (x *NfTablesPortMatch) GetRanges() []*PortRange {
	if x != nil {
		return x.Ranges
	}
	return nil
}

// NfTablesRule describes a single rule in the nftables chain.
type NfTablesRule struct {
	state                   protoimpl.MessageState          `protogen:"open.v1"`
	MatchOIfName            *NfTablesIfNameMatch            `protobuf:"bytes,1,opt,name=match_o_if_name,json=matchOIfName,proto3" json:"match_o_if_name,omitempty"`
	Verdict                 enums.NethelpersNfTablesVerdict `protobuf:"varint,2,opt,name=verdict,proto3,enum=talos.resource.definitions.enums.NethelpersNfTablesVerdict" json:"verdict,omitempty"`
	MatchMark               *NfTablesMark                   `protobuf:"bytes,3,opt,name=match_mark,json=matchMark,proto3" json:"match_mark,omitempty"`
	SetMark                 *NfTablesMark                   `protobuf:"bytes,4,opt,name=set_mark,json=setMark,proto3" json:"set_mark,omitempty"`
	MatchSourceAddress      *NfTablesAddressMatch           `protobuf:"bytes,5,opt,name=match_source_address,json=matchSourceAddress,proto3" json:"match_source_address,omitempty"`
	MatchDestinationAddress *NfTablesAddressMatch           `protobuf:"bytes,6,opt,name=match_destination_address,json=matchDestinationAddress,proto3" json:"match_destination_address,omitempty"`
	MatchLayer4             *NfTablesLayer4Match            `protobuf:"bytes,7,opt,name=match_layer4,json=matchLayer4,proto3" json:"match_layer4,omitempty"`
	MatchIIfName            *NfTablesIfNameMatch            `protobuf:"bytes,8,opt,name=match_i_if_name,json=matchIIfName,proto3" json:"match_i_if_name,omitempty"`
	ClampMss                *NfTablesClampMSS               `protobuf:"bytes,9,opt,name=clamp_mss,json=clampMss,proto3" json:"clamp_mss,omitempty"`
	MatchLimit              *NfTablesLimitMatch             `protobuf:"bytes,10,opt,name=match_limit,json=matchLimit,proto3" json:"match_limit,omitempty"`
	MatchConntrackState     *NfTablesConntrackStateMatch    `protobuf:"bytes,11,opt,name=match_conntrack_state,json=matchConntrackState,proto3" json:"match_conntrack_state,omitempty"`
	AnonCounter             bool                            `protobuf:"varint,12,opt,name=anon_counter,json=anonCounter,proto3" json:"anon_counter,omitempty"`
	unknownFields           protoimpl.UnknownFields
	sizeCache               protoimpl.SizeCache
}

func (x *NfTablesRule) Reset() {
	*x = NfTablesRule{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[38]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*NfTablesRule) ProtoMessage() {}

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

func (x *NfTablesRule) GetMatchOIfName() *NfTablesIfNameMatch {
	if x != nil {
		return x.MatchOIfName
	}
	return nil
}

func (x *NfTablesRule) GetVerdict() enums.NethelpersNfTablesVerdict {
	if x != nil {
		return x.Verdict
	}
	return enums.NethelpersNfTablesVerdict(0)
}

func (x *NfTablesRule) GetMatchMark() *NfTablesMark {
	if x != nil {
		return x.MatchMark
	}
	return nil
}

func (x *NfTablesRule) GetSetMark() *NfTablesMark {
	if x != nil {
		return x.SetMark
	}
	return nil
}

func (x *NfTablesRule) GetMatchSourceAddress() *NfTablesAddressMatch {
	if x != nil {
		return x.MatchSourceAddress
	}
	return nil
}

func (x *NfTablesRule) GetMatchDestinationAddress() *NfTablesAddressMatch {
	if x != nil {
		return x.MatchDestinationAddress
	}
	return nil
}

func (x *NfTablesRule) GetMatchLayer4() *NfTablesLayer4Match {
	if x != nil {
		return x.MatchLayer4
	}
	return nil
}

func (x *NfTablesRule) GetMatchIIfName() *NfTablesIfNameMatch {
	if x != nil {
		return x.MatchIIfName
	}
	return nil
}

func (x *NfTablesRule) GetClampMss() *NfTablesClampMSS {
	if x != nil {
		return x.ClampMss
	}
	return nil
}

func (x *NfTablesRule) GetMatchLimit() *NfTablesLimitMatch {
	if x != nil {
		return x.MatchLimit
	}
	return nil
}

func (x *NfTablesRule) GetMatchConntrackState() *NfTablesConntrackStateMatch {
	if x != nil {
		return x.MatchConntrackState
	}
	return nil
}

func (x *NfTablesRule) GetAnonCounter() bool {
	if x != nil {
		return x.AnonCounter
	}
	return false
}

// NodeAddressFilterSpec describes a filter for NodeAddresses.
type NodeAddressFilterSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Address is skipped if it doesn't match any of the includeSubnets (if includeSubnets is not empty).
	IncludeSubnets []*common.NetIPPrefix `protobuf:"bytes,1,rep,name=include_subnets,json=includeSubnets,proto3" json:"include_subnets,omitempty"`
	// Address is skipped if it matches any of the excludeSubnets.
	ExcludeSubnets []*common.NetIPPrefix `protobuf:"bytes,2,rep,name=exclude_subnets,json=excludeSubnets,proto3" json:"exclude_subnets,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *NodeAddressFilterSpec) Reset() {
	*x = NodeAddressFilterSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[39]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*NodeAddressFilterSpec) ProtoMessage() {}

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

func (x *NodeAddressFilterSpec) GetIncludeSubnets() []*common.NetIPPrefix {
	if x != nil {
		return x.IncludeSubnets
	}
	return nil
}

func (x *NodeAddressFilterSpec) GetExcludeSubnets() []*common.NetIPPrefix {
	if x != nil {
		return x.ExcludeSubnets
	}
	return nil
}

// NodeAddressSortAlgorithmSpec describes a filter for NodeAddresses.
type NodeAddressSortAlgorithmSpec struct {
	state         protoimpl.MessageState               `protogen:"open.v1"`
	Algorithm     enums.NethelpersAddressSortAlgorithm `protobuf:"varint,1,opt,name=algorithm,proto3,enum=talos.resource.definitions.enums.NethelpersAddressSortAlgorithm" json:"algorithm,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *NodeAddressSortAlgorithmSpec) Reset() {
	*x = NodeAddressSortAlgorithmSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[40]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*NodeAddressSortAlgorithmSpec) ProtoMessage() {}

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

func (x *NodeAddressSortAlgorithmSpec) GetAlgorithm() enums.NethelpersAddressSortAlgorithm {
	if x != nil {
		return x.Algorithm
	}
	return enums.NethelpersAddressSortAlgorithm(0)
}

// NodeAddressSpec describes a set of node addresses.
type NodeAddressSpec struct {
	state         protoimpl.MessageState               `protogen:"open.v1"`
	Addresses     []*common.NetIPPrefix                `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"`
	SortAlgorithm enums.NethelpersAddressSortAlgorithm `protobuf:"varint,2,opt,name=sort_algorithm,json=sortAlgorithm,proto3,enum=talos.resource.definitions.enums.NethelpersAddressSortAlgorithm" json:"sort_algorithm,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *NodeAddressSpec) Reset() {
	*x = NodeAddressSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[41]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*NodeAddressSpec) ProtoMessage() {}

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

func (x *NodeAddressSpec) GetAddresses() []*common.NetIPPrefix {
	if x != nil {
		return x.Addresses
	}
	return nil
}

func (x *NodeAddressSpec) GetSortAlgorithm() enums.NethelpersAddressSortAlgorithm {
	if x != nil {
		return x.SortAlgorithm
	}
	return enums.NethelpersAddressSortAlgorithm(0)
}

// OperatorSpecSpec describes operator specification.
type OperatorSpecSpec struct {
	state         protoimpl.MessageState   `protogen:"open.v1"`
	Operator      enums.NetworkOperator    `protobuf:"varint,1,opt,name=operator,proto3,enum=talos.resource.definitions.enums.NetworkOperator" json:"operator,omitempty"`
	LinkName      string                   `protobuf:"bytes,2,opt,name=link_name,json=linkName,proto3" json:"link_name,omitempty"`
	RequireUp     bool                     `protobuf:"varint,3,opt,name=require_up,json=requireUp,proto3" json:"require_up,omitempty"`
	Dhcp4         *DHCP4OperatorSpec       `protobuf:"bytes,4,opt,name=dhcp4,proto3" json:"dhcp4,omitempty"`
	Dhcp6         *DHCP6OperatorSpec       `protobuf:"bytes,5,opt,name=dhcp6,proto3" json:"dhcp6,omitempty"`
	Vip           *VIPOperatorSpec         `protobuf:"bytes,6,opt,name=vip,proto3" json:"vip,omitempty"`
	ConfigLayer   enums.NetworkConfigLayer `protobuf:"varint,7,opt,name=config_layer,json=configLayer,proto3,enum=talos.resource.definitions.enums.NetworkConfigLayer" json:"config_layer,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *OperatorSpecSpec) Reset() {
	*x = OperatorSpecSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[42]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*OperatorSpecSpec) ProtoMessage() {}

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

func (x *OperatorSpecSpec) GetOperator() enums.NetworkOperator {
	if x != nil {
		return x.Operator
	}
	return enums.NetworkOperator(0)
}

func (x *OperatorSpecSpec) GetLinkName() string {
	if x != nil {
		return x.LinkName
	}
	return ""
}

func (x *OperatorSpecSpec) GetRequireUp() bool {
	if x != nil {
		return x.RequireUp
	}
	return false
}

func (x *OperatorSpecSpec) GetDhcp4() *DHCP4OperatorSpec {
	if x != nil {
		return x.Dhcp4
	}
	return nil
}

func (x *OperatorSpecSpec) GetDhcp6() *DHCP6OperatorSpec {
	if x != nil {
		return x.Dhcp6
	}
	return nil
}

func (x *OperatorSpecSpec) GetVip() *VIPOperatorSpec {
	if x != nil {
		return x.Vip
	}
	return nil
}

func (x *OperatorSpecSpec) GetConfigLayer() enums.NetworkConfigLayer {
	if x != nil {
		return x.ConfigLayer
	}
	return enums.NetworkConfigLayer(0)
}

// PlatformConfigSpec describes platform network configuration.
//
// This structure is marshaled to STATE partition to persist cached network configuration across
// reboots.
type PlatformConfigSpec struct {
	state         protoimpl.MessageState        `protogen:"open.v1"`
	Addresses     []*AddressSpecSpec            `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"`
	Links         []*LinkSpecSpec               `protobuf:"bytes,2,rep,name=links,proto3" json:"links,omitempty"`
	Routes        []*RouteSpecSpec              `protobuf:"bytes,3,rep,name=routes,proto3" json:"routes,omitempty"`
	Hostnames     []*HostnameSpecSpec           `protobuf:"bytes,4,rep,name=hostnames,proto3" json:"hostnames,omitempty"`
	Resolvers     []*ResolverSpecSpec           `protobuf:"bytes,5,rep,name=resolvers,proto3" json:"resolvers,omitempty"`
	TimeServers   []*TimeServerSpecSpec         `protobuf:"bytes,6,rep,name=time_servers,json=timeServers,proto3" json:"time_servers,omitempty"`
	Operators     []*OperatorSpecSpec           `protobuf:"bytes,7,rep,name=operators,proto3" json:"operators,omitempty"`
	ExternalIps   []*common.NetIP               `protobuf:"bytes,8,rep,name=external_ips,json=externalIps,proto3" json:"external_ips,omitempty"`
	Probes        []*ProbeSpecSpec              `protobuf:"bytes,9,rep,name=probes,proto3" json:"probes,omitempty"`
	Metadata      *runtime.PlatformMetadataSpec `protobuf:"bytes,10,opt,name=metadata,proto3" json:"metadata,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PlatformConfigSpec) Reset() {
	*x = PlatformConfigSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[43]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PlatformConfigSpec) ProtoMessage() {}

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

func (x *PlatformConfigSpec) GetAddresses() []*AddressSpecSpec {
	if x != nil {
		return x.Addresses
	}
	return nil
}

func (x *PlatformConfigSpec) GetLinks() []*LinkSpecSpec {
	if x != nil {
		return x.Links
	}
	return nil
}

func (x *PlatformConfigSpec) GetRoutes() []*RouteSpecSpec {
	if x != nil {
		return x.Routes
	}
	return nil
}

func (x *PlatformConfigSpec) GetHostnames() []*HostnameSpecSpec {
	if x != nil {
		return x.Hostnames
	}
	return nil
}

func (x *PlatformConfigSpec) GetResolvers() []*ResolverSpecSpec {
	if x != nil {
		return x.Resolvers
	}
	return nil
}

func (x *PlatformConfigSpec) GetTimeServers() []*TimeServerSpecSpec {
	if x != nil {
		return x.TimeServers
	}
	return nil
}

func (x *PlatformConfigSpec) GetOperators() []*OperatorSpecSpec {
	if x != nil {
		return x.Operators
	}
	return nil
}

func (x *PlatformConfigSpec) GetExternalIps() []*common.NetIP {
	if x != nil {
		return x.ExternalIps
	}
	return nil
}

func (x *PlatformConfigSpec) GetProbes() []*ProbeSpecSpec {
	if x != nil {
		return x.Probes
	}
	return nil
}

func (x *PlatformConfigSpec) GetMetadata() *runtime.PlatformMetadataSpec {
	if x != nil {
		return x.Metadata
	}
	return nil
}

// PortRange describes a range of ports.
//
// Range is [lo, hi].
type PortRange struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Lo            uint32                 `protobuf:"varint,1,opt,name=lo,proto3" json:"lo,omitempty"`
	Hi            uint32                 `protobuf:"varint,2,opt,name=hi,proto3" json:"hi,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PortRange) Reset() {
	*x = PortRange{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[44]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PortRange) ProtoMessage() {}

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

func (x *PortRange) GetLo() uint32 {
	if x != nil {
		return x.Lo
	}
	return 0
}

func (x *PortRange) GetHi() uint32 {
	if x != nil {
		return x.Hi
	}
	return 0
}

// ProbeSpecSpec describes the Probe.
type ProbeSpecSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Interval between the probes.
	Interval *durationpb.Duration `protobuf:"bytes,1,opt,name=interval,proto3" json:"interval,omitempty"`
	// FailureThreshold is the number of consecutive failures for the probe to be considered failed after having succeeded.
	FailureThreshold int64 `protobuf:"varint,2,opt,name=failure_threshold,json=failureThreshold,proto3" json:"failure_threshold,omitempty"`
	// TCP is the TCP probe spec. One of TCP or HTTP must be specified.
	Tcp *TCPProbeSpec `protobuf:"bytes,3,opt,name=tcp,proto3" json:"tcp,omitempty"`
	// Configuration layer.
	ConfigLayer enums.NetworkConfigLayer `protobuf:"varint,4,opt,name=config_layer,json=configLayer,proto3,enum=talos.resource.definitions.enums.NetworkConfigLayer" json:"config_layer,omitempty"`
	// HTTP is the HTTP probe spec. One of TCP or HTTP must be specified.
	Http          *HTTPProbeSpec `protobuf:"bytes,5,opt,name=http,proto3" json:"http,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ProbeSpecSpec) Reset() {
	*x = ProbeSpecSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[45]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ProbeSpecSpec) ProtoMessage() {}

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

func (x *ProbeSpecSpec) GetInterval() *durationpb.Duration {
	if x != nil {
		return x.Interval
	}
	return nil
}

func (x *ProbeSpecSpec) GetFailureThreshold() int64 {
	if x != nil {
		return x.FailureThreshold
	}
	return 0
}

func (x *ProbeSpecSpec) GetTcp() *TCPProbeSpec {
	if x != nil {
		return x.Tcp
	}
	return nil
}

func (x *ProbeSpecSpec) GetConfigLayer() enums.NetworkConfigLayer {
	if x != nil {
		return x.ConfigLayer
	}
	return enums.NetworkConfigLayer(0)
}

func (x *ProbeSpecSpec) GetHttp() *HTTPProbeSpec {
	if x != nil {
		return x.Http
	}
	return nil
}

// ProbeStatusSpec describes the Probe.
type ProbeStatusSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Success of the check.
	Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	// Last error of the probe.
	LastError     string `protobuf:"bytes,2,opt,name=last_error,json=lastError,proto3" json:"last_error,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ProbeStatusSpec) Reset() {
	*x = ProbeStatusSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[46]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ProbeStatusSpec) ProtoMessage() {}

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

func (x *ProbeStatusSpec) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

func (x *ProbeStatusSpec) GetLastError() string {
	if x != nil {
		return x.LastError
	}
	return ""
}

// ResolverSpecSpec describes DNS resolvers.
type ResolverSpecSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// DNSServers is a flat list of DNS server IP addresses.
	//
	// Deprecated: This field is deprecated in favor of NameServers which contain more information.
	DnsServers    []*common.NetIP          `protobuf:"bytes,1,rep,name=dns_servers,json=dnsServers,proto3" json:"dns_servers,omitempty"`
	ConfigLayer   enums.NetworkConfigLayer `protobuf:"varint,2,opt,name=config_layer,json=configLayer,proto3,enum=talos.resource.definitions.enums.NetworkConfigLayer" json:"config_layer,omitempty"`
	SearchDomains []string                 `protobuf:"bytes,3,rep,name=search_domains,json=searchDomains,proto3" json:"search_domains,omitempty"`
	// NameServers is a list of DNS servers with additional configuration.
	NameServers   []*NameServerSpec `protobuf:"bytes,4,rep,name=name_servers,json=nameServers,proto3" json:"name_servers,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ResolverSpecSpec) Reset() {
	*x = ResolverSpecSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[47]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ResolverSpecSpec) ProtoMessage() {}

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

func (x *ResolverSpecSpec) GetDnsServers() []*common.NetIP {
	if x != nil {
		return x.DnsServers
	}
	return nil
}

func (x *ResolverSpecSpec) GetConfigLayer() enums.NetworkConfigLayer {
	if x != nil {
		return x.ConfigLayer
	}
	return enums.NetworkConfigLayer(0)
}

func (x *ResolverSpecSpec) GetSearchDomains() []string {
	if x != nil {
		return x.SearchDomains
	}
	return nil
}

func (x *ResolverSpecSpec) GetNameServers() []*NameServerSpec {
	if x != nil {
		return x.NameServers
	}
	return nil
}

// ResolverStatusSpec describes DNS resolvers.
type ResolverStatusSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// DNSServers is a flat list of DNS server IP addresses.
	//
	// Deprecated: This field is deprecated in favor of NameServers which contain more information.
	DnsServers    []*common.NetIP `protobuf:"bytes,1,rep,name=dns_servers,json=dnsServers,proto3" json:"dns_servers,omitempty"`
	SearchDomains []string        `protobuf:"bytes,2,rep,name=search_domains,json=searchDomains,proto3" json:"search_domains,omitempty"`
	// NameServers is a list of DNS servers with additional configuration.
	NameServers   []*NameServerSpec `protobuf:"bytes,4,rep,name=name_servers,json=nameServers,proto3" json:"name_servers,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ResolverStatusSpec) Reset() {
	*x = ResolverStatusSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[48]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ResolverStatusSpec) ProtoMessage() {}

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

func (x *ResolverStatusSpec) GetDnsServers() []*common.NetIP {
	if x != nil {
		return x.DnsServers
	}
	return nil
}

func (x *ResolverStatusSpec) GetSearchDomains() []string {
	if x != nil {
		return x.SearchDomains
	}
	return nil
}

func (x *ResolverStatusSpec) GetNameServers() []*NameServerSpec {
	if x != nil {
		return x.NameServers
	}
	return nil
}

// RouteSpecSpec describes the route.
type RouteSpecSpec struct {
	state         protoimpl.MessageState        `protogen:"open.v1"`
	Family        enums.NethelpersFamily        `protobuf:"varint,1,opt,name=family,proto3,enum=talos.resource.definitions.enums.NethelpersFamily" json:"family,omitempty"`
	Destination   *common.NetIPPrefix           `protobuf:"bytes,2,opt,name=destination,proto3" json:"destination,omitempty"`
	Source        *common.NetIP                 `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"`
	Gateway       *common.NetIP                 `protobuf:"bytes,4,opt,name=gateway,proto3" json:"gateway,omitempty"`
	OutLinkName   string                        `protobuf:"bytes,5,opt,name=out_link_name,json=outLinkName,proto3" json:"out_link_name,omitempty"`
	Table         enums.NethelpersRoutingTable  `protobuf:"varint,6,opt,name=table,proto3,enum=talos.resource.definitions.enums.NethelpersRoutingTable" json:"table,omitempty"`
	Priority      uint32                        `protobuf:"varint,7,opt,name=priority,proto3" json:"priority,omitempty"`
	Scope         enums.NethelpersScope         `protobuf:"varint,8,opt,name=scope,proto3,enum=talos.resource.definitions.enums.NethelpersScope" json:"scope,omitempty"`
	Type          enums.NethelpersRouteType     `protobuf:"varint,9,opt,name=type,proto3,enum=talos.resource.definitions.enums.NethelpersRouteType" json:"type,omitempty"`
	Flags         uint32                        `protobuf:"varint,10,opt,name=flags,proto3" json:"flags,omitempty"`
	Protocol      enums.NethelpersRouteProtocol `protobuf:"varint,11,opt,name=protocol,proto3,enum=talos.resource.definitions.enums.NethelpersRouteProtocol" json:"protocol,omitempty"`
	ConfigLayer   enums.NetworkConfigLayer      `protobuf:"varint,12,opt,name=config_layer,json=configLayer,proto3,enum=talos.resource.definitions.enums.NetworkConfigLayer" json:"config_layer,omitempty"`
	Mtu           uint32                        `protobuf:"varint,13,opt,name=mtu,proto3" json:"mtu,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RouteSpecSpec) Reset() {
	*x = RouteSpecSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[49]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RouteSpecSpec) ProtoMessage() {}

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

func (x *RouteSpecSpec) GetFamily() enums.NethelpersFamily {
	if x != nil {
		return x.Family
	}
	return enums.NethelpersFamily(0)
}

func (x *RouteSpecSpec) GetDestination() *common.NetIPPrefix {
	if x != nil {
		return x.Destination
	}
	return nil
}

func (x *RouteSpecSpec) GetSource() *common.NetIP {
	if x != nil {
		return x.Source
	}
	return nil
}

func (x *RouteSpecSpec) GetGateway() *common.NetIP {
	if x != nil {
		return x.Gateway
	}
	return nil
}

func (x *RouteSpecSpec) GetOutLinkName() string {
	if x != nil {
		return x.OutLinkName
	}
	return ""
}

func (x *RouteSpecSpec) GetTable() enums.NethelpersRoutingTable {
	if x != nil {
		return x.Table
	}
	return enums.NethelpersRoutingTable(0)
}

func (x *RouteSpecSpec) GetPriority() uint32 {
	if x != nil {
		return x.Priority
	}
	return 0
}

func (x *RouteSpecSpec) GetScope() enums.NethelpersScope {
	if x != nil {
		return x.Scope
	}
	return enums.NethelpersScope(0)
}

func (x *RouteSpecSpec) GetType() enums.NethelpersRouteType {
	if x != nil {
		return x.Type
	}
	return enums.NethelpersRouteType(0)
}

func (x *RouteSpecSpec) GetFlags() uint32 {
	if x != nil {
		return x.Flags
	}
	return 0
}

func (x *RouteSpecSpec) GetProtocol() enums.NethelpersRouteProtocol {
	if x != nil {
		return x.Protocol
	}
	return enums.NethelpersRouteProtocol(0)
}

func (x *RouteSpecSpec) GetConfigLayer() enums.NetworkConfigLayer {
	if x != nil {
		return x.ConfigLayer
	}
	return enums.NetworkConfigLayer(0)
}

func (x *RouteSpecSpec) GetMtu() uint32 {
	if x != nil {
		return x.Mtu
	}
	return 0
}

// RouteStatusSpec describes status of rendered secrets.
type RouteStatusSpec struct {
	state         protoimpl.MessageState        `protogen:"open.v1"`
	Family        enums.NethelpersFamily        `protobuf:"varint,1,opt,name=family,proto3,enum=talos.resource.definitions.enums.NethelpersFamily" json:"family,omitempty"`
	Destination   *common.NetIPPrefix           `protobuf:"bytes,2,opt,name=destination,proto3" json:"destination,omitempty"`
	Source        *common.NetIP                 `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"`
	Gateway       *common.NetIP                 `protobuf:"bytes,4,opt,name=gateway,proto3" json:"gateway,omitempty"`
	OutLinkIndex  uint32                        `protobuf:"varint,5,opt,name=out_link_index,json=outLinkIndex,proto3" json:"out_link_index,omitempty"`
	OutLinkName   string                        `protobuf:"bytes,6,opt,name=out_link_name,json=outLinkName,proto3" json:"out_link_name,omitempty"`
	Table         enums.NethelpersRoutingTable  `protobuf:"varint,7,opt,name=table,proto3,enum=talos.resource.definitions.enums.NethelpersRoutingTable" json:"table,omitempty"`
	Priority      uint32                        `protobuf:"varint,8,opt,name=priority,proto3" json:"priority,omitempty"`
	Scope         enums.NethelpersScope         `protobuf:"varint,9,opt,name=scope,proto3,enum=talos.resource.definitions.enums.NethelpersScope" json:"scope,omitempty"`
	Type          enums.NethelpersRouteType     `protobuf:"varint,10,opt,name=type,proto3,enum=talos.resource.definitions.enums.NethelpersRouteType" json:"type,omitempty"`
	Flags         uint32                        `protobuf:"varint,11,opt,name=flags,proto3" json:"flags,omitempty"`
	Protocol      enums.NethelpersRouteProtocol `protobuf:"varint,12,opt,name=protocol,proto3,enum=talos.resource.definitions.enums.NethelpersRouteProtocol" json:"protocol,omitempty"`
	Mtu           uint32                        `protobuf:"varint,13,opt,name=mtu,proto3" json:"mtu,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RouteStatusSpec) Reset() {
	*x = RouteStatusSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[50]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RouteStatusSpec) ProtoMessage() {}

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

func (x *RouteStatusSpec) GetFamily() enums.NethelpersFamily {
	if x != nil {
		return x.Family
	}
	return enums.NethelpersFamily(0)
}

func (x *RouteStatusSpec) GetDestination() *common.NetIPPrefix {
	if x != nil {
		return x.Destination
	}
	return nil
}

func (x *RouteStatusSpec) GetSource() *common.NetIP {
	if x != nil {
		return x.Source
	}
	return nil
}

func (x *RouteStatusSpec) GetGateway() *common.NetIP {
	if x != nil {
		return x.Gateway
	}
	return nil
}

func (x *RouteStatusSpec) GetOutLinkIndex() uint32 {
	if x != nil {
		return x.OutLinkIndex
	}
	return 0
}

func (x *RouteStatusSpec) GetOutLinkName() string {
	if x != nil {
		return x.OutLinkName
	}
	return ""
}

func (x *RouteStatusSpec) GetTable() enums.NethelpersRoutingTable {
	if x != nil {
		return x.Table
	}
	return enums.NethelpersRoutingTable(0)
}

func (x *RouteStatusSpec) GetPriority() uint32 {
	if x != nil {
		return x.Priority
	}
	return 0
}

func (x *RouteStatusSpec) GetScope() enums.NethelpersScope {
	if x != nil {
		return x.Scope
	}
	return enums.NethelpersScope(0)
}

func (x *RouteStatusSpec) GetType() enums.NethelpersRouteType {
	if x != nil {
		return x.Type
	}
	return enums.NethelpersRouteType(0)
}

func (x *RouteStatusSpec) GetFlags() uint32 {
	if x != nil {
		return x.Flags
	}
	return 0
}

func (x *RouteStatusSpec) GetProtocol() enums.NethelpersRouteProtocol {
	if x != nil {
		return x.Protocol
	}
	return enums.NethelpersRouteProtocol(0)
}

func (x *RouteStatusSpec) GetMtu() uint32 {
	if x != nil {
		return x.Mtu
	}
	return 0
}

// RoutingRuleSpecSpec describes the routing rule.
type RoutingRuleSpecSpec struct {
	state         protoimpl.MessageState            `protogen:"open.v1"`
	Family        enums.NethelpersFamily            `protobuf:"varint,1,opt,name=family,proto3,enum=talos.resource.definitions.enums.NethelpersFamily" json:"family,omitempty"`
	Src           *common.NetIPPrefix               `protobuf:"bytes,2,opt,name=src,proto3" json:"src,omitempty"`
	Dst           *common.NetIPPrefix               `protobuf:"bytes,3,opt,name=dst,proto3" json:"dst,omitempty"`
	Table         enums.NethelpersRoutingTable      `protobuf:"varint,4,opt,name=table,proto3,enum=talos.resource.definitions.enums.NethelpersRoutingTable" json:"table,omitempty"`
	Priority      uint32                            `protobuf:"varint,5,opt,name=priority,proto3" json:"priority,omitempty"`
	Action        enums.NethelpersRoutingRuleAction `protobuf:"varint,6,opt,name=action,proto3,enum=talos.resource.definitions.enums.NethelpersRoutingRuleAction" json:"action,omitempty"`
	IifName       string                            `protobuf:"bytes,7,opt,name=iif_name,json=iifName,proto3" json:"iif_name,omitempty"`
	OifName       string                            `protobuf:"bytes,8,opt,name=oif_name,json=oifName,proto3" json:"oif_name,omitempty"`
	FwMark        uint32                            `protobuf:"varint,9,opt,name=fw_mark,json=fwMark,proto3" json:"fw_mark,omitempty"`
	FwMask        uint32                            `protobuf:"varint,10,opt,name=fw_mask,json=fwMask,proto3" json:"fw_mask,omitempty"`
	ConfigLayer   enums.NetworkConfigLayer          `protobuf:"varint,11,opt,name=config_layer,json=configLayer,proto3,enum=talos.resource.definitions.enums.NetworkConfigLayer" json:"config_layer,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RoutingRuleSpecSpec) Reset() {
	*x = RoutingRuleSpecSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[51]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RoutingRuleSpecSpec) ProtoMessage() {}

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

func (x *RoutingRuleSpecSpec) GetFamily() enums.NethelpersFamily {
	if x != nil {
		return x.Family
	}
	return enums.NethelpersFamily(0)
}

func (x *RoutingRuleSpecSpec) GetSrc() *common.NetIPPrefix {
	if x != nil {
		return x.Src
	}
	return nil
}

func (x *RoutingRuleSpecSpec) GetDst() *common.NetIPPrefix {
	if x != nil {
		return x.Dst
	}
	return nil
}

func (x *RoutingRuleSpecSpec) GetTable() enums.NethelpersRoutingTable {
	if x != nil {
		return x.Table
	}
	return enums.NethelpersRoutingTable(0)
}

func (x *RoutingRuleSpecSpec) GetPriority() uint32 {
	if x != nil {
		return x.Priority
	}
	return 0
}

func (x *RoutingRuleSpecSpec) GetAction() enums.NethelpersRoutingRuleAction {
	if x != nil {
		return x.Action
	}
	return enums.NethelpersRoutingRuleAction(0)
}

func (x *RoutingRuleSpecSpec) GetIifName() string {
	if x != nil {
		return x.IifName
	}
	return ""
}

func (x *RoutingRuleSpecSpec) GetOifName() string {
	if x != nil {
		return x.OifName
	}
	return ""
}

func (x *RoutingRuleSpecSpec) GetFwMark() uint32 {
	if x != nil {
		return x.FwMark
	}
	return 0
}

func (x *RoutingRuleSpecSpec) GetFwMask() uint32 {
	if x != nil {
		return x.FwMask
	}
	return 0
}

func (x *RoutingRuleSpecSpec) GetConfigLayer() enums.NetworkConfigLayer {
	if x != nil {
		return x.ConfigLayer
	}
	return enums.NetworkConfigLayer(0)
}

// RoutingRuleStatusSpec describes the observed routing rule state.
type RoutingRuleStatusSpec struct {
	state         protoimpl.MessageState            `protogen:"open.v1"`
	Family        enums.NethelpersFamily            `protobuf:"varint,1,opt,name=family,proto3,enum=talos.resource.definitions.enums.NethelpersFamily" json:"family,omitempty"`
	Src           *common.NetIPPrefix               `protobuf:"bytes,2,opt,name=src,proto3" json:"src,omitempty"`
	Dst           *common.NetIPPrefix               `protobuf:"bytes,3,opt,name=dst,proto3" json:"dst,omitempty"`
	Table         enums.NethelpersRoutingTable      `protobuf:"varint,4,opt,name=table,proto3,enum=talos.resource.definitions.enums.NethelpersRoutingTable" json:"table,omitempty"`
	Priority      uint32                            `protobuf:"varint,5,opt,name=priority,proto3" json:"priority,omitempty"`
	Action        enums.NethelpersRoutingRuleAction `protobuf:"varint,6,opt,name=action,proto3,enum=talos.resource.definitions.enums.NethelpersRoutingRuleAction" json:"action,omitempty"`
	IifName       string                            `protobuf:"bytes,7,opt,name=iif_name,json=iifName,proto3" json:"iif_name,omitempty"`
	OifName       string                            `protobuf:"bytes,8,opt,name=oif_name,json=oifName,proto3" json:"oif_name,omitempty"`
	FwMark        uint32                            `protobuf:"varint,9,opt,name=fw_mark,json=fwMark,proto3" json:"fw_mark,omitempty"`
	FwMask        uint32                            `protobuf:"varint,10,opt,name=fw_mask,json=fwMask,proto3" json:"fw_mask,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RoutingRuleStatusSpec) Reset() {
	*x = RoutingRuleStatusSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[52]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RoutingRuleStatusSpec) ProtoMessage() {}

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

func (x *RoutingRuleStatusSpec) GetFamily() enums.NethelpersFamily {
	if x != nil {
		return x.Family
	}
	return enums.NethelpersFamily(0)
}

func (x *RoutingRuleStatusSpec) GetSrc() *common.NetIPPrefix {
	if x != nil {
		return x.Src
	}
	return nil
}

func (x *RoutingRuleStatusSpec) GetDst() *common.NetIPPrefix {
	if x != nil {
		return x.Dst
	}
	return nil
}

func (x *RoutingRuleStatusSpec) GetTable() enums.NethelpersRoutingTable {
	if x != nil {
		return x.Table
	}
	return enums.NethelpersRoutingTable(0)
}

func (x *RoutingRuleStatusSpec) GetPriority() uint32 {
	if x != nil {
		return x.Priority
	}
	return 0
}

func (x *RoutingRuleStatusSpec) GetAction() enums.NethelpersRoutingRuleAction {
	if x != nil {
		return x.Action
	}
	return enums.NethelpersRoutingRuleAction(0)
}

func (x *RoutingRuleStatusSpec) GetIifName() string {
	if x != nil {
		return x.IifName
	}
	return ""
}

func (x *RoutingRuleStatusSpec) GetOifName() string {
	if x != nil {
		return x.OifName
	}
	return ""
}

func (x *RoutingRuleStatusSpec) GetFwMark() uint32 {
	if x != nil {
		return x.FwMark
	}
	return 0
}

func (x *RoutingRuleStatusSpec) GetFwMask() uint32 {
	if x != nil {
		return x.FwMask
	}
	return 0
}

// STPSpec describes Spanning Tree Protocol (STP) settings of a bridge.
type STPSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Enabled       bool                   `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *STPSpec) Reset() {
	*x = STPSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[53]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*STPSpec) ProtoMessage() {}

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

func (x *STPSpec) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

// StaticHostSpec describes addresses for a static host name.
type StaticHostSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Addresses     []*common.NetIP        `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StaticHostSpec) Reset() {
	*x = StaticHostSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[54]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*StaticHostSpec) ProtoMessage() {}

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

func (x *StaticHostSpec) GetAddresses() []*common.NetIP {
	if x != nil {
		return x.Addresses
	}
	return nil
}

// StatusSpec describes network state.
type StatusSpec struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	AddressReady      bool                   `protobuf:"varint,1,opt,name=address_ready,json=addressReady,proto3" json:"address_ready,omitempty"`
	ConnectivityReady bool                   `protobuf:"varint,2,opt,name=connectivity_ready,json=connectivityReady,proto3" json:"connectivity_ready,omitempty"`
	HostnameReady     bool                   `protobuf:"varint,3,opt,name=hostname_ready,json=hostnameReady,proto3" json:"hostname_ready,omitempty"`
	EtcFilesReady     bool                   `protobuf:"varint,4,opt,name=etc_files_ready,json=etcFilesReady,proto3" json:"etc_files_ready,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *StatusSpec) Reset() {
	*x = StatusSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[55]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*StatusSpec) ProtoMessage() {}

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

func (x *StatusSpec) GetAddressReady() bool {
	if x != nil {
		return x.AddressReady
	}
	return false
}

func (x *StatusSpec) GetConnectivityReady() bool {
	if x != nil {
		return x.ConnectivityReady
	}
	return false
}

func (x *StatusSpec) GetHostnameReady() bool {
	if x != nil {
		return x.HostnameReady
	}
	return false
}

func (x *StatusSpec) GetEtcFilesReady() bool {
	if x != nil {
		return x.EtcFilesReady
	}
	return false
}

// TCPProbeSpec describes the TCP Probe.
type TCPProbeSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Endpoint to probe: host:port.
	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	// Timeout for the probe.
	Timeout       *durationpb.Duration `protobuf:"bytes,2,opt,name=timeout,proto3" json:"timeout,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TCPProbeSpec) Reset() {
	*x = TCPProbeSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[56]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TCPProbeSpec) ProtoMessage() {}

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

func (x *TCPProbeSpec) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (x *TCPProbeSpec) GetTimeout() *durationpb.Duration {
	if x != nil {
		return x.Timeout
	}
	return nil
}

// TimeServerSpecSpec describes NTP servers.
type TimeServerSpecSpec struct {
	state         protoimpl.MessageState   `protogen:"open.v1"`
	NtpServers    []string                 `protobuf:"bytes,1,rep,name=ntp_servers,json=ntpServers,proto3" json:"ntp_servers,omitempty"`
	ConfigLayer   enums.NetworkConfigLayer `protobuf:"varint,2,opt,name=config_layer,json=configLayer,proto3,enum=talos.resource.definitions.enums.NetworkConfigLayer" json:"config_layer,omitempty"`
	UseNts        bool                     `protobuf:"varint,3,opt,name=use_nts,json=useNts,proto3" json:"use_nts,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TimeServerSpecSpec) Reset() {
	*x = TimeServerSpecSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[57]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TimeServerSpecSpec) ProtoMessage() {}

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

func (x *TimeServerSpecSpec) GetNtpServers() []string {
	if x != nil {
		return x.NtpServers
	}
	return nil
}

func (x *TimeServerSpecSpec) GetConfigLayer() enums.NetworkConfigLayer {
	if x != nil {
		return x.ConfigLayer
	}
	return enums.NetworkConfigLayer(0)
}

func (x *TimeServerSpecSpec) GetUseNts() bool {
	if x != nil {
		return x.UseNts
	}
	return false
}

// TimeServerStatusSpec describes NTP servers.
type TimeServerStatusSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	NtpServers    []string               `protobuf:"bytes,1,rep,name=ntp_servers,json=ntpServers,proto3" json:"ntp_servers,omitempty"`
	UseNts        bool                   `protobuf:"varint,2,opt,name=use_nts,json=useNts,proto3" json:"use_nts,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TimeServerStatusSpec) Reset() {
	*x = TimeServerStatusSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[58]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TimeServerStatusSpec) ProtoMessage() {}

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

func (x *TimeServerStatusSpec) GetNtpServers() []string {
	if x != nil {
		return x.NtpServers
	}
	return nil
}

func (x *TimeServerStatusSpec) GetUseNts() bool {
	if x != nil {
		return x.UseNts
	}
	return false
}

// VIPEquinixMetalSpec describes virtual (elastic) IP settings for Equinix Metal.
type VIPEquinixMetalSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ProjectId     string                 `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	DeviceId      string                 `protobuf:"bytes,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	ApiToken      string                 `protobuf:"bytes,3,opt,name=api_token,json=apiToken,proto3" json:"api_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VIPEquinixMetalSpec) Reset() {
	*x = VIPEquinixMetalSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[59]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*VIPEquinixMetalSpec) ProtoMessage() {}

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

func (x *VIPEquinixMetalSpec) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *VIPEquinixMetalSpec) GetDeviceId() string {
	if x != nil {
		return x.DeviceId
	}
	return ""
}

func (x *VIPEquinixMetalSpec) GetApiToken() string {
	if x != nil {
		return x.ApiToken
	}
	return ""
}

// VIPHCloudSpec describes virtual (elastic) IP settings for Hetzner Cloud.
type VIPHCloudSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	DeviceId      int64                  `protobuf:"varint,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	NetworkId     int64                  `protobuf:"varint,2,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"`
	ApiToken      string                 `protobuf:"bytes,3,opt,name=api_token,json=apiToken,proto3" json:"api_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VIPHCloudSpec) Reset() {
	*x = VIPHCloudSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[60]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*VIPHCloudSpec) ProtoMessage() {}

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

func (x *VIPHCloudSpec) GetDeviceId() int64 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

func (x *VIPHCloudSpec) GetNetworkId() int64 {
	if x != nil {
		return x.NetworkId
	}
	return 0
}

func (x *VIPHCloudSpec) GetApiToken() string {
	if x != nil {
		return x.ApiToken
	}
	return ""
}

// VIPOperatorSpec describes virtual IP operator options.
type VIPOperatorSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ip            *common.NetIP          `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"`
	GratuitousArp bool                   `protobuf:"varint,2,opt,name=gratuitous_arp,json=gratuitousArp,proto3" json:"gratuitous_arp,omitempty"`
	EquinixMetal  *VIPEquinixMetalSpec   `protobuf:"bytes,3,opt,name=equinix_metal,json=equinixMetal,proto3" json:"equinix_metal,omitempty"`
	HCloud        *VIPHCloudSpec         `protobuf:"bytes,4,opt,name=h_cloud,json=hCloud,proto3" json:"h_cloud,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VIPOperatorSpec) Reset() {
	*x = VIPOperatorSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[61]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*VIPOperatorSpec) ProtoMessage() {}

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

func (x *VIPOperatorSpec) GetIp() *common.NetIP {
	if x != nil {
		return x.Ip
	}
	return nil
}

func (x *VIPOperatorSpec) GetGratuitousArp() bool {
	if x != nil {
		return x.GratuitousArp
	}
	return false
}

func (x *VIPOperatorSpec) GetEquinixMetal() *VIPEquinixMetalSpec {
	if x != nil {
		return x.EquinixMetal
	}
	return nil
}

func (x *VIPOperatorSpec) GetHCloud() *VIPHCloudSpec {
	if x != nil {
		return x.HCloud
	}
	return nil
}

// VLANSpec describes VLAN settings if Kind == "vlan".
type VLANSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// VID is the vlan ID.
	Vid uint32 `protobuf:"varint,1,opt,name=vid,proto3" json:"vid,omitempty"`
	// Protocol is the vlan protocol.
	Protocol      enums.NethelpersVLANProtocol `protobuf:"varint,2,opt,name=protocol,proto3,enum=talos.resource.definitions.enums.NethelpersVLANProtocol" json:"protocol,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VLANSpec) Reset() {
	*x = VLANSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[62]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*VLANSpec) ProtoMessage() {}

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

func (x *VLANSpec) GetVid() uint32 {
	if x != nil {
		return x.Vid
	}
	return 0
}

func (x *VLANSpec) GetProtocol() enums.NethelpersVLANProtocol {
	if x != nil {
		return x.Protocol
	}
	return enums.NethelpersVLANProtocol(0)
}

// VRFMasterSpec describes vrf settings if Kind == "vrf".
type VRFMasterSpec struct {
	state         protoimpl.MessageState       `protogen:"open.v1"`
	Table         enums.NethelpersRoutingTable `protobuf:"varint,1,opt,name=table,proto3,enum=talos.resource.definitions.enums.NethelpersRoutingTable" json:"table,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VRFMasterSpec) Reset() {
	*x = VRFMasterSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[63]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*VRFMasterSpec) ProtoMessage() {}

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

func (x *VRFMasterSpec) GetTable() enums.NethelpersRoutingTable {
	if x != nil {
		return x.Table
	}
	return enums.NethelpersRoutingTable(0)
}

// VRFSlave contains the name of the master vrf for an interface
type VRFSlave struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	MasterName    string                 `protobuf:"bytes,1,opt,name=master_name,json=masterName,proto3" json:"master_name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VRFSlave) Reset() {
	*x = VRFSlave{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[64]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*VRFSlave) ProtoMessage() {}

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

func (x *VRFSlave) GetMasterName() string {
	if x != nil {
		return x.MasterName
	}
	return ""
}

// WireguardPeer describes a single peer.
type WireguardPeer struct {
	state                       protoimpl.MessageState `protogen:"open.v1"`
	PublicKey                   string                 `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
	PresharedKey                string                 `protobuf:"bytes,2,opt,name=preshared_key,json=presharedKey,proto3" json:"preshared_key,omitempty"`
	Endpoint                    string                 `protobuf:"bytes,3,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	PersistentKeepaliveInterval *durationpb.Duration   `protobuf:"bytes,4,opt,name=persistent_keepalive_interval,json=persistentKeepaliveInterval,proto3" json:"persistent_keepalive_interval,omitempty"`
	AllowedIps                  []*common.NetIPPrefix  `protobuf:"bytes,5,rep,name=allowed_ips,json=allowedIps,proto3" json:"allowed_ips,omitempty"`
	unknownFields               protoimpl.UnknownFields
	sizeCache                   protoimpl.SizeCache
}

func (x *WireguardPeer) Reset() {
	*x = WireguardPeer{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[65]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*WireguardPeer) ProtoMessage() {}

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

func (x *WireguardPeer) GetPublicKey() string {
	if x != nil {
		return x.PublicKey
	}
	return ""
}

func (x *WireguardPeer) GetPresharedKey() string {
	if x != nil {
		return x.PresharedKey
	}
	return ""
}

func (x *WireguardPeer) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (x *WireguardPeer) GetPersistentKeepaliveInterval() *durationpb.Duration {
	if x != nil {
		return x.PersistentKeepaliveInterval
	}
	return nil
}

func (x *WireguardPeer) GetAllowedIps() []*common.NetIPPrefix {
	if x != nil {
		return x.AllowedIps
	}
	return nil
}

// WireguardSpec describes Wireguard settings if Kind == "wireguard".
type WireguardSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// PrivateKey is used to configure the link, present only in the LinkSpec.
	PrivateKey string `protobuf:"bytes,1,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"`
	// PublicKey is only used in LinkStatus to show the link status.
	PublicKey     string           `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
	ListenPort    int64            `protobuf:"varint,3,opt,name=listen_port,json=listenPort,proto3" json:"listen_port,omitempty"`
	FirewallMark  int64            `protobuf:"varint,4,opt,name=firewall_mark,json=firewallMark,proto3" json:"firewall_mark,omitempty"`
	Peers         []*WireguardPeer `protobuf:"bytes,5,rep,name=peers,proto3" json:"peers,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WireguardSpec) Reset() {
	*x = WireguardSpec{}
	mi := &file_resource_definitions_network_network_proto_msgTypes[66]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*WireguardSpec) ProtoMessage() {}

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

func (x *WireguardSpec) GetPrivateKey() string {
	if x != nil {
		return x.PrivateKey
	}
	return ""
}

func (x *WireguardSpec) GetPublicKey() string {
	if x != nil {
		return x.PublicKey
	}
	return ""
}

func (x *WireguardSpec) GetListenPort() int64 {
	if x != nil {
		return x.ListenPort
	}
	return 0
}

func (x *WireguardSpec) GetFirewallMark() int64 {
	if x != nil {
		return x.FirewallMark
	}
	return 0
}

func (x *WireguardSpec) GetPeers() []*WireguardPeer {
	if x != nil {
		return x.Peers
	}
	return nil
}

var File_resource_definitions_network_network_proto protoreflect.FileDescriptor

const file_resource_definitions_network_network_proto_rawDesc = "" +
	"\n" +
	"*resource/definitions/network/network.proto\x12\"talos.resource.definitions.network\x1a\x13common/common.proto\x1a\x1egoogle/protobuf/duration.proto\x1a&resource/definitions/enums/enums.proto\x1a*resource/definitions/runtime/runtime.proto\"\xa9\x03\n" +
	"\x0fAddressSpecSpec\x12-\n" +
	"\aaddress\x18\x01 \x01(\v2\x13.common.NetIPPrefixR\aaddress\x12\x1b\n" +
	"\tlink_name\x18\x02 \x01(\tR\blinkName\x12J\n" +
	"\x06family\x18\x03 \x01(\x0e22.talos.resource.definitions.enums.NethelpersFamilyR\x06family\x12G\n" +
	"\x05scope\x18\x04 \x01(\x0e21.talos.resource.definitions.enums.NethelpersScopeR\x05scope\x12\x14\n" +
	"\x05flags\x18\x05 \x01(\rR\x05flags\x12*\n" +
	"\x11announce_with_arp\x18\x06 \x01(\bR\x0fannounceWithArp\x12W\n" +
	"\fconfig_layer\x18\a \x01(\x0e24.talos.resource.definitions.enums.NetworkConfigLayerR\vconfigLayer\x12\x1a\n" +
	"\bpriority\x18\b \x01(\rR\bpriority\"\xed\x03\n" +
	"\x11AddressStatusSpec\x12-\n" +
	"\aaddress\x18\x01 \x01(\v2\x13.common.NetIPPrefixR\aaddress\x12#\n" +
	"\x05local\x18\x02 \x01(\v2\r.common.NetIPR\x05local\x12+\n" +
	"\tbroadcast\x18\x03 \x01(\v2\r.common.NetIPR\tbroadcast\x12'\n" +
	"\aanycast\x18\x04 \x01(\v2\r.common.NetIPR\aanycast\x12+\n" +
	"\tmulticast\x18\x05 \x01(\v2\r.common.NetIPR\tmulticast\x12\x1d\n" +
	"\n" +
	"link_index\x18\x06 \x01(\rR\tlinkIndex\x12\x1b\n" +
	"\tlink_name\x18\a \x01(\tR\blinkName\x12J\n" +
	"\x06family\x18\b \x01(\x0e22.talos.resource.definitions.enums.NethelpersFamilyR\x06family\x12G\n" +
	"\x05scope\x18\t \x01(\x0e21.talos.resource.definitions.enums.NethelpersScopeR\x05scope\x12\x14\n" +
	"\x05flags\x18\n" +
	" \x01(\rR\x05flags\x12\x1a\n" +
	"\bpriority\x18\v \x01(\rR\bpriority\"\x8a\f\n" +
	"\x0eBondMasterSpec\x12H\n" +
	"\x04mode\x18\x01 \x01(\x0e24.talos.resource.definitions.enums.NethelpersBondModeR\x04mode\x12_\n" +
	"\vhash_policy\x18\x02 \x01(\x0e2>.talos.resource.definitions.enums.NethelpersBondXmitHashPolicyR\n" +
	"hashPolicy\x12Q\n" +
	"\tlacp_rate\x18\x03 \x01(\x0e24.talos.resource.definitions.enums.NethelpersLACPRateR\blacpRate\x12Z\n" +
	"\farp_validate\x18\x04 \x01(\x0e27.talos.resource.definitions.enums.NethelpersARPValidateR\varpValidate\x12a\n" +
	"\x0farp_all_targets\x18\x05 \x01(\x0e29.talos.resource.definitions.enums.NethelpersARPAllTargetsR\rarpAllTargets\x12#\n" +
	"\rprimary_index\x18\x06 \x01(\rR\fprimaryIndex\x12f\n" +
	"\x10primary_reselect\x18\a \x01(\x0e2;.talos.resource.definitions.enums.NethelpersPrimaryReselectR\x0fprimaryReselect\x12[\n" +
	"\rfail_over_mac\x18\b \x01(\x0e27.talos.resource.definitions.enums.NethelpersFailOverMACR\vfailOverMac\x12Q\n" +
	"\tad_select\x18\t \x01(\x0e24.talos.resource.definitions.enums.NethelpersADSelectR\badSelect\x12\x17\n" +
	"\amii_mon\x18\n" +
	" \x01(\rR\x06miiMon\x12\x19\n" +
	"\bup_delay\x18\v \x01(\rR\aupDelay\x12\x1d\n" +
	"\n" +
	"down_delay\x18\f \x01(\rR\tdownDelay\x12!\n" +
	"\farp_interval\x18\r \x01(\rR\varpInterval\x12\x1f\n" +
	"\vresend_igmp\x18\x0e \x01(\rR\n" +
	"resendIgmp\x12\x1b\n" +
	"\tmin_links\x18\x0f \x01(\rR\bminLinks\x12\x1f\n" +
	"\vlp_interval\x18\x10 \x01(\rR\n" +
	"lpInterval\x12*\n" +
	"\x11packets_per_slave\x18\x11 \x01(\rR\x0fpacketsPerSlave\x12$\n" +
	"\x0enum_peer_notif\x18\x12 \x01(\rR\fnumPeerNotif\x12$\n" +
	"\x0etlb_dynamic_lb\x18\x13 \x01(\rR\ftlbDynamicLb\x12*\n" +
	"\x11all_slaves_active\x18\x14 \x01(\rR\x0fallSlavesActive\x12\x1f\n" +
	"\vuse_carrier\x18\x15 \x01(\bR\n" +
	"useCarrier\x12)\n" +
	"\x11ad_actor_sys_prio\x18\x16 \x01(\rR\x0eadActorSysPrio\x12'\n" +
	"\x10ad_user_port_key\x18\x17 \x01(\rR\radUserPortKey\x12*\n" +
	"\x11peer_notify_delay\x18\x18 \x01(\rR\x0fpeerNotifyDelay\x122\n" +
	"\rarpip_targets\x18\x19 \x03(\v2\r.common.NetIPR\farpipTargets\x122\n" +
	"\rnsip6_targets\x18\x1a \x03(\v2\r.common.NetIPR\fnsip6Targets\x12]\n" +
	"\radlacp_active\x18\x1b \x01(\x0e28.talos.resource.definitions.enums.NethelpersADLACPActiveR\fadlacpActive\x12\x1d\n" +
	"\n" +
	"missed_max\x18\x1c \x01(\rR\tmissedMax\"M\n" +
	"\tBondSlave\x12\x1f\n" +
	"\vmaster_name\x18\x01 \x01(\tR\n" +
	"masterName\x12\x1f\n" +
	"\vslave_index\x18\x02 \x01(\x03R\n" +
	"slaveIndex\"\x99\x01\n" +
	"\x10BridgeMasterSpec\x12=\n" +
	"\x03stp\x18\x01 \x01(\v2+.talos.resource.definitions.network.STPSpecR\x03stp\x12F\n" +
	"\x04vlan\x18\x02 \x01(\v22.talos.resource.definitions.network.BridgeVLANSpecR\x04vlan\".\n" +
	"\vBridgeSlave\x12\x1f\n" +
	"\vmaster_name\x18\x01 \x01(\tR\n" +
	"masterName\"=\n" +
	"\x0eBridgeVLANSpec\x12+\n" +
	"\x11filtering_enabled\x18\x01 \x01(\bR\x10filteringEnabled\"\xa3\x01\n" +
	"\x14ClientIdentifierSpec\x12i\n" +
	"\x11client_identifier\x18\x01 \x01(\x0e2<.talos.resource.definitions.enums.NethelpersClientIdentifierR\x10clientIdentifier\x12 \n" +
	"\fduid_raw_hex\x18\x02 \x01(\tR\n" +
	"duidRawHex\"\xd1\x01\n" +
	"\x11DHCP4OperatorSpec\x12!\n" +
	"\froute_metric\x18\x01 \x01(\rR\vrouteMetric\x122\n" +
	"\x15skip_hostname_request\x18\x02 \x01(\bR\x13skipHostnameRequest\x12e\n" +
	"\x11client_identifier\x18\x03 \x01(\v28.talos.resource.definitions.network.ClientIdentifierSpecR\x10clientIdentifier\"\xd1\x01\n" +
	"\x11DHCP6OperatorSpec\x12!\n" +
	"\froute_metric\x18\x02 \x01(\rR\vrouteMetric\x122\n" +
	"\x15skip_hostname_request\x18\x03 \x01(\bR\x13skipHostnameRequest\x12e\n" +
	"\x11client_identifier\x18\x04 \x01(\v28.talos.resource.definitions.network.ClientIdentifierSpecR\x10clientIdentifier\"-\n" +
	"\x13DNSResolveCacheSpec\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\"h\n" +
	"\x14EthernetChannelsSpec\x12\x0e\n" +
	"\x02rx\x18\x01 \x01(\rR\x02rx\x12\x0e\n" +
	"\x02tx\x18\x02 \x01(\rR\x02tx\x12\x14\n" +
	"\x05other\x18\x03 \x01(\rR\x05other\x12\x1a\n" +
	"\bcombined\x18\x04 \x01(\rR\bcombined\"\xd8\x01\n" +
	"\x16EthernetChannelsStatus\x12\x15\n" +
	"\x06rx_max\x18\x01 \x01(\rR\x05rxMax\x12\x15\n" +
	"\x06tx_max\x18\x02 \x01(\rR\x05txMax\x12\x1b\n" +
	"\tother_max\x18\x03 \x01(\rR\botherMax\x12!\n" +
	"\fcombined_max\x18\x04 \x01(\rR\vcombinedMax\x12\x0e\n" +
	"\x02rx\x18\x05 \x01(\rR\x02rx\x12\x0e\n" +
	"\x02tx\x18\x06 \x01(\rR\x02tx\x12\x14\n" +
	"\x05other\x18\a \x01(\rR\x05other\x12\x1a\n" +
	"\bcombined\x18\b \x01(\rR\bcombined\"C\n" +
	"\x15EthernetFeatureStatus\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n" +
	"\x06status\x18\x02 \x01(\tR\x06status\"\x9f\x02\n" +
	"\x11EthernetRingsSpec\x12\x0e\n" +
	"\x02rx\x18\x01 \x01(\rR\x02rx\x12\x17\n" +
	"\arx_mini\x18\x02 \x01(\rR\x06rxMini\x12\x19\n" +
	"\brx_jumbo\x18\x03 \x01(\rR\arxJumbo\x12\x0e\n" +
	"\x02tx\x18\x04 \x01(\rR\x02tx\x12\x1c\n" +
	"\n" +
	"rx_buf_len\x18\x05 \x01(\rR\brxBufLen\x12\x19\n" +
	"\bcqe_size\x18\x06 \x01(\rR\acqeSize\x12\x17\n" +
	"\atx_push\x18\a \x01(\bR\x06txPush\x12\x17\n" +
	"\arx_push\x18\b \x01(\bR\x06rxPush\x12%\n" +
	"\x0ftx_push_buf_len\x18\t \x01(\rR\ftxPushBufLen\x12$\n" +
	"\x0etcp_data_split\x18\n" +
	" \x01(\bR\ftcpDataSplit\"\xbf\x03\n" +
	"\x13EthernetRingsStatus\x12\x15\n" +
	"\x06rx_max\x18\x01 \x01(\rR\x05rxMax\x12\x1e\n" +
	"\vrx_mini_max\x18\x02 \x01(\rR\trxMiniMax\x12 \n" +
	"\frx_jumbo_max\x18\x03 \x01(\rR\n" +
	"rxJumboMax\x12\x15\n" +
	"\x06tx_max\x18\x04 \x01(\rR\x05txMax\x12,\n" +
	"\x13tx_push_buf_len_max\x18\x05 \x01(\rR\x0ftxPushBufLenMax\x12\x0e\n" +
	"\x02rx\x18\x06 \x01(\rR\x02rx\x12\x17\n" +
	"\arx_mini\x18\a \x01(\rR\x06rxMini\x12\x19\n" +
	"\brx_jumbo\x18\b \x01(\rR\arxJumbo\x12\x0e\n" +
	"\x02tx\x18\t \x01(\rR\x02tx\x12\x1c\n" +
	"\n" +
	"rx_buf_len\x18\n" +
	" \x01(\rR\brxBufLen\x12\x19\n" +
	"\bcqe_size\x18\v \x01(\rR\acqeSize\x12\x17\n" +
	"\atx_push\x18\f \x01(\bR\x06txPush\x12\x17\n" +
	"\arx_push\x18\r \x01(\bR\x06rxPush\x12%\n" +
	"\x0ftx_push_buf_len\x18\x0e \x01(\rR\ftxPushBufLen\x12$\n" +
	"\x0etcp_data_split\x18\x0f \x01(\bR\ftcpDataSplit\"\xa7\x03\n" +
	"\x10EthernetSpecSpec\x12K\n" +
	"\x05rings\x18\x01 \x01(\v25.talos.resource.definitions.network.EthernetRingsSpecR\x05rings\x12^\n" +
	"\bfeatures\x18\x02 \x03(\v2B.talos.resource.definitions.network.EthernetSpecSpec.FeaturesEntryR\bfeatures\x12T\n" +
	"\bchannels\x18\x03 \x01(\v28.talos.resource.definitions.network.EthernetChannelsSpecR\bchannels\x12S\n" +
	"\vwake_on_lan\x18\x04 \x03(\x0e23.talos.resource.definitions.enums.NethelpersWOLModeR\twakeOnLan\x1a;\n" +
	"\rFeaturesEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\bR\x05value:\x028\x01\"\xfb\x04\n" +
	"\x12EthernetStatusSpec\x12\x1d\n" +
	"\n" +
	"link_state\x18\x01 \x01(\bR\tlinkState\x12%\n" +
	"\x0espeed_megabits\x18\x02 \x01(\x03R\rspeedMegabits\x12D\n" +
	"\x04port\x18\x03 \x01(\x0e20.talos.resource.definitions.enums.NethelpersPortR\x04port\x12J\n" +
	"\x06duplex\x18\x04 \x01(\x0e22.talos.resource.definitions.enums.NethelpersDuplexR\x06duplex\x12\x1b\n" +
	"\tour_modes\x18\x05 \x03(\tR\bourModes\x12\x1d\n" +
	"\n" +
	"peer_modes\x18\x06 \x03(\tR\tpeerModes\x12M\n" +
	"\x05rings\x18\a \x01(\v27.talos.resource.definitions.network.EthernetRingsStatusR\x05rings\x12U\n" +
	"\bfeatures\x18\b \x03(\v29.talos.resource.definitions.network.EthernetFeatureStatusR\bfeatures\x12V\n" +
	"\bchannels\x18\t \x01(\v2:.talos.resource.definitions.network.EthernetChannelsStatusR\bchannels\x12S\n" +
	"\vwake_on_lan\x18\n" +
	" \x03(\x0e23.talos.resource.definitions.enums.NethelpersWOLModeR\twakeOnLan\"c\n" +
	"\rHTTPProbeSpec\x12\x1d\n" +
	"\x03url\x18\x01 \x01(\v2\v.common.URLR\x03url\x123\n" +
	"\atimeout\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\atimeout\"K\n" +
	"\x10HardwareAddrSpec\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12#\n" +
	"\rhardware_addr\x18\x02 \x01(\fR\fhardwareAddr\"\xb2\x02\n" +
	"\x11HostDNSConfigSpec\x12\x18\n" +
	"\aenabled\x18\x01 \x01(\bR\aenabled\x12<\n" +
	"\x10listen_addresses\x18\x02 \x03(\v2\x11.common.NetIPPortR\x0flistenAddresses\x12F\n" +
	"\x18service_host_dns_address\x18\x03 \x01(\v2\r.common.NetIPR\x15serviceHostDnsAddress\x120\n" +
	"\x14resolve_member_names\x18\x04 \x01(\bR\x12resolveMemberNames\x12K\n" +
	"\x1bservice_host_dns_address_v6\x18\x05 \x01(\v2\r.common.NetIPR\x17serviceHostDnsAddressV6\"\xa7\x01\n" +
	"\x10HostnameSpecSpec\x12\x1a\n" +
	"\bhostname\x18\x01 \x01(\tR\bhostname\x12\x1e\n" +
	"\n" +
	"domainname\x18\x02 \x01(\tR\n" +
	"domainname\x12W\n" +
	"\fconfig_layer\x18\x03 \x01(\x0e24.talos.resource.definitions.enums.NetworkConfigLayerR\vconfigLayer\"P\n" +
	"\x12HostnameStatusSpec\x12\x1a\n" +
	"\bhostname\x18\x01 \x01(\tR\bhostname\x12\x1e\n" +
	"\n" +
	"domainname\x18\x02 \x01(\tR\n" +
	"domainname\")\n" +
	"\x11LinkAliasSpecSpec\x12\x14\n" +
	"\x05alias\x18\x01 \x01(\tR\x05alias\"1\n" +
	"\x0fLinkRefreshSpec\x12\x1e\n" +
	"\n" +
	"generation\x18\x01 \x01(\x03R\n" +
	"generation\"\x81\b\n" +
	"\fLinkSpecSpec\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" +
	"\alogical\x18\x02 \x01(\bR\alogical\x12\x0e\n" +
	"\x02up\x18\x03 \x01(\bR\x02up\x12\x10\n" +
	"\x03mtu\x18\x04 \x01(\rR\x03mtu\x12\x12\n" +
	"\x04kind\x18\x05 \x01(\tR\x04kind\x12H\n" +
	"\x04type\x18\x06 \x01(\x0e24.talos.resource.definitions.enums.NethelpersLinkTypeR\x04type\x12\x1f\n" +
	"\vparent_name\x18\a \x01(\tR\n" +
	"parentName\x12L\n" +
	"\n" +
	"bond_slave\x18\b \x01(\v2-.talos.resource.definitions.network.BondSlaveR\tbondSlave\x12R\n" +
	"\fbridge_slave\x18\t \x01(\v2/.talos.resource.definitions.network.BridgeSlaveR\vbridgeSlave\x12@\n" +
	"\x04vlan\x18\n" +
	" \x01(\v2,.talos.resource.definitions.network.VLANSpecR\x04vlan\x12S\n" +
	"\vbond_master\x18\v \x01(\v22.talos.resource.definitions.network.BondMasterSpecR\n" +
	"bondMaster\x12Y\n" +
	"\rbridge_master\x18\f \x01(\v24.talos.resource.definitions.network.BridgeMasterSpecR\fbridgeMaster\x12O\n" +
	"\twireguard\x18\r \x01(\v21.talos.resource.definitions.network.WireguardSpecR\twireguard\x12W\n" +
	"\fconfig_layer\x18\x0e \x01(\x0e24.talos.resource.definitions.enums.NetworkConfigLayerR\vconfigLayer\x12)\n" +
	"\x10hardware_address\x18\x0f \x01(\fR\x0fhardwareAddress\x12\x1c\n" +
	"\tmulticast\x18\x10 \x01(\bR\tmulticast\x12P\n" +
	"\n" +
	"vrf_master\x18\x11 \x01(\v21.talos.resource.definitions.network.VRFMasterSpecR\tvrfMaster\x12I\n" +
	"\tvrf_slave\x18\x12 \x01(\v2,.talos.resource.definitions.network.VRFSlaveR\bvrfSlave\"\xb3\v\n" +
	"\x0eLinkStatusSpec\x12\x14\n" +
	"\x05index\x18\x01 \x01(\rR\x05index\x12H\n" +
	"\x04type\x18\x02 \x01(\x0e24.talos.resource.definitions.enums.NethelpersLinkTypeR\x04type\x12\x1d\n" +
	"\n" +
	"link_index\x18\x03 \x01(\rR\tlinkIndex\x12\x14\n" +
	"\x05flags\x18\x04 \x01(\rR\x05flags\x12#\n" +
	"\rhardware_addr\x18\x05 \x01(\fR\fhardwareAddr\x12%\n" +
	"\x0ebroadcast_addr\x18\x06 \x01(\fR\rbroadcastAddr\x12\x10\n" +
	"\x03mtu\x18\a \x01(\rR\x03mtu\x12\x1d\n" +
	"\n" +
	"queue_disc\x18\b \x01(\tR\tqueueDisc\x12!\n" +
	"\fmaster_index\x18\t \x01(\rR\vmasterIndex\x12i\n" +
	"\x11operational_state\x18\n" +
	" \x01(\x0e2<.talos.resource.definitions.enums.NethelpersOperationalStateR\x10operationalState\x12\x12\n" +
	"\x04kind\x18\v \x01(\tR\x04kind\x12\x1d\n" +
	"\n" +
	"slave_kind\x18\f \x01(\tR\tslaveKind\x12\x19\n" +
	"\bbus_path\x18\r \x01(\tR\abusPath\x12\x14\n" +
	"\x05pciid\x18\x0e \x01(\tR\x05pciid\x12\x16\n" +
	"\x06driver\x18\x0f \x01(\tR\x06driver\x12%\n" +
	"\x0edriver_version\x18\x10 \x01(\tR\rdriverVersion\x12)\n" +
	"\x10firmware_version\x18\x11 \x01(\tR\x0ffirmwareVersion\x12\x1d\n" +
	"\n" +
	"product_id\x18\x12 \x01(\tR\tproductId\x12\x1b\n" +
	"\tvendor_id\x18\x13 \x01(\tR\bvendorId\x12\x18\n" +
	"\aproduct\x18\x14 \x01(\tR\aproduct\x12\x16\n" +
	"\x06vendor\x18\x15 \x01(\tR\x06vendor\x12\x1d\n" +
	"\n" +
	"link_state\x18\x16 \x01(\bR\tlinkState\x12%\n" +
	"\x0espeed_megabits\x18\x17 \x01(\x03R\rspeedMegabits\x12D\n" +
	"\x04port\x18\x18 \x01(\x0e20.talos.resource.definitions.enums.NethelpersPortR\x04port\x12J\n" +
	"\x06duplex\x18\x19 \x01(\x0e22.talos.resource.definitions.enums.NethelpersDuplexR\x06duplex\x12@\n" +
	"\x04vlan\x18\x1a \x01(\v2,.talos.resource.definitions.network.VLANSpecR\x04vlan\x12Y\n" +
	"\rbridge_master\x18\x1b \x01(\v24.talos.resource.definitions.network.BridgeMasterSpecR\fbridgeMaster\x12S\n" +
	"\vbond_master\x18\x1c \x01(\v22.talos.resource.definitions.network.BondMasterSpecR\n" +
	"bondMaster\x12O\n" +
	"\twireguard\x18\x1d \x01(\v21.talos.resource.definitions.network.WireguardSpecR\twireguard\x12%\n" +
	"\x0epermanent_addr\x18\x1e \x01(\fR\rpermanentAddr\x12\x14\n" +
	"\x05alias\x18\x1f \x01(\tR\x05alias\x12\x1b\n" +
	"\talt_names\x18  \x03(\tR\baltNames\x12P\n" +
	"\n" +
	"vrf_master\x18! \x01(\v21.talos.resource.definitions.network.VRFMasterSpecR\tvrfMaster\"\xb0\x01\n" +
	"\x0eNameServerSpec\x12!\n" +
	"\x04addr\x18\x01 \x01(\v2\r.common.NetIPR\x04addr\x12S\n" +
	"\bprotocol\x18\x02 \x01(\x0e27.talos.resource.definitions.enums.NethelpersDNSProtocolR\bprotocol\x12&\n" +
	"\x0ftls_server_name\x18\x03 \x01(\tR\rtlsServerName\"\xaa\x01\n" +
	"\x14NfTablesAddressMatch\x12<\n" +
	"\x0finclude_subnets\x18\x01 \x03(\v2\x13.common.NetIPPrefixR\x0eincludeSubnets\x12<\n" +
	"\x0fexclude_subnets\x18\x02 \x03(\v2\x13.common.NetIPPrefixR\x0eexcludeSubnets\x12\x16\n" +
	"\x06invert\x18\x03 \x01(\bR\x06invert\"\xf6\x02\n" +
	"\x11NfTablesChainSpec\x12\x12\n" +
	"\x04type\x18\x01 \x01(\tR\x04type\x12Q\n" +
	"\x04hook\x18\x02 \x01(\x0e2=.talos.resource.definitions.enums.NethelpersNfTablesChainHookR\x04hook\x12]\n" +
	"\bpriority\x18\x03 \x01(\x0e2A.talos.resource.definitions.enums.NethelpersNfTablesChainPriorityR\bpriority\x12F\n" +
	"\x05rules\x18\x04 \x03(\v20.talos.resource.definitions.network.NfTablesRuleR\x05rules\x12S\n" +
	"\x06policy\x18\x05 \x01(\x0e2;.talos.resource.definitions.enums.NethelpersNfTablesVerdictR\x06policy\"$\n" +
	"\x10NfTablesClampMSS\x12\x10\n" +
	"\x03mtu\x18\x01 \x01(\rR\x03mtu\"q\n" +
	"\x1bNfTablesConntrackStateMatch\x12R\n" +
	"\x06states\x18\x01 \x03(\x0e2:.talos.resource.definitions.enums.NethelpersConntrackStateR\x06states\"c\n" +
	"\x15NfTablesICMPTypeMatch\x12J\n" +
	"\x05types\x18\x01 \x03(\x0e24.talos.resource.definitions.enums.NethelpersICMPTypeR\x05types\"\x95\x01\n" +
	"\x13NfTablesIfNameMatch\x12U\n" +
	"\boperator\x18\x02 \x01(\x0e29.talos.resource.definitions.enums.NethelpersMatchOperatorR\boperator\x12'\n" +
	"\x0finterface_names\x18\x03 \x03(\tR\x0einterfaceNames\"\x9a\x03\n" +
	"\x13NfTablesLayer4Match\x12P\n" +
	"\bprotocol\x18\x01 \x01(\x0e24.talos.resource.definitions.enums.NethelpersProtocolR\bprotocol\x12a\n" +
	"\x11match_source_port\x18\x02 \x01(\v25.talos.resource.definitions.network.NfTablesPortMatchR\x0fmatchSourcePort\x12k\n" +
	"\x16match_destination_port\x18\x03 \x01(\v25.talos.resource.definitions.network.NfTablesPortMatchR\x14matchDestinationPort\x12a\n" +
	"\x0fmatch_icmp_type\x18\x04 \x01(\v29.talos.resource.definitions.network.NfTablesICMPTypeMatchR\rmatchIcmpType\"I\n" +
	"\x12NfTablesLimitMatch\x123\n" +
	"\x16packet_rate_per_second\x18\x01 \x01(\x04R\x13packetRatePerSecond\"J\n" +
	"\fNfTablesMark\x12\x12\n" +
	"\x04mask\x18\x01 \x01(\rR\x04mask\x12\x10\n" +
	"\x03xor\x18\x02 \x01(\rR\x03xor\x12\x14\n" +
	"\x05value\x18\x03 \x01(\rR\x05value\"Z\n" +
	"\x11NfTablesPortMatch\x12E\n" +
	"\x06ranges\x18\x01 \x03(\v2-.talos.resource.definitions.network.PortRangeR\x06ranges\"\xc5\b\n" +
	"\fNfTablesRule\x12^\n" +
	"\x0fmatch_o_if_name\x18\x01 \x01(\v27.talos.resource.definitions.network.NfTablesIfNameMatchR\fmatchOIfName\x12U\n" +
	"\averdict\x18\x02 \x01(\x0e2;.talos.resource.definitions.enums.NethelpersNfTablesVerdictR\averdict\x12O\n" +
	"\n" +
	"match_mark\x18\x03 \x01(\v20.talos.resource.definitions.network.NfTablesMarkR\tmatchMark\x12K\n" +
	"\bset_mark\x18\x04 \x01(\v20.talos.resource.definitions.network.NfTablesMarkR\asetMark\x12j\n" +
	"\x14match_source_address\x18\x05 \x01(\v28.talos.resource.definitions.network.NfTablesAddressMatchR\x12matchSourceAddress\x12t\n" +
	"\x19match_destination_address\x18\x06 \x01(\v28.talos.resource.definitions.network.NfTablesAddressMatchR\x17matchDestinationAddress\x12Z\n" +
	"\fmatch_layer4\x18\a \x01(\v27.talos.resource.definitions.network.NfTablesLayer4MatchR\vmatchLayer4\x12^\n" +
	"\x0fmatch_i_if_name\x18\b \x01(\v27.talos.resource.definitions.network.NfTablesIfNameMatchR\fmatchIIfName\x12Q\n" +
	"\tclamp_mss\x18\t \x01(\v24.talos.resource.definitions.network.NfTablesClampMSSR\bclampMss\x12W\n" +
	"\vmatch_limit\x18\n" +
	" \x01(\v26.talos.resource.definitions.network.NfTablesLimitMatchR\n" +
	"matchLimit\x12s\n" +
	"\x15match_conntrack_state\x18\v \x01(\v2?.talos.resource.definitions.network.NfTablesConntrackStateMatchR\x13matchConntrackState\x12!\n" +
	"\fanon_counter\x18\f \x01(\bR\vanonCounter\"\x93\x01\n" +
	"\x15NodeAddressFilterSpec\x12<\n" +
	"\x0finclude_subnets\x18\x01 \x03(\v2\x13.common.NetIPPrefixR\x0eincludeSubnets\x12<\n" +
	"\x0fexclude_subnets\x18\x02 \x03(\v2\x13.common.NetIPPrefixR\x0eexcludeSubnets\"~\n" +
	"\x1cNodeAddressSortAlgorithmSpec\x12^\n" +
	"\talgorithm\x18\x01 \x01(\x0e2@.talos.resource.definitions.enums.NethelpersAddressSortAlgorithmR\talgorithm\"\xad\x01\n" +
	"\x0fNodeAddressSpec\x121\n" +
	"\taddresses\x18\x01 \x03(\v2\x13.common.NetIPPrefixR\taddresses\x12g\n" +
	"\x0esort_algorithm\x18\x02 \x01(\x0e2@.talos.resource.definitions.enums.NethelpersAddressSortAlgorithmR\rsortAlgorithm\"\xd7\x03\n" +
	"\x10OperatorSpecSpec\x12M\n" +
	"\boperator\x18\x01 \x01(\x0e21.talos.resource.definitions.enums.NetworkOperatorR\boperator\x12\x1b\n" +
	"\tlink_name\x18\x02 \x01(\tR\blinkName\x12\x1d\n" +
	"\n" +
	"require_up\x18\x03 \x01(\bR\trequireUp\x12K\n" +
	"\x05dhcp4\x18\x04 \x01(\v25.talos.resource.definitions.network.DHCP4OperatorSpecR\x05dhcp4\x12K\n" +
	"\x05dhcp6\x18\x05 \x01(\v25.talos.resource.definitions.network.DHCP6OperatorSpecR\x05dhcp6\x12E\n" +
	"\x03vip\x18\x06 \x01(\v23.talos.resource.definitions.network.VIPOperatorSpecR\x03vip\x12W\n" +
	"\fconfig_layer\x18\a \x01(\x0e24.talos.resource.definitions.enums.NetworkConfigLayerR\vconfigLayer\"\xa4\x06\n" +
	"\x12PlatformConfigSpec\x12Q\n" +
	"\taddresses\x18\x01 \x03(\v23.talos.resource.definitions.network.AddressSpecSpecR\taddresses\x12F\n" +
	"\x05links\x18\x02 \x03(\v20.talos.resource.definitions.network.LinkSpecSpecR\x05links\x12I\n" +
	"\x06routes\x18\x03 \x03(\v21.talos.resource.definitions.network.RouteSpecSpecR\x06routes\x12R\n" +
	"\thostnames\x18\x04 \x03(\v24.talos.resource.definitions.network.HostnameSpecSpecR\thostnames\x12R\n" +
	"\tresolvers\x18\x05 \x03(\v24.talos.resource.definitions.network.ResolverSpecSpecR\tresolvers\x12Y\n" +
	"\ftime_servers\x18\x06 \x03(\v26.talos.resource.definitions.network.TimeServerSpecSpecR\vtimeServers\x12R\n" +
	"\toperators\x18\a \x03(\v24.talos.resource.definitions.network.OperatorSpecSpecR\toperators\x120\n" +
	"\fexternal_ips\x18\b \x03(\v2\r.common.NetIPR\vexternalIps\x12I\n" +
	"\x06probes\x18\t \x03(\v21.talos.resource.definitions.network.ProbeSpecSpecR\x06probes\x12T\n" +
	"\bmetadata\x18\n" +
	" \x01(\v28.talos.resource.definitions.runtime.PlatformMetadataSpecR\bmetadata\"+\n" +
	"\tPortRange\x12\x0e\n" +
	"\x02lo\x18\x01 \x01(\rR\x02lo\x12\x0e\n" +
	"\x02hi\x18\x02 \x01(\rR\x02hi\"\xd7\x02\n" +
	"\rProbeSpecSpec\x125\n" +
	"\binterval\x18\x01 \x01(\v2\x19.google.protobuf.DurationR\binterval\x12+\n" +
	"\x11failure_threshold\x18\x02 \x01(\x03R\x10failureThreshold\x12B\n" +
	"\x03tcp\x18\x03 \x01(\v20.talos.resource.definitions.network.TCPProbeSpecR\x03tcp\x12W\n" +
	"\fconfig_layer\x18\x04 \x01(\x0e24.talos.resource.definitions.enums.NetworkConfigLayerR\vconfigLayer\x12E\n" +
	"\x04http\x18\x05 \x01(\v21.talos.resource.definitions.network.HTTPProbeSpecR\x04http\"J\n" +
	"\x0fProbeStatusSpec\x12\x18\n" +
	"\asuccess\x18\x01 \x01(\bR\asuccess\x12\x1d\n" +
	"\n" +
	"last_error\x18\x02 \x01(\tR\tlastError\"\x99\x02\n" +
	"\x10ResolverSpecSpec\x12.\n" +
	"\vdns_servers\x18\x01 \x03(\v2\r.common.NetIPR\n" +
	"dnsServers\x12W\n" +
	"\fconfig_layer\x18\x02 \x01(\x0e24.talos.resource.definitions.enums.NetworkConfigLayerR\vconfigLayer\x12%\n" +
	"\x0esearch_domains\x18\x03 \x03(\tR\rsearchDomains\x12U\n" +
	"\fname_servers\x18\x04 \x03(\v22.talos.resource.definitions.network.NameServerSpecR\vnameServers\"\xc2\x01\n" +
	"\x12ResolverStatusSpec\x12.\n" +
	"\vdns_servers\x18\x01 \x03(\v2\r.common.NetIPR\n" +
	"dnsServers\x12%\n" +
	"\x0esearch_domains\x18\x02 \x03(\tR\rsearchDomains\x12U\n" +
	"\fname_servers\x18\x04 \x03(\v22.talos.resource.definitions.network.NameServerSpecR\vnameServers\"\xde\x05\n" +
	"\rRouteSpecSpec\x12J\n" +
	"\x06family\x18\x01 \x01(\x0e22.talos.resource.definitions.enums.NethelpersFamilyR\x06family\x125\n" +
	"\vdestination\x18\x02 \x01(\v2\x13.common.NetIPPrefixR\vdestination\x12%\n" +
	"\x06source\x18\x03 \x01(\v2\r.common.NetIPR\x06source\x12'\n" +
	"\agateway\x18\x04 \x01(\v2\r.common.NetIPR\agateway\x12\"\n" +
	"\rout_link_name\x18\x05 \x01(\tR\voutLinkName\x12N\n" +
	"\x05table\x18\x06 \x01(\x0e28.talos.resource.definitions.enums.NethelpersRoutingTableR\x05table\x12\x1a\n" +
	"\bpriority\x18\a \x01(\rR\bpriority\x12G\n" +
	"\x05scope\x18\b \x01(\x0e21.talos.resource.definitions.enums.NethelpersScopeR\x05scope\x12I\n" +
	"\x04type\x18\t \x01(\x0e25.talos.resource.definitions.enums.NethelpersRouteTypeR\x04type\x12\x14\n" +
	"\x05flags\x18\n" +
	" \x01(\rR\x05flags\x12U\n" +
	"\bprotocol\x18\v \x01(\x0e29.talos.resource.definitions.enums.NethelpersRouteProtocolR\bprotocol\x12W\n" +
	"\fconfig_layer\x18\f \x01(\x0e24.talos.resource.definitions.enums.NetworkConfigLayerR\vconfigLayer\x12\x10\n" +
	"\x03mtu\x18\r \x01(\rR\x03mtu\"\xad\x05\n" +
	"\x0fRouteStatusSpec\x12J\n" +
	"\x06family\x18\x01 \x01(\x0e22.talos.resource.definitions.enums.NethelpersFamilyR\x06family\x125\n" +
	"\vdestination\x18\x02 \x01(\v2\x13.common.NetIPPrefixR\vdestination\x12%\n" +
	"\x06source\x18\x03 \x01(\v2\r.common.NetIPR\x06source\x12'\n" +
	"\agateway\x18\x04 \x01(\v2\r.common.NetIPR\agateway\x12$\n" +
	"\x0eout_link_index\x18\x05 \x01(\rR\foutLinkIndex\x12\"\n" +
	"\rout_link_name\x18\x06 \x01(\tR\voutLinkName\x12N\n" +
	"\x05table\x18\a \x01(\x0e28.talos.resource.definitions.enums.NethelpersRoutingTableR\x05table\x12\x1a\n" +
	"\bpriority\x18\b \x01(\rR\bpriority\x12G\n" +
	"\x05scope\x18\t \x01(\x0e21.talos.resource.definitions.enums.NethelpersScopeR\x05scope\x12I\n" +
	"\x04type\x18\n" +
	" \x01(\x0e25.talos.resource.definitions.enums.NethelpersRouteTypeR\x04type\x12\x14\n" +
	"\x05flags\x18\v \x01(\rR\x05flags\x12U\n" +
	"\bprotocol\x18\f \x01(\x0e29.talos.resource.definitions.enums.NethelpersRouteProtocolR\bprotocol\x12\x10\n" +
	"\x03mtu\x18\r \x01(\rR\x03mtu\"\xb3\x04\n" +
	"\x13RoutingRuleSpecSpec\x12J\n" +
	"\x06family\x18\x01 \x01(\x0e22.talos.resource.definitions.enums.NethelpersFamilyR\x06family\x12%\n" +
	"\x03src\x18\x02 \x01(\v2\x13.common.NetIPPrefixR\x03src\x12%\n" +
	"\x03dst\x18\x03 \x01(\v2\x13.common.NetIPPrefixR\x03dst\x12N\n" +
	"\x05table\x18\x04 \x01(\x0e28.talos.resource.definitions.enums.NethelpersRoutingTableR\x05table\x12\x1a\n" +
	"\bpriority\x18\x05 \x01(\rR\bpriority\x12U\n" +
	"\x06action\x18\x06 \x01(\x0e2=.talos.resource.definitions.enums.NethelpersRoutingRuleActionR\x06action\x12\x19\n" +
	"\biif_name\x18\a \x01(\tR\aiifName\x12\x19\n" +
	"\boif_name\x18\b \x01(\tR\aoifName\x12\x17\n" +
	"\afw_mark\x18\t \x01(\rR\x06fwMark\x12\x17\n" +
	"\afw_mask\x18\n" +
	" \x01(\rR\x06fwMask\x12W\n" +
	"\fconfig_layer\x18\v \x01(\x0e24.talos.resource.definitions.enums.NetworkConfigLayerR\vconfigLayer\"\xdc\x03\n" +
	"\x15RoutingRuleStatusSpec\x12J\n" +
	"\x06family\x18\x01 \x01(\x0e22.talos.resource.definitions.enums.NethelpersFamilyR\x06family\x12%\n" +
	"\x03src\x18\x02 \x01(\v2\x13.common.NetIPPrefixR\x03src\x12%\n" +
	"\x03dst\x18\x03 \x01(\v2\x13.common.NetIPPrefixR\x03dst\x12N\n" +
	"\x05table\x18\x04 \x01(\x0e28.talos.resource.definitions.enums.NethelpersRoutingTableR\x05table\x12\x1a\n" +
	"\bpriority\x18\x05 \x01(\rR\bpriority\x12U\n" +
	"\x06action\x18\x06 \x01(\x0e2=.talos.resource.definitions.enums.NethelpersRoutingRuleActionR\x06action\x12\x19\n" +
	"\biif_name\x18\a \x01(\tR\aiifName\x12\x19\n" +
	"\boif_name\x18\b \x01(\tR\aoifName\x12\x17\n" +
	"\afw_mark\x18\t \x01(\rR\x06fwMark\x12\x17\n" +
	"\afw_mask\x18\n" +
	" \x01(\rR\x06fwMask\"#\n" +
	"\aSTPSpec\x12\x18\n" +
	"\aenabled\x18\x01 \x01(\bR\aenabled\"=\n" +
	"\x0eStaticHostSpec\x12+\n" +
	"\taddresses\x18\x01 \x03(\v2\r.common.NetIPR\taddresses\"\xaf\x01\n" +
	"\n" +
	"StatusSpec\x12#\n" +
	"\raddress_ready\x18\x01 \x01(\bR\faddressReady\x12-\n" +
	"\x12connectivity_ready\x18\x02 \x01(\bR\x11connectivityReady\x12%\n" +
	"\x0ehostname_ready\x18\x03 \x01(\bR\rhostnameReady\x12&\n" +
	"\x0fetc_files_ready\x18\x04 \x01(\bR\retcFilesReady\"_\n" +
	"\fTCPProbeSpec\x12\x1a\n" +
	"\bendpoint\x18\x01 \x01(\tR\bendpoint\x123\n" +
	"\atimeout\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\atimeout\"\xa7\x01\n" +
	"\x12TimeServerSpecSpec\x12\x1f\n" +
	"\vntp_servers\x18\x01 \x03(\tR\n" +
	"ntpServers\x12W\n" +
	"\fconfig_layer\x18\x02 \x01(\x0e24.talos.resource.definitions.enums.NetworkConfigLayerR\vconfigLayer\x12\x17\n" +
	"\ause_nts\x18\x03 \x01(\bR\x06useNts\"P\n" +
	"\x14TimeServerStatusSpec\x12\x1f\n" +
	"\vntp_servers\x18\x01 \x03(\tR\n" +
	"ntpServers\x12\x17\n" +
	"\ause_nts\x18\x02 \x01(\bR\x06useNts\"n\n" +
	"\x13VIPEquinixMetalSpec\x12\x1d\n" +
	"\n" +
	"project_id\x18\x01 \x01(\tR\tprojectId\x12\x1b\n" +
	"\tdevice_id\x18\x02 \x01(\tR\bdeviceId\x12\x1b\n" +
	"\tapi_token\x18\x03 \x01(\tR\bapiToken\"h\n" +
	"\rVIPHCloudSpec\x12\x1b\n" +
	"\tdevice_id\x18\x01 \x01(\x03R\bdeviceId\x12\x1d\n" +
	"\n" +
	"network_id\x18\x02 \x01(\x03R\tnetworkId\x12\x1b\n" +
	"\tapi_token\x18\x03 \x01(\tR\bapiToken\"\x81\x02\n" +
	"\x0fVIPOperatorSpec\x12\x1d\n" +
	"\x02ip\x18\x01 \x01(\v2\r.common.NetIPR\x02ip\x12%\n" +
	"\x0egratuitous_arp\x18\x02 \x01(\bR\rgratuitousArp\x12\\\n" +
	"\requinix_metal\x18\x03 \x01(\v27.talos.resource.definitions.network.VIPEquinixMetalSpecR\fequinixMetal\x12J\n" +
	"\ah_cloud\x18\x04 \x01(\v21.talos.resource.definitions.network.VIPHCloudSpecR\x06hCloud\"r\n" +
	"\bVLANSpec\x12\x10\n" +
	"\x03vid\x18\x01 \x01(\rR\x03vid\x12T\n" +
	"\bprotocol\x18\x02 \x01(\x0e28.talos.resource.definitions.enums.NethelpersVLANProtocolR\bprotocol\"_\n" +
	"\rVRFMasterSpec\x12N\n" +
	"\x05table\x18\x01 \x01(\x0e28.talos.resource.definitions.enums.NethelpersRoutingTableR\x05table\"+\n" +
	"\bVRFSlave\x12\x1f\n" +
	"\vmaster_name\x18\x01 \x01(\tR\n" +
	"masterName\"\x84\x02\n" +
	"\rWireguardPeer\x12\x1d\n" +
	"\n" +
	"public_key\x18\x01 \x01(\tR\tpublicKey\x12#\n" +
	"\rpreshared_key\x18\x02 \x01(\tR\fpresharedKey\x12\x1a\n" +
	"\bendpoint\x18\x03 \x01(\tR\bendpoint\x12]\n" +
	"\x1dpersistent_keepalive_interval\x18\x04 \x01(\v2\x19.google.protobuf.DurationR\x1bpersistentKeepaliveInterval\x124\n" +
	"\vallowed_ips\x18\x05 \x03(\v2\x13.common.NetIPPrefixR\n" +
	"allowedIps\"\xde\x01\n" +
	"\rWireguardSpec\x12\x1f\n" +
	"\vprivate_key\x18\x01 \x01(\tR\n" +
	"privateKey\x12\x1d\n" +
	"\n" +
	"public_key\x18\x02 \x01(\tR\tpublicKey\x12\x1f\n" +
	"\vlisten_port\x18\x03 \x01(\x03R\n" +
	"listenPort\x12#\n" +
	"\rfirewall_mark\x18\x04 \x01(\x03R\ffirewallMark\x12G\n" +
	"\x05peers\x18\x05 \x03(\v21.talos.resource.definitions.network.WireguardPeerR\x05peersBx\n" +
	"*dev.talos.api.resource.definitions.networkZJgithub.com/siderolabs/talos/pkg/machinery/api/resource/definitions/networkb\x06proto3"

var (
	file_resource_definitions_network_network_proto_rawDescOnce sync.Once
	file_resource_definitions_network_network_proto_rawDescData []byte
)

func file_resource_definitions_network_network_proto_rawDescGZIP() []byte {
	file_resource_definitions_network_network_proto_rawDescOnce.Do(func() {
		file_resource_definitions_network_network_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_resource_definitions_network_network_proto_rawDesc), len(file_resource_definitions_network_network_proto_rawDesc)))
	})
	return file_resource_definitions_network_network_proto_rawDescData
}

var file_resource_definitions_network_network_proto_msgTypes = make([]protoimpl.MessageInfo, 68)
var file_resource_definitions_network_network_proto_goTypes = []any{
	(*AddressSpecSpec)(nil),                    // 0: talos.resource.definitions.network.AddressSpecSpec
	(*AddressStatusSpec)(nil),                  // 1: talos.resource.definitions.network.AddressStatusSpec
	(*BondMasterSpec)(nil),                     // 2: talos.resource.definitions.network.BondMasterSpec
	(*BondSlave)(nil),                          // 3: talos.resource.definitions.network.BondSlave
	(*BridgeMasterSpec)(nil),                   // 4: talos.resource.definitions.network.BridgeMasterSpec
	(*BridgeSlave)(nil),                        // 5: talos.resource.definitions.network.BridgeSlave
	(*BridgeVLANSpec)(nil),                     // 6: talos.resource.definitions.network.BridgeVLANSpec
	(*ClientIdentifierSpec)(nil),               // 7: talos.resource.definitions.network.ClientIdentifierSpec
	(*DHCP4OperatorSpec)(nil),                  // 8: talos.resource.definitions.network.DHCP4OperatorSpec
	(*DHCP6OperatorSpec)(nil),                  // 9: talos.resource.definitions.network.DHCP6OperatorSpec
	(*DNSResolveCacheSpec)(nil),                // 10: talos.resource.definitions.network.DNSResolveCacheSpec
	(*EthernetChannelsSpec)(nil),               // 11: talos.resource.definitions.network.EthernetChannelsSpec
	(*EthernetChannelsStatus)(nil),             // 12: talos.resource.definitions.network.EthernetChannelsStatus
	(*EthernetFeatureStatus)(nil),              // 13: talos.resource.definitions.network.EthernetFeatureStatus
	(*EthernetRingsSpec)(nil),                  // 14: talos.resource.definitions.network.EthernetRingsSpec
	(*EthernetRingsStatus)(nil),                // 15: talos.resource.definitions.network.EthernetRingsStatus
	(*EthernetSpecSpec)(nil),                   // 16: talos.resource.definitions.network.EthernetSpecSpec
	(*EthernetStatusSpec)(nil),                 // 17: talos.resource.definitions.network.EthernetStatusSpec
	(*HTTPProbeSpec)(nil),                      // 18: talos.resource.definitions.network.HTTPProbeSpec
	(*HardwareAddrSpec)(nil),                   // 19: talos.resource.definitions.network.HardwareAddrSpec
	(*HostDNSConfigSpec)(nil),                  // 20: talos.resource.definitions.network.HostDNSConfigSpec
	(*HostnameSpecSpec)(nil),                   // 21: talos.resource.definitions.network.HostnameSpecSpec
	(*HostnameStatusSpec)(nil),                 // 22: talos.resource.definitions.network.HostnameStatusSpec
	(*LinkAliasSpecSpec)(nil),                  // 23: talos.resource.definitions.network.LinkAliasSpecSpec
	(*LinkRefreshSpec)(nil),                    // 24: talos.resource.definitions.network.LinkRefreshSpec
	(*LinkSpecSpec)(nil),                       // 25: talos.resource.definitions.network.LinkSpecSpec
	(*LinkStatusSpec)(nil),                     // 26: talos.resource.definitions.network.LinkStatusSpec
	(*NameServerSpec)(nil),                     // 27: talos.resource.definitions.network.NameServerSpec
	(*NfTablesAddressMatch)(nil),               // 28: talos.resource.definitions.network.NfTablesAddressMatch
	(*NfTablesChainSpec)(nil),                  // 29: talos.resource.definitions.network.NfTablesChainSpec
	(*NfTablesClampMSS)(nil),                   // 30: talos.resource.definitions.network.NfTablesClampMSS
	(*NfTablesConntrackStateMatch)(nil),        // 31: talos.resource.definitions.network.NfTablesConntrackStateMatch
	(*NfTablesICMPTypeMatch)(nil),              // 32: talos.resource.definitions.network.NfTablesICMPTypeMatch
	(*NfTablesIfNameMatch)(nil),                // 33: talos.resource.definitions.network.NfTablesIfNameMatch
	(*NfTablesLayer4Match)(nil),                // 34: talos.resource.definitions.network.NfTablesLayer4Match
	(*NfTablesLimitMatch)(nil),                 // 35: talos.resource.definitions.network.NfTablesLimitMatch
	(*NfTablesMark)(nil),                       // 36: talos.resource.definitions.network.NfTablesMark
	(*NfTablesPortMatch)(nil),                  // 37: talos.resource.definitions.network.NfTablesPortMatch
	(*NfTablesRule)(nil),                       // 38: talos.resource.definitions.network.NfTablesRule
	(*NodeAddressFilterSpec)(nil),              // 39: talos.resource.definitions.network.NodeAddressFilterSpec
	(*NodeAddressSortAlgorithmSpec)(nil),       // 40: talos.resource.definitions.network.NodeAddressSortAlgorithmSpec
	(*NodeAddressSpec)(nil),                    // 41: talos.resource.definitions.network.NodeAddressSpec
	(*OperatorSpecSpec)(nil),                   // 42: talos.resource.definitions.network.OperatorSpecSpec
	(*PlatformConfigSpec)(nil),                 // 43: talos.resource.definitions.network.PlatformConfigSpec
	(*PortRange)(nil),                          // 44: talos.resource.definitions.network.PortRange
	(*ProbeSpecSpec)(nil),                      // 45: talos.resource.definitions.network.ProbeSpecSpec
	(*ProbeStatusSpec)(nil),                    // 46: talos.resource.definitions.network.ProbeStatusSpec
	(*ResolverSpecSpec)(nil),                   // 47: talos.resource.definitions.network.ResolverSpecSpec
	(*ResolverStatusSpec)(nil),                 // 48: talos.resource.definitions.network.ResolverStatusSpec
	(*RouteSpecSpec)(nil),                      // 49: talos.resource.definitions.network.RouteSpecSpec
	(*RouteStatusSpec)(nil),                    // 50: talos.resource.definitions.network.RouteStatusSpec
	(*RoutingRuleSpecSpec)(nil),                // 51: talos.resource.definitions.network.RoutingRuleSpecSpec
	(*RoutingRuleStatusSpec)(nil),              // 52: talos.resource.definitions.network.RoutingRuleStatusSpec
	(*STPSpec)(nil),                            // 53: talos.resource.definitions.network.STPSpec
	(*StaticHostSpec)(nil),                     // 54: talos.resource.definitions.network.StaticHostSpec
	(*StatusSpec)(nil),                         // 55: talos.resource.definitions.network.StatusSpec
	(*TCPProbeSpec)(nil),                       // 56: talos.resource.definitions.network.TCPProbeSpec
	(*TimeServerSpecSpec)(nil),                 // 57: talos.resource.definitions.network.TimeServerSpecSpec
	(*TimeServerStatusSpec)(nil),               // 58: talos.resource.definitions.network.TimeServerStatusSpec
	(*VIPEquinixMetalSpec)(nil),                // 59: talos.resource.definitions.network.VIPEquinixMetalSpec
	(*VIPHCloudSpec)(nil),                      // 60: talos.resource.definitions.network.VIPHCloudSpec
	(*VIPOperatorSpec)(nil),                    // 61: talos.resource.definitions.network.VIPOperatorSpec
	(*VLANSpec)(nil),                           // 62: talos.resource.definitions.network.VLANSpec
	(*VRFMasterSpec)(nil),                      // 63: talos.resource.definitions.network.VRFMasterSpec
	(*VRFSlave)(nil),                           // 64: talos.resource.definitions.network.VRFSlave
	(*WireguardPeer)(nil),                      // 65: talos.resource.definitions.network.WireguardPeer
	(*WireguardSpec)(nil),                      // 66: talos.resource.definitions.network.WireguardSpec
	nil,                                        // 67: talos.resource.definitions.network.EthernetSpecSpec.FeaturesEntry
	(*common.NetIPPrefix)(nil),                 // 68: common.NetIPPrefix
	(enums.NethelpersFamily)(0),                // 69: talos.resource.definitions.enums.NethelpersFamily
	(enums.NethelpersScope)(0),                 // 70: talos.resource.definitions.enums.NethelpersScope
	(enums.NetworkConfigLayer)(0),              // 71: talos.resource.definitions.enums.NetworkConfigLayer
	(*common.NetIP)(nil),                       // 72: common.NetIP
	(enums.NethelpersBondMode)(0),              // 73: talos.resource.definitions.enums.NethelpersBondMode
	(enums.NethelpersBondXmitHashPolicy)(0),    // 74: talos.resource.definitions.enums.NethelpersBondXmitHashPolicy
	(enums.NethelpersLACPRate)(0),              // 75: talos.resource.definitions.enums.NethelpersLACPRate
	(enums.NethelpersARPValidate)(0),           // 76: talos.resource.definitions.enums.NethelpersARPValidate
	(enums.NethelpersARPAllTargets)(0),         // 77: talos.resource.definitions.enums.NethelpersARPAllTargets
	(enums.NethelpersPrimaryReselect)(0),       // 78: talos.resource.definitions.enums.NethelpersPrimaryReselect
	(enums.NethelpersFailOverMAC)(0),           // 79: talos.resource.definitions.enums.NethelpersFailOverMAC
	(enums.NethelpersADSelect)(0),              // 80: talos.resource.definitions.enums.NethelpersADSelect
	(enums.NethelpersADLACPActive)(0),          // 81: talos.resource.definitions.enums.NethelpersADLACPActive
	(enums.NethelpersClientIdentifier)(0),      // 82: talos.resource.definitions.enums.NethelpersClientIdentifier
	(enums.NethelpersWOLMode)(0),               // 83: talos.resource.definitions.enums.NethelpersWOLMode
	(enums.NethelpersPort)(0),                  // 84: talos.resource.definitions.enums.NethelpersPort
	(enums.NethelpersDuplex)(0),                // 85: talos.resource.definitions.enums.NethelpersDuplex
	(*common.URL)(nil),                         // 86: common.URL
	(*durationpb.Duration)(nil),                // 87: google.protobuf.Duration
	(*common.NetIPPort)(nil),                   // 88: common.NetIPPort
	(enums.NethelpersLinkType)(0),              // 89: talos.resource.definitions.enums.NethelpersLinkType
	(enums.NethelpersOperationalState)(0),      // 90: talos.resource.definitions.enums.NethelpersOperationalState
	(enums.NethelpersDNSProtocol)(0),           // 91: talos.resource.definitions.enums.NethelpersDNSProtocol
	(enums.NethelpersNfTablesChainHook)(0),     // 92: talos.resource.definitions.enums.NethelpersNfTablesChainHook
	(enums.NethelpersNfTablesChainPriority)(0), // 93: talos.resource.definitions.enums.NethelpersNfTablesChainPriority
	(enums.NethelpersNfTablesVerdict)(0),       // 94: talos.resource.definitions.enums.NethelpersNfTablesVerdict
	(enums.NethelpersConntrackState)(0),        // 95: talos.resource.definitions.enums.NethelpersConntrackState
	(enums.NethelpersICMPType)(0),              // 96: talos.resource.definitions.enums.NethelpersICMPType
	(enums.NethelpersMatchOperator)(0),         // 97: talos.resource.definitions.enums.NethelpersMatchOperator
	(enums.NethelpersProtocol)(0),              // 98: talos.resource.definitions.enums.NethelpersProtocol
	(enums.NethelpersAddressSortAlgorithm)(0),  // 99: talos.resource.definitions.enums.NethelpersAddressSortAlgorithm
	(enums.NetworkOperator)(0),                 // 100: talos.resource.definitions.enums.NetworkOperator
	(*runtime.PlatformMetadataSpec)(nil),       // 101: talos.resource.definitions.runtime.PlatformMetadataSpec
	(enums.NethelpersRoutingTable)(0),          // 102: talos.resource.definitions.enums.NethelpersRoutingTable
	(enums.NethelpersRouteType)(0),             // 103: talos.resource.definitions.enums.NethelpersRouteType
	(enums.NethelpersRouteProtocol)(0),         // 104: talos.resource.definitions.enums.NethelpersRouteProtocol
	(enums.NethelpersRoutingRuleAction)(0),     // 105: talos.resource.definitions.enums.NethelpersRoutingRuleAction
	(enums.NethelpersVLANProtocol)(0),          // 106: talos.resource.definitions.enums.NethelpersVLANProtocol
}
var file_resource_definitions_network_network_proto_depIdxs = []int32{
	68,  // 0: talos.resource.definitions.network.AddressSpecSpec.address:type_name -> common.NetIPPrefix
	69,  // 1: talos.resource.definitions.network.AddressSpecSpec.family:type_name -> talos.resource.definitions.enums.NethelpersFamily
	70,  // 2: talos.resource.definitions.network.AddressSpecSpec.scope:type_name -> talos.resource.definitions.enums.NethelpersScope
	71,  // 3: talos.resource.definitions.network.AddressSpecSpec.config_layer:type_name -> talos.resource.definitions.enums.NetworkConfigLayer
	68,  // 4: talos.resource.definitions.network.AddressStatusSpec.address:type_name -> common.NetIPPrefix
	72,  // 5: talos.resource.definitions.network.AddressStatusSpec.local:type_name -> common.NetIP
	72,  // 6: talos.resource.definitions.network.AddressStatusSpec.broadcast:type_name -> common.NetIP
	72,  // 7: talos.resource.definitions.network.AddressStatusSpec.anycast:type_name -> common.NetIP
	72,  // 8: talos.resource.definitions.network.AddressStatusSpec.multicast:type_name -> common.NetIP
	69,  // 9: talos.resource.definitions.network.AddressStatusSpec.family:type_name -> talos.resource.definitions.enums.NethelpersFamily
	70,  // 10: talos.resource.definitions.network.AddressStatusSpec.scope:type_name -> talos.resource.definitions.enums.NethelpersScope
	73,  // 11: talos.resource.definitions.network.BondMasterSpec.mode:type_name -> talos.resource.definitions.enums.NethelpersBondMode
	74,  // 12: talos.resource.definitions.network.BondMasterSpec.hash_policy:type_name -> talos.resource.definitions.enums.NethelpersBondXmitHashPolicy
	75,  // 13: talos.resource.definitions.network.BondMasterSpec.lacp_rate:type_name -> talos.resource.definitions.enums.NethelpersLACPRate
	76,  // 14: talos.resource.definitions.network.BondMasterSpec.arp_validate:type_name -> talos.resource.definitions.enums.NethelpersARPValidate
	77,  // 15: talos.resource.definitions.network.BondMasterSpec.arp_all_targets:type_name -> talos.resource.definitions.enums.NethelpersARPAllTargets
	78,  // 16: talos.resource.definitions.network.BondMasterSpec.primary_reselect:type_name -> talos.resource.definitions.enums.NethelpersPrimaryReselect
	79,  // 17: talos.resource.definitions.network.BondMasterSpec.fail_over_mac:type_name -> talos.resource.definitions.enums.NethelpersFailOverMAC
	80,  // 18: talos.resource.definitions.network.BondMasterSpec.ad_select:type_name -> talos.resource.definitions.enums.NethelpersADSelect
	72,  // 19: talos.resource.definitions.network.BondMasterSpec.arpip_targets:type_name -> common.NetIP
	72,  // 20: talos.resource.definitions.network.BondMasterSpec.nsip6_targets:type_name -> common.NetIP
	81,  // 21: talos.resource.definitions.network.BondMasterSpec.adlacp_active:type_name -> talos.resource.definitions.enums.NethelpersADLACPActive
	53,  // 22: talos.resource.definitions.network.BridgeMasterSpec.stp:type_name -> talos.resource.definitions.network.STPSpec
	6,   // 23: talos.resource.definitions.network.BridgeMasterSpec.vlan:type_name -> talos.resource.definitions.network.BridgeVLANSpec
	82,  // 24: talos.resource.definitions.network.ClientIdentifierSpec.client_identifier:type_name -> talos.resource.definitions.enums.NethelpersClientIdentifier
	7,   // 25: talos.resource.definitions.network.DHCP4OperatorSpec.client_identifier:type_name -> talos.resource.definitions.network.ClientIdentifierSpec
	7,   // 26: talos.resource.definitions.network.DHCP6OperatorSpec.client_identifier:type_name -> talos.resource.definitions.network.ClientIdentifierSpec
	14,  // 27: talos.resource.definitions.network.EthernetSpecSpec.rings:type_name -> talos.resource.definitions.network.EthernetRingsSpec
	67,  // 28: talos.resource.definitions.network.EthernetSpecSpec.features:type_name -> talos.resource.definitions.network.EthernetSpecSpec.FeaturesEntry
	11,  // 29: talos.resource.definitions.network.EthernetSpecSpec.channels:type_name -> talos.resource.definitions.network.EthernetChannelsSpec
	83,  // 30: talos.resource.definitions.network.EthernetSpecSpec.wake_on_lan:type_name -> talos.resource.definitions.enums.NethelpersWOLMode
	84,  // 31: talos.resource.definitions.network.EthernetStatusSpec.port:type_name -> talos.resource.definitions.enums.NethelpersPort
	85,  // 32: talos.resource.definitions.network.EthernetStatusSpec.duplex:type_name -> talos.resource.definitions.enums.NethelpersDuplex
	15,  // 33: talos.resource.definitions.network.EthernetStatusSpec.rings:type_name -> talos.resource.definitions.network.EthernetRingsStatus
	13,  // 34: talos.resource.definitions.network.EthernetStatusSpec.features:type_name -> talos.resource.definitions.network.EthernetFeatureStatus
	12,  // 35: talos.resource.definitions.network.EthernetStatusSpec.channels:type_name -> talos.resource.definitions.network.EthernetChannelsStatus
	83,  // 36: talos.resource.definitions.network.EthernetStatusSpec.wake_on_lan:type_name -> talos.resource.definitions.enums.NethelpersWOLMode
	86,  // 37: talos.resource.definitions.network.HTTPProbeSpec.url:type_name -> common.URL
	87,  // 38: talos.resource.definitions.network.HTTPProbeSpec.timeout:type_name -> google.protobuf.Duration
	88,  // 39: talos.resource.definitions.network.HostDNSConfigSpec.listen_addresses:type_name -> common.NetIPPort
	72,  // 40: talos.resource.definitions.network.HostDNSConfigSpec.service_host_dns_address:type_name -> common.NetIP
	72,  // 41: talos.resource.definitions.network.HostDNSConfigSpec.service_host_dns_address_v6:type_name -> common.NetIP
	71,  // 42: talos.resource.definitions.network.HostnameSpecSpec.config_layer:type_name -> talos.resource.definitions.enums.NetworkConfigLayer
	89,  // 43: talos.resource.definitions.network.LinkSpecSpec.type:type_name -> talos.resource.definitions.enums.NethelpersLinkType
	3,   // 44: talos.resource.definitions.network.LinkSpecSpec.bond_slave:type_name -> talos.resource.definitions.network.BondSlave
	5,   // 45: talos.resource.definitions.network.LinkSpecSpec.bridge_slave:type_name -> talos.resource.definitions.network.BridgeSlave
	62,  // 46: talos.resource.definitions.network.LinkSpecSpec.vlan:type_name -> talos.resource.definitions.network.VLANSpec
	2,   // 47: talos.resource.definitions.network.LinkSpecSpec.bond_master:type_name -> talos.resource.definitions.network.BondMasterSpec
	4,   // 48: talos.resource.definitions.network.LinkSpecSpec.bridge_master:type_name -> talos.resource.definitions.network.BridgeMasterSpec
	66,  // 49: talos.resource.definitions.network.LinkSpecSpec.wireguard:type_name -> talos.resource.definitions.network.WireguardSpec
	71,  // 50: talos.resource.definitions.network.LinkSpecSpec.config_layer:type_name -> talos.resource.definitions.enums.NetworkConfigLayer
	63,  // 51: talos.resource.definitions.network.LinkSpecSpec.vrf_master:type_name -> talos.resource.definitions.network.VRFMasterSpec
	64,  // 52: talos.resource.definitions.network.LinkSpecSpec.vrf_slave:type_name -> talos.resource.definitions.network.VRFSlave
	89,  // 53: talos.resource.definitions.network.LinkStatusSpec.type:type_name -> talos.resource.definitions.enums.NethelpersLinkType
	90,  // 54: talos.resource.definitions.network.LinkStatusSpec.operational_state:type_name -> talos.resource.definitions.enums.NethelpersOperationalState
	84,  // 55: talos.resource.definitions.network.LinkStatusSpec.port:type_name -> talos.resource.definitions.enums.NethelpersPort
	85,  // 56: talos.resource.definitions.network.LinkStatusSpec.duplex:type_name -> talos.resource.definitions.enums.NethelpersDuplex
	62,  // 57: talos.resource.definitions.network.LinkStatusSpec.vlan:type_name -> talos.resource.definitions.network.VLANSpec
	4,   // 58: talos.resource.definitions.network.LinkStatusSpec.bridge_master:type_name -> talos.resource.definitions.network.BridgeMasterSpec
	2,   // 59: talos.resource.definitions.network.LinkStatusSpec.bond_master:type_name -> talos.resource.definitions.network.BondMasterSpec
	66,  // 60: talos.resource.definitions.network.LinkStatusSpec.wireguard:type_name -> talos.resource.definitions.network.WireguardSpec
	63,  // 61: talos.resource.definitions.network.LinkStatusSpec.vrf_master:type_name -> talos.resource.definitions.network.VRFMasterSpec
	72,  // 62: talos.resource.definitions.network.NameServerSpec.addr:type_name -> common.NetIP
	91,  // 63: talos.resource.definitions.network.NameServerSpec.protocol:type_name -> talos.resource.definitions.enums.NethelpersDNSProtocol
	68,  // 64: talos.resource.definitions.network.NfTablesAddressMatch.include_subnets:type_name -> common.NetIPPrefix
	68,  // 65: talos.resource.definitions.network.NfTablesAddressMatch.exclude_subnets:type_name -> common.NetIPPrefix
	92,  // 66: talos.resource.definitions.network.NfTablesChainSpec.hook:type_name -> talos.resource.definitions.enums.NethelpersNfTablesChainHook
	93,  // 67: talos.resource.definitions.network.NfTablesChainSpec.priority:type_name -> talos.resource.definitions.enums.NethelpersNfTablesChainPriority
	38,  // 68: talos.resource.definitions.network.NfTablesChainSpec.rules:type_name -> talos.resource.definitions.network.NfTablesRule
	94,  // 69: talos.resource.definitions.network.NfTablesChainSpec.policy:type_name -> talos.resource.definitions.enums.NethelpersNfTablesVerdict
	95,  // 70: talos.resource.definitions.network.NfTablesConntrackStateMatch.states:type_name -> talos.resource.definitions.enums.NethelpersConntrackState
	96,  // 71: talos.resource.definitions.network.NfTablesICMPTypeMatch.types:type_name -> talos.resource.definitions.enums.NethelpersICMPType
	97,  // 72: talos.resource.definitions.network.NfTablesIfNameMatch.operator:type_name -> talos.resource.definitions.enums.NethelpersMatchOperator
	98,  // 73: talos.resource.definitions.network.NfTablesLayer4Match.protocol:type_name -> talos.resource.definitions.enums.NethelpersProtocol
	37,  // 74: talos.resource.definitions.network.NfTablesLayer4Match.match_source_port:type_name -> talos.resource.definitions.network.NfTablesPortMatch
	37,  // 75: talos.resource.definitions.network.NfTablesLayer4Match.match_destination_port:type_name -> talos.resource.definitions.network.NfTablesPortMatch
	32,  // 76: talos.resource.definitions.network.NfTablesLayer4Match.match_icmp_type:type_name -> talos.resource.definitions.network.NfTablesICMPTypeMatch
	44,  // 77: talos.resource.definitions.network.NfTablesPortMatch.ranges:type_name -> talos.resource.definitions.network.PortRange
	33,  // 78: talos.resource.definitions.network.NfTablesRule.match_o_if_name:type_name -> talos.resource.definitions.network.NfTablesIfNameMatch
	94,  // 79: talos.resource.definitions.network.NfTablesRule.verdict:type_name -> talos.resource.definitions.enums.NethelpersNfTablesVerdict
	36,  // 80: talos.resource.definitions.network.NfTablesRule.match_mark:type_name -> talos.resource.definitions.network.NfTablesMark
	36,  // 81: talos.resource.definitions.network.NfTablesRule.set_mark:type_name -> talos.resource.definitions.network.NfTablesMark
	28,  // 82: talos.resource.definitions.network.NfTablesRule.match_source_address:type_name -> talos.resource.definitions.network.NfTablesAddressMatch
	28,  // 83: talos.resource.definitions.network.NfTablesRule.match_destination_address:type_name -> talos.resource.definitions.network.NfTablesAddressMatch
	34,  // 84: talos.resource.definitions.network.NfTablesRule.match_layer4:type_name -> talos.resource.definitions.network.NfTablesLayer4Match
	33,  // 85: talos.resource.definitions.network.NfTablesRule.match_i_if_name:type_name -> talos.resource.definitions.network.NfTablesIfNameMatch
	30,  // 86: talos.resource.definitions.network.NfTablesRule.clamp_mss:type_name -> talos.resource.definitions.network.NfTablesClampMSS
	35,  // 87: talos.resource.definitions.network.NfTablesRule.match_limit:type_name -> talos.resource.definitions.network.NfTablesLimitMatch
	31,  // 88: talos.resource.definitions.network.NfTablesRule.match_conntrack_state:type_name -> talos.resource.definitions.network.NfTablesConntrackStateMatch
	68,  // 89: talos.resource.definitions.network.NodeAddressFilterSpec.include_subnets:type_name -> common.NetIPPrefix
	68,  // 90: talos.resource.definitions.network.NodeAddressFilterSpec.exclude_subnets:type_name -> common.NetIPPrefix
	99,  // 91: talos.resource.definitions.network.NodeAddressSortAlgorithmSpec.algorithm:type_name -> talos.resource.definitions.enums.NethelpersAddressSortAlgorithm
	68,  // 92: talos.resource.definitions.network.NodeAddressSpec.addresses:type_name -> common.NetIPPrefix
	99,  // 93: talos.resource.definitions.network.NodeAddressSpec.sort_algorithm:type_name -> talos.resource.definitions.enums.NethelpersAddressSortAlgorithm
	100, // 94: talos.resource.definitions.network.OperatorSpecSpec.operator:type_name -> talos.resource.definitions.enums.NetworkOperator
	8,   // 95: talos.resource.definitions.network.OperatorSpecSpec.dhcp4:type_name -> talos.resource.definitions.network.DHCP4OperatorSpec
	9,   // 96: talos.resource.definitions.network.OperatorSpecSpec.dhcp6:type_name -> talos.resource.definitions.network.DHCP6OperatorSpec
	61,  // 97: talos.resource.definitions.network.OperatorSpecSpec.vip:type_name -> talos.resource.definitions.network.VIPOperatorSpec
	71,  // 98: talos.resource.definitions.network.OperatorSpecSpec.config_layer:type_name -> talos.resource.definitions.enums.NetworkConfigLayer
	0,   // 99: talos.resource.definitions.network.PlatformConfigSpec.addresses:type_name -> talos.resource.definitions.network.AddressSpecSpec
	25,  // 100: talos.resource.definitions.network.PlatformConfigSpec.links:type_name -> talos.resource.definitions.network.LinkSpecSpec
	49,  // 101: talos.resource.definitions.network.PlatformConfigSpec.routes:type_name -> talos.resource.definitions.network.RouteSpecSpec
	21,  // 102: talos.resource.definitions.network.PlatformConfigSpec.hostnames:type_name -> talos.resource.definitions.network.HostnameSpecSpec
	47,  // 103: talos.resource.definitions.network.PlatformConfigSpec.resolvers:type_name -> talos.resource.definitions.network.ResolverSpecSpec
	57,  // 104: talos.resource.definitions.network.PlatformConfigSpec.time_servers:type_name -> talos.resource.definitions.network.TimeServerSpecSpec
	42,  // 105: talos.resource.definitions.network.PlatformConfigSpec.operators:type_name -> talos.resource.definitions.network.OperatorSpecSpec
	72,  // 106: talos.resource.definitions.network.PlatformConfigSpec.external_ips:type_name -> common.NetIP
	45,  // 107: talos.resource.definitions.network.PlatformConfigSpec.probes:type_name -> talos.resource.definitions.network.ProbeSpecSpec
	101, // 108: talos.resource.definitions.network.PlatformConfigSpec.metadata:type_name -> talos.resource.definitions.runtime.PlatformMetadataSpec
	87,  // 109: talos.resource.definitions.network.ProbeSpecSpec.interval:type_name -> google.protobuf.Duration
	56,  // 110: talos.resource.definitions.network.ProbeSpecSpec.tcp:type_name -> talos.resource.definitions.network.TCPProbeSpec
	71,  // 111: talos.resource.definitions.network.ProbeSpecSpec.config_layer:type_name -> talos.resource.definitions.enums.NetworkConfigLayer
	18,  // 112: talos.resource.definitions.network.ProbeSpecSpec.http:type_name -> talos.resource.definitions.network.HTTPProbeSpec
	72,  // 113: talos.resource.definitions.network.ResolverSpecSpec.dns_servers:type_name -> common.NetIP
	71,  // 114: talos.resource.definitions.network.ResolverSpecSpec.config_layer:type_name -> talos.resource.definitions.enums.NetworkConfigLayer
	27,  // 115: talos.resource.definitions.network.ResolverSpecSpec.name_servers:type_name -> talos.resource.definitions.network.NameServerSpec
	72,  // 116: talos.resource.definitions.network.ResolverStatusSpec.dns_servers:type_name -> common.NetIP
	27,  // 117: talos.resource.definitions.network.ResolverStatusSpec.name_servers:type_name -> talos.resource.definitions.network.NameServerSpec
	69,  // 118: talos.resource.definitions.network.RouteSpecSpec.family:type_name -> talos.resource.definitions.enums.NethelpersFamily
	68,  // 119: talos.resource.definitions.network.RouteSpecSpec.destination:type_name -> common.NetIPPrefix
	72,  // 120: talos.resource.definitions.network.RouteSpecSpec.source:type_name -> common.NetIP
	72,  // 121: talos.resource.definitions.network.RouteSpecSpec.gateway:type_name -> common.NetIP
	102, // 122: talos.resource.definitions.network.RouteSpecSpec.table:type_name -> talos.resource.definitions.enums.NethelpersRoutingTable
	70,  // 123: talos.resource.definitions.network.RouteSpecSpec.scope:type_name -> talos.resource.definitions.enums.NethelpersScope
	103, // 124: talos.resource.definitions.network.RouteSpecSpec.type:type_name -> talos.resource.definitions.enums.NethelpersRouteType
	104, // 125: talos.resource.definitions.network.RouteSpecSpec.protocol:type_name -> talos.resource.definitions.enums.NethelpersRouteProtocol
	71,  // 126: talos.resource.definitions.network.RouteSpecSpec.config_layer:type_name -> talos.resource.definitions.enums.NetworkConfigLayer
	69,  // 127: talos.resource.definitions.network.RouteStatusSpec.family:type_name -> talos.resource.definitions.enums.NethelpersFamily
	68,  // 128: talos.resource.definitions.network.RouteStatusSpec.destination:type_name -> common.NetIPPrefix
	72,  // 129: talos.resource.definitions.network.RouteStatusSpec.source:type_name -> common.NetIP
	72,  // 130: talos.resource.definitions.network.RouteStatusSpec.gateway:type_name -> common.NetIP
	102, // 131: talos.resource.definitions.network.RouteStatusSpec.table:type_name -> talos.resource.definitions.enums.NethelpersRoutingTable
	70,  // 132: talos.resource.definitions.network.RouteStatusSpec.scope:type_name -> talos.resource.definitions.enums.NethelpersScope
	103, // 133: talos.resource.definitions.network.RouteStatusSpec.type:type_name -> talos.resource.definitions.enums.NethelpersRouteType
	104, // 134: talos.resource.definitions.network.RouteStatusSpec.protocol:type_name -> talos.resource.definitions.enums.NethelpersRouteProtocol
	69,  // 135: talos.resource.definitions.network.RoutingRuleSpecSpec.family:type_name -> talos.resource.definitions.enums.NethelpersFamily
	68,  // 136: talos.resource.definitions.network.RoutingRuleSpecSpec.src:type_name -> common.NetIPPrefix
	68,  // 137: talos.resource.definitions.network.RoutingRuleSpecSpec.dst:type_name -> common.NetIPPrefix
	102, // 138: talos.resource.definitions.network.RoutingRuleSpecSpec.table:type_name -> talos.resource.definitions.enums.NethelpersRoutingTable
	105, // 139: talos.resource.definitions.network.RoutingRuleSpecSpec.action:type_name -> talos.resource.definitions.enums.NethelpersRoutingRuleAction
	71,  // 140: talos.resource.definitions.network.RoutingRuleSpecSpec.config_layer:type_name -> talos.resource.definitions.enums.NetworkConfigLayer
	69,  // 141: talos.resource.definitions.network.RoutingRuleStatusSpec.family:type_name -> talos.resource.definitions.enums.NethelpersFamily
	68,  // 142: talos.resource.definitions.network.RoutingRuleStatusSpec.src:type_name -> common.NetIPPrefix
	68,  // 143: talos.resource.definitions.network.RoutingRuleStatusSpec.dst:type_name -> common.NetIPPrefix
	102, // 144: talos.resource.definitions.network.RoutingRuleStatusSpec.table:type_name -> talos.resource.definitions.enums.NethelpersRoutingTable
	105, // 145: talos.resource.definitions.network.RoutingRuleStatusSpec.action:type_name -> talos.resource.definitions.enums.NethelpersRoutingRuleAction
	72,  // 146: talos.resource.definitions.network.StaticHostSpec.addresses:type_name -> common.NetIP
	87,  // 147: talos.resource.definitions.network.TCPProbeSpec.timeout:type_name -> google.protobuf.Duration
	71,  // 148: talos.resource.definitions.network.TimeServerSpecSpec.config_layer:type_name -> talos.resource.definitions.enums.NetworkConfigLayer
	72,  // 149: talos.resource.definitions.network.VIPOperatorSpec.ip:type_name -> common.NetIP
	59,  // 150: talos.resource.definitions.network.VIPOperatorSpec.equinix_metal:type_name -> talos.resource.definitions.network.VIPEquinixMetalSpec
	60,  // 151: talos.resource.definitions.network.VIPOperatorSpec.h_cloud:type_name -> talos.resource.definitions.network.VIPHCloudSpec
	106, // 152: talos.resource.definitions.network.VLANSpec.protocol:type_name -> talos.resource.definitions.enums.NethelpersVLANProtocol
	102, // 153: talos.resource.definitions.network.VRFMasterSpec.table:type_name -> talos.resource.definitions.enums.NethelpersRoutingTable
	87,  // 154: talos.resource.definitions.network.WireguardPeer.persistent_keepalive_interval:type_name -> google.protobuf.Duration
	68,  // 155: talos.resource.definitions.network.WireguardPeer.allowed_ips:type_name -> common.NetIPPrefix
	65,  // 156: talos.resource.definitions.network.WireguardSpec.peers:type_name -> talos.resource.definitions.network.WireguardPeer
	157, // [157:157] is the sub-list for method output_type
	157, // [157:157] is the sub-list for method input_type
	157, // [157:157] is the sub-list for extension type_name
	157, // [157:157] is the sub-list for extension extendee
	0,   // [0:157] is the sub-list for field type_name
}

func init() { file_resource_definitions_network_network_proto_init() }
func file_resource_definitions_network_network_proto_init() {
	if File_resource_definitions_network_network_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_resource_definitions_network_network_proto_rawDesc), len(file_resource_definitions_network_network_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   68,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_resource_definitions_network_network_proto_goTypes,
		DependencyIndexes: file_resource_definitions_network_network_proto_depIdxs,
		MessageInfos:      file_resource_definitions_network_network_proto_msgTypes,
	}.Build()
	File_resource_definitions_network_network_proto = out.File
	file_resource_definitions_network_network_proto_goTypes = nil
	file_resource_definitions_network_network_proto_depIdxs = nil
}
