v1alpha1

package
v1.6.16 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 15, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the acn v1alpha1 API group +kubebuilder:object:generate=true +groupName=multitenancy.acn.azure.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "multitenancy.acn.azure.com", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type DeviceInfo added in v1.5.31

type DeviceInfo struct {
	DeviceType DeviceType `json:"deviceType,omitempty"`
	MacAddress string     `json:"macAddress"`
}

func (*DeviceInfo) DeepCopy added in v1.5.31

func (in *DeviceInfo) DeepCopy() *DeviceInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceInfo.

func (*DeviceInfo) DeepCopyInto added in v1.5.31

func (in *DeviceInfo) DeepCopyInto(out *DeviceInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DeviceType added in v1.5.29

type DeviceType string

+kubebuilder:validation:Enum=acn.azure.com/vnet-nic;acn.azure.com/infiniband-nic

const (
	DeviceTypeVnetNIC       DeviceType = "acn.azure.com/vnet-nic"
	DeviceTypeInfiniBandNIC DeviceType = "acn.azure.com/infiniband-nic"
)

type InterfaceInfo added in v1.5.29

type InterfaceInfo struct {
	// NCID is the network container id
	NCID string `json:"ncID,omitempty"`
	// PrimaryIP is the ip allocated to the network container
	// +kubebuilder:validation:Optional
	PrimaryIP string `json:"primaryIP,omitempty"`
	// MacAddress is the MAC Address of the VM's NIC which this network container was created for
	MacAddress string `json:"macAddress,omitempty"`
	// GatewayIP is the gateway ip of the injected subnet
	// +kubebuilder:validation:Optional
	GatewayIP string `json:"gatewayIP,omitempty"`
	// SubnetAddressSpace is the subnet address space of the injected subnet
	// +kubebuilder:validation:Optional
	SubnetAddressSpace string `json:"subnetAddressSpace,omitempty"`
	// DeviceType is the device type that this NC was created for
	DeviceType DeviceType `json:"deviceType,omitempty"`
	// AccelnetEnabled determines if the CNI will provision the NIC with accelerated networking enabled
	// +kubebuilder:validation:Optional
	AccelnetEnabled bool `json:"accelnetEnabled,omitempty"`
}

func (*InterfaceInfo) DeepCopy added in v1.5.29

func (in *InterfaceInfo) DeepCopy() *InterfaceInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceInfo.

func (*InterfaceInfo) DeepCopyInto added in v1.5.29

func (in *InterfaceInfo) DeepCopyInto(out *InterfaceInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MultitenantPodNetworkConfig

type MultitenantPodNetworkConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   MultitenantPodNetworkConfigSpec   `json:"spec,omitempty"`
	Status MultitenantPodNetworkConfigStatus `json:"status,omitempty"`
}

MultitenantPodNetworkConfig is the Schema for the multitenantpodnetworkconfigs API +kubebuilder:resource:shortName=mtpnc,scope=Namespaced +kubebuilder:subresource:status +kubebuilder:metadata:labels=managed= +kubebuilder:metadata:labels=owner= +kubebuilder:printcolumn:name="PodNetworkInstance",type=string,JSONPath=`.spec.podNetworkInstance` +kubebuilder:printcolumn:name="PodNetwork",type=string,JSONPath=`.spec.podNetwork` +kubebuilder:printcolumn:name="PodName",type=string,JSONPath=`.spec.podName`

func (*MultitenantPodNetworkConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultitenantPodNetworkConfig.

func (*MultitenantPodNetworkConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MultitenantPodNetworkConfig) DeepCopyObject

func (in *MultitenantPodNetworkConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*MultitenantPodNetworkConfig) IsReady added in v1.5.30

func (m *MultitenantPodNetworkConfig) IsReady() bool

IsReady checks if all the required fields in the MTPNC status are populated

type MultitenantPodNetworkConfigList

type MultitenantPodNetworkConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []MultitenantPodNetworkConfig `json:"items"`
}

MultitenantPodNetworkConfigList contains a list of PodNetworkConfig

func (*MultitenantPodNetworkConfigList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultitenantPodNetworkConfigList.

func (*MultitenantPodNetworkConfigList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MultitenantPodNetworkConfigList) DeepCopyObject

func (in *MultitenantPodNetworkConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MultitenantPodNetworkConfigSpec

type MultitenantPodNetworkConfigSpec struct {
	// name of PNI object from requesting cx pod
	// +kubebuilder:validation:Optional
	PodNetworkInstance string `json:"podNetworkInstance,omitempty"`
	// name of PN object from requesting cx pod
	PodNetwork string `json:"podNetwork"`
	// name of the requesting cx pod
	PodName string `json:"podName,omitempty"`
}

MultitenantPodNetworkConfigSpec defines the desired state of PodNetworkConfig

func (*MultitenantPodNetworkConfigSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultitenantPodNetworkConfigSpec.

func (*MultitenantPodNetworkConfigSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MultitenantPodNetworkConfigStatus

type MultitenantPodNetworkConfigStatus struct {
	// Deprecated - use InterfaceInfos
	// +kubebuilder:validation:Optional
	NCID string `json:"ncID,omitempty"`
	// Deprecated - use InterfaceInfos
	// +kubebuilder:validation:Optional
	PrimaryIP string `json:"primaryIP,omitempty"`
	// Deprecated - use InterfaceInfos
	// +kubebuilder:validation:Optional
	MacAddress string `json:"macAddress,omitempty"`
	// Deprecated - use InterfaceInfos
	// +kubebuilder:validation:Optional
	GatewayIP string `json:"gatewayIP,omitempty"`
	// InterfaceInfos describes all of the network container goal state for this Pod
	// +kubebuilder:validation:Optional
	InterfaceInfos []InterfaceInfo `json:"interfaceInfos,omitempty"`
}

MultitenantPodNetworkConfigStatus defines the observed state of PodNetworkConfig

func (*MultitenantPodNetworkConfigStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultitenantPodNetworkConfigStatus.

func (*MultitenantPodNetworkConfigStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeInfo

type NodeInfo struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NodeInfoSpec   `json:"spec,omitempty"`
	Status NodeInfoStatus `json:"status,omitempty"`
}

NodeInfo is the Schema for the NodeInfo API +kubebuilder:subresource:status +kubebuilder:resource:shortName=ni,scope=Cluster,path=nodeinfo +kubebuilder:printcolumn:name="VMUniqueID",type=string,priority=0,JSONPath=`.spec.vmUniqueID`

func (*NodeInfo) DeepCopy

func (in *NodeInfo) DeepCopy() *NodeInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeInfo.

func (*NodeInfo) DeepCopyInto

func (in *NodeInfo) DeepCopyInto(out *NodeInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeInfo) DeepCopyObject

func (in *NodeInfo) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NodeInfoList

type NodeInfoList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NodeInfo `json:"items"`
}

NodeInfoList contains a list of NodeInfo

func (*NodeInfoList) DeepCopy

func (in *NodeInfoList) DeepCopy() *NodeInfoList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeInfoList.

func (*NodeInfoList) DeepCopyInto

func (in *NodeInfoList) DeepCopyInto(out *NodeInfoList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeInfoList) DeepCopyObject

func (in *NodeInfoList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NodeInfoSpec

type NodeInfoSpec struct {
	// +kubebuilder:validation:Optional
	VMUniqueID string `json:"vmUniqueID,omitempty"`
}

NodeInfoSpec defines the desired state of NodeInfo

func (*NodeInfoSpec) DeepCopy

func (in *NodeInfoSpec) DeepCopy() *NodeInfoSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeInfoSpec.

func (*NodeInfoSpec) DeepCopyInto

func (in *NodeInfoSpec) DeepCopyInto(out *NodeInfoSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeInfoStatus added in v1.5.31

type NodeInfoStatus struct {
	// +kubebuilder:validation:Optional
	DeviceInfos []DeviceInfo `json:"deviceInfos,omitempty"`
}

NodeInfoStatus defines the observed state of NodeInfo

func (*NodeInfoStatus) DeepCopy added in v1.5.31

func (in *NodeInfoStatus) DeepCopy() *NodeInfoStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeInfoStatus.

func (*NodeInfoStatus) DeepCopyInto added in v1.5.31

func (in *NodeInfoStatus) DeepCopyInto(out *NodeInfoStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PNIStatus added in v1.5.22

type PNIStatus string

PNIStatus indicates the status of PNI +kubebuilder:validation:Enum=Ready;CreateReservationSetError;PodNetworkNotReady;InsufficientIPAddressesOnSubnet

const (
	PNIStatusReady                           PNIStatus = "Ready"
	PNIStatusCreateReservationSetError       PNIStatus = "CreateReservationSetError"
	PNIStatusPodNetworkNotReady              PNIStatus = "PodNetworkNotReady"
	PNIStatusInsufficientIPAddressesOnSubnet PNIStatus = "InsufficientIPAddressesOnSubnet"
)

type PodNetwork

type PodNetwork struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   PodNetworkSpec   `json:"spec,omitempty"`
	Status PodNetworkStatus `json:"status,omitempty"`
}

PodNetwork is the Schema for the PodNetworks API +kubebuilder:resource:shortName=pn,scope=Cluster +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type=string,priority=1,JSONPath=`.status.status` +kubebuilder:printcolumn:name="Address Prefixes",type=string,priority=1,JSONPath=`.status.addressPrefixes` +kubebuilder:printcolumn:name="Network",type=string,priority=1,JSONPath=`.spec.networkID` +kubebuilder:printcolumn:name="Subnet",type=string,priority=1,JSONPath=`.spec.subnetResourceID` +kubebuilder:printcolumn:name="SubnetGUID",type=string,priority=1,JSONPath=`.spec.subnetGUID` +kubebuilder:printcolumn:name="DeviceType",type=string,priority=1,JSONPath=`.spec.subnetGUID`

func (*PodNetwork) DeepCopy

func (in *PodNetwork) DeepCopy() *PodNetwork

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodNetwork.

func (*PodNetwork) DeepCopyInto

func (in *PodNetwork) DeepCopyInto(out *PodNetwork)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PodNetwork) DeepCopyObject

func (in *PodNetwork) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PodNetworkConfig added in v1.5.29

type PodNetworkConfig struct {
	// PodNetwork is the name of a PodNetwork resource
	PodNetwork string `json:"podNetwork"`
	// PodIPReservationSize is the number of IP address to statically reserve
	// +kubebuilder:default=0
	PodIPReservationSize int `json:"podIPReservationSize,omitempty"`
}

PodNetworkConfig describes a template for how to attach a PodNetwork to a Pod

func (*PodNetworkConfig) DeepCopy added in v1.5.29

func (in *PodNetworkConfig) DeepCopy() *PodNetworkConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodNetworkConfig.

func (*PodNetworkConfig) DeepCopyInto added in v1.5.29

func (in *PodNetworkConfig) DeepCopyInto(out *PodNetworkConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodNetworkInstance

type PodNetworkInstance struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   PodNetworkInstanceSpec   `json:"spec,omitempty"`
	Status PodNetworkInstanceStatus `json:"status,omitempty"`
}

PodNetworkInstance is the Schema for the PodNetworkInstances API +kubebuilder:resource:shortName=pni,scope=Namespaced +kubebuilder:subresource:status +kubebuilder:metadata:labels=managed= +kubebuilder:metadata:labels=owner= +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.status` +kubebuilder:printcolumn:name="PodNetworks",priority=1,type=string,JSONPath=`.spec.podNetworks`

func (*PodNetworkInstance) DeepCopy

func (in *PodNetworkInstance) DeepCopy() *PodNetworkInstance

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodNetworkInstance.

func (*PodNetworkInstance) DeepCopyInto

func (in *PodNetworkInstance) DeepCopyInto(out *PodNetworkInstance)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PodNetworkInstance) DeepCopyObject

func (in *PodNetworkInstance) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PodNetworkInstanceList

type PodNetworkInstanceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []PodNetworkInstance `json:"items"`
}

PodNetworkInstanceList contains a list of PodNetworkInstance

func (*PodNetworkInstanceList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodNetworkInstanceList.

func (*PodNetworkInstanceList) DeepCopyInto

func (in *PodNetworkInstanceList) DeepCopyInto(out *PodNetworkInstanceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PodNetworkInstanceList) DeepCopyObject

func (in *PodNetworkInstanceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PodNetworkInstanceSpec

type PodNetworkInstanceSpec struct {
	// Deprecated - use PodNetworks
	// +kubebuilder:validation:Optional
	PodNetwork string `json:"podnetwork,omitempty"`
	// Deprecated - use PodNetworks
	// +kubebuilder:default=0
	PodIPReservationSize int `json:"podIPReservationSize,omitempty"`
	// PodNetworkConfigs describes each PodNetwork to attach to a single Pod
	// optional for now in case orchestrator uses the deprecated fields
	// +kubebuilder:validation:Optional
	PodNetworkConfigs []PodNetworkConfig `json:"podNetworkConfigs"`
}

PodNetworkInstanceSpec defines the desired state of PodNetworkInstance

func (*PodNetworkInstanceSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodNetworkInstanceSpec.

func (*PodNetworkInstanceSpec) DeepCopyInto

func (in *PodNetworkInstanceSpec) DeepCopyInto(out *PodNetworkInstanceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodNetworkInstanceStatus

type PodNetworkInstanceStatus struct {
	// +kubebuilder:validation:Optional
	PodIPAddresses     []string             `json:"podIPAddresses,omitempty"`
	Status             PNIStatus            `json:"status,omitempty"`
	PodNetworkStatuses map[string]PNIStatus `json:"podNetworkStatuses,omitempty"`
}

PodNetworkInstanceStatus defines the observed state of PodNetworkInstance

func (*PodNetworkInstanceStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodNetworkInstanceStatus.

func (*PodNetworkInstanceStatus) DeepCopyInto

func (in *PodNetworkInstanceStatus) DeepCopyInto(out *PodNetworkInstanceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodNetworkList

type PodNetworkList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []PodNetwork `json:"items"`
}

PodNetworkList contains a list of PodNetwork

func (*PodNetworkList) DeepCopy

func (in *PodNetworkList) DeepCopy() *PodNetworkList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodNetworkList.

func (*PodNetworkList) DeepCopyInto

func (in *PodNetworkList) DeepCopyInto(out *PodNetworkList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PodNetworkList) DeepCopyObject

func (in *PodNetworkList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PodNetworkSpec

type PodNetworkSpec struct {
	// NetworkID is the identifier for the network, e.g. vnet guid or IB network ID
	// +kubebuilder:validation:Optional
	NetworkID string `json:"networkID,omitempty"`
	// DeviceType is the device type that is required by this network
	// +kubebuilder:validation:Optional
	DeviceType DeviceType `json:"deviceType,omitempty"`
	// customer subnet id
	// +kubebuilder:validation:Optional
	SubnetResourceID string `json:"subnetResourceID,omitempty"`
	// customer subnet guid
	// +kubebuilder:validation:Optional
	SubnetGUID string `json:"subnetGUID,omitempty"`
	// Deprecated - Use NetworkID
	// +kubebuilder:validation:Optional
	VnetGUID string `json:"vnetGUID,omitempty"`
}

PodNetworkSpec defines the desired state of PodNetwork

func (*PodNetworkSpec) DeepCopy

func (in *PodNetworkSpec) DeepCopy() *PodNetworkSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodNetworkSpec.

func (*PodNetworkSpec) DeepCopyInto

func (in *PodNetworkSpec) DeepCopyInto(out *PodNetworkSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodNetworkStatus

type PodNetworkStatus struct {
	// +kubebuilder:validation:Optional
	Status          Status   `json:"status,omitempty"`
	AddressPrefixes []string `json:"addressPrefixes,omitempty"`
}

PodNetworkStatus defines the observed state of PodNetwork

func (*PodNetworkStatus) DeepCopy

func (in *PodNetworkStatus) DeepCopy() *PodNetworkStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodNetworkStatus.

func (*PodNetworkStatus) DeepCopyInto

func (in *PodNetworkStatus) DeepCopyInto(out *PodNetworkStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Status

type Status string

Status indicates the status of PN +kubebuilder:validation:Enum=Ready;InUse;SubnetNotDelegated;SubnetDelegatedToDifferentService

const (
	Ready                             Status = "Ready"
	InUse                             Status = "InUse"
	SubnetNotDelegated                Status = "SubnetNotDelegated"
	SubnetDelegatedToDifferentService Status = "SubnetDelegatedToDifferentService"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL