types

package
v1.20.0 Latest Latest
Warning

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

Go to latest
Published: Jul 29, 2026 License: Apache-2.0 Imports: 2 Imported by: 7

Documentation

Overview

+groupName=azure

Index

Constants

View Source
const (
	// ProviderPrefix is the prefix used to indicate that a k8s ProviderID
	// represents an Azure resource
	ProviderPrefix = "azure://"

	// InterfaceAddressLimit is the maximum number of addresses on an interface
	//
	//
	// For more information:
	// https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits?toc=%2fazure%2fvirtual-network%2ftoc.json#networking-limits
	InterfaceAddressLimit = 256

	// StateSucceeded is the address state for a successfully provisioned address
	StateSucceeded = "succeeded"
)

Variables

This section is empty.

Functions

func RegisterResourceIDParser added in v1.20.0

func RegisterResourceIDParser(fn func(id string) (resourceGroup, vmssName, vmID string))

RegisterResourceIDParser installs the function used to parse Azure network interface resource IDs into resource group, VMSS, and VM ID components.

This indirection exists so that the Azure SDK (which provides the actual parser implementation) is only linked into binaries that import pkg/azure/types/azureid, keeping it out of non-Azure builds without requiring build tags.

Types

type AzureAddress

type AzureAddress struct {
	// IP is the ip address of the address
	//
	// +optional
	IP iputil.Addr `json:"ip,omitzero"`

	// Subnet is the subnet the address belongs to.
	//
	// Deprecated: use AzureInterface.Subnet.ID. Populated as a mirror for one
	// release so external consumers of CiliumNode.Status.Azure can migrate.
	// TODO(https://github.com/cilium/cilium/issues/46074): remove once the migration window closes.
	Subnet string `json:"subnet,omitempty"`

	// State is the provisioning state of the address
	State string `json:"state,omitempty"`
}

AzureAddress is an IP address assigned to an AzureInterface

func (*AzureAddress) DeepCopy added in v1.20.0

func (in *AzureAddress) DeepCopy() *AzureAddress

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

func (*AzureAddress) DeepCopyInto added in v1.20.0

func (in *AzureAddress) DeepCopyInto(out *AzureAddress)

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

func (*AzureAddress) DeepEqual

func (in *AzureAddress) DeepEqual(other *AzureAddress) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

type AzureInterface

type AzureInterface struct {
	// ID is the identifier
	//
	// +optional
	ID string `json:"id,omitempty"`

	// IP is the primary IP of the interface
	//
	// +optional
	IP iputil.Addr `json:"ip,omitzero"`

	// Name is the name of the interface
	//
	// +optional
	Name string `json:"name,omitempty"`

	// MAC is the mac address
	//
	// +optional
	MAC string `json:"mac,omitempty"`

	// State is the provisioning state
	//
	// +optional
	State string `json:"state,omitempty"`

	// Addresses is the list of secondary IPs associated with the interface.
	// The primary IP is tracked separately in the IP field, but is also
	// included here when the operator is configured to expose it for
	// allocation.
	//
	// +optional
	Addresses []AzureAddress `json:"addresses,omitempty"`

	// SecurityGroup is the security group associated with the interface
	SecurityGroup string `json:"security-group,omitempty"`

	// Subnet is the subnet the interface is attached to.
	//
	// +optional
	Subnet AzureSubnet `json:"subnet,omitzero"`

	// Gateway is the interface's subnet's default route
	//
	// +optional
	Gateway iputil.Addr `json:"gateway"`

	// CIDR is the range that the interface belongs to.
	//
	// Deprecated: use Subnet.CIDR. Retained for one release so agent/operator
	// rolling upgrades work in either order.
	// TODO(https://github.com/cilium/cilium/issues/46074): remove once the migration window closes.
	//
	// +optional
	CIDR iputil.Prefix `json:"cidr,omitzero"`
	// contains filtered or unexported fields
}

AzureInterface represents an Azure Interface

func (*AzureInterface) DeepCopy

