v1beta1

package
v1.4.5 Latest Latest
Warning

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

Go to latest
Published: Nov 9, 2022 License: Apache-2.0 Imports: 25 Imported by: 167

Documentation

Overview

Package v1beta1 contains API Schema definitions for the infrastructure v1beta1 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io

Index

Constants

View Source
const (
	// DefaultVnetCIDR is the default Vnet CIDR.
	DefaultVnetCIDR = "10.0.0.0/8"
	// DefaultControlPlaneSubnetCIDR is the default Control Plane Subnet CIDR.
	DefaultControlPlaneSubnetCIDR = "10.0.0.0/16"
	// DefaultNodeSubnetCIDR is the default Node Subnet CIDR.
	DefaultNodeSubnetCIDR = "10.1.0.0/16"
	// DefaultNodeSubnetCIDRPattern is the pattern that will be used to generate the default subnets CIDRs.
	DefaultNodeSubnetCIDRPattern = "10.%d.0.0/16"
	// DefaultAzureBastionSubnetCIDR is the default Subnet CIDR for AzureBastion.
	DefaultAzureBastionSubnetCIDR = "10.255.255.224/27"
	// DefaultAzureBastionSubnetName is the default Subnet Name for AzureBastion.
	DefaultAzureBastionSubnetName = "AzureBastionSubnet"
	// DefaultAzureBastionSubnetRole is the default Subnet role for AzureBastion.
	DefaultAzureBastionSubnetRole = SubnetBastion
	// DefaultInternalLBIPAddress is the default internal load balancer ip address.
	DefaultInternalLBIPAddress = "10.0.0.100"
	// DefaultOutboundRuleIdleTimeoutInMinutes is the default for IdleTimeoutInMinutes for the load balancer.
	DefaultOutboundRuleIdleTimeoutInMinutes = 4
	// DefaultAzureCloud is the public cloud that will be used by most users.
	DefaultAzureCloud = "AzurePublicCloud"
)
View Source
const (
	// ClusterFinalizer allows ReconcileAzureCluster to clean up Azure resources associated with AzureCluster before
	// removing it from the apiserver.
	ClusterFinalizer = "azurecluster.infrastructure.cluster.x-k8s.io"

	// ClusterLabelNamespace indicates the namespace of the cluster.
	ClusterLabelNamespace = "azurecluster.infrastructure.cluster.x-k8s.io/cluster-namespace"
)
View Source
const (

	// MaxLoadBalancerOutboundIPs is the maximum number of outbound IPs in a Standard LoadBalancer frontend configuration.
	MaxLoadBalancerOutboundIPs = 16
	// MinLBIdleTimeoutInMinutes is the minimum number of minutes for the LB idle timeout.
	MinLBIdleTimeoutInMinutes = 4
	// MaxLBIdleTimeoutInMinutes is the maximum number of minutes for the LB idle timeout.
	MaxLBIdleTimeoutInMinutes = 30
)
View Source
const (
	AzureMachineTemplateImmutableMsg          = "" /* 174-byte string literal not displayed */
	AzureMachineTemplateRoleAssignmentNameMsg = "AzureMachineTemplate spec.template.spec.roleAssignmentName field can't be set"
)

AzureMachineTemplateImmutableMsg ...

View Source
const (
	// NetworkInfrastructureReadyCondition reports of current status of cluster infrastructure.
	NetworkInfrastructureReadyCondition clusterv1.ConditionType = "NetworkInfrastructureReady"
	// NamespaceNotAllowedByIdentity used to indicate cluster in a namespace not allowed by identity.
	NamespaceNotAllowedByIdentity = "NamespaceNotAllowedByIdentity"
)

AzureCluster Conditions and Reasons.

View Source
const (
	// VMRunningCondition reports on current status of the Azure VM.
	VMRunningCondition clusterv1.ConditionType = "VMRunning"
	// VMCreatingReason used when the vm creation is in progress.
	VMCreatingReason = "VMCreating"
	// VMUpdatingReason used when the vm updating is in progress.
	VMUpdatingReason = "VMUpdating"
	// VMDeletingReason used when the vm is in a deleting state.
	VMDeletingReason = "VMDeleting"
	// VMProvisionFailedReason used for failures during vm provisioning.
	VMProvisionFailedReason = "VMProvisionFailed"
	// WaitingForClusterInfrastructureReason used when machine is waiting for cluster infrastructure to be ready before proceeding.
	WaitingForClusterInfrastructureReason = "WaitingForClusterInfrastructure"
	// WaitingForBootstrapDataReason used when machine is waiting for bootstrap data to be ready before proceeding.
	WaitingForBootstrapDataReason = "WaitingForBootstrapData"
	// BootstrapSucceededCondition reports the result of the execution of the bootstrap data on the machine.
	BootstrapSucceededCondition clusterv1.ConditionType = "BootstrapSucceeded"
	// BootstrapInProgressReason is used to indicate the bootstrap data has not finished executing.
	BootstrapInProgressReason = "BootstrapInProgress"
	// BootstrapFailedReason is used to indicate the bootstrap process ran into an error.
	BootstrapFailedReason = "BootstrapFailed"
)

AzureMachine Conditions and Reasons.

View Source
const (
	// ScaleSetRunningCondition reports on current status of the Azure Scale Set.
	ScaleSetRunningCondition clusterv1.ConditionType = "ScaleSetRunning"
	// ScaleSetCreatingReason used when the scale set creation is in progress.
	ScaleSetCreatingReason = "ScaleSetCreating"
	// ScaleSetUpdatingReason used when the scale set updating is in progress.
	ScaleSetUpdatingReason = "ScaleSetUpdating"
	// ScaleSetDeletingReason used when the scale set is in a deleting state.
	ScaleSetDeletingReason = "ScaleSetDeleting"
	// ScaleSetProvisionFailedReason used for failures during scale set provisioning.
	ScaleSetProvisionFailedReason = "ScaleSetProvisionFailed"

	// ScaleSetDesiredReplicasCondition reports on the scaling state of the machine pool.
	ScaleSetDesiredReplicasCondition clusterv1.ConditionType = "ScaleSetDesiredReplicas"
	// ScaleSetScaleUpReason describes the machine pool scaling up.
	ScaleSetScaleUpReason = "ScaleSetScalingUp"
	// ScaleSetScaleDownReason describes the machine pool scaling down.
	ScaleSetScaleDownReason = "ScaleSetScalingDown"

	// ScaleSetModelUpdatedCondition reports on the model state of the pool.
	ScaleSetModelUpdatedCondition clusterv1.ConditionType = "ScaleSetModelUpdated"
	// ScaleSetModelOutOfDateReason describes the machine pool model being out of date.
	ScaleSetModelOutOfDateReason = "ScaleSetModelOutOfDate"
)

AzureMachinePool Conditions and Reasons.

View Source
const (
	// ManagedClusterRunningCondition means the AKS cluster exists and is in a running state.
	ManagedClusterRunningCondition clusterv1.ConditionType = "ManagedClusterRunning"
	// AgentPoolsReadyCondition means the AKS agent pools exist and are ready to be used.
	AgentPoolsReadyCondition clusterv1.ConditionType = "AgentPoolsReady"
)

AzureManagedCluster Conditions and Reasons.

View Source
const (
	// ResourceGroupReadyCondition means the resource group exists and is ready to be used.
	ResourceGroupReadyCondition clusterv1.ConditionType = "ResourceGroupReady"
	// VNetReadyCondition means the virtual network exists and is ready to be used.
	VNetReadyCondition clusterv1.ConditionType = "VNetReady"
	// VnetPeeringReadyCondition means the virtual network peerings exist and are ready to be used.
	VnetPeeringReadyCondition clusterv1.ConditionType = "VnetPeeringReady"
	// SecurityGroupsReadyCondition means the security groups exist and are ready to be used.
	SecurityGroupsReadyCondition clusterv1.ConditionType = "SecurityGroupsReady"
	// RouteTablesReadyCondition means the route tables exist and are ready to be used.
	RouteTablesReadyCondition clusterv1.ConditionType = "RouteTablesReady"
	// PublicIPsReadyCondition means the public IPs exist and are ready to be used.
	PublicIPsReadyCondition clusterv1.ConditionType = "PublicIPsReady"
	// NATGatewaysReadyCondition means the NAT gateways exist and are ready to be used.
	NATGatewaysReadyCondition clusterv1.ConditionType = "NATGatewaysReady"
	// SubnetsReadyCondition means the subnets exist and are ready to be used.
	SubnetsReadyCondition clusterv1.ConditionType = "SubnetsReady"
	// LoadBalancersReadyCondition means the load balancers exist and are ready to be used.
	LoadBalancersReadyCondition clusterv1.ConditionType = "LoadBalancersReady"
	// PrivateDNSZoneReadyCondition means the private DNS zone exists and is ready to be used.
	PrivateDNSZoneReadyCondition clusterv1.ConditionType = "PrivateDNSZoneReady"
	// PrivateDNSLinkReadyCondition means the private DNS links exist and are ready to be used.
	PrivateDNSLinkReadyCondition clusterv1.ConditionType = "PrivateDNSLinkReady"
	// PrivateDNSRecordReadyCondition means the private DNS records exist and are ready to be used.
	PrivateDNSRecordReadyCondition clusterv1.ConditionType = "PrivateDNSRecordReady"
	// BastionHostReadyCondition means the bastion host exists and is ready to be used.
	BastionHostReadyCondition clusterv1.ConditionType = "BastionHostReady"
	// InboundNATRulesReadyCondition means the inbound NAT rules exist and are ready to be used.
	InboundNATRulesReadyCondition clusterv1.ConditionType = "InboundNATRulesReady"
	// AvailabilitySetReadyCondition means the availability set exists and is ready to be used.
	AvailabilitySetReadyCondition clusterv1.ConditionType = "AvailabilitySetReady"
	// RoleAssignmentReadyCondition means the role assignment exists and is ready to be used.
	RoleAssignmentReadyCondition clusterv1.ConditionType = "RoleAssignmentReady"
	// DisksReadyCondition means the disks exist and are ready to be used.
	DisksReadyCondition clusterv1.ConditionType = "DisksReady"
	// NetworkInterfaceReadyCondition means the network interfaces exist and are ready to be used.
	NetworkInterfaceReadyCondition clusterv1.ConditionType = "NetworkInterfacesReady"

	// CreatingReason means the resource is being created.
	CreatingReason = "Creating"
	// FailedReason means the resource failed to be created.
	FailedReason = "Failed"
	// DeletingReason means the resource is being deleted.
	DeletingReason = "Deleting"
	// DeletedReason means the resource was deleted.
	DeletedReason = "Deleted"
	// DeletionFailedReason means the resource failed to be deleted.
	DeletionFailedReason = "DeletionFailed"
	// UpdatingReason means the resource is being updated.
	UpdatingReason = "Updating"
)

Azure Services Conditions and Reasons.

