# Functions

Build builds tags including the cluster tag and returns them in map form.
ClusterAzureCloudProviderTagKey generates the key for resources associated a cluster's Azure cloud provider.
ClusterTagKey generates the key for resources associated with a cluster.
IsTerminalProvisioningState returns true if the ProvisioningState is a terminal state for an Azure resource.
SpecVersionHashTagKey is the key for the spec version hash used to enable quick spec difference comparison.
ValidateAzureMachineSpec check for validation errors of azuremachine.spec.
ValidateDataDisks validates a list of data disks.
ValidateDataDisksUpdate validates updates to Data disks.
ValidateImage validates an image.
ValidateOSDisk validates the OSDisk spec.
ValidateSSHKey validates an SSHKey.
ValidateSystemAssignedIdentity validates the system-assigned identities list.
ValidateUserAssignedIdentity validates the user-assigned identities list.

# Constants

APIServerRole describes the value for the apiserver role.
AvailabilitySetRateLimit ...
AvailabilitySetReadyCondition means the availability set exists and is ready to be used.
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`.
AzureMachineTemplateImmutableMsg ...
BastionHostReadyCondition means the bastion host exists and is ready to be used.
BastionRole describes the value for the bastion role.
BootstrapFailedReason is used to indicate the bootstrap process ran into an error.
BootstrapInProgressReason is used to indicate the bootstrap data has not finished executing.
BootstrapSucceededCondition reports the result of the execution of the boostrap data on the machine.
Canceled represents an action which was initiated but terminated by the user before completion.
ClusterFinalizer allows ReconcileAzureCluster to clean up Azure resources associated with AzureCluster before removing it from the apiserver.
ClusterLabelNamespace indicates the namespace of the cluster.
CommonRole describes the value for the common role.
ControlPlane machine label.
ControlPlaneOutboundRole describes the value for the control plane outbound LB role.
Creating ...
CreatingReason means the resource is being created.
DefaultAzureBastionSubnetCIDR is the default Subnet CIDR for AzureBastion.
DefaultAzureBastionSubnetName is the default Subnet Name for AzureBastion.
DefaultAzureCloud is the public cloud that will be used by most users.
DefaultControlPlaneSubnetCIDR is the default Control Plane Subnet CIDR.
DefaultInternalLBIPAddress is the default internal load balancer ip address.
DefaultNodeSubnetCIDR is the default Node Subnet CIDR.
DefaultNodeSubnetCIDRPattern is the pattern that will be used to generate the default subnets CIDRs.
DefaultOutboundRuleIdleTimeoutInMinutes is the default for IdleTimeoutInMinutes for the load balancer.
DefaultRateLimit ...
DefaultVnetCIDR is the default Vnet CIDR.
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).
DeletedReason means the resource was deleted.
DeleteFuture is a future that was derived from a DELETE request.
Deleting ...
DeletingReason means the resource is being deleted.
DeletionFailedReason means the resource failed to be deleted.
DiskRateLimit ...
Failed ...
FailedReason means the resource failed to be created.
InboundNATRulesReadyCondition means the inbound NAT rules exist and are ready to be used.
InterfaceRateLimit ...
Internal is the value for the Azure load balancer internal type.
LoadBalancerRateLimit ...
LoadBalancersReadyCondition means the load balancers exist and are ready to be used.
MachineFinalizer allows ReconcileAzureMachine to clean up Azure resources associated with AzureMachine before removing it from the apiserver.
ManualServicePrincipal represents a manual service principal.
MaxLBIdleTimeoutInMinutes is the maximum number of minutes for the LB idle timeout.
MaxLoadBalancerOutboundIPs is the maximum number of outbound IPs in a Standard LoadBalancer frontend configuration.
Migrating ...
MinLBIdleTimeoutInMinutes is the minimum number of minutes for the LB idle timeout.
NameAzureClusterAPIRole is the tag name we use to mark roles for resources dedicated to this cluster api provider implementation.
NameAzureProviderOwned is the tag name we use to differentiate cluster-api-provider-azure owned components from other tooling that uses NameKubernetesClusterPrefix.
NameAzureProviderPrefix is the tag prefix we use to differentiate cluster-api-provider-azure owned components from other tooling that uses NameKubernetesClusterPrefix.
NameKubernetesAzureCloudProviderPrefix is the tag name used by the cloud provider to logically separate independent cluster resources.
NamespaceNotAllowedByIdentity used to indicate cluster in a namespace not allowed by identity.
NATGatewaysReadyCondition means the NAT gateways exist and are ready to be used.
NetworkInfrastructureReadyCondition reports of current status of cluster infrastructure.
Node machine label.
NodeOutboundRole describes the value for the node outbound LB role.
PatchFuture is a future that was derived from a PATCH request.
PrivateDNSReadyCondition means the private DNS exists and is ready to be used.
Public is the value for the Azure load balancer public type.
PublicIPAddressRateLimit ...
PublicIPsReadyCondition means the public IPs exist and are ready to be used.
PutFuture is a future that was derived from a PUT request.
ResourceGroupReadyCondition means the resource group exists and is ready to be used.
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.
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.
RoleAssignmentReadyCondition means the role assignment exists and is ready to be used.
RouteRateLimit ...
RouteTableRateLimit ...
RouteTablesReadyCondition means the route tables exist and are ready to be used.
ScaleSetCreatingReason used when the scale set creation is in progress.
ScaleSetDeletingReason used when the scale set is in a deleting state.
ScaleSetDesiredReplicasCondition reports on the scaling state of the machine pool.
ScaleSetModelOutOfDateReason describes the machine pool model being out of date.
ScaleSetModelUpdatedCondition reports on the model state of the pool.
ScaleSetProvisionFailedReason used for failures during scale set provisioning.
ScaleSetRunningCondition reports on current status of the Azure Scale Set.
ScaleSetScaleDownReason describes the machine pool scaling down.
ScaleSetScaleUpReason describes the machine pool scaling up.
ScaleSetUpdatingReason used when the scale set updating is in progress.
SecurityGroupProtocolAll is a wildcard for all IP protocols.
SecurityGroupProtocolICMP represents the ICMP protocol.
SecurityGroupProtocolTCP represents the TCP protocol.
SecurityGroupProtocolUDP represents the UDP protocol.
SecurityGroupRateLimit ...
SecurityGroupsReadyCondition means the security groups exist and are ready to be used.
SecurityRuleDirectionInbound defines an ingress security rule.
SecurityRuleDirectionOutbound defines an egress security rule.
ServicePrincipal represents a service principal.
SKUStandard is the value for the Azure load balancer Standard SKU.
SnapshotRateLimit ...
StorageAccountRateLimit ...
SubnetControlPlane defines a Kubernetes control plane node role.
SubnetNode defines a Kubernetes workload node role.
SubnetsRateLimit ...
SubnetsReadyCondition means the subnets exist and are ready to be used.
Succeeded ...
Updating ...
UpdatingReason means the resource is being updated.
UserAssignedMSI represents a user-assigned identity.
VirtualMachineRateLimit ...
VirtualMachineScaleSetRateLimit ...
VirtualMachineSizesRateLimit ...
VMCreatingReason used when the vm creation is in progress.
VMDeletingReason used when the vm is in a deleting state.
VMIdentityNone ...
VMIdentitySystemAssigned ...
VMIdentityUserAssigned ...
VMProvisionFailedReason used for failures during vm provisioning.
VMRunningCondition reports on current status of the Azure VM.
VMTagsLastAppliedAnnotation is the key for the machine object annotation which tracks the AdditionalTags in the Machine Provider Config.
VMUpdatingReason used when the vm updating is in progress.
VNetReadyCondition means the virtual network exists and is ready to be used.
WaitingForBootstrapDataReason used when machine is waiting for bootstrap data to be ready before proceeding.
WaitingForClusterInfrastructureReason used when machine is waiting for cluster infrastructure to be ready before proceeding.

# Variables

AddToScheme adds the types in this group-version to the given scheme.
GroupVersion is group version used to register these objects.
SchemeBuilder is used to add go types to the GroupVersionKind scheme.

# Structs

AddressRecord specifies a DNS record mapping a hostname to an IPV4 or IPv6 address.
AllowedNamespaces defines the namespaces the clusters are allowed to use the identity from NamespaceList takes precedence over the Selector.
AzureBastion specifies how the Azure Bastion cloud component should be configured.
AzureCluster is the Schema for the azureclusters API.
AzureClusterIdentity is the Schema for the azureclustersidentities API.
AzureClusterIdentityList contains a list of AzureClusterIdentity.
AzureClusterIdentitySpec defines the parameters that are used to create an AzureIdentity.
AzureClusterIdentityStatus defines the observed state of AzureClusterIdentity.
AzureClusterList contains a list of AzureClusters.
AzureClusterSpec defines the desired state of AzureCluster.
AzureClusterStatus defines the observed state of AzureCluster.
AzureMachine is the Schema for the azuremachines API.
AzureMachineList contains a list of AzureMachine.
AzureMachineSpec defines the desired state of AzureMachine.
AzureMachineStatus defines the observed state of AzureMachine.
AzureMachineTemplate is the Schema for the azuremachinetemplates API.
AzureMachineTemplateList contains a list of AzureMachineTemplates.
AzureMachineTemplateResource describes the data needed to create an AzureMachine from a template.
AzureMachineTemplateSpec defines the desired state of AzureMachineTemplate.
AzureMarketplaceImage defines an image in the Azure Marketplace to use for VM creation.
AzureSharedGalleryImage defines an image in a Shared Image Gallery to use for VM creation.
BackOffConfig indicates the back-off config options.
BastionSpec specifies how the Bastion feature should be set up for the cluster.
BuildParams is used to build tags around an azure resource.
CloudProviderConfigOverrides represents the fields that can be overridden in azure cloud provider config.
DataDisk specifies the parameters that are used to add one or more data disks to the machine.
DiffDiskSettings describe ephemeral disk settings for the os disk.
DiskEncryptionSetParameters defines disk encryption options.
FrontendIP defines a load balancer frontend IP configuration.
Future contains the data needed for an Azure long-running operation to continue across reconcile loops.
Image defines information about the image to use for VM creation.
LoadBalancerSpec defines an Azure load balancer.
ManagedDiskParameters defines the parameters of a managed disk.
NatGateway defines an Azure Nat Gateway.
NetworkSpec specifies what the Azure networking resources should look like.
OSDisk defines the operating system disk for a VM.
PublicIPSpec defines the inputs to create an Azure public IP address.
RateLimitConfig indicates the rate limit config options.
RateLimitSpec represents the rate limit configuration for a particular kind of resource.
RouteTable defines an Azure route table.
SecurityGroup defines an Azure security group.
SecurityProfile specifies the Security profile settings for a virtual machine or virtual machine scale set.
SecurityRule defines an Azure security rule for security groups.
SpotVMOptions defines the options relevant to running the Machine on Spot VMs.
SubnetSpec configures an Azure subnet.
UserAssignedIdentity defines the user-assigned identities provided by the user to be assigned to Azure resources.
VM describes an Azure virtual machine.
VnetSpec configures an Azure virtual network.

# Type aliases

Futures is a slice of Future.
IdentityType represents different types of identities.
LBType defines an Azure load balancer Type.
ProvisioningState describes the provisioning state of an Azure resource.
ResourceLifecycle configures the lifecycle of a resource.
SecurityGroupProtocol defines the protocol type for a security group rule.
SecurityRuleDirection defines the direction type for a security group rule.
SecurityRules is a slice of Azure security rules for security groups.
SKU defines an Azure load balancer SKU.
SubnetRole defines the unique role of a subnet.
Subnets is a slice of Subnet.
Tags defines a map of tags.
VMIdentity defines the identity of the virtual machine, if configured.
VMState describes the state of an Azure virtual machine.