Last generated March 23, 2022

AzureCluster

AzureCluster is the Schema for the azureclusters API.

Full name:
azureclusters.infrastructure.cluster.x-k8s.io
Group:
infrastructure.cluster.x-k8s.io
Singular name:
azurecluster
Plural name:
azureclusters
Scope:
Namespaced
Versions:
v1alpha3v1alpha4v1beta1

Version v1alpha3

Example CR

apiVersion: infrastructure.cluster.x-k8s.io/v1alpha3
kind: AzureCluster
metadata:
  labels:
    azure-operator.giantswarm.io/version: 5.3.1
    cluster-operator.giantswarm.io/version: 0.23.22
    cluster.x-k8s.io/cluster-name: mmh5x
    giantswarm.io/cluster: mmh5x
    giantswarm.io/organization: giantswarm
    release.giantswarm.io/version: 14.1.0
  name: mmh5x
  namespace: org-giantswarm
spec:
  controlPlaneEndpoint:
    host: api.mmh5x.k8s.ghost.westeurope.azure.gigantic.io
    port: 443
  location: westeurope
  networkSpec:
    apiServerLB:
      frontendIPs:
        - name: mmh5x-API-PublicLoadBalancer-Frontend
      name: mmh5x-API-PublicLoadBalancer
      sku: Standard
      type: Public
    subnets:
      - cidrBlocks:
          - 10.3.3.0/24
        id: /subscriptions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/resourceGroups/mmh5x/providers/Microsoft.Network/virtualNetworks/mmh5x-VirtualNetwork/subnets/w86vu
        name: w86vu
        role: node
        routeTable: {}
        securityGroup: {}
      - name: mmh5x-VirtualNetwork-MasterSubnet
        role: control-plane
        routeTable: {}
        securityGroup: {}
    vnet:
      cidrBlocks:
        - 10.3.0.0/16
      name: mmh5x-VirtualNetwork
      resourceGroup: mmh5x
  resourceGroup: mmh5x

Properties

.apiVersion

string

APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

.kind

string

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

.metadata

object

.spec

object

AzureClusterSpec defines the desired state of AzureCluster.

.spec.additionalTags

object

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.

.spec.controlPlaneEndpoint

object

ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.

.spec.controlPlaneEndpoint.host

string Required

The hostname on which the API server is serving.

.spec.controlPlaneEndpoint.port

integer Required

The port on which the API server is serving.

.spec.identityRef

object

IdentityRef is a reference to a AzureIdentity to be used when reconciling this cluster

.spec.identityRef.apiVersion

string

API version of the referent.

.spec.identityRef.fieldPath

string