View Source
const (
	// ResourceLifecycleOwned is the value we use when tagging resources to indicate
	// that the resource is considered owned and managed by the cluster,
	// and in particular that the lifecycle is tied to the lifecycle of the cluster.
	ResourceLifecycleOwned = ResourceLifecycle("owned")

	// ResourceLifecycleShared is the value we use when tagging resources to indicate
	// that the resource is shared between multiple clusters, and should not be destroyed
	// if the cluster is destroyed.
	ResourceLifecycleShared = ResourceLifecycle("shared")

	// NameKubernetesAzureCloudProviderPrefix is the tag name used by the cloud provider to logically
	// separate independent cluster resources. We use it to identify which resources we expect
	// to be permissive about state changes.
	// logically independent clusters running in the same AZ.
	// The tag key = NameKubernetesAzureCloudProviderPrefix + clusterID.
	// The tag value is an ownership value.
	NameKubernetesAzureCloudProviderPrefix = "kubernetes.io_cluster_"

	// NameAzureProviderPrefix is the tag prefix we use to differentiate
	// cluster-api-provider-azure owned components from other tooling that
	// uses NameKubernetesClusterPrefix.
	NameAzureProviderPrefix = "sigs.k8s.io_cluster-api-provider-azure_"

	// NameAzureProviderOwned is the tag name we use to differentiate
	// cluster-api-provider-azure owned components from other tooling that
	// uses NameKubernetesClusterPrefix.
	NameAzureProviderOwned = NameAzureProviderPrefix + "cluster_"

	// NameAzureClusterAPIRole is the tag name we use to mark roles for resources
	// dedicated to this cluster api provider implementation.
	NameAzureClusterAPIRole = NameAzureProviderPrefix + "role"

	// APIServerRole describes the value for the apiserver role.
	APIServerRole = "apiserver"

	// NodeOutboundRole describes the value for the node outbound LB role.
	NodeOutboundRole = "nodeOutbound"

	// ControlPlaneOutboundRole describes the value for the control plane outbound LB role.
	ControlPlaneOutboundRole = "controlPlaneOutbound"

	// BastionRole describes the value for the bastion role.
	BastionRole = Bastion

	// CommonRole describes the value for the common role.
	CommonRole = "common"

	// VMTagsLastAppliedAnnotation is the key for the machine object annotation
	// which tracks the AdditionalTags in the Machine Provider Config.
	// See https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
	// for annotation formatting rules.
	// Deprecated: use azure.VMTagsLastAppliedAnnotation instead. This constant will be removed in v1beta2.
	VMTagsLastAppliedAnnotation = "sigs.k8s.io/cluster-api-provider-azure-last-applied-tags-vm"

	// RGTagsLastAppliedAnnotation is the key for the Azure Cluster object annotation
	// which tracks the AdditionalTags for Resource Group which is part in the Azure Cluster.
	// See https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
	// for annotation formatting rules.
	// Deprecated: use azure.RGTagsLastAppliedAnnotation instead. This constant will be removed in v1beta2.
	RGTagsLastAppliedAnnotation = "sigs.k8s.io/cluster-api-provider-azure-last-applied-tags-rg"
)
View Source
const (
	// ControlPlane machine label.
	ControlPlane string = "control-plane"
	// Node machine label.
	Node string = "node"
	// Bastion subnet label.
	Bastion string = "bastion"
)
View Source
const (
	// PatchFuture is a future that was derived from a PATCH request.
	PatchFuture string = "PATCH"
	// PutFuture is a future that was derived from a PUT request.
	PutFuture string = "PUT"
	// DeleteFuture is a future that was derived from a DELETE request.
	DeleteFuture string = "DELETE"
)
View Source
const (
	// SecurityGroupProtocolAll is a wildcard for all IP protocols.
	SecurityGroupProtocolAll = SecurityGroupProtocol("*")
	// SecurityGroupProtocolTCP represents the TCP protocol.
	SecurityGroupProtocolTCP = SecurityGroupProtocol("Tcp")
	// SecurityGroupProtocolUDP represents the UDP protocol.
	SecurityGroupProtocolUDP = SecurityGroupProtocol("Udp")
	// SecurityGroupProtocolICMP represents the ICMP protocol.
	SecurityGroupProtocolICMP = SecurityGroupProtocol("Icmp")
)
View Source
const (
	// SecurityRuleDirectionInbound defines an ingress security rule.
	SecurityRuleDirectionInbound = SecurityRuleDirection("Inbound")

	// SecurityRuleDirectionOutbound defines an egress security rule.
	SecurityRuleDirectionOutbound = SecurityRuleDirection("Outbound")
)
View Source
const (
	// Internal is the value for the Azure load balancer internal type.
	Internal = LBType("Internal")
	// Public is the value for the Azure load balancer public type.
	Public = LBType("Public")
)
View Source
const (
	// SubnetNode defines a Kubernetes workload node role.
	SubnetNode = SubnetRole(Node)

	// SubnetControlPlane defines a Kubernetes control plane node role.
	SubnetControlPlane = SubnetRole(ControlPlane)

	// SubnetBastion defines a Bastion subnet role.
	SubnetBastion = SubnetRole(Bastion)
)
View Source
const (
	// DefaultRateLimit ...
	DefaultRateLimit = "defaultRateLimit"
	// RouteRateLimit ...
	RouteRateLimit = "routeRateLimit"
	// SubnetsRateLimit ...
	SubnetsRateLimit = "subnetsRateLimit"
	// InterfaceRateLimit ...
	InterfaceRateLimit = "interfaceRateLimit"
	// RouteTableRateLimit ...
	RouteTableRateLimit = "routeTableRateLimit"
	// LoadBalancerRateLimit ...
	LoadBalancerRateLimit = "loadBalancerRateLimit"
	// PublicIPAddressRateLimit ...
	PublicIPAddressRateLimit = "publicIPAddressRateLimit"
	// SecurityGroupRateLimit ...
	SecurityGroupRateLimit = "securityGroupRateLimit"
	// VirtualMachineRateLimit ...
	VirtualMachineRateLimit = "virtualMachineRateLimit"
	// StorageAccountRateLimit ...
	StorageAccountRateLimit = "storageAccountRateLimit"
	// DiskRateLimit ...
	DiskRateLimit = "diskRateLimit"
	// SnapshotRateLimit ...
	SnapshotRateLimit = "snapshotRateLimit"
	// VirtualMachineScaleSetRateLimit ...
	VirtualMachineScaleSetRateLimit = "virtualMachineScaleSetRateLimit"
	// VirtualMachineSizesRateLimit ...
	VirtualMachineSizesRateLimit = "virtualMachineSizesRateLimit"
	// AvailabilitySetRateLimit ...
	AvailabilitySetRateLimit = "availabilitySetRateLimit"
)
View Source
const AzureClusterTemplateImmutableMsg = "" /* 203-byte string literal not displayed */

AzureClusterTemplateImmutableMsg ...

View Source
const (
	// AzureIdentityBindingSelector is the label used to match with the AzureIdentityBinding
	// For the controller to match an identity binding, it needs a [label] with the key `aadpodidbinding`
	// whose value is that of the `selector:` field in the `AzureIdentityBinding`.
	AzureIdentityBindingSelector = "capz-controller-aadpodidentity-selector"
)
View Source
const (
	// MachineFinalizer allows ReconcileAzureMachine to clean up Azure resources associated with AzureMachine before
	// removing it from the apiserver.
	MachineFinalizer = "azuremachine.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// SKUStandard is the value for the Azure load balancer Standard SKU.
	SKUStandard = SKU("Standard")
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1beta1"}

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

func ClusterAzureCloudProviderTagKey

func ClusterAzureCloudProviderTagKey(name string) string

ClusterAzureCloudProviderTagKey generates the key for resources associated a cluster's Azure cloud provider.

func ClusterTagKey

func ClusterTagKey(name string) string

ClusterTagKey generates the key for resources associated with a cluster.

func IsTerminalProvisioningState

func IsTerminalProvisioningState(state ProvisioningState) bool

IsTerminalProvisioningState returns true if the ProvisioningState is a terminal state for an Azure resource.

func SpecVersionHashTagKey

func SpecVersionHashTagKey() string

SpecVersionHashTagKey is the key for the spec version hash used to enable quick spec difference comparison.

func ValidateAzureMachineSpec

func ValidateAzureMachineSpec(spec AzureMachineSpec) field.ErrorList

ValidateAzureMachineSpec check for validation errors of azuremachine.spec.

func ValidateDataDisks

func ValidateDataDisks(dataDisks []DataDisk, fieldPath *field.Path) field.ErrorList

ValidateDataDisks validates a list of data disks.

func ValidateDataDisksUpdate

func ValidateDataDisksUpdate(oldDataDisks, newDataDisks []DataDisk, fieldPath *field.Path) field.ErrorList

ValidateDataDisksUpdate validates updates to Data disks.

func ValidateImage

func ValidateImage(image *Image, fldPath *field.Path) field.ErrorList

ValidateImage validates an image.

func ValidateOSDisk

func ValidateOSDisk(osDisk OSDisk, fieldPath *field.Path) field.ErrorList

ValidateOSDisk validates the OSDisk spec.

func ValidateSSHKey

func ValidateSSHKey(sshKey string, fldPath *field.Path) field.ErrorList

ValidateSSHKey validates an SSHKey.

func ValidateSystemAssignedIdentity

func ValidateSystemAssignedIdentity(identityType VMIdentity, oldIdentity, newIdentity string, fldPath *field.Path) field.ErrorList

ValidateSystemAssignedIdentity validates the system-assigned identities list.

func ValidateUserAssignedIdentity

func ValidateUserAssignedIdentity(identityType VMIdentity, userAssignedIdenteties []UserAssignedIdentity, fldPath *field.Path) field.ErrorList

ValidateUserAssignedIdentity validates the user-assigned identities list.

Types

type AdditionalCapabilities added in v1.4.0

type AdditionalCapabilities struct {
	// UltraSSDEnabled enables or disables Azure UltraSSD capability for the virtual machine.
	// Defaults to true if Ultra SSD data disks are specified,
	// otherwise it doesn't set the capability on the VM.
	// +optional
	UltraSSDEnabled *bool `json:"ultraSSDEnabled,omitempty"`
}

AdditionalCapabilities enables or disables a capability on the virtual machine.

func (*AdditionalCapabilities) DeepCopy added in v1.4.0

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

func (*AdditionalCapabilities) DeepCopyInto added in v1.4.0

func (in *AdditionalCapabilities) DeepCopyInto(out *AdditionalCapabilities)

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

type AddressRecord

type AddressRecord struct {
	Hostname string
	IP       string
}

AddressRecord specifies a DNS record mapping a hostname to an IPV4 or IPv6 address.

func (*AddressRecord) DeepCopy

func (in *AddressRecord) DeepCopy() *AddressRecord

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

func (*AddressRecord) DeepCopyInto

func (in *AddressRecord) DeepCopyInto(out *AddressRecord)

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

type AllowedNamespaces

type AllowedNamespaces struct {
	// A nil or empty list indicates that AzureCluster cannot use the identity from any namespace.
	//
	// +optional
	// +nullable
	NamespaceList []string `json:"list"`
	// Selector is a selector of namespaces that AzureCluster can
	// use this Identity from. This is a standard Kubernetes LabelSelector,
	// a label query over a set of resources. The result of matchLabels and
	// matchExpressions are ANDed.
	//
	// A nil or empty selector indicates that AzureCluster cannot use this
	// AzureClusterIdentity from any namespace.
	// +optional
	Selector *metav1.LabelSelector `json:"selector"`
}

AllowedNamespaces defines the namespaces the clusters are allowed to use the identity from NamespaceList takes precedence over the Selector.

func (*AllowedNamespaces) DeepCopy

func (in *AllowedNamespaces) DeepCopy() *AllowedNamespaces

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

func (*AllowedNamespaces) DeepCopyInto

func (in *AllowedNamespaces) DeepCopyInto(out *AllowedNamespaces)

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

type AzureBastion

type AzureBastion struct {
	// +optional
	Name string `json:"name,omitempty"`
	// +optional
	Subnet SubnetSpec `json:"subnet,omitempty"`
	// +optional
	PublicIP PublicIPSpec `json:"publicIP,omitempty"`
}

AzureBastion specifies how the Azure Bastion cloud component should be configured.

func (*AzureBastion) DeepCopy

func (in *AzureBastion) DeepCopy() *AzureBastion

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

func (*AzureBastion) DeepCopyInto

func (in *AzureBastion) DeepCopyInto(out *AzureBastion)

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

type AzureBastionTemplateSpec added in v1.2.0

type AzureBastionTemplateSpec struct {
	// +optional
	Subnet SubnetTemplateSpec `json:"subnet,omitempty"`
}

func (*AzureBastionTemplateSpec) DeepCopy added in v1.2.0

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

func (*AzureBastionTemplateSpec) DeepCopyInto added in v1.2.0

func (in *AzureBastionTemplateSpec) DeepCopyInto(out *AzureBastionTemplateSpec)

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

type AzureCluster

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

	Spec   AzureClusterSpec   `json:"spec,omitempty"`
	Status AzureClusterStatus `json:"status,omitempty"`
}