func (in *AzureInterface) DeepCopy() *AzureInterface

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

func (*AzureInterface) DeepCopyInterface added in v1.13.14

func (a *AzureInterface) DeepCopyInterface() types.Interface

func (*AzureInterface) DeepCopyInto

func (in *AzureInterface) DeepCopyInto(out *AzureInterface)

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

func (*AzureInterface) DeepEqual

func (in *AzureInterface) DeepEqual(other *AzureInterface) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

func (*AzureInterface) GetResourceGroup

func (a *AzureInterface) GetResourceGroup() string

GetResourceGroup returns the resource group the interface belongs to

func (*AzureInterface) GetVMID

func (a *AzureInterface) GetVMID() string

GetVMID returns the VM ID the interface belongs to

func (*AzureInterface) GetVMScaleSetName

func (a *AzureInterface) GetVMScaleSetName() string

GetVMScaleSetName returns the VM scale set name the interface belongs to

func (*AzureInterface) InterfaceID

func (a *AzureInterface) InterfaceID() string

InterfaceID returns the identifier of the interface

func (*AzureInterface) SetID

func (a *AzureInterface) SetID(id string)

SetID sets the Azure interface ID, as well as extracting other fields from the ID itself.

type AzureSpec

type AzureSpec struct {
	// InterfaceName is the name of the interface the cilium-operator
	// will use to allocate all the IPs on
	//
	// +kubebuilder:validation:Optional
	InterfaceName string `json:"interface-name,omitempty"`
}

AzureSpec is the Azure specification of a node running via the Azure IPAM

The Azure specification can either be provided explicitly by the user or the cilium agent running on the node can be instructed to create the CiliumNode custom resource along with an Azure specification when the node registers itself to the Kubernetes cluster. This struct is embedded into v2.CiliumNode

func (*AzureSpec) DeepCopy

func (in *AzureSpec) DeepCopy() *AzureSpec

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

func (*AzureSpec) DeepCopyInto

func (in *AzureSpec) DeepCopyInto(out *AzureSpec)

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

func (*AzureSpec) DeepEqual

func (in *AzureSpec) DeepEqual(other *AzureSpec) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

type AzureStatus

type AzureStatus struct {
	// Interfaces is the list of interfaces on the node
	//
	// +optional
	Interfaces []AzureInterface `json:"interfaces,omitempty"`
}

AzureStatus is the status of Azure addressing of the node. This struct is embedded into v2.CiliumNode

func (*AzureStatus) DeepCopy

func (in *AzureStatus) DeepCopy() *AzureStatus

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

func (*AzureStatus) DeepCopyInto

func (in *AzureStatus) DeepCopyInto(out *AzureStatus)

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

func (*AzureStatus) DeepEqual

func (in *AzureStatus) DeepEqual(other *AzureStatus) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

type AzureSubnet added in v1.20.0

type AzureSubnet struct {
	// ID is the resource ID of the subnet
	//
	// +optional
	ID string `json:"id,omitempty"`

	// CIDR is the CIDR range associated with the subnet
	//
	// +optional
	CIDR iputil.Prefix `json:"cidr,omitzero"`
}

AzureSubnet describes the subnet an AzureInterface is attached to. Azure enforces one subnet per NIC, so it is tracked once per interface (mirroring the AWS and Alibaba patterns).

func (*AzureSubnet) DeepCopy added in v1.20.0

func (in *AzureSubnet) DeepCopy() *AzureSubnet

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

func (*AzureSubnet) DeepCopyInto added in v1.20.0

func (in *AzureSubnet) DeepCopyInto(out *AzureSubnet)

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

func (*AzureSubnet) DeepEqual added in v1.20.0

func (in *AzureSubnet) DeepEqual(other *AzureSubnet) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

Directories

Path Synopsis
Package azureid provides the Azure resource ID parser used by pkg/azure/types.
Package azureid provides the Azure resource ID parser used by pkg/azure/types.

Jump to

Keyboard shortcuts

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