If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: “spec.containers{name}” (where “name” refers to the name of the container that triggered the event) or if no container name is specified “spec.containers[2]” (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.

.spec.identityRef.kind

.spec.identityRef.name

.spec.identityRef.namespace

.spec.identityRef.resourceVersion

string

.spec.identityRef.uid

.spec.location

string Required

.spec.networkSpec

object

NetworkSpec encapsulates all things related to Azure network.

.spec.networkSpec.apiServerLB

object

APIServerLB is the configuration for the control-plane load balancer.

.spec.networkSpec.apiServerLB.frontendIPs

array

.spec.networkSpec.apiServerLB.frontendIPs[*]

object

FrontendIP defines a load balancer frontend IP configuration.

.spec.networkSpec.apiServerLB.frontendIPs[*].name

string Required

.spec.networkSpec.apiServerLB.frontendIPs[*].privateIP

string

.spec.networkSpec.apiServerLB.frontendIPs[*].publicIP

object

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

.spec.networkSpec.apiServerLB.frontendIPs[*].publicIP.dnsName

string

.spec.networkSpec.apiServerLB.frontendIPs[*].publicIP.name

string Required

.spec.networkSpec.apiServerLB.id

string

.spec.networkSpec.apiServerLB.name

string

.spec.networkSpec.apiServerLB.sku

string

SKU defines an Azure load balancer SKU.

.spec.networkSpec.apiServerLB.type

string

LBType defines an Azure load balancer Type.

.spec.networkSpec.subnets

array

Subnets is the configuration for the control-plane subnet and the node subnet.

.spec.networkSpec.subnets[*]

object

SubnetSpec configures an Azure subnet.

.spec.networkSpec.subnets[*].cidrBlock

string

CidrBlock is the CIDR block to be used when the provider creates a managed Vnet. DEPRECATED: Use CIDRBlocks instead

.spec.networkSpec.subnets[*].cidrBlocks

array

CIDRBlocks defines the subnet’s address space, specified as one or more address prefixes in CIDR notation.

.spec.networkSpec.subnets[*].cidrBlocks[*]

string

.spec.networkSpec.subnets[*].id

string

ID defines a unique identifier to reference this resource.

.spec.networkSpec.subnets[*].internalLBIPAddress

string

InternalLBIPAddress is the IP address that will be used as the internal LB private IP. For the control plane subnet only. Deprecated: Use LoadBalancer private IP instead

.spec.networkSpec.subnets[*].name

string Required

Name defines a name for the subnet resource.

.spec.networkSpec.subnets[*].role

string

Role defines the subnet role (eg. Node, ControlPlane)

.spec.networkSpec.subnets[*].routeTable

object

RouteTable defines the route table that should be attached to this subnet.

.spec.networkSpec.subnets[*].routeTable.id

string

.spec.networkSpec.subnets[*].routeTable.name

string

.spec.networkSpec.subnets[*].securityGroup

object

SecurityGroup defines the NSG (network security group) that should be attached to this subnet.

.spec.networkSpec.subnets[*].securityGroup.id

string

.spec.networkSpec.subnets[*].securityGroup.ingressRule

array

IngressRules is a slice of Azure ingress rules for security groups.

.spec.networkSpec.subnets[*].securityGroup.ingressRule[*]

object

IngressRule defines an Azure ingress rule for security groups.

.spec.networkSpec.subnets[*].securityGroup.ingressRule[*].description

string Required

.spec.networkSpec.subnets[*].securityGroup.ingressRule[*].destination

string

Destination - 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.

.spec.networkSpec.subnets[*].securityGroup.ingressRule[*].destinationPorts

string

DestinationPorts - The destination port or range. Integer or range between 0 and 65535. Asterix ‘*’ can also be used to match all ports.

.spec.networkSpec.subnets[*].securityGroup.ingressRule[*].name

string Required

.spec.networkSpec.subnets[*].securityGroup.ingressRule[*].priority

integer

Priority - 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.

.spec.networkSpec.subnets[*].securityGroup.ingressRule[*].protocol

string Required

SecurityGroupProtocol defines the protocol type for a security group rule.

.spec.networkSpec.subnets[*].securityGroup.ingressRule[*].source

string

Source - 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.

.spec.networkSpec.subnets[*].securityGroup.ingressRule[*].sourcePorts

string

SourcePorts - The source port or range. Integer or range between 0 and 65535. Asterix ‘*’ can also be used to match all ports.

.spec.networkSpec.subnets[*].securityGroup.name

string

.spec.networkSpec.subnets[*].securityGroup.tags

object

Tags defines a map of tags.

.spec.networkSpec.vnet

object

Vnet is the configuration for the Azure virtual network.

.spec.networkSpec.vnet.cidrBlock

string

CidrBlock is the CIDR block to be used when the provider creates a managed virtual network. DEPRECATED: Use CIDRBlocks instead

.spec.networkSpec.vnet.cidrBlocks

array

CIDRBlocks defines the virtual network’s address space, specified as one or more address prefixes in CIDR notation.

.spec.networkSpec.vnet.cidrBlocks[*]

string

.spec.networkSpec.vnet.id

string

ID is the identifier of the virtual network this provider should use to create resources.

.spec.networkSpec.vnet.name

string Required

Name defines a name for the virtual network resource.

.spec.networkSpec.vnet.resourceGroup

string

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.

.spec.networkSpec.vnet.tags

object

Tags is a collection of tags describing the resource.

.spec.resourceGroup

string

.spec.subscriptionID

string

.status

object

AzureClusterStatus defines the observed state of AzureCluster.

.status.conditions

array

Conditions defines current service state of the AzureCluster.

.status.conditions[*]

object

Condition defines an observation of a Cluster API resource operational state.

.status.conditions[*].lastTransitionTime

string

Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.

.status.conditions[*].message

string

A human readable message indicating details about the transition. This field may be empty.

.status.conditions[*].reason

string

The reason for the condition’s last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty.

.status.conditions[*].severity

string

Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False.

.status.conditions[*].status

string Required

Status of the condition, one of True, False, Unknown.

.status.conditions[*].type

string Required

Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important.

.status.failureDomains

object

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.

.status.ready

boolean

Ready is true when the provider resource is ready.

Annotations

giantswarm.io/workers-egress-external-public-ip

Since 15.1.0

This annotation allows reusing an existing public IP address for egress traffic of worker nodes. See Setting an egress IP address on Azure

Version v1alpha4

Properties

.apiVersion

string

APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

.kind

string

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

.metadata

object

.spec

object

AzureClusterSpec defines the desired state of AzureCluster.

.spec.additionalTags

object

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.

.spec.azureEnvironment

string

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”

.spec.bastionSpec

object

BastionSpec encapsulates all things related to the Bastions in the cluster.

.spec.bastionSpec.azureBastion

object

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

.spec.bastionSpec.azureBastion.name

string

.spec.bastionSpec.azureBastion.publicIP

object

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

.spec.bastionSpec.azureBastion.publicIP.dnsName

string

.spec.bastionSpec.azureBastion.publicIP.name

string Required

.spec.bastionSpec.azureBastion.subnet

object

SubnetSpec configures an Azure subnet.

.spec.bastionSpec.azureBastion.subnet.cidrBlocks

array

CIDRBlocks defines the subnet’s address space, specified as one or more address prefixes in CIDR notation.

.spec.bastionSpec.azureBastion.subnet.cidrBlocks[*]

string

.spec.bastionSpec.azureBastion.subnet.id

string

ID defines a unique identifier to reference this resource.

.spec.bastionSpec.azureBastion.subnet.name

string Required

Name defines a name for the subnet resource.

.spec.bastionSpec.azureBastion.subnet.natGateway

object

NatGateway associated with this subnet.

.spec.bastionSpec.azureBastion.subnet.natGateway.id

string

.spec.bastionSpec.azureBastion.subnet.natGateway.ip

object

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

.spec.bastionSpec.azureBastion.subnet.natGateway.ip.dnsName

string

.spec.bastionSpec.azureBastion.subnet.natGateway.ip.name

string Required

.spec.bastionSpec.azureBastion.subnet.natGateway.name

string

.spec.bastionSpec.azureBastion.subnet.role

string

Role defines the subnet role (eg. Node, ControlPlane)

.spec.bastionSpec.azureBastion.subnet.routeTable

object

RouteTable defines the route table that should be attached to this subnet.

.spec.bastionSpec.azureBastion.subnet.routeTable.id

string

.spec.bastionSpec.azureBastion.subnet.routeTable.name

string

.spec.bastionSpec.azureBastion.subnet.securityGroup

object

SecurityGroup defines the NSG (network security group) that should be attached to this subnet.

.spec.bastionSpec.azureBastion.subnet.securityGroup.id

string

.spec.bastionSpec.azureBastion.subnet.securityGroup.name

string

.spec.bastionSpec.azureBastion.subnet.securityGroup.securityRules

array

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

.spec.bastionSpec.azureBastion.subnet.securityGroup.securityRules[*]

object

SecurityRule defines an Azure security rule for security groups.

.spec.bastionSpec.azureBastion.subnet.securityGroup.securityRules[*].description

string Required

A description for this rule. Restricted to 140 chars.

.spec.bastionSpec.azureBastion.subnet.securityGroup.securityRules[*].destination

string

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.

.spec.bastionSpec.azureBastion.subnet.securityGroup.securityRules[*].destinationPorts

string

DestinationPorts specifies the destination port or range. Integer or range between 0 and 65535. Asterix ‘*’ can also be used to match all ports.

.spec.bastionSpec.azureBastion.subnet.securityGroup.securityRules[*].direction

string Required

Direction indicates whether the rule applies to inbound, or outbound traffic. “Inbound” or “Outbound”.

.spec.bastionSpec.azureBastion.subnet.securityGroup.securityRules[*].name

string Required

Name is a unique name within the network security group.

.spec.bastionSpec.azureBastion.subnet.securityGroup.securityRules[*].priority

integer

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.

.spec.bastionSpec.azureBastion.subnet.securityGroup.securityRules[*].protocol

string Required

Protocol specifies the protocol type. “Tcp”, “Udp”, “Icmp”, or “*”.

.spec.bastionSpec.azureBastion.subnet.securityGroup.securityRules[*].source

string

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.

.spec.bastionSpec.azureBastion.subnet.securityGroup.securityRules[*].sourcePorts

string

SourcePorts specifies source port or range. Integer or range between 0 and 65535. Asterix ‘*’ can also be used to match all ports.

.spec.bastionSpec.azureBastion.subnet.securityGroup.tags

object

Tags defines a map of tags.

.spec.cloudProviderConfigOverrides

object

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.

.spec.cloudProviderConfigOverrides.backOffs

object

BackOffConfig indicates the back-off config options.

.spec.cloudProviderConfigOverrides.backOffs.cloudProviderBackoff

boolean

.spec.cloudProviderConfigOverrides.backOffs.cloudProviderBackoffDuration

integer

.spec.cloudProviderConfigOverrides.backOffs.cloudProviderBackoffExponent

.spec.cloudProviderConfigOverrides.backOffs.cloudProviderBackoffJitter

.spec.cloudProviderConfigOverrides.backOffs.cloudProviderBackoffRetries

integer

.spec.cloudProviderConfigOverrides.rateLimits

array

.spec.cloudProviderConfigOverrides.rateLimits[*]

object

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

.spec.cloudProviderConfigOverrides.rateLimits[*].config

object

RateLimitConfig indicates the rate limit config options.

.spec.cloudProviderConfigOverrides.rateLimits[*].config.cloudProviderRateLimit

boolean

.spec.cloudProviderConfigOverrides.rateLimits[*].config.cloudProviderRateLimitBucket

integer

.spec.cloudProviderConfigOverrides.rateLimits[*].config.cloudProviderRateLimitBucketWrite

integer

.spec.cloudProviderConfigOverrides.rateLimits[*].config.cloudProviderRateLimitQPS

.spec.cloudProviderConfigOverrides.rateLimits[*].config.cloudProviderRateLimitQPSWrite

.spec.cloudProviderConfigOverrides.rateLimits[*].name

string

Name is the name of the rate limit spec.

.spec.controlPlaneEndpoint

object

ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.

.spec.controlPlaneEndpoint.host

string Required

The hostname on which the API server is serving.

.spec.controlPlaneEndpoint.port

integer Required

The port on which the API server is serving.

.spec.identityRef

object

IdentityRef is a reference to an AzureIdentity to be used when reconciling this cluster

.spec.identityRef.apiVersion

string

API version of the referent.

.spec.identityRef.fieldPath

string

If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: “spec.containers{name}” (where “name” refers to the name of the container that triggered the event) or if no container name is specified “spec.containers[2]” (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.

.spec.identityRef.kind

.spec.identityRef.name

.spec.identityRef.namespace

.spec.identityRef.resourceVersion

string

.spec.identityRef.uid

.spec.location

string Required

.spec.networkSpec

object

NetworkSpec encapsulates all things related to Azure network.

.spec.networkSpec.apiServerLB

object

APIServerLB is the configuration for the control-plane load balancer.

.spec.networkSpec.apiServerLB.frontendIPs

array

.spec.networkSpec.apiServerLB.frontendIPsCount

integer

FrontendIPsCount specifies the number of frontend IP addresses for the load balancer.

.spec.networkSpec.apiServerLB.frontendIPs[*]

object

FrontendIP defines a load balancer frontend IP configuration.

.spec.networkSpec.apiServerLB.frontendIPs[*].name

string Required

.spec.networkSpec.apiServerLB.frontendIPs[*].privateIP

string

.spec.networkSpec.apiServerLB.frontendIPs[*].publicIP

object

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

.spec.networkSpec.apiServerLB.frontendIPs[*].publicIP.dnsName

string

.spec.networkSpec.apiServerLB.frontendIPs[*].publicIP.name

string Required

.spec.networkSpec.apiServerLB.id

string

.spec.networkSpec.apiServerLB.idleTimeoutInMinutes

integer

IdleTimeoutInMinutes specifies the timeout for the TCP idle connection.

.spec.networkSpec.apiServerLB.name

string

.spec.networkSpec.apiServerLB.sku

string

SKU defines an Azure load balancer SKU.

.spec.networkSpec.apiServerLB.type

string

LBType defines an Azure load balancer Type.

.spec.networkSpec.controlPlaneOutboundLB

object

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.

.spec.networkSpec.controlPlaneOutboundLB.frontendIPs

array

.spec.networkSpec.controlPlaneOutboundLB.frontendIPsCount

integer

FrontendIPsCount specifies the number of frontend IP addresses for the load balancer.

.spec.networkSpec.controlPlaneOutboundLB.frontendIPs[*]

object

FrontendIP defines a load balancer frontend IP configuration.

.spec.networkSpec.controlPlaneOutboundLB.frontendIPs[*].name

string Required

.spec.networkSpec.controlPlaneOutboundLB.frontendIPs[*].privateIP

string

.spec.networkSpec.controlPlaneOutboundLB.frontendIPs[*].publicIP

object

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

.spec.networkSpec.controlPlaneOutboundLB.frontendIPs[*].publicIP.dnsName

string

.spec.networkSpec.controlPlaneOutboundLB.frontendIPs[*].publicIP.name

string Required

.spec.networkSpec.controlPlaneOutboundLB.id

string

.spec.networkSpec.controlPlaneOutboundLB.idleTimeoutInMinutes

integer

IdleTimeoutInMinutes specifies the timeout for the TCP idle connection.

.spec.networkSpec.controlPlaneOutboundLB.name

string

.spec.networkSpec.controlPlaneOutboundLB.sku

string

SKU defines an Azure load balancer SKU.

.spec.networkSpec.controlPlaneOutboundLB.type

string

LBType defines an Azure load balancer Type.

.spec.networkSpec.nodeOutboundLB

object

NodeOutboundLB is the configuration for the node outbound load balancer.

.spec.networkSpec.nodeOutboundLB.frontendIPs

array

.spec.networkSpec.nodeOutboundLB.frontendIPsCount

integer

FrontendIPsCount specifies the number of frontend IP addresses for the load balancer.

.spec.networkSpec.nodeOutboundLB.frontendIPs[*]

object

FrontendIP defines a load balancer frontend IP configuration.

.spec.networkSpec.nodeOutboundLB.frontendIPs[*].name

string Required

.spec.networkSpec.nodeOutboundLB.frontendIPs[*].privateIP

string

.spec.networkSpec.nodeOutboundLB.frontendIPs[*].publicIP

object

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

.spec.networkSpec.nodeOutboundLB.frontendIPs[*].publicIP.dnsName

string

.spec.networkSpec.nodeOutboundLB.frontendIPs[*].publicIP.name

string Required

.spec.networkSpec.nodeOutboundLB.id

string

.spec.networkSpec.nodeOutboundLB.idleTimeoutInMinutes

integer

IdleTimeoutInMinutes specifies the timeout for the TCP idle connection.

.spec.networkSpec.nodeOutboundLB.name

string

.spec.networkSpec.nodeOutboundLB.sku

string

SKU defines an Azure load balancer SKU.

.spec.networkSpec.nodeOutboundLB.type

string

LBType defines an Azure load balancer Type.

.spec.networkSpec.privateDNSZoneName

string

PrivateDNSZoneName defines the zone name for the Azure Private DNS.

.spec.networkSpec.subnets

array

Subnets is the configuration for the control-plane subnet and the node subnet.

.spec.networkSpec.subnets[*]

object

SubnetSpec configures an Azure subnet.

.spec.networkSpec.subnets[*].cidrBlocks

array

CIDRBlocks defines the subnet’s address space, specified as one or more address prefixes in CIDR notation.

.spec.networkSpec.subnets[*].cidrBlocks[*]

string

.spec.networkSpec.subnets[*].id

string

ID defines a unique identifier to reference this resource.

.spec.networkSpec.subnets[*].name

string Required

Name defines a name for the subnet resource.

.spec.networkSpec.subnets[*].natGateway

object

NatGateway associated with this subnet.

.spec.networkSpec.subnets[*].natGateway.id

string

.spec.networkSpec.subnets[*].natGateway.ip

object

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

.spec.networkSpec.subnets[*].natGateway.ip.dnsName

string

.spec.networkSpec.subnets[*].natGateway.ip.name

string Required

.spec.networkSpec.subnets[*].natGateway.name

string

.spec.networkSpec.subnets[*].role

string

Role defines the subnet role (eg. Node, ControlPlane)

.spec.networkSpec.subnets[*].routeTable

object

RouteTable defines the route table that should be attached to this subnet.

.spec.networkSpec.subnets[*].routeTable.id

string

.spec.networkSpec.subnets[*].routeTable.name

string

.spec.networkSpec.subnets[*].securityGroup

object

SecurityGroup defines the NSG (network security group) that should be attached to this subnet.

.spec.networkSpec.subnets[*].securityGroup.id

string

.spec.networkSpec.subnets[*].securityGroup.name

string

.spec.networkSpec.subnets[*].securityGroup.securityRules

array

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

.spec.networkSpec.subnets[*].securityGroup.securityRules[*]

object

SecurityRule defines an Azure security rule for security groups.

.spec.networkSpec.subnets[*].securityGroup.securityRules[*].description

string Required

A description for this rule. Restricted to 140 chars.

.spec.networkSpec.subnets[*].securityGroup.securityRules[*].destination

string

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.

.spec.networkSpec.subnets[*].securityGroup.securityRules[*].destinationPorts

string

DestinationPorts specifies the destination port or range. Integer or range between 0 and 65535. Asterix ‘*’ can also be used to match all ports.

.spec.networkSpec.subnets[*].securityGroup.securityRules[*].direction

string Required

Direction indicates whether the rule applies to inbound, or outbound traffic. “Inbound” or “Outbound”.

.spec.networkSpec.subnets[*].securityGroup.securityRules[*].name

string Required

Name is a unique name within the network security group.

.spec.networkSpec.subnets[*].securityGroup.securityRules[*].priority

integer

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.

.spec.networkSpec.subnets[*].securityGroup.securityRules[*].protocol

string Required

Protocol specifies the protocol type. “Tcp”, “Udp”, “Icmp”, or “*”.

.spec.networkSpec.subnets[*].securityGroup.securityRules[*].source

string

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.

.spec.networkSpec.subnets[*].securityGroup.securityRules[*].sourcePorts

string

SourcePorts specifies source port or range. Integer or range between 0 and 65535. Asterix ‘*’ can also be used to match all ports.

.spec.networkSpec.subnets[*].securityGroup.tags

object

Tags defines a map of tags.

.spec.networkSpec.vnet

object

Vnet is the configuration for the Azure virtual network.

.spec.networkSpec.vnet.cidrBlocks

array

CIDRBlocks defines the virtual network’s address space, specified as one or more address prefixes in CIDR notation.

.spec.networkSpec.vnet.cidrBlocks[*]

string

.spec.networkSpec.vnet.id

string

ID is the identifier of the virtual network this provider should use to create resources.

.spec.networkSpec.vnet.name

string Required

Name defines a name for the virtual network resource.

.spec.networkSpec.vnet.resourceGroup

string

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.

.spec.networkSpec.vnet.tags

object

Tags is a collection of tags describing the resource.

.spec.resourceGroup

string

.spec.subscriptionID

string

.status

object

AzureClusterStatus defines the observed state of AzureCluster.

.status.conditions

array

Conditions defines current service state of the AzureCluster.

.status.conditions[*]

object

Condition defines an observation of a Cluster API resource operational state.

.status.conditions[*].lastTransitionTime

string

Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.

.status.conditions[*].message

string

A human readable message indicating details about the transition. This field may be empty.

.status.conditions[*].reason

string

The reason for the condition’s last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty.

.status.conditions[*].severity

string

Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False.

.status.conditions[*].status

string Required

Status of the condition, one of True, False, Unknown.

.status.conditions[*].type

string Required

Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important.

.status.failureDomains

object

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.

.status.longRunningOperationStates

array

LongRunningOperationStates saves the states for Azure long-running operations so they can be continued on the next reconciliation loop.

.status.longRunningOperationStates[*]

object

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

.status.longRunningOperationStates[*].data

string

Data is the base64 url encoded json Azure AutoRest Future.

.status.longRunningOperationStates[*].name

string Required

Name is the name of the Azure resource. Together with the service name, this forms the unique identifier for the future.

.status.longRunningOperationStates[*].resourceGroup

string

ResourceGroup is the Azure resource group for the resource.

.status.longRunningOperationStates[*].serviceName

string Required

ServiceName is the name of the Azure service. Together with the name of the resource, this forms the unique identifier for the future.

.status.longRunningOperationStates[*].type

string Required

Type describes the type of future, such as update, create, delete, etc.

.status.ready

boolean

Ready is true when the provider resource is ready.

Version v1beta1

Properties

.apiVersion

string

APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

.kind

string

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

.metadata

object

.spec

object

AzureClusterSpec defines the desired state of AzureCluster.

.spec.additionalTags

object

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.

.spec.azureEnvironment

string

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”

.spec.bastionSpec

object

BastionSpec encapsulates all things related to the Bastions in the cluster.

.spec.bastionSpec.azureBastion

object

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

.spec.bastionSpec.azureBastion.name

string

.spec.bastionSpec.azureBastion.publicIP

object

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

.spec.bastionSpec.azureBastion.publicIP.dnsName

string

.spec.bastionSpec.azureBastion.publicIP.name

string Required

.spec.bastionSpec.azureBastion.subnet

object

SubnetSpec configures an Azure subnet.

.spec.bastionSpec.azureBastion.subnet.cidrBlocks

array

CIDRBlocks defines the subnet’s address space, specified as one or more address prefixes in CIDR notation.

.spec.bastionSpec.azureBastion.subnet.cidrBlocks[*]

string

.spec.bastionSpec.azureBastion.subnet.id

string

ID is the Azure resource ID of the subnet. READ-ONLY

.spec.bastionSpec.azureBastion.subnet.name

string Required

Name defines a name for the subnet resource.

.spec.bastionSpec.azureBastion.subnet.natGateway

object

NatGateway associated with this subnet.

.spec.bastionSpec.azureBastion.subnet.natGateway.id

string

ID is the Azure resource ID of the NAT gateway. READ-ONLY

.spec.bastionSpec.azureBastion.subnet.natGateway.ip

object

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

.spec.bastionSpec.azureBastion.subnet.natGateway.ip.dnsName

string

.spec.bastionSpec.azureBastion.subnet.natGateway.ip.name

string Required

.spec.bastionSpec.azureBastion.subnet.natGateway.name

string Required

.spec.bastionSpec.azureBastion.subnet.role

string Required

Role defines the subnet role (eg. Node, ControlPlane)

.spec.bastionSpec.azureBastion.subnet.routeTable

object

RouteTable defines the route table that should be attached to this subnet.

.spec.bastionSpec.azureBastion.subnet.routeTable.id

string

ID is the Azure resource ID of the route table. READ-ONLY

.spec.bastionSpec.azureBastion.subnet.routeTable.name

string Required

.spec.bastionSpec.azureBastion.subnet.securityGroup

object

SecurityGroup defines the NSG (network security group) that should be attached to this subnet.

.spec.bastionSpec.azureBastion.subnet.securityGroup.id

string

ID is the Azure resource ID of the security group. READ-ONLY

.spec.bastionSpec.azureBastion.subnet.securityGroup.name

string Required

.spec.bastionSpec.azureBastion.subnet.securityGroup.securityRules

array

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

.spec.bastionSpec.azureBastion.subnet.securityGroup.securityRules[*]

object

SecurityRule defines an Azure security rule for security groups.

.spec.bastionSpec.azureBastion.subnet.securityGroup.securityRules[*].description

string Required

A description for this rule. Restricted to 140 chars.

.spec.bastionSpec.azureBastion.subnet.securityGroup.securityRules[*].destination

string

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.

.spec.bastionSpec.azureBastion.subnet.securityGroup.securityRules[*].destinationPorts

string

DestinationPorts specifies the destination port or range. Integer or range between 0 and 65535. Asterix ‘*’ can also be used to match all ports.

.spec.bastionSpec.azureBastion.subnet.securityGroup.securityRules[*].direction

string Required

Direction indicates whether the rule applies to inbound, or outbound traffic. “Inbound” or “Outbound”.

.spec.bastionSpec.azureBastion.subnet.securityGroup.securityRules[*].name

string Required

Name is a unique name within the network security group.

.spec.bastionSpec.azureBastion.subnet.securityGroup.securityRules[*].priority

integer

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.

.spec.bastionSpec.azureBastion.subnet.securityGroup.securityRules[*].protocol

string Required

Protocol specifies the protocol type. “Tcp”, “Udp”, “Icmp”, or “*”.

.spec.bastionSpec.azureBastion.subnet.securityGroup.securityRules[*].source

string

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.

.spec.bastionSpec.azureBastion.subnet.securityGroup.securityRules[*].sourcePorts

string

SourcePorts specifies source port or range. Integer or range between 0 and 65535. Asterix ‘*’ can also be used to match all ports.

.spec.bastionSpec.azureBastion.subnet.securityGroup.tags

object

Tags defines a map of tags.

.spec.cloudProviderConfigOverrides

object

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.

.spec.cloudProviderConfigOverrides.backOffs

object

BackOffConfig indicates the back-off config options.

.spec.cloudProviderConfigOverrides.backOffs.cloudProviderBackoff

boolean

.spec.cloudProviderConfigOverrides.backOffs.cloudProviderBackoffDuration

integer

.spec.cloudProviderConfigOverrides.backOffs.cloudProviderBackoffExponent

.spec.cloudProviderConfigOverrides.backOffs.cloudProviderBackoffJitter

.spec.cloudProviderConfigOverrides.backOffs.cloudProviderBackoffRetries

integer

.spec.cloudProviderConfigOverrides.rateLimits

array

.spec.cloudProviderConfigOverrides.rateLimits[*]

object

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

.spec.cloudProviderConfigOverrides.rateLimits[*].config

object

RateLimitConfig indicates the rate limit config options.

.spec.cloudProviderConfigOverrides.rateLimits[*].config.cloudProviderRateLimit

boolean

.spec.cloudProviderConfigOverrides.rateLimits[*].config.cloudProviderRateLimitBucket

integer

.spec.cloudProviderConfigOverrides.rateLimits[*].config.cloudProviderRateLimitBucketWrite

integer

.spec.cloudProviderConfigOverrides.rateLimits[*].config.cloudProviderRateLimitQPS

.spec.cloudProviderConfigOverrides.rateLimits[*].config.cloudProviderRateLimitQPSWrite

.spec.cloudProviderConfigOverrides.rateLimits[*].name

string Required

Name is the name of the rate limit spec.

.spec.controlPlaneEndpoint

object

ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.

.spec.controlPlaneEndpoint.host

string Required

The hostname on which the API server is serving.

.spec.controlPlaneEndpoint.port

integer Required

The port on which the API server is serving.

.spec.identityRef

object

IdentityRef is a reference to an AzureIdentity to be used when reconciling this cluster

.spec.identityRef.apiVersion

string

API version of the referent.

.spec.identityRef.fieldPath

string

If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: “spec.containers{name}” (where “name” refers to the name of the container that triggered the event) or if no container name is specified “spec.containers[2]” (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.

.spec.identityRef.kind

.spec.identityRef.name

.spec.identityRef.namespace

.spec.identityRef.resourceVersion

string

.spec.identityRef.uid

.spec.location

string Required

.spec.networkSpec

object

NetworkSpec encapsulates all things related to Azure network.

.spec.networkSpec.apiServerLB

object

APIServerLB is the configuration for the control-plane load balancer.

.spec.networkSpec.apiServerLB.frontendIPs

array

.spec.networkSpec.apiServerLB.frontendIPsCount

integer

FrontendIPsCount specifies the number of frontend IP addresses for the load balancer.

.spec.networkSpec.apiServerLB.frontendIPs[*]

object

FrontendIP defines a load balancer frontend IP configuration.

.spec.networkSpec.apiServerLB.frontendIPs[*].name

string Required

.spec.networkSpec.apiServerLB.frontendIPs[*].privateIP

string

.spec.networkSpec.apiServerLB.frontendIPs[*].publicIP

object

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

.spec.networkSpec.apiServerLB.frontendIPs[*].publicIP.dnsName

string

.spec.networkSpec.apiServerLB.frontendIPs[*].publicIP.name

string Required

.spec.networkSpec.apiServerLB.id

string

ID is the Azure resource ID of the load balancer. READ-ONLY

.spec.networkSpec.apiServerLB.idleTimeoutInMinutes

integer

IdleTimeoutInMinutes specifies the timeout for the TCP idle connection.

.spec.networkSpec.apiServerLB.name

string

.spec.networkSpec.apiServerLB.sku

string

SKU defines an Azure load balancer SKU.

.spec.networkSpec.apiServerLB.type

string

LBType defines an Azure load balancer Type.

.spec.networkSpec.controlPlaneOutboundLB

object

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.

.spec.networkSpec.controlPlaneOutboundLB.frontendIPs

array

.spec.networkSpec.controlPlaneOutboundLB.frontendIPsCount

integer

FrontendIPsCount specifies the number of frontend IP addresses for the load balancer.

.spec.networkSpec.controlPlaneOutboundLB.frontendIPs[*]

object

FrontendIP defines a load balancer frontend IP configuration.

.spec.networkSpec.controlPlaneOutboundLB.frontendIPs[*].name

string Required

.spec.networkSpec.controlPlaneOutboundLB.frontendIPs[*].privateIP

string

.spec.networkSpec.controlPlaneOutboundLB.frontendIPs[*].publicIP

object

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

.spec.networkSpec.controlPlaneOutboundLB.frontendIPs[*].publicIP.dnsName

string

.spec.networkSpec.controlPlaneOutboundLB.frontendIPs[*].publicIP.name

string Required

.spec.networkSpec.controlPlaneOutboundLB.id

string

ID is the Azure resource ID of the load balancer. READ-ONLY

.spec.networkSpec.controlPlaneOutboundLB.idleTimeoutInMinutes

integer

IdleTimeoutInMinutes specifies the timeout for the TCP idle connection.

.spec.networkSpec.controlPlaneOutboundLB.name

string

.spec.networkSpec.controlPlaneOutboundLB.sku

string

SKU defines an Azure load balancer SKU.

.spec.networkSpec.controlPlaneOutboundLB.type

string

LBType defines an Azure load balancer Type.

.spec.networkSpec.nodeOutboundLB

object

NodeOutboundLB is the configuration for the node outbound load balancer.

.spec.networkSpec.nodeOutboundLB.frontendIPs

array

.spec.networkSpec.nodeOutboundLB.frontendIPsCount

integer

FrontendIPsCount specifies the number of frontend IP addresses for the load balancer.

.spec.networkSpec.nodeOutboundLB.frontendIPs[*]

object

FrontendIP defines a load balancer frontend IP configuration.

.spec.networkSpec.nodeOutboundLB.frontendIPs[*].name

string Required

.spec.networkSpec.nodeOutboundLB.frontendIPs[*].privateIP

string

.spec.networkSpec.nodeOutboundLB.frontendIPs[*].publicIP

object

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

.spec.networkSpec.nodeOutboundLB.frontendIPs[*].publicIP.dnsName

string

.spec.networkSpec.nodeOutboundLB.frontendIPs[*].publicIP.name

string Required

.spec.networkSpec.nodeOutboundLB.id

string

ID is the Azure resource ID of the load balancer. READ-ONLY

.spec.networkSpec.nodeOutboundLB.idleTimeoutInMinutes

integer

IdleTimeoutInMinutes specifies the timeout for the TCP idle connection.

.spec.networkSpec.nodeOutboundLB.name

string

.spec.networkSpec.nodeOutboundLB.sku

string

SKU defines an Azure load balancer SKU.

.spec.networkSpec.nodeOutboundLB.type

string

LBType defines an Azure load balancer Type.

.spec.networkSpec.privateDNSZoneName

string

PrivateDNSZoneName defines the zone name for the Azure Private DNS.

.spec.networkSpec.subnets

array

Subnets is the configuration for the control-plane subnet and the node subnet.

.spec.networkSpec.subnets[*]

object

SubnetSpec configures an Azure subnet.

.spec.networkSpec.subnets[*].cidrBlocks

array

CIDRBlocks defines the subnet’s address space, specified as one or more address prefixes in CIDR notation.

.spec.networkSpec.subnets[*].cidrBlocks[*]

string

.spec.networkSpec.subnets[*].id

string

ID is the Azure resource ID of the subnet. READ-ONLY

.spec.networkSpec.subnets[*].name

string Required

Name defines a name for the subnet resource.

.spec.networkSpec.subnets[*].natGateway

object

NatGateway associated with this subnet.

.spec.networkSpec.subnets[*].natGateway.id

string

ID is the Azure resource ID of the NAT gateway. READ-ONLY

.spec.networkSpec.subnets[*].natGateway.ip

object

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

.spec.networkSpec.subnets[*].natGateway.ip.dnsName

string

.spec.networkSpec.subnets[*].natGateway.ip.name

string Required

.spec.networkSpec.subnets[*].natGateway.name

string Required

.spec.networkSpec.subnets[*].role

string Required

Role defines the subnet role (eg. Node, ControlPlane)

.spec.networkSpec.subnets[*].routeTable

object

RouteTable defines the route table that should be attached to this subnet.

.spec.networkSpec.subnets[*].routeTable.id

string

ID is the Azure resource ID of the route table. READ-ONLY

.spec.networkSpec.subnets[*].routeTable.name

string Required

.spec.networkSpec.subnets[*].securityGroup

object

SecurityGroup defines the NSG (network security group) that should be attached to this subnet.

.spec.networkSpec.subnets[*].securityGroup.id

string

ID is the Azure resource ID of the security group. READ-ONLY

.spec.networkSpec.subnets[*].securityGroup.name

string Required

.spec.networkSpec.subnets[*].securityGroup.securityRules

array

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

.spec.networkSpec.subnets[*].securityGroup.securityRules[*]

object

SecurityRule defines an Azure security rule for security groups.

.spec.networkSpec.subnets[*].securityGroup.securityRules[*].description

string Required

A description for this rule. Restricted to 140 chars.

.spec.networkSpec.subnets[*].securityGroup.securityRules[*].destination

string

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.

.spec.networkSpec.subnets[*].securityGroup.securityRules[*].destinationPorts

string

DestinationPorts specifies the destination port or range. Integer or range between 0 and 65535. Asterix ‘*’ can also be used to match all ports.

.spec.networkSpec.subnets[*].securityGroup.securityRules[*].direction

string Required

Direction indicates whether the rule applies to inbound, or outbound traffic. “Inbound” or “Outbound”.

.spec.networkSpec.subnets[*].securityGroup.securityRules[*].name

string Required

Name is a unique name within the network security group.

.spec.networkSpec.subnets[*].securityGroup.securityRules[*].priority

integer

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.

.spec.networkSpec.subnets[*].securityGroup.securityRules[*].protocol

string Required

Protocol specifies the protocol type. “Tcp”, “Udp”, “Icmp”, or “*”.

.spec.networkSpec.subnets[*].securityGroup.securityRules[*].source

string

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.

.spec.networkSpec.subnets[*].securityGroup.securityRules[*].sourcePorts

string

SourcePorts specifies source port or range. Integer or range between 0 and 65535. Asterix ‘*’ can also be used to match all ports.

.spec.networkSpec.subnets[*].securityGroup.tags

object

Tags defines a map of tags.

.spec.networkSpec.vnet

object

Vnet is the configuration for the Azure virtual network.

.spec.networkSpec.vnet.cidrBlocks

array

CIDRBlocks defines the virtual network’s address space, specified as one or more address prefixes in CIDR notation.

.spec.networkSpec.vnet.cidrBlocks[*]

string

.spec.networkSpec.vnet.id

string

ID is the Azure resource ID of the virtual network. READ-ONLY

.spec.networkSpec.vnet.name

string Required

Name defines a name for the virtual network resource.

.spec.networkSpec.vnet.peerings

array

Peerings defines a list of peerings of the newly created virtual network with existing virtual networks.

.spec.networkSpec.vnet.peerings[*]

object

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

.spec.networkSpec.vnet.peerings[*].remoteVnetName

string Required

RemoteVnetName defines name of the remote virtual network.

.spec.networkSpec.vnet.peerings[*].resourceGroup

string

ResourceGroup is the resource group name of the remote virtual network.

.spec.networkSpec.vnet.resourceGroup

string

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.

.spec.networkSpec.vnet.tags

object

Tags is a collection of tags describing the resource.

.spec.resourceGroup

string

.spec.subscriptionID

string

.status

object

AzureClusterStatus defines the observed state of AzureCluster.

.status.conditions

array

Conditions defines current service state of the AzureCluster.

.status.conditions[*]

object

Condition defines an observation of a Cluster API resource operational state.

.status.conditions[*].lastTransitionTime

string Required

Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.

.status.conditions[*].message

string

A human readable message indicating details about the transition. This field may be empty.

.status.conditions[*].reason

string

The reason for the condition’s last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty.

.status.conditions[*].severity

string

Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False.

.status.conditions[*].status

string Required

Status of the condition, one of True, False, Unknown.

.status.conditions[*].type

string Required

Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important.

.status.failureDomains

object

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.

.status.longRunningOperationStates

array

LongRunningOperationStates saves the states for Azure long-running operations so they can be continued on the next reconciliation loop.

.status.longRunningOperationStates[*]

object

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

.status.longRunningOperationStates[*].data

string Required

Data is the base64 url encoded json Azure AutoRest Future.

.status.longRunningOperationStates[*].name

string Required

Name is the name of the Azure resource. Together with the service name, this forms the unique identifier for the future.

.status.longRunningOperationStates[*].resourceGroup

string

ResourceGroup is the Azure resource group for the resource.

.status.longRunningOperationStates[*].serviceName

string Required

ServiceName is the name of the Azure service. Together with the name of the resource, this forms the unique identifier for the future.

.status.longRunningOperationStates[*].type

string Required

Type describes the type of future, such as update, create, delete, etc.

.status.ready

boolean

Ready is true when the provider resource is ready.


This documentation page shows information based on apiextensions v5.0.0.