AzureCluster is the Schema for the azureclusters API.

func (*AzureCluster) DeepCopy

func (in *AzureCluster) DeepCopy() *AzureCluster

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

func (*AzureCluster) DeepCopyInto

func (in *AzureCluster) DeepCopyInto(out *AzureCluster)

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

func (*AzureCluster) DeepCopyObject

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

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

func (*AzureCluster) Default

func (c *AzureCluster) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*AzureCluster) GetConditions

func (c *AzureCluster) GetConditions() clusterv1.Conditions

GetConditions returns the list of conditions for an AzureCluster API object.

func (*AzureCluster) GetFutures

func (c *AzureCluster) GetFutures() Futures

GetFutures returns the list of long running operation states for an AzureCluster API object.

func (*AzureCluster) Hub

func (*AzureCluster) Hub()

Hub marks AzureCluster as a conversion hub.

func (*AzureCluster) SetConditions

func (c *AzureCluster) SetConditions(conditions clusterv1.Conditions)

SetConditions will set the given conditions on an AzureCluster object.

func (*AzureCluster) SetControlPlaneOutboundLBDefaults added in v1.0.2

func (c *AzureCluster) SetControlPlaneOutboundLBDefaults()

func (*AzureCluster) SetFutures

func (c *AzureCluster) SetFutures(futures Futures)

SetFutures will set the given long running operation states on an AzureCluster object.

func (*AzureCluster) SetNodeOutboundLBDefaults added in v1.0.2

func (c *AzureCluster) SetNodeOutboundLBDefaults()

func (*AzureCluster) SetupWebhookWithManager

func (c *AzureCluster) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up and registers the webhook with the manager.

func (*AzureCluster) ValidateCreate

func (c *AzureCluster) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*AzureCluster) ValidateDelete

func (c *AzureCluster) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*AzureCluster) ValidateUpdate

func (c *AzureCluster) ValidateUpdate(oldRaw runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type AzureClusterClassSpec added in v1.2.0

type AzureClusterClassSpec struct {
	// +optional
	SubscriptionID string `json:"subscriptionID,omitempty"`

	Location string `json:"location"`

	// AdditionalTags is an optional set of tags to add to Azure resources managed by the Azure provider, in addition to the
	// ones added by default.
	// +optional
	AdditionalTags Tags `json:"additionalTags,omitempty"`

	// IdentityRef is a reference to an AzureIdentity to be used when reconciling this cluster
	// +optional
	IdentityRef *corev1.ObjectReference `json:"identityRef,omitempty"`

	// AzureEnvironment is the name of the AzureCloud to be used.
	// The default value that would be used by most users is "AzurePublicCloud", other values are:
	// - ChinaCloud: "AzureChinaCloud"
	// - GermanCloud: "AzureGermanCloud"
	// - PublicCloud: "AzurePublicCloud"
	// - USGovernmentCloud: "AzureUSGovernmentCloud"
	// +optional
	AzureEnvironment string `json:"azureEnvironment,omitempty"`

	// CloudProviderConfigOverrides is an optional set of configuration values that can be overridden in azure cloud provider config.
	// This is only a subset of options that are available in azure cloud provider config.
	// Some values for the cloud provider config are inferred from other parts of cluster api provider azure spec, and may not be available for overrides.
	// See: https://kubernetes-sigs.github.io/cloud-provider-azure/install/configs
	// Note: All cloud provider config values can be customized by creating the secret beforehand. CloudProviderConfigOverrides is only used when the secret is managed by the Azure Provider.
	// +optional
	CloudProviderConfigOverrides *CloudProviderConfigOverrides `json:"cloudProviderConfigOverrides,omitempty"`
}

AzureClusterClassSpec defines the AzureCluster properties that may be shared across several Azure clusters.

func (*AzureClusterClassSpec) DeepCopy added in v1.2.0

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

func (*AzureClusterClassSpec) DeepCopyInto added in v1.2.0

func (in *AzureClusterClassSpec) DeepCopyInto(out *AzureClusterClassSpec)

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

type AzureClusterIdentity

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

	Spec   AzureClusterIdentitySpec   `json:"spec,omitempty"`
	Status AzureClusterIdentityStatus `json:"status,omitempty"`
}

AzureClusterIdentity is the Schema for the azureclustersidentities API.

func (*AzureClusterIdentity) DeepCopy

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

func (*AzureClusterIdentity) DeepCopyInto

func (in *AzureClusterIdentity) DeepCopyInto(out *AzureClusterIdentity)

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

func (*AzureClusterIdentity) DeepCopyObject

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

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

func (*AzureClusterIdentity) GetConditions

func (c *AzureClusterIdentity) GetConditions() clusterv1.Conditions

GetConditions returns the list of conditions for an AzureClusterIdentity API object.

func (*AzureClusterIdentity) Hub

func (*AzureClusterIdentity) Hub()

Hub marks AzureClusterIdentity as a conversion hub.

func (*AzureClusterIdentity) SetConditions

func (c *AzureClusterIdentity) SetConditions(conditions clusterv1.Conditions)

SetConditions will set the given conditions on an AzureClusterIdentity object.

func (*AzureClusterIdentity) SetupWebhookWithManager

func (c *AzureClusterIdentity) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up and registers the webhook with the manager.

type AzureClusterIdentityList

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

AzureClusterIdentityList contains a list of AzureClusterIdentity.

func (*AzureClusterIdentityList) DeepCopy

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

func (*AzureClusterIdentityList) DeepCopyInto

func (in *AzureClusterIdentityList) DeepCopyInto(out *AzureClusterIdentityList)

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

func (*AzureClusterIdentityList) DeepCopyObject

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

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

func (*AzureClusterIdentityList) Hub

func (*AzureClusterIdentityList) Hub()

Hub marks AzureClusterIdentityList as a conversion hub.

type AzureClusterIdentitySpec

type AzureClusterIdentitySpec struct {
	// Type is the type of Azure Identity used.
	// ServicePrincipal, ServicePrincipalCertificate, UserAssignedMSI or ManualServicePrincipal.
	Type IdentityType `json:"type"`
	// ResourceID is the Azure resource ID for the User Assigned MSI resource.
	// Only applicable when type is UserAssignedMSI.
	// +optional
	ResourceID string `json:"resourceID,omitempty"`
	// ClientID is the service principal client ID.
	// Both User Assigned MSI and SP can use this field.
	ClientID string `json:"clientID"`
	// ClientSecret is a secret reference which should contain either a Service Principal password or certificate secret.
	// +optional
	ClientSecret corev1.SecretReference `json:"clientSecret,omitempty"`
	// TenantID is the service principal primary tenant id.
	TenantID string `json:"tenantID"`
	// AllowedNamespaces is used to identify the namespaces the clusters are allowed to use the identity from.
	// Namespaces can be selected either using an array of namespaces or with label selector.
	// An empty allowedNamespaces object indicates that AzureClusters can use this identity from any namespace.
	// If this object is nil, no namespaces will be allowed (default behaviour, if this field is not provided)
	// A namespace should be either in the NamespaceList or match with Selector to use the identity.
	//
	// +optional
	// +nullable
	AllowedNamespaces *AllowedNamespaces `json:"allowedNamespaces"`
}

AzureClusterIdentitySpec defines the parameters that are used to create an AzureIdentity.

func (*AzureClusterIdentitySpec) DeepCopy

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

func (*AzureClusterIdentitySpec) DeepCopyInto

func (in *AzureClusterIdentitySpec) DeepCopyInto(out *AzureClusterIdentitySpec)

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

type AzureClusterIdentityStatus

type AzureClusterIdentityStatus struct {
	// Conditions defines current service state of the AzureClusterIdentity.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

AzureClusterIdentityStatus defines the observed state of AzureClusterIdentity.

func (*AzureClusterIdentityStatus) DeepCopy

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

func (*AzureClusterIdentityStatus) DeepCopyInto

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

type AzureClusterList

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

AzureClusterList contains a list of AzureClusters.

func (*AzureClusterList) DeepCopy

func (in *AzureClusterList) DeepCopy() *AzureClusterList

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

func (*AzureClusterList) DeepCopyInto

func (in *AzureClusterList) DeepCopyInto(out *AzureClusterList)

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

func (*AzureClusterList) DeepCopyObject

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

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

func (*AzureClusterList) Hub

func (*AzureClusterList) Hub()

Hub marks AzureClusterList as a conversion hub.

type AzureClusterSpec

type AzureClusterSpec struct {
	AzureClusterClassSpec `json:",inline"`

	// NetworkSpec encapsulates all things related to Azure network.
	// +optional
	NetworkSpec NetworkSpec `json:"networkSpec,omitempty"`

	// +optional
	ResourceGroup string `json:"resourceGroup,omitempty"`

	// BastionSpec encapsulates all things related to the Bastions in the cluster.
	// +optional
	BastionSpec BastionSpec `json:"bastionSpec,omitempty"`

	// ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. It is not recommended to set
	// this when creating an AzureCluster as CAPZ will set this for you. However, if it is set, CAPZ will not change it.
	// +optional
	ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint,omitempty"`
}

AzureClusterSpec defines the desired state of AzureCluster.

func (*AzureClusterSpec) DeepCopy

func (in *AzureClusterSpec) DeepCopy() *AzureClusterSpec

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

func (*AzureClusterSpec) DeepCopyInto

func (in *AzureClusterSpec) DeepCopyInto(out *AzureClusterSpec)

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

type AzureClusterStatus

type AzureClusterStatus struct {
	// FailureDomains specifies the list of unique failure domains for the location/region of the cluster.
	// A FailureDomain maps to Availability Zone with an Azure Region (if the region support them). An
	// Availability Zone is a separate data center within a region and they can be used to ensure
	// the cluster is more resilient to failure.
	// See: https://docs.microsoft.com/en-us/azure/availability-zones/az-overview
	// This list will be used by Cluster API to try and spread the machines across the failure domains.
	// +optional
	FailureDomains clusterv1.FailureDomains `json:"failureDomains,omitempty"`

	// Ready is true when the provider resource is ready.
	// +optional
	Ready bool `json:"ready"`

	// Conditions defines current service state of the AzureCluster.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`

	// LongRunningOperationStates saves the states for Azure long-running operations so they can be continued on the
	// next reconciliation loop.
	// +optional
	LongRunningOperationStates Futures `json:"longRunningOperationStates,omitempty"`
}

AzureClusterStatus defines the observed state of AzureCluster.

func (*AzureClusterStatus) DeepCopy

func (in *AzureClusterStatus) DeepCopy() *AzureClusterStatus

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

func (*AzureClusterStatus) DeepCopyInto

func (in *AzureClusterStatus) DeepCopyInto(out *AzureClusterStatus)

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

type AzureClusterTemplate added in v1.2.0

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

	Spec AzureClusterTemplateSpec `json:"spec,omitempty"`
}

AzureClusterTemplate is the Schema for the azureclustertemplates API.

func (*AzureClusterTemplate) DeepCopy added in v1.2.0

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

func (*AzureClusterTemplate) DeepCopyInto added in v1.2.0

func (in *AzureClusterTemplate) DeepCopyInto(out *AzureClusterTemplate)

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

func (*AzureClusterTemplate) DeepCopyObject added in v1.2.0

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

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

func (*AzureClusterTemplate) Default added in v1.2.0

func (c *AzureClusterTemplate) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*AzureClusterTemplate) Hub added in v1.2.0

func (*AzureClusterTemplate) Hub()

Hub marks AzureCluster as a conversion hub.

func (*AzureClusterTemplate) SetupWebhookWithManager added in v1.2.0

func (c *AzureClusterTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*AzureClusterTemplate) ValidateCreate added in v1.2.0

func (c *AzureClusterTemplate) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*AzureClusterTemplate) ValidateDelete added in v1.2.0

func (c *AzureClusterTemplate) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*AzureClusterTemplate) ValidateUpdate added in v1.2.0

func (c *AzureClusterTemplate) ValidateUpdate(oldRaw runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type AzureClusterTemplateList added in v1.2.0

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

AzureClusterTemplateList contains a list of AzureClusterTemplate.

func (*AzureClusterTemplateList) DeepCopy added in v1.2.0

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

func (*AzureClusterTemplateList) DeepCopyInto added in v1.2.0

func (in *AzureClusterTemplateList) DeepCopyInto(out *AzureClusterTemplateList)

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

func (*AzureClusterTemplateList) DeepCopyObject added in v1.2.0

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

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

func (*AzureClusterTemplateList) Hub added in v1.2.0

func (*AzureClusterTemplateList) Hub()

Hub marks AzureClusterList as a conversion hub.

type AzureClusterTemplateResource added in v1.2.0

type AzureClusterTemplateResource struct {
	Spec AzureClusterTemplateResourceSpec `json:"spec"`
}

AzureClusterTemplateResource describes the data needed to create an AzureCluster from a template.

func (*AzureClusterTemplateResource) DeepCopy added in v1.2.0

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

func (*AzureClusterTemplateResource) DeepCopyInto added in v1.2.0

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

type AzureClusterTemplateResourceSpec added in v1.2.0

type AzureClusterTemplateResourceSpec struct {
	AzureClusterClassSpec `json:",inline"`

	// NetworkSpec encapsulates all things related to Azure network.
	// +optional
	NetworkSpec NetworkTemplateSpec `json:"networkSpec,omitempty"`

	// BastionSpec encapsulates all things related to the Bastions in the cluster.
	// +optional
	BastionSpec BastionTemplateSpec `json:"bastionSpec,omitempty"`
}

func (*AzureClusterTemplateResourceSpec) DeepCopy added in v1.2.0

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

func (*AzureClusterTemplateResourceSpec) DeepCopyInto added in v1.2.0

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

type AzureClusterTemplateSpec added in v1.2.0

type AzureClusterTemplateSpec struct {
	Template AzureClusterTemplateResource `json:"template"`
}

AzureClusterTemplateSpec defines the desired state of AzureClusterTemplate.

func (*AzureClusterTemplateSpec) DeepCopy added in v1.2.0

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

func (*AzureClusterTemplateSpec) DeepCopyInto added in v1.2.0

func (in *AzureClusterTemplateSpec) DeepCopyInto(out *AzureClusterTemplateSpec)

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

type AzureComputeGalleryImage added in v1.4.0

type AzureComputeGalleryImage struct {
	// Gallery specifies the name of the compute image gallery that contains the image
	// +kubebuilder:validation:MinLength=1
	Gallery string `json:"gallery"`
	// Name is the name of the image
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`
	// Version specifies the version of the marketplace image. The allowed formats
	// are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers.
	// Specify 'latest' to use the latest version of an image available at deploy time.
	// Even if you use 'latest', the VM image will not automatically update after deploy
	// time even if a new version becomes available.
	// +kubebuilder:validation:MinLength=1
	Version string `json:"version"`
	// SubscriptionID is the identifier of the subscription that contains the private compute gallery.
	// +optional
	SubscriptionID *string `json:"subscriptionID,omitempty"`
	// ResourceGroup specifies the resource group containing the private compute gallery.
	// +optional
	ResourceGroup *string `json:"resourceGroup,omitempty"`
	// Plan contains plan information.
	// +optional
	Plan *ImagePlan `json:"plan,omitempty"`
}

AzureComputeGalleryImage defines an image in the Azure Compute Gallery to use for VM creation.

func (*AzureComputeGalleryImage) DeepCopy added in v1.4.0

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

func (*AzureComputeGalleryImage) DeepCopyInto added in v1.4.0

func (in *AzureComputeGalleryImage) DeepCopyInto(out *AzureComputeGalleryImage)

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

type AzureMachine

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

	Spec   AzureMachineSpec   `json:"spec,omitempty"`
	Status AzureMachineStatus `json:"status,omitempty"`
}

AzureMachine is the Schema for the azuremachines API.

func (*AzureMachine) DeepCopy

func (in *AzureMachine) DeepCopy() *AzureMachine

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

func (*AzureMachine) DeepCopyInto

func (in *AzureMachine) DeepCopyInto(out *AzureMachine)

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

func (*AzureMachine) DeepCopyObject

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

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

func (*AzureMachine) Default

func (m *AzureMachine) Default()

Default implements webhookutil.defaulter so a webhook will be registered for the type.

func (*AzureMachine) GetConditions

func (m *AzureMachine) GetConditions() clusterv1.Conditions

GetConditions returns the list of conditions for an AzureMachine API object.

func (*AzureMachine) GetFutures

func (m *AzureMachine) GetFutures() Futures

GetFutures returns the list of long running operation states for an AzureMachine API object.

func (*AzureMachine) Hub

func (*AzureMachine) Hub()

Hub marks AzureMachine as a conversion hub.

func (*AzureMachine) SetConditions

func (m *AzureMachine) SetConditions(conditions clusterv1.Conditions)

SetConditions will set the given conditions on an AzureMachine object.

func (*AzureMachine) SetFutures

func (m *AzureMachine) SetFutures(futures Futures)

SetFutures will set the given long running operation states on an AzureMachine object.

func (*AzureMachine) SetupWebhookWithManager

func (m *AzureMachine) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up and registers the webhook with the manager.

func (*AzureMachine) ValidateCreate

func (m *AzureMachine) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*AzureMachine) ValidateDelete

func (m *AzureMachine) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*AzureMachine) ValidateUpdate

func (m *AzureMachine) ValidateUpdate(oldRaw runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type AzureMachineList

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

AzureMachineList contains a list of AzureMachine.

func (*AzureMachineList) DeepCopy

func (in *AzureMachineList) DeepCopy() *AzureMachineList

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

func (*AzureMachineList) DeepCopyInto

func (in *AzureMachineList) DeepCopyInto(out *AzureMachineList)

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

func (*AzureMachineList) DeepCopyObject

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

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

func (*AzureMachineList) Hub

func (*AzureMachineList) Hub()

Hub marks AzureMachineList as a conversion hub.

type AzureMachineSpec

type AzureMachineSpec struct {
	// ProviderID is the unique identifier as specified by the cloud provider.
	// +optional
	ProviderID *string `json:"providerID,omitempty"`

	VMSize string `json:"vmSize"`

	// FailureDomain is the failure domain unique identifier this Machine should be attached to,
	// as defined in Cluster API. This relates to an Azure Availability Zone
	// +optional
	FailureDomain *string `json:"failureDomain,omitempty"`

	// Image is used to provide details of an image to use during VM creation.
	// If image details are omitted the image will default the Azure Marketplace "capi" offer,
	// which is based on Ubuntu.
	// +kubebuilder:validation:nullable
	// +optional
	Image *Image `json:"image,omitempty"`

	// Identity is the type of identity used for the virtual machine.
	// The type 'SystemAssigned' is an implicitly created identity.
	// The generated identity will be assigned a Subscription contributor role.
	// The type 'UserAssigned' is a standalone Azure resource provided by the user
	// and assigned to the VM
	// +kubebuilder:default=None
	// +optional
	Identity VMIdentity `json:"identity,omitempty"`

	// UserAssignedIdentities is a list of standalone Azure identities provided by the user
	// The lifecycle of a user-assigned identity is managed separately from the lifecycle of
	// the AzureMachine.
	// See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli
	// +optional
	UserAssignedIdentities []UserAssignedIdentity `json:"userAssignedIdentities,omitempty"`

	// RoleAssignmentName is the name of the role assignment to create for a system assigned identity. It can be any valid GUID.
	// If not specified, a random GUID will be generated.
	// +optional
	RoleAssignmentName string `json:"roleAssignmentName,omitempty"`

	// OSDisk specifies the parameters for the operating system disk of the machine
	OSDisk OSDisk `json:"osDisk"`

	// DataDisk specifies the parameters that are used to add one or more data disks to the machine
	// +optional
	DataDisks []DataDisk `json:"dataDisks,omitempty"`

	SSHPublicKey string `json:"sshPublicKey"`

	// AdditionalTags is an optional set of tags to add to an instance, in addition to the ones added by default by the
	// Azure provider. If both the AzureCluster and the AzureMachine specify the same tag name with different values, the
	// AzureMachine's value takes precedence.
	// +optional
	AdditionalTags Tags `json:"additionalTags,omitempty"`

	// AdditionalCapabilities specifies additional capabilities enabled or disabled on the virtual machine.
	// +optional
	AdditionalCapabilities *AdditionalCapabilities `json:"additionalCapabilities,omitempty"`

	// AllocatePublicIP allows the ability to create dynamic public ips for machines where this value is true.
	// +optional
	AllocatePublicIP bool `json:"allocatePublicIP,omitempty"`

	// EnableIPForwarding enables IP Forwarding in Azure which is required for some CNI's to send traffic from a pods on one machine
	// to another. This is required for IpV6 with Calico in combination with User Defined Routes (set by the Azure Cloud Controller
	// manager). Default is false for disabled.
	// +optional
	EnableIPForwarding bool `json:"enableIPForwarding,omitempty"`

	// AcceleratedNetworking enables or disables Azure accelerated networking. If omitted, it will be set based on
	// whether the requested VMSize supports accelerated networking.
	// If AcceleratedNetworking is set to true with a VMSize that does not support it, Azure will return an error.
	// +kubebuilder:validation:nullable
	// +optional
	AcceleratedNetworking *bool `json:"acceleratedNetworking,omitempty"`

	// SpotVMOptions allows the ability to specify the Machine should use a Spot VM
	// +optional
	SpotVMOptions *SpotVMOptions `json:"spotVMOptions,omitempty"`

	// SecurityProfile specifies the Security profile settings for a virtual machine.
	// +optional
	SecurityProfile *SecurityProfile `json:"securityProfile,omitempty"`

	// SubnetName selects the Subnet where the VM will be placed
	// +optional
	SubnetName string `json:"subnetName,omitempty"`
}

AzureMachineSpec defines the desired state of AzureMachine.

func (*AzureMachineSpec) DeepCopy

func (in *AzureMachineSpec) DeepCopy() *AzureMachineSpec

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

func (*AzureMachineSpec) DeepCopyInto

func (in *AzureMachineSpec) DeepCopyInto(out *AzureMachineSpec)

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

func (*AzureMachineSpec) SetDataDisksDefaults

func (s *AzureMachineSpec) SetDataDisksDefaults()

SetDataDisksDefaults sets the data disk defaults for an AzureMachine.

func (*AzureMachineSpec) SetDefaultCachingType

func (s *AzureMachineSpec) SetDefaultCachingType()

SetDefaultCachingType sets the default cache type for an AzureMachine.

func (*AzureMachineSpec) SetDefaultSSHPublicKey

func (s *AzureMachineSpec) SetDefaultSSHPublicKey() error

SetDefaultSSHPublicKey sets the default SSHPublicKey for an AzureMachine.

func (*AzureMachineSpec) SetDefaults

func (s *AzureMachineSpec) SetDefaults()

SetDefaults sets to the defaults for the AzureMachineSpec.

func (*AzureMachineSpec) SetIdentityDefaults

func (s *AzureMachineSpec) SetIdentityDefaults()

SetIdentityDefaults sets the defaults for VM Identity.

type AzureMachineStatus

type AzureMachineStatus struct {
	// Ready is true when the provider resource is ready.
	// +optional
	Ready bool `json:"ready"`

	// Addresses contains the Azure instance associated addresses.
	// +optional
	Addresses []corev1.NodeAddress `json:"addresses,omitempty"`

	// VMState is the provisioning state of the Azure virtual machine.
	// +optional
	VMState *ProvisioningState `json:"vmState,omitempty"`

	// ErrorReason will be set in the event that there is a terminal problem
	// reconciling the Machine and will contain a succinct value suitable
	// for machine interpretation.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the Machine's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of Machines
	// can be added as events to the Machine object and/or logged in the
	// controller's output.
	// +optional
	FailureReason *errors.MachineStatusError `json:"failureReason,omitempty"`

	// ErrorMessage will be set in the event that there is a terminal problem
	// reconciling the Machine and will contain a more verbose string suitable
	// for logging and human consumption.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the Machine's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of Machines
	// can be added as events to the Machine object and/or logged in the
	// controller's output.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`

	// Conditions defines current service state of the AzureMachine.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`

	// LongRunningOperationStates saves the states for Azure long-running operations so they can be continued on the
	// next reconciliation loop.
	// +optional
	LongRunningOperationStates Futures `json:"longRunningOperationStates,omitempty"`
}

AzureMachineStatus defines the observed state of AzureMachine.

func (*AzureMachineStatus) DeepCopy

func (in *AzureMachineStatus) DeepCopy() *AzureMachineStatus

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

func (*AzureMachineStatus) DeepCopyInto

func (in *AzureMachineStatus) DeepCopyInto(out *AzureMachineStatus)

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

type AzureMachineTemplate

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

	Spec AzureMachineTemplateSpec `json:"spec,omitempty"`
}

AzureMachineTemplate is the Schema for the azuremachinetemplates API.

func (*AzureMachineTemplate) DeepCopy

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

func (*AzureMachineTemplate) DeepCopyInto

func (in *AzureMachineTemplate) DeepCopyInto(out *AzureMachineTemplate)

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

func (*AzureMachineTemplate) DeepCopyObject

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

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

func (*AzureMachineTemplate) Default

func (r *AzureMachineTemplate) Default()

Default implements webhookutil.defaulter so a webhook will be registered for the type.

func (*AzureMachineTemplate) Hub

func (*AzureMachineTemplate) Hub()

Hub marks AzureMachineTemplate as a conversion hub.

func (*AzureMachineTemplate) SetupWebhookWithManager

func (r *AzureMachineTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up and registers the webhook with the manager.

func (*AzureMachineTemplate) ValidateCreate

func (r *AzureMachineTemplate) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*AzureMachineTemplate) ValidateDelete

func (r *AzureMachineTemplate) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*AzureMachineTemplate) ValidateUpdate

func (r *AzureMachineTemplate) ValidateUpdate(oldRaw runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type AzureMachineTemplateList

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

AzureMachineTemplateList contains a list of AzureMachineTemplates.

func (*AzureMachineTemplateList) DeepCopy

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

func (*AzureMachineTemplateList) DeepCopyInto

func (in *AzureMachineTemplateList) DeepCopyInto(out *AzureMachineTemplateList)

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

func (*AzureMachineTemplateList) DeepCopyObject

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

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

func (*AzureMachineTemplateList) Hub

func (*AzureMachineTemplateList) Hub()

Hub marks AzureMachineTemplateList as a conversion hub.

type AzureMachineTemplateResource

type AzureMachineTemplateResource struct {
	// +optional
	ObjectMeta clusterv1.ObjectMeta `json:"metadata,omitempty"`
	// Spec is the specification of the desired behavior of the machine.
	Spec AzureMachineSpec `json:"spec"`
}

AzureMachineTemplateResource describes the data needed to create an AzureMachine from a template.

func (*AzureMachineTemplateResource) DeepCopy

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

func (*AzureMachineTemplateResource) DeepCopyInto

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

type AzureMachineTemplateSpec

type AzureMachineTemplateSpec struct {
	Template AzureMachineTemplateResource `json:"template"`
}

AzureMachineTemplateSpec defines the desired state of AzureMachineTemplate.

func (*AzureMachineTemplateSpec) DeepCopy

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

func (*AzureMachineTemplateSpec) DeepCopyInto

func (in *AzureMachineTemplateSpec) DeepCopyInto(out *AzureMachineTemplateSpec)

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

type AzureMarketplaceImage

type AzureMarketplaceImage struct {
	ImagePlan `json:",inline"`

	// Version specifies the version of an image sku. The allowed formats
	// are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers.
	// Specify 'latest' to use the latest version of an image available at deploy time.
	// Even if you use 'latest', the VM image will not automatically update after deploy
	// time even if a new version becomes available.
	// +kubebuilder:validation:MinLength=1
	Version string `json:"version"`
	// ThirdPartyImage indicates the image is published by a third party publisher and a Plan
	// will be generated for it.
	// +kubebuilder:default=false
	// +optional
	ThirdPartyImage bool `json:"thirdPartyImage"`
}

AzureMarketplaceImage defines an image in the Azure Marketplace to use for VM creation.

func (*AzureMarketplaceImage) DeepCopy

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

func (*AzureMarketplaceImage) DeepCopyInto

func (in *AzureMarketplaceImage) DeepCopyInto(out *AzureMarketplaceImage)

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

type AzureSharedGalleryImage

type AzureSharedGalleryImage struct {
	// SubscriptionID is the identifier of the subscription that contains the shared image gallery
	// +kubebuilder:validation:MinLength=1
	SubscriptionID string `json:"subscriptionID"`
	// ResourceGroup specifies the resource group containing the shared image gallery
	// +kubebuilder:validation:MinLength=1
	ResourceGroup string `json:"resourceGroup"`
	// Gallery specifies the name of the shared image gallery that contains the image
	// +kubebuilder:validation:MinLength=1
	Gallery string `json:"gallery"`
	// Name is the name of the image
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`
	// Version specifies the version of the marketplace image. The allowed formats
	// are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers.
	// Specify 'latest' to use the latest version of an image available at deploy time.
	// Even if you use 'latest', the VM image will not automatically update after deploy
	// time even if a new version becomes available.
	// +kubebuilder:validation:MinLength=1
	Version string `json:"version"`
	// Publisher is the name of the organization that created the image.
	// This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource.
	// This is needed when the source image from which this SIG image was built requires the `Plan` to be used.
	// +optional
	Publisher *string `json:"publisher,omitempty"`
	// Offer specifies the name of a group of related images created by the publisher.
	// For example, UbuntuServer, WindowsServer
	// This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource.
	// This is needed when the source image from which this SIG image was built requires the `Plan` to be used.
	// +optional
	Offer *string `json:"offer,omitempty"`
	// SKU specifies an instance of an offer, such as a major release of a distribution.
	// For example, 18.04-LTS, 2019-Datacenter
	// This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource.
	// This is needed when the source image from which this SIG image was built requires the `Plan` to be used.
	// +optional
	SKU *string `json:"sku,omitempty"`
}

AzureSharedGalleryImage defines an image in a Shared Image Gallery to use for VM creation.

func (*AzureSharedGalleryImage) DeepCopy

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

func (*AzureSharedGalleryImage) DeepCopyInto

func (in *AzureSharedGalleryImage) DeepCopyInto(out *AzureSharedGalleryImage)

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

type BackOffConfig

type BackOffConfig struct {
	// +optional
	CloudProviderBackoff bool `json:"cloudProviderBackoff,omitempty"`
	// +optional
	CloudProviderBackoffRetries int `json:"cloudProviderBackoffRetries,omitempty"`
	// +optional
	CloudProviderBackoffExponent *resource.Quantity `json:"cloudProviderBackoffExponent,omitempty"`
	// +optional
	CloudProviderBackoffDuration int `json:"cloudProviderBackoffDuration,omitempty"`
	// +optional
	CloudProviderBackoffJitter *resource.Quantity `json:"cloudProviderBackoffJitter,omitempty"`
}

BackOffConfig indicates the back-off config options.

func (*BackOffConfig) DeepCopy

func (in *BackOffConfig) DeepCopy() *BackOffConfig

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

func (*BackOffConfig) DeepCopyInto

func (in *BackOffConfig) DeepCopyInto(out *BackOffConfig)

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

type BastionSpec

type BastionSpec struct {
	// +optional
	AzureBastion *AzureBastion `json:"azureBastion,omitempty"`
}

BastionSpec specifies how the Bastion feature should be set up for the cluster.

func (*BastionSpec) DeepCopy

func (in *BastionSpec) DeepCopy() *BastionSpec

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

func (*BastionSpec) DeepCopyInto

func (in *BastionSpec) DeepCopyInto(out *BastionSpec)

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

type BastionTemplateSpec added in v1.2.0

type BastionTemplateSpec struct {
	// +optional
	AzureBastion *AzureBastionTemplateSpec `json:"azureBastion,omitempty"`
}

func (*BastionTemplateSpec) DeepCopy added in v1.2.0

func (in *BastionTemplateSpec) DeepCopy() *BastionTemplateSpec

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

func (*BastionTemplateSpec) DeepCopyInto added in v1.2.0

func (in *BastionTemplateSpec) DeepCopyInto(out *BastionTemplateSpec)

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

type BuildParams

type BuildParams struct {
	// Lifecycle determines the resource lifecycle.
	Lifecycle ResourceLifecycle

	// ClusterName is the cluster associated with the resource.
	ClusterName string

	// ResourceID is the unique identifier of the resource to be tagged.
	ResourceID string

	// Name is the name of the resource, it's applied as the tag "Name" on Azure.
	// +optional
	Name *string

	// Role is the role associated to the resource.
	// +optional
	Role *string

	// Any additional tags to be added to the resource.
	// +optional
	Additional Tags
}

BuildParams is used to build tags around an azure resource.

func (*BuildParams) DeepCopy

func (in *BuildParams) DeepCopy() *BuildParams

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

func (*BuildParams) DeepCopyInto

func (in *BuildParams) DeepCopyInto(out *BuildParams)

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

type CloudProviderConfigOverrides

type CloudProviderConfigOverrides struct {
	// +optional
	RateLimits []RateLimitSpec `json:"rateLimits,omitempty"`
	// +optional
	BackOffs BackOffConfig `json:"backOffs,omitempty"`
}

CloudProviderConfigOverrides represents the fields that can be overridden in azure cloud provider config.

func (*CloudProviderConfigOverrides) DeepCopy

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

func (*CloudProviderConfigOverrides) DeepCopyInto

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

type DataDisk

type DataDisk struct {
	// NameSuffix is the suffix to be appended to the machine name to generate the disk name.
	// Each disk name will be in format <machineName>_<nameSuffix>.
	NameSuffix string `json:"nameSuffix"`
	// DiskSizeGB is the size in GB to assign to the data disk.
	DiskSizeGB int32 `json:"diskSizeGB"`
	// ManagedDisk specifies the Managed Disk parameters for the data disk.
	// +optional
	ManagedDisk *ManagedDiskParameters `json:"managedDisk,omitempty"`
	// Lun Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
	// The value must be between 0 and 63.
	// +optional
	Lun *int32 `json:"lun,omitempty"`
	// CachingType specifies the caching requirements.
	// +optional
	// +kubebuilder:validation:Enum=None;ReadOnly;ReadWrite
	CachingType string `json:"cachingType,omitempty"`
}

DataDisk specifies the parameters that are used to add one or more data disks to the machine.

func (*DataDisk) DeepCopy

func (in *DataDisk) DeepCopy() *DataDisk

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

func (*DataDisk) DeepCopyInto

func (in *DataDisk) DeepCopyInto(out *DataDisk)

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

type DiffDiskSettings

type DiffDiskSettings struct {
	// Option enables ephemeral OS when set to "Local"
	// See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks for full details
	// +kubebuilder:validation:Enum=Local
	Option string `json:"option"`
}

DiffDiskSettings describe ephemeral disk settings for the os disk.

func (*DiffDiskSettings) DeepCopy

func (in *DiffDiskSettings) DeepCopy() *DiffDiskSettings

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

func (*DiffDiskSettings) DeepCopyInto

func (in *DiffDiskSettings) DeepCopyInto(out *DiffDiskSettings)

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

type DiskEncryptionSetParameters

type DiskEncryptionSetParameters struct {
	// ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription
	// +optional
	ID string `json:"id,omitempty"`
}

DiskEncryptionSetParameters defines disk encryption options.

func (*DiskEncryptionSetParameters) DeepCopy

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

func (*DiskEncryptionSetParameters) DeepCopyInto

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

type FrontendIP

type FrontendIP struct {
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`
	// +optional
	PublicIP *PublicIPSpec `json:"publicIP,omitempty"`

	FrontendIPClass `json:",inline"`
}

FrontendIP defines a load balancer frontend IP configuration.

func (*FrontendIP) DeepCopy

func (in *FrontendIP) DeepCopy() *FrontendIP

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

func (*FrontendIP) DeepCopyInto

func (in *FrontendIP) DeepCopyInto(out *FrontendIP)

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

type FrontendIPClass added in v1.2.0

type FrontendIPClass struct {
	// +optional
	PrivateIPAddress string `json:"privateIP,omitempty"`
}

FrontendIPClass defines the FrontendIP properties that may be shared across several Azure clusters.

func (*FrontendIPClass) DeepCopy added in v1.2.0

func (in *FrontendIPClass) DeepCopy() *FrontendIPClass

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

func (*FrontendIPClass) DeepCopyInto added in v1.2.0

func (in *FrontendIPClass) DeepCopyInto(out *FrontendIPClass)

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

type Future

type Future struct {
	// Type describes the type of future, such as update, create, delete, etc.
	Type string `json:"type"`

	// ResourceGroup is the Azure resource group for the resource.
	// +optional
	ResourceGroup string `json:"resourceGroup,omitempty"`

	// ServiceName is the name of the Azure service.
	// Together with the name of the resource, this forms the unique identifier for the future.
	ServiceName string `json:"serviceName"`

	// Name is the name of the Azure resource.
	// Together with the service name, this forms the unique identifier for the future.
	Name string `json:"name"`

	// Data is the base64 url encoded json Azure AutoRest Future.
	Data string `json:"data"`
}

Future contains the data needed for an Azure long-running operation to continue across reconcile loops.

func (*Future) DeepCopy

func (in *Future) DeepCopy() *Future

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

func (*Future) DeepCopyInto

func (in *Future) DeepCopyInto(out *Future)

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

type Futures

type Futures []Future

Futures is a slice of Future.

func (Futures) DeepCopy

func (in Futures) DeepCopy() Futures

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

func (Futures) DeepCopyInto

func (in Futures) DeepCopyInto(out *Futures)

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

type IPTag added in v1.4.0

type IPTag struct {
	// Type specifies the IP tag type. Example: FirstPartyUsage.
	Type string `json:"type"`
	// Tag specifies the value of the IP tag associated with the public IP. Example: SQL.
	Tag string `json:"tag"`
}

IPTag contains the IpTag associated with the object.

func (*IPTag) DeepCopy added in v1.4.0

func (in *IPTag) DeepCopy() *IPTag

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

func (*IPTag) DeepCopyInto added in v1.4.0

func (in *IPTag) DeepCopyInto(out *IPTag)

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

type IdentityType

type IdentityType string

IdentityType represents different types of identities. +kubebuilder:validation:Enum=ServicePrincipal;UserAssignedMSI;ManualServicePrincipal;ServicePrincipalCertificate

const (
	// UserAssignedMSI represents a user-assigned managed identity.
	UserAssignedMSI IdentityType = "UserAssignedMSI"

	// ServicePrincipal represents a service principal using a client password as secret.
	ServicePrincipal IdentityType = "ServicePrincipal"

	// ManualServicePrincipal represents a manual service principal.
	ManualServicePrincipal IdentityType = "ManualServicePrincipal"

	// ServicePrincipalCertificate represents a service principal using a certificate as secret.
	ServicePrincipalCertificate IdentityType = "ServicePrincipalCertificate"
)

type Image

type Image struct {
	// ID specifies an image to use by ID
	// +optional
	ID *string `json:"id,omitempty"`

	// SharedGallery specifies an image to use from an Azure Shared Image Gallery
	// Deprecated: use ComputeGallery instead.
	// +optional
	SharedGallery *AzureSharedGalleryImage `json:"sharedGallery,omitempty"`

	// Marketplace specifies an image to use from the Azure Marketplace
	// +optional
	Marketplace *AzureMarketplaceImage `json:"marketplace,omitempty"`

	// ComputeGallery specifies an image to use from the Azure Compute Gallery
	// +optional
	ComputeGallery *AzureComputeGalleryImage `json:"computeGallery,omitempty"`
}

Image defines information about the image to use for VM creation. There are three ways to specify an image: by ID, Marketplace Image or SharedImageGallery One of ID, SharedImage or Marketplace should be set.

func (*Image) DeepCopy

func (in *Image) DeepCopy() *Image

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

func (*Image) DeepCopyInto

func (in *Image) DeepCopyInto(out *Image)

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

type ImagePlan added in v1.4.0

type ImagePlan struct {
	// Publisher is the name of the organization that created the image
	// +kubebuilder:validation:MinLength=1
	Publisher string `json:"publisher"`
	// Offer specifies the name of a group of related images created by the publisher.
	// For example, UbuntuServer, WindowsServer
	// +kubebuilder:validation:MinLength=1
	Offer string `json:"offer"`
	// SKU specifies an instance of an offer, such as a major release of a distribution.
	// For example, 18.04-LTS, 2019-Datacenter
	// +kubebuilder:validation:MinLength=1
	SKU string `json:"sku"`
}

func (*ImagePlan) DeepCopy added in v1.4.0

func (in *ImagePlan) DeepCopy() *ImagePlan

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

func (*ImagePlan) DeepCopyInto added in v1.4.0

func (in *ImagePlan) DeepCopyInto(out *ImagePlan)

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

type LBType

type LBType string

LBType defines an Azure load balancer Type.

type LoadBalancerClassSpec added in v1.2.0

type LoadBalancerClassSpec struct {
	// +optional
	SKU SKU `json:"sku,omitempty"`
	// +optional
	Type LBType `json:"type,omitempty"`
	// IdleTimeoutInMinutes specifies the timeout for the TCP idle connection.
	// +optional
	IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"`
}

LoadBalancerClassSpec defines the LoadBalancerSpec properties that may be shared across several Azure clusters.

func (*LoadBalancerClassSpec) DeepCopy added in v1.2.0

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

func (*LoadBalancerClassSpec) DeepCopyInto added in v1.2.0

func (in *LoadBalancerClassSpec) DeepCopyInto(out *LoadBalancerClassSpec)

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

type LoadBalancerSpec

type LoadBalancerSpec struct {
	// ID is the Azure resource ID of the load balancer.
	// READ-ONLY
	// +optional
	ID string `json:"id,omitempty"`
	// +optional
	Name string `json:"name,omitempty"`
	// +optional
	FrontendIPs []FrontendIP `json:"frontendIPs,omitempty"`
	// FrontendIPsCount specifies the number of frontend IP addresses for the load balancer.
	// +optional
	FrontendIPsCount *int32 `json:"frontendIPsCount,omitempty"`

	LoadBalancerClassSpec `json:",inline"`
}

LoadBalancerSpec defines an Azure load balancer.

func (*LoadBalancerSpec) DeepCopy

func (in *LoadBalancerSpec) DeepCopy() *LoadBalancerSpec

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

func (*LoadBalancerSpec) DeepCopyInto

func (in *LoadBalancerSpec) DeepCopyInto(out *LoadBalancerSpec)

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

type ManagedDiskParameters

type ManagedDiskParameters struct {
	// +optional
	StorageAccountType string `json:"storageAccountType,omitempty"`
	// +optional
	DiskEncryptionSet *DiskEncryptionSetParameters `json:"diskEncryptionSet,omitempty"`
}

ManagedDiskParameters defines the parameters of a managed disk.

func (*ManagedDiskParameters) DeepCopy

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

func (*ManagedDiskParameters) DeepCopyInto

func (in *ManagedDiskParameters) DeepCopyInto(out *ManagedDiskParameters)

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

type NatGateway

type NatGateway struct {
	// ID is the Azure resource ID of the NAT gateway.
	// READ-ONLY
	// +optional
	ID string `json:"id,omitempty"`
	// +optional
	NatGatewayIP PublicIPSpec `json:"ip,omitempty"`

	NatGatewayClassSpec `json:",inline"`
}

NatGateway defines an Azure NAT gateway. NAT gateway resources are part of Vnet NAT and provide outbound Internet connectivity for subnets of a virtual network.

func (*NatGateway) DeepCopy

func (in *NatGateway) DeepCopy() *NatGateway

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

func (*NatGateway) DeepCopyInto

func (in *NatGateway) DeepCopyInto(out *NatGateway)

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

type NatGatewayClassSpec added in v1.2.0

type NatGatewayClassSpec struct {
	Name string `json:"name"`
}

func (*NatGatewayClassSpec) DeepCopy added in v1.2.0

func (in *NatGatewayClassSpec) DeepCopy() *NatGatewayClassSpec

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

func (*NatGatewayClassSpec) DeepCopyInto added in v1.2.0

func (in *NatGatewayClassSpec) DeepCopyInto(out *NatGatewayClassSpec)

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

type NetworkClassSpec added in v1.2.0

type NetworkClassSpec struct {
	// PrivateDNSZoneName defines the zone name for the Azure Private DNS.
	// +optional
	PrivateDNSZoneName string `json:"privateDNSZoneName,omitempty"`
}

NetworkClassSpec defines the NetworkSpec properties that may be shared across several Azure clusters.

func (*NetworkClassSpec) DeepCopy added in v1.2.0

func (in *NetworkClassSpec) DeepCopy() *NetworkClassSpec

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

func (*NetworkClassSpec) DeepCopyInto added in v1.2.0

func (in *NetworkClassSpec) DeepCopyInto(out *NetworkClassSpec)

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

type NetworkSpec

type NetworkSpec struct {
	// Vnet is the configuration for the Azure virtual network.
	// +optional
	Vnet VnetSpec `json:"vnet,omitempty"`

	// Subnets is the configuration for the control-plane subnet and the node subnet.
	// +optional
	Subnets Subnets `json:"subnets,omitempty"`

	// APIServerLB is the configuration for the control-plane load balancer.
	// +optional
	APIServerLB LoadBalancerSpec `json:"apiServerLB,omitempty"`

	// NodeOutboundLB is the configuration for the node outbound load balancer.
	// +optional
	NodeOutboundLB *LoadBalancerSpec `json:"nodeOutboundLB,omitempty"`

	// ControlPlaneOutboundLB is the configuration for the control-plane outbound load balancer.
	// This is different from APIServerLB, and is used only in private clusters (optionally) for enabling outbound traffic.
	// +optional
	ControlPlaneOutboundLB *LoadBalancerSpec `json:"controlPlaneOutboundLB,omitempty"`

	NetworkClassSpec `json:",inline"`
}

NetworkSpec specifies what the Azure networking resources should look like.

func (*NetworkSpec) DeepCopy

func (in *NetworkSpec) DeepCopy() *NetworkSpec

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

func (*NetworkSpec) DeepCopyInto

func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)

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

func (*NetworkSpec) GetControlPlaneSubnet

func (n *NetworkSpec) GetControlPlaneSubnet() (SubnetSpec, error)

GetControlPlaneSubnet returns the cluster control plane subnet.

func (*NetworkSpec) UpdateControlPlaneSubnet

func (n *NetworkSpec) UpdateControlPlaneSubnet(subnet SubnetSpec)

UpdateControlPlaneSubnet updates the cluster control plane subnet.

func (*NetworkSpec) UpdateNodeSubnet

func (n *NetworkSpec) UpdateNodeSubnet(subnet SubnetSpec)

UpdateNodeSubnet updates the cluster node subnet.

type NetworkTemplateSpec added in v1.2.0

type NetworkTemplateSpec struct {
	NetworkClassSpec `json:",inline"`

	// Vnet is the configuration for the Azure virtual network.
	// +optional
	Vnet VnetTemplateSpec `json:"vnet,omitempty"`

	// Subnets is the configuration for the control-plane subnet and the node subnet.
	// +optional
	Subnets SubnetTemplatesSpec `json:"subnets,omitempty"`

	// APIServerLB is the configuration for the control-plane load balancer.
	// +optional
	APIServerLB LoadBalancerClassSpec `json:"apiServerLB,omitempty"`

	// NodeOutboundLB is the configuration for the node outbound load balancer.
	// +optional
	NodeOutboundLB *LoadBalancerClassSpec `json:"nodeOutboundLB,omitempty"`

	// ControlPlaneOutboundLB is the configuration for the control-plane outbound load balancer.
	// This is different from APIServerLB, and is used only in private clusters (optionally) for enabling outbound traffic.
	// +optional
	ControlPlaneOutboundLB *LoadBalancerClassSpec `json:"controlPlaneOutboundLB,omitempty"`
}

func (*NetworkTemplateSpec) DeepCopy added in v1.2.0

func (in *NetworkTemplateSpec) DeepCopy() *NetworkTemplateSpec

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

func (*NetworkTemplateSpec) DeepCopyInto added in v1.2.0

func (in *NetworkTemplateSpec) DeepCopyInto(out *NetworkTemplateSpec)

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

func (*NetworkTemplateSpec) GetControlPlaneSubnetTemplate added in v1.2.0

func (n *NetworkTemplateSpec) GetControlPlaneSubnetTemplate() (SubnetTemplateSpec, error)

GetControlPlaneSubnetTemplate returns the cluster control plane subnet template.

func (*NetworkTemplateSpec) UpdateControlPlaneSubnetTemplate added in v1.2.0

func (n *NetworkTemplateSpec) UpdateControlPlaneSubnetTemplate(subnet SubnetTemplateSpec)

UpdateControlPlaneSubnet updates the cluster control plane subnet.

type OSDisk

type OSDisk struct {
	OSType string `json:"osType"`
	// DiskSizeGB is the size in GB to assign to the OS disk.
	// Will have a default of 30GB if not provided
	// +optional
	DiskSizeGB *int32 `json:"diskSizeGB,omitempty"`
	// ManagedDisk specifies the Managed Disk parameters for the OS disk.
	// +optional
	ManagedDisk *ManagedDiskParameters `json:"managedDisk,omitempty"`
	// +optional
	DiffDiskSettings *DiffDiskSettings `json:"diffDiskSettings,omitempty"`
	// CachingType specifies the caching requirements.
	// +optional
	// +kubebuilder:validation:Enum=None;ReadOnly;ReadWrite
	CachingType string `json:"cachingType,omitempty"`
}

OSDisk defines the operating system disk for a VM.

WARNING: this requires any updates to ManagedDisk to be manually converted. This is due to the odd issue with conversion-gen where the warning message generated uses a relative directory import rather than the fully qualified import when generating outside of the GOPATH.

func (*OSDisk) DeepCopy

func (in *OSDisk) DeepCopy() *OSDisk

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

func (*OSDisk) DeepCopyInto

func (in *OSDisk) DeepCopyInto(out *OSDisk)

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

type ProvisioningState

type ProvisioningState string

ProvisioningState describes the provisioning state of an Azure resource.

const (
	// Creating ...
	Creating ProvisioningState = "Creating"
	// Deleting ...
	Deleting ProvisioningState = "Deleting"
	// Failed ...
	Failed ProvisioningState = "Failed"
	// Migrating ...
	Migrating ProvisioningState = "Migrating"
	// Succeeded ...
	Succeeded ProvisioningState = "Succeeded"
	// Updating ...
	Updating ProvisioningState = "Updating"
	// Canceled represents an action which was initiated but terminated by the user before completion.
	Canceled ProvisioningState = "Canceled"
	// Deleted represents a deleted VM
	// NOTE: This state is specific to capz, and does not have corresponding mapping in Azure API (https://docs.microsoft.com/en-us/azure/virtual-machines/states-billing#provisioning-states)
	Deleted ProvisioningState = "Deleted"
)

type PublicIPSpec

type PublicIPSpec struct {
	Name string `json:"name"`
	// +optional
	DNSName string `json:"dnsName,omitempty"`
	// +optional
	IPTags []IPTag `json:"ipTags,omitempty"`
}

PublicIPSpec defines the inputs to create an Azure public IP address.

func (*PublicIPSpec) DeepCopy

func (in *PublicIPSpec) DeepCopy() *PublicIPSpec

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

func (*PublicIPSpec) DeepCopyInto

func (in *PublicIPSpec) DeepCopyInto(out *PublicIPSpec)

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

type RateLimitConfig

type RateLimitConfig struct {
	// +optional
	CloudProviderRateLimit bool `json:"cloudProviderRateLimit,omitempty"`
	// +optional
	CloudProviderRateLimitQPS *resource.Quantity `json:"cloudProviderRateLimitQPS,omitempty"`
	// +optional
	CloudProviderRateLimitBucket int `json:"cloudProviderRateLimitBucket,omitempty"`
	// +optional
	CloudProviderRateLimitQPSWrite *resource.Quantity `json:"cloudProviderRateLimitQPSWrite,omitempty"`
	// +optional
	CloudProviderRateLimitBucketWrite int `json:"cloudProviderRateLimitBucketWrite,omitempty"`
}

RateLimitConfig indicates the rate limit config options.

func (*RateLimitConfig) DeepCopy

func (in *RateLimitConfig) DeepCopy() *RateLimitConfig

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

func (*RateLimitConfig) DeepCopyInto

func (in *RateLimitConfig) DeepCopyInto(out *RateLimitConfig)

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

type RateLimitSpec

type RateLimitSpec struct {
	// Name is the name of the rate limit spec.
	// +kubebuilder:validation:Enum=defaultRateLimit;routeRateLimit;subnetsRateLimit;interfaceRateLimit;routeTableRateLimit;loadBalancerRateLimit;publicIPAddressRateLimit;securityGroupRateLimit;virtualMachineRateLimit;storageAccountRateLimit;diskRateLimit;snapshotRateLimit;virtualMachineScaleSetRateLimit;virtualMachineSizesRateLimit;availabilitySetRateLimit
	Name string `json:"name"`
	// +optional
	Config RateLimitConfig `json:"config,omitempty"`
}

RateLimitSpec represents the rate limit configuration for a particular kind of resource. Eg. loadBalancerRateLimit is used to configure rate limits for load balancers. This eventually gets converted to CloudProviderRateLimitConfig that cloud-provider-azure expects. See: https://github.com/kubernetes-sigs/cloud-provider-azure/blob/d585c2031925b39c925624302f22f8856e29e352/pkg/provider/azure_ratelimit.go#L25 We cannot use CloudProviderRateLimitConfig directly because floating point values are not supported in controller-tools. See: https://github.com/kubernetes-sigs/controller-tools/issues/245

func (*RateLimitSpec) DeepCopy

func (in *RateLimitSpec) DeepCopy() *RateLimitSpec

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

func (*RateLimitSpec) DeepCopyInto

func (in *RateLimitSpec) DeepCopyInto(out *RateLimitSpec)

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

type ResourceLifecycle

type ResourceLifecycle string

ResourceLifecycle configures the lifecycle of a resource.

type RouteTable

type RouteTable struct {
	// ID is the Azure resource ID of the route table.
	// READ-ONLY
	// +optional
	ID   string `json:"id,omitempty"`
	Name string `json:"name"`
}

RouteTable defines an Azure route table.

func (*RouteTable) DeepCopy

func (in *RouteTable) DeepCopy() *RouteTable

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

func (*RouteTable) DeepCopyInto

func (in *RouteTable) DeepCopyInto(out *RouteTable)

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

type SKU

type SKU string

SKU defines an Azure load balancer SKU.

type SecurityGroup

type SecurityGroup struct {
	// ID is the Azure resource ID of the security group.
	// READ-ONLY
	// +optional
	ID   string `json:"id,omitempty"`
	Name string `json:"name"`

	SecurityGroupClass `json:",inline"`
}

SecurityGroup defines an Azure security group.

func (*SecurityGroup) DeepCopy

func (in *SecurityGroup) DeepCopy() *SecurityGroup

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

func (*SecurityGroup) DeepCopyInto

func (in *SecurityGroup) DeepCopyInto(out *SecurityGroup)

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

type SecurityGroupClass added in v1.2.0

type SecurityGroupClass struct {
	// +optional
	SecurityRules SecurityRules `json:"securityRules,omitempty"`
	// +optional
	Tags Tags `json:"tags,omitempty"`
}

SecurityGroupClass defines the SecurityGroup properties that may be shared across several Azure clusters.

func (*SecurityGroupClass) DeepCopy added in v1.2.0

func (in *SecurityGroupClass) DeepCopy() *SecurityGroupClass

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

func (*SecurityGroupClass) DeepCopyInto added in v1.2.0

func (in *SecurityGroupClass) DeepCopyInto(out *SecurityGroupClass)

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

type SecurityGroupProtocol

type SecurityGroupProtocol string

SecurityGroupProtocol defines the protocol type for a security group rule.

type SecurityProfile

type SecurityProfile struct {
	// This field indicates whether Host Encryption should be enabled
	// or disabled for a virtual machine or virtual machine scale
	// set. Default is disabled.
	// +optional
	EncryptionAtHost *bool `json:"encryptionAtHost,omitempty"`
}

SecurityProfile specifies the Security profile settings for a virtual machine or virtual machine scale set.

func (*SecurityProfile) DeepCopy

func (in *SecurityProfile) DeepCopy() *SecurityProfile

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

func (*SecurityProfile) DeepCopyInto

func (in *SecurityProfile) DeepCopyInto(out *SecurityProfile)

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

type SecurityRule

type SecurityRule struct {
	// Name is a unique name within the network security group.
	Name string `json:"name"`
	// A description for this rule. Restricted to 140 chars.
	Description string `json:"description"`
	// Protocol specifies the protocol type. "Tcp", "Udp", "Icmp", or "*".
	// +kubebuilder:validation:Enum=Tcp;Udp;Icmp;*
	Protocol SecurityGroupProtocol `json:"protocol"`
	// Direction indicates whether the rule applies to inbound, or outbound traffic. "Inbound" or "Outbound".
	// +kubebuilder:validation:Enum=Inbound;Outbound
	Direction SecurityRuleDirection `json:"direction"`
	// Priority is a number between 100 and 4096. Each rule should have a unique value for priority. Rules are processed in priority order, with lower numbers processed before higher numbers. Once traffic matches a rule, processing stops.
	// +optional
	Priority int32 `json:"priority,omitempty"`
	// SourcePorts specifies source port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports.
	// +optional
	SourcePorts *string `json:"sourcePorts,omitempty"`
	// DestinationPorts specifies the destination port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports.
	// +optional
	DestinationPorts *string `json:"destinationPorts,omitempty"`
	// Source specifies the CIDR or source IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from.
	// +optional
	Source *string `json:"source,omitempty"`
	// Destination is the destination address prefix. CIDR or destination IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used.
	// +optional
	Destination *string `json:"destination,omitempty"`
}

SecurityRule defines an Azure security rule for security groups.

func (*SecurityRule) DeepCopy

func (in *SecurityRule) DeepCopy() *SecurityRule

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

func (*SecurityRule) DeepCopyInto

func (in *SecurityRule) DeepCopyInto(out *SecurityRule)

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

type SecurityRuleDirection

type SecurityRuleDirection string

SecurityRuleDirection defines the direction type for a security group rule.

type SecurityRules

type SecurityRules []SecurityRule

SecurityRules is a slice of Azure security rules for security groups.

func (SecurityRules) DeepCopy

func (in SecurityRules) DeepCopy() SecurityRules

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

func (SecurityRules) DeepCopyInto

func (in SecurityRules) DeepCopyInto(out *SecurityRules)

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

type SpotVMOptions

type SpotVMOptions struct {
	// MaxPrice defines the maximum price the user is willing to pay for Spot VM instances
	// +optional
	MaxPrice *resource.Quantity `json:"maxPrice,omitempty"`
}

SpotVMOptions defines the options relevant to running the Machine on Spot VMs.

func (*SpotVMOptions) DeepCopy

func (in *SpotVMOptions) DeepCopy() *SpotVMOptions

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

func (*SpotVMOptions) DeepCopyInto

func (in *SpotVMOptions) DeepCopyInto(out *SpotVMOptions)

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

type SubnetClassSpec added in v1.2.0

type SubnetClassSpec struct {
	// Role defines the subnet role (eg. Node, ControlPlane)
	// +kubebuilder:validation:Enum=node;control-plane;bastion
	Role SubnetRole `json:"role"`

	// CIDRBlocks defines the subnet's address space, specified as one or more address prefixes in CIDR notation.
	// +optional
	CIDRBlocks []string `json:"cidrBlocks,omitempty"`
}

SubnetClassSpec defines the SubnetSpec properties that may be shared across several Azure clusters.

func (*SubnetClassSpec) DeepCopy added in v1.2.0

func (in *SubnetClassSpec) DeepCopy() *SubnetClassSpec

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

func (*SubnetClassSpec) DeepCopyInto added in v1.2.0

func (in *SubnetClassSpec) DeepCopyInto(out *SubnetClassSpec)

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

type SubnetRole

type SubnetRole string

SubnetRole defines the unique role of a subnet.

type SubnetSpec

type SubnetSpec struct {
	// ID is the Azure resource ID of the subnet.
	// READ-ONLY
	// +optional
	ID string `json:"id,omitempty"`

	// Name defines a name for the subnet resource.
	Name string `json:"name"`

	// SecurityGroup defines the NSG (network security group) that should be attached to this subnet.
	// +optional
	SecurityGroup SecurityGroup `json:"securityGroup,omitempty"`

	// RouteTable defines the route table that should be attached to this subnet.
	// +optional
	RouteTable RouteTable `json:"routeTable,omitempty"`

	// NatGateway associated with this subnet.
	// +optional
	NatGateway NatGateway `json:"natGateway,omitempty"`

	SubnetClassSpec `json:",inline"`
}

SubnetSpec configures an Azure subnet.

func (*SubnetSpec) DeepCopy

func (in *SubnetSpec) DeepCopy() *SubnetSpec

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

func (*SubnetSpec) DeepCopyInto

func (in *SubnetSpec) DeepCopyInto(out *SubnetSpec)

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

func (SubnetSpec) IsNatGatewayEnabled

func (s SubnetSpec) IsNatGatewayEnabled() bool

IsNatGatewayEnabled returns whether or not a NAT gateway is enabled on the subnet.

type SubnetTemplateSpec added in v1.2.0

type SubnetTemplateSpec struct {
	SubnetClassSpec `json:",inline"`

	// SecurityGroup defines the NSG (network security group) that should be attached to this subnet.
	// +optional
	SecurityGroup SecurityGroupClass `json:"securityGroup,omitempty"`

	// NatGateway associated with this subnet.
	// +optional
	NatGateway NatGatewayClassSpec `json:"natGateway,omitempty"`
}

func (*SubnetTemplateSpec) DeepCopy added in v1.2.0

func (in *SubnetTemplateSpec) DeepCopy() *SubnetTemplateSpec

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

func (*SubnetTemplateSpec) DeepCopyInto added in v1.2.0

func (in *SubnetTemplateSpec) DeepCopyInto(out *SubnetTemplateSpec)

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

func (SubnetTemplateSpec) IsNatGatewayEnabled added in v1.2.0

func (s SubnetTemplateSpec) IsNatGatewayEnabled() bool

type SubnetTemplatesSpec added in v1.2.0

type SubnetTemplatesSpec []SubnetTemplateSpec

func (SubnetTemplatesSpec) DeepCopy added in v1.2.0

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

func (SubnetTemplatesSpec) DeepCopyInto added in v1.2.0

func (in SubnetTemplatesSpec) DeepCopyInto(out *SubnetTemplatesSpec)

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

type Subnets

type Subnets []SubnetSpec

Subnets is a slice of Subnet.

func (Subnets) DeepCopy

func (in Subnets) DeepCopy() Subnets

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

func (Subnets) DeepCopyInto

func (in Subnets) DeepCopyInto(out *Subnets)

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

type Tags

type Tags map[string]string

Tags defines a map of tags.

func Build

func Build(params BuildParams) Tags

Build builds tags including the cluster tag and returns them in map form.

func (Tags) AddSpecVersionHashTag

func (t Tags) AddSpecVersionHashTag(hash string) Tags

AddSpecVersionHashTag adds a spec version hash to the Azure resource tags to determine quickly if state has changed.

func (Tags) DeepCopy

func (in Tags) DeepCopy() Tags

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

func (Tags) DeepCopyInto

func (in Tags) DeepCopyInto(out *Tags)

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

func (Tags) Difference

func (t Tags) Difference(other Tags) Tags

Difference returns the difference between this map of tags and the other map of tags. Items are considered equals if key and value are equals.

func (Tags) Equals

func (t Tags) Equals(other Tags) bool

Equals returns true if the tags are equal.

func (Tags) GetRole

func (t Tags) GetRole() string

GetRole returns the Cluster API role for the tagged resource.

func (Tags) HasAzureCloudProviderOwned

func (t Tags) HasAzureCloudProviderOwned(cluster string) bool

HasAzureCloudProviderOwned returns true if the tags contains a tag that marks the resource as owned by the cluster from the perspective of the in-tree cloud provider.

func (Tags) HasMatchingSpecVersionHash

func (t Tags) HasMatchingSpecVersionHash(hash string) bool

HasMatchingSpecVersionHash returns true if the resource has been tagged with a matching resource spec hash value.

func (Tags) HasOwned

func (t Tags) HasOwned(cluster string) bool

HasOwned returns true if the tags contains a tag that marks the resource as owned by the cluster from the perspective of this management tooling.

func (Tags) Merge

func (t Tags) Merge(other Tags)

Merge merges in tags from other. If a tag already exists, it is replaced by the tag in other.

type UserAssignedIdentity

type UserAssignedIdentity struct {
	// ProviderID is the identification ID of the user-assigned Identity, the format of an identity is:
	// 'azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'
	ProviderID string `json:"providerID"`
}

UserAssignedIdentity defines the user-assigned identities provided by the user to be assigned to Azure resources.

func (*UserAssignedIdentity) DeepCopy

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

func (*UserAssignedIdentity) DeepCopyInto

func (in *UserAssignedIdentity) DeepCopyInto(out *UserAssignedIdentity)

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

type VMIdentity

type VMIdentity string

VMIdentity defines the identity of the virtual machine, if configured. +kubebuilder:validation:Enum=None;SystemAssigned;UserAssigned

const (
	// VMIdentityNone ...
	VMIdentityNone VMIdentity = "None"
	// VMIdentitySystemAssigned ...
	VMIdentitySystemAssigned VMIdentity = "SystemAssigned"
	// VMIdentityUserAssigned ...
	VMIdentityUserAssigned VMIdentity = "UserAssigned"
)

type VMState

type VMState string

VMState describes the state of an Azure virtual machine. Deprecated: use ProvisioningState.

type VnetClassSpec added in v1.2.0

type VnetClassSpec struct {
	// CIDRBlocks defines the virtual network's address space, specified as one or more address prefixes in CIDR notation.
	// +optional
	CIDRBlocks []string `json:"cidrBlocks,omitempty"`

	// Tags is a collection of tags describing the resource.
	// +optional
	Tags Tags `json:"tags,omitempty"`
}

VnetClassSpec defines the VnetSpec properties that may be shared across several Azure clusters.

func (*VnetClassSpec) DeepCopy added in v1.2.0

func (in *VnetClassSpec) DeepCopy() *VnetClassSpec

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

func (*VnetClassSpec) DeepCopyInto added in v1.2.0

func (in *VnetClassSpec) DeepCopyInto(out *VnetClassSpec)

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

type VnetPeeringClassSpec added in v1.2.0

type VnetPeeringClassSpec struct {
	// RemoteVnetName defines name of the remote virtual network.
	RemoteVnetName string `json:"remoteVnetName"`
}

func (*VnetPeeringClassSpec) DeepCopy added in v1.2.0

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

func (*VnetPeeringClassSpec) DeepCopyInto added in v1.2.0

func (in *VnetPeeringClassSpec) DeepCopyInto(out *VnetPeeringClassSpec)

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

type VnetPeeringSpec

type VnetPeeringSpec struct {
	// ResourceGroup is the resource group name of the remote virtual network.
	// +optional
	ResourceGroup string `json:"resourceGroup,omitempty"`

	VnetPeeringClassSpec `json:",inline"`
}

VnetPeeringSpec specifies an existing remote virtual network to peer with the AzureCluster's virtual network.

func (*VnetPeeringSpec) DeepCopy

func (in *VnetPeeringSpec) DeepCopy() *VnetPeeringSpec

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

func (*VnetPeeringSpec) DeepCopyInto

func (in *VnetPeeringSpec) DeepCopyInto(out *VnetPeeringSpec)

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

type VnetPeerings

type VnetPeerings []VnetPeeringSpec

VnetPeerings is a slice of VnetPeering.

func (VnetPeerings) DeepCopy

func (in VnetPeerings) DeepCopy() VnetPeerings

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

func (VnetPeerings) DeepCopyInto

func (in VnetPeerings) DeepCopyInto(out *VnetPeerings)

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

type VnetPeeringsTemplateSpec added in v1.2.0

type VnetPeeringsTemplateSpec []VnetPeeringClassSpec

func (VnetPeeringsTemplateSpec) DeepCopy added in v1.2.0

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

func (VnetPeeringsTemplateSpec) DeepCopyInto added in v1.2.0

func (in VnetPeeringsTemplateSpec) DeepCopyInto(out *VnetPeeringsTemplateSpec)

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

type VnetSpec

type VnetSpec struct {
	// ResourceGroup is the name of the resource group of the existing virtual network
	// or the resource group where a managed virtual network should be created.
	// +optional
	ResourceGroup string `json:"resourceGroup,omitempty"`

	// ID is the Azure resource ID of the virtual network.
	// READ-ONLY
	// +optional
	ID string `json:"id,omitempty"`

	// Name defines a name for the virtual network resource.
	Name string `json:"name"`

	// Peerings defines a list of peerings of the newly created virtual network with existing virtual networks.
	// +optional
	Peerings VnetPeerings `json:"peerings,omitempty"`

	VnetClassSpec `json:",inline"`
}

VnetSpec configures an Azure virtual network.

func (*VnetSpec) DeepCopy

func (in *VnetSpec) DeepCopy() *VnetSpec

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

func (*VnetSpec) DeepCopyInto

func (in *VnetSpec) DeepCopyInto(out *VnetSpec)

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

func (*VnetSpec) IsManaged

func (v *VnetSpec) IsManaged(clusterName string) bool

IsManaged returns true if the vnet is managed.

type VnetTemplateSpec added in v1.2.0

type VnetTemplateSpec struct {
	VnetClassSpec `json:",inline"`

	// Peerings defines a list of peerings of the newly created virtual network with existing virtual networks.
	// +optional
	Peerings VnetPeeringsTemplateSpec `json:"peerings,omitempty"`
}

func (*VnetTemplateSpec) DeepCopy added in v1.2.0

func (in *VnetTemplateSpec) DeepCopy() *VnetTemplateSpec

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

func (*VnetTemplateSpec) DeepCopyInto added in v1.2.0

func (in *VnetTemplateSpec) DeepCopyInto(out *VnetTemplateSpec)

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

Jump to

Keyboard shortcuts

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