sigs.k8s.io/cluster-api-provider-azure@v1.14.3/config/crd/bases/infrastructure.cluster.x-k8s.io_azuremachines.yaml (about)

     1  ---
     2  apiVersion: apiextensions.k8s.io/v1
     3  kind: CustomResourceDefinition
     4  metadata:
     5    annotations:
     6      controller-gen.kubebuilder.io/version: v0.13.0
     7    name: azuremachines.infrastructure.cluster.x-k8s.io
     8  spec:
     9    group: infrastructure.cluster.x-k8s.io
    10    names:
    11      categories:
    12      - cluster-api
    13      kind: AzureMachine
    14      listKind: AzureMachineList
    15      plural: azuremachines
    16      singular: azuremachine
    17    scope: Namespaced
    18    versions:
    19    - additionalPrinterColumns:
    20      - description: Cluster to which this AzureMachine belongs
    21        jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name
    22        name: Cluster
    23        priority: 1
    24        type: string
    25      - jsonPath: .status.conditions[?(@.type=='Ready')].status
    26        name: Ready
    27        type: string
    28      - jsonPath: .status.conditions[?(@.type=='Ready')].severity
    29        name: Severity
    30        type: string
    31      - jsonPath: .status.conditions[?(@.type=='Ready')].reason
    32        name: Reason
    33        type: string
    34      - jsonPath: .status.conditions[?(@.type=='Ready')].message
    35        name: Message
    36        priority: 1
    37        type: string
    38      - description: Azure VM provisioning state
    39        jsonPath: .status.vmState
    40        name: State
    41        type: string
    42      - description: Machine object to which this AzureMachine belongs
    43        jsonPath: .metadata.ownerReferences[?(@.kind=="Machine")].name
    44        name: Machine
    45        priority: 1
    46        type: string
    47      - description: Azure VM ID
    48        jsonPath: .spec.providerID
    49        name: VM ID
    50        priority: 1
    51        type: string
    52      - description: Azure VM Size
    53        jsonPath: .spec.vmSize
    54        name: VM Size
    55        priority: 1
    56        type: string
    57      - description: Time duration since creation of this AzureMachine
    58        jsonPath: .metadata.creationTimestamp
    59        name: Age
    60        type: date
    61      name: v1beta1
    62      schema:
    63        openAPIV3Schema:
    64          description: AzureMachine is the Schema for the azuremachines API.
    65          properties:
    66            apiVersion:
    67              description: 'APIVersion defines the versioned schema of this representation
    68                of an object. Servers should convert recognized schemas to the latest
    69                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    70              type: string
    71            kind:
    72              description: 'Kind is a string value representing the REST resource this
    73                object represents. Servers may infer this from the endpoint the client
    74                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    75              type: string
    76            metadata:
    77              type: object
    78            spec:
    79              description: AzureMachineSpec defines the desired state of AzureMachine.
    80              properties:
    81                acceleratedNetworking:
    82                  description: 'Deprecated: AcceleratedNetworking should be set in the
    83                    networkInterfaces field.'
    84                  type: boolean
    85                additionalCapabilities:
    86                  description: AdditionalCapabilities specifies additional capabilities
    87                    enabled or disabled on the virtual machine.
    88                  properties:
    89                    ultraSSDEnabled:
    90                      description: UltraSSDEnabled enables or disables Azure UltraSSD
    91                        capability for the virtual machine. Defaults to true if Ultra
    92                        SSD data disks are specified, otherwise it doesn't set the capability
    93                        on the VM.
    94                      type: boolean
    95                  type: object
    96                additionalTags:
    97                  additionalProperties:
    98                    type: string
    99                  description: AdditionalTags is an optional set of tags to add to an
   100                    instance, in addition to the ones added by default by the Azure
   101                    provider. If both the AzureCluster and the AzureMachine specify
   102                    the same tag name with different values, the AzureMachine's value
   103                    takes precedence.
   104                  type: object
   105                allocatePublicIP:
   106                  description: AllocatePublicIP allows the ability to create dynamic
   107                    public ips for machines where this value is true.
   108                  type: boolean
   109                dataDisks:
   110                  description: DataDisk specifies the parameters that are used to add
   111                    one or more data disks to the machine
   112                  items:
   113                    description: DataDisk specifies the parameters that are used to
   114                      add one or more data disks to the machine.
   115                    properties:
   116                      cachingType:
   117                        description: CachingType specifies the caching requirements.
   118                        enum:
   119                        - None
   120                        - ReadOnly
   121                        - ReadWrite
   122                        type: string
   123                      diskSizeGB:
   124                        description: DiskSizeGB is the size in GB to assign to the data
   125                          disk.
   126                        format: int32
   127                        type: integer
   128                      lun:
   129                        description: Lun Specifies the logical unit number of the data
   130                          disk. This value is used to identify data disks within the
   131                          VM and therefore must be unique for each data disk attached
   132                          to a VM. The value must be between 0 and 63.
   133                        format: int32
   134                        type: integer
   135                      managedDisk:
   136                        description: ManagedDisk specifies the Managed Disk parameters
   137                          for the data disk.
   138                        properties:
   139                          diskEncryptionSet:
   140                            description: DiskEncryptionSet specifies the customer-managed
   141                              disk encryption set resource id for the managed disk.
   142                            properties:
   143                              id:
   144                                description: ID defines resourceID for diskEncryptionSet
   145                                  resource. It must be in the same subscription
   146                                type: string
   147                            type: object
   148                          securityProfile:
   149                            description: SecurityProfile specifies the security profile
   150                              for the managed disk.
   151                            properties:
   152                              diskEncryptionSet:
   153                                description: DiskEncryptionSet specifies the customer-managed
   154                                  disk encryption set resource id for the managed disk
   155                                  that is used for Customer Managed Key encrypted ConfidentialVM
   156                                  OS Disk and VMGuest blob.
   157                                properties:
   158                                  id:
   159                                    description: ID defines resourceID for diskEncryptionSet
   160                                      resource. It must be in the same subscription
   161                                    type: string
   162                                type: object
   163                              securityEncryptionType:
   164                                description: SecurityEncryptionType specifies the encryption
   165                                  type of the managed disk. It is set to DiskWithVMGuestState
   166                                  to encrypt the managed disk along with the VMGuestState
   167                                  blob, and to VMGuestStateOnly to encrypt the VMGuestState
   168                                  blob only. When set to VMGuestStateOnly, VirtualizedTrustedPlatformModule
   169                                  should be set to Enabled. When set to DiskWithVMGuestState,
   170                                  EncryptionAtHost should be disabled, SecureBoot and
   171                                  VirtualizedTrustedPlatformModule should be set to
   172                                  Enabled. It can be set only for Confidential VMs.
   173                                enum:
   174                                - VMGuestStateOnly
   175                                - DiskWithVMGuestState
   176                                type: string
   177                            type: object
   178                          storageAccountType:
   179                            type: string
   180                        type: object
   181                      nameSuffix:
   182                        description: NameSuffix is the suffix to be appended to the
   183                          machine name to generate the disk name. Each disk name will
   184                          be in format <machineName>_<nameSuffix>.
   185                        type: string
   186                    required:
   187                    - diskSizeGB
   188                    - nameSuffix
   189                    type: object
   190                  type: array
   191                diagnostics:
   192                  description: Diagnostics specifies the diagnostics settings for a
   193                    virtual machine. If not specified then Boot diagnostics (Managed)
   194                    will be enabled.
   195                  properties:
   196                    boot:
   197                      description: Boot configures the boot diagnostics settings for
   198                        the virtual machine. This allows to configure capturing serial
   199                        output from the virtual machine on boot. This is useful for
   200                        debugging software based launch issues. If not specified then
   201                        Boot diagnostics (Managed) will be enabled.
   202                      properties:
   203                        storageAccountType:
   204                          description: StorageAccountType determines if the storage
   205                            account for storing the diagnostics data should be disabled
   206                            (Disabled), provisioned by Azure (Managed) or by the user
   207                            (UserManaged).
   208                          enum:
   209                          - Managed
   210                          - UserManaged
   211                          - Disabled
   212                          type: string
   213                        userManaged:
   214                          description: UserManaged provides a reference to the user-managed
   215                            storage account.
   216                          properties:
   217                            storageAccountURI:
   218                              description: 'StorageAccountURI is the URI of the user-managed
   219                                storage account. The URI typically will be `https://<mystorageaccountname>.blob.core.windows.net/`
   220                                but may differ if you are using Azure DNS zone endpoints.
   221                                You can find the correct endpoint by looking for the
   222                                Blob Primary Endpoint in the endpoints tab in the Azure
   223                                console or with the CLI by issuing `az storage account
   224                                list --query=''[].{name: name, "resource group": resourceGroup,
   225                                "blob endpoint": primaryEndpoints.blob}''`.'
   226                              maxLength: 1024
   227                              pattern: ^https://
   228                              type: string
   229                          required:
   230                          - storageAccountURI
   231                          type: object
   232                      required:
   233                      - storageAccountType
   234                      type: object
   235                  type: object
   236                dnsServers:
   237                  description: DNSServers adds a list of DNS Server IP addresses to
   238                    the VM NICs.
   239                  items:
   240                    type: string
   241                  type: array
   242                enableIPForwarding:
   243                  description: EnableIPForwarding enables IP Forwarding in Azure which
   244                    is required for some CNI's to send traffic from a pods on one machine
   245                    to another. This is required for IpV6 with Calico in combination
   246                    with User Defined Routes (set by the Azure Cloud Controller manager).
   247                    Default is false for disabled.
   248                  type: boolean
   249                failureDomain:
   250                  description: FailureDomain is the failure domain unique identifier
   251                    this Machine should be attached to, as defined in Cluster API. This
   252                    relates to an Azure Availability Zone
   253                  type: string
   254                identity:
   255                  default: None
   256                  description: Identity is the type of identity used for the virtual
   257                    machine. The type 'SystemAssigned' is an implicitly created identity.
   258                    The generated identity will be assigned a Subscription contributor
   259                    role. The type 'UserAssigned' is a standalone Azure resource provided
   260                    by the user and assigned to the VM
   261                  enum:
   262                  - None
   263                  - SystemAssigned
   264                  - UserAssigned
   265                  type: string
   266                image:
   267                  description: Image is used to provide details of an image to use during
   268                    VM creation. If image details are omitted the image will default
   269                    the Azure Marketplace "capi" offer, which is based on Ubuntu.
   270                  properties:
   271                    computeGallery:
   272                      description: ComputeGallery specifies an image to use from the
   273                        Azure Compute Gallery
   274                      properties:
   275                        gallery:
   276                          description: Gallery specifies the name of the compute image
   277                            gallery that contains the image
   278                          minLength: 1
   279                          type: string
   280                        name:
   281                          description: Name is the name of the image
   282                          minLength: 1
   283                          type: string
   284                        plan:
   285                          description: Plan contains plan information.
   286                          properties:
   287                            offer:
   288                              description: Offer specifies the name of a group of related
   289                                images created by the publisher. For example, UbuntuServer,
   290                                WindowsServer
   291                              minLength: 1
   292                              type: string
   293                            publisher:
   294                              description: Publisher is the name of the organization
   295                                that created the image
   296                              minLength: 1
   297                              type: string
   298                            sku:
   299                              description: SKU specifies an instance of an offer, such
   300                                as a major release of a distribution. For example, 18.04-LTS,
   301                                2019-Datacenter
   302                              minLength: 1
   303                              type: string
   304                          required:
   305                          - offer
   306                          - publisher
   307                          - sku
   308                          type: object
   309                        resourceGroup:
   310                          description: ResourceGroup specifies the resource group containing
   311                            the private compute gallery.
   312                          type: string
   313                        subscriptionID:
   314                          description: SubscriptionID is the identifier of the subscription
   315                            that contains the private compute gallery.
   316                          type: string
   317                        version:
   318                          description: Version specifies the version of the marketplace
   319                            image. The allowed formats are Major.Minor.Build or 'latest'.
   320                            Major, Minor, and Build are decimal numbers. Specify 'latest'
   321                            to use the latest version of an image available at deploy
   322                            time. Even if you use 'latest', the VM image will not automatically
   323                            update after deploy time even if a new version becomes available.
   324                          minLength: 1
   325                          type: string
   326                      required:
   327                      - gallery
   328                      - name
   329                      - version
   330                      type: object
   331                    id:
   332                      description: ID specifies an image to use by ID
   333                      type: string
   334                    marketplace:
   335                      description: Marketplace specifies an image to use from the Azure
   336                        Marketplace
   337                      properties:
   338                        offer:
   339                          description: Offer specifies the name of a group of related
   340                            images created by the publisher. For example, UbuntuServer,
   341                            WindowsServer
   342                          minLength: 1
   343                          type: string
   344                        publisher:
   345                          description: Publisher is the name of the organization that
   346                            created the image
   347                          minLength: 1
   348                          type: string
   349                        sku:
   350                          description: SKU specifies an instance of an offer, such as
   351                            a major release of a distribution. For example, 18.04-LTS,
   352                            2019-Datacenter
   353                          minLength: 1
   354                          type: string
   355                        thirdPartyImage:
   356                          default: false
   357                          description: ThirdPartyImage indicates the image is published
   358                            by a third party publisher and a Plan will be generated
   359                            for it.
   360                          type: boolean
   361                        version:
   362                          description: Version specifies the version of an image sku.
   363                            The allowed formats are Major.Minor.Build or 'latest'. Major,
   364                            Minor, and Build are decimal numbers. Specify 'latest' to
   365                            use the latest version of an image available at deploy time.
   366                            Even if you use 'latest', the VM image will not automatically
   367                            update after deploy time even if a new version becomes available.
   368                          minLength: 1
   369                          type: string
   370                      required:
   371                      - offer
   372                      - publisher
   373                      - sku
   374                      - version
   375                      type: object
   376                    sharedGallery:
   377                      description: 'SharedGallery specifies an image to use from an
   378                        Azure Shared Image Gallery Deprecated: use ComputeGallery instead.'
   379                      properties:
   380                        gallery:
   381                          description: Gallery specifies the name of the shared image
   382                            gallery that contains the image
   383                          minLength: 1
   384                          type: string
   385                        name:
   386                          description: Name is the name of the image
   387                          minLength: 1
   388                          type: string
   389                        offer:
   390                          description: Offer specifies the name of a group of related
   391                            images created by the publisher. For example, UbuntuServer,
   392                            WindowsServer This value will be used to add a `Plan` in
   393                            the API request when creating the VM/VMSS resource. This
   394                            is needed when the source image from which this SIG image
   395                            was built requires the `Plan` to be used.
   396                          type: string
   397                        publisher:
   398                          description: Publisher is the name of the organization that
   399                            created the image. This value will be used to add a `Plan`
   400                            in the API request when creating the VM/VMSS resource. This
   401                            is needed when the source image from which this SIG image
   402                            was built requires the `Plan` to be used.
   403                          type: string
   404                        resourceGroup:
   405                          description: ResourceGroup specifies the resource group containing
   406                            the shared image gallery
   407                          minLength: 1
   408                          type: string
   409                        sku:
   410                          description: SKU specifies an instance of an offer, such as
   411                            a major release of a distribution. For example, 18.04-LTS,
   412                            2019-Datacenter This value will be used to add a `Plan`
   413                            in the API request when creating the VM/VMSS resource. This
   414                            is needed when the source image from which this SIG image
   415                            was built requires the `Plan` to be used.
   416                          type: string
   417                        subscriptionID:
   418                          description: SubscriptionID is the identifier of the subscription
   419                            that contains the shared image gallery
   420                          minLength: 1
   421                          type: string
   422                        version:
   423                          description: Version specifies the version of the marketplace
   424                            image. The allowed formats are Major.Minor.Build or 'latest'.
   425                            Major, Minor, and Build are decimal numbers. Specify 'latest'
   426                            to use the latest version of an image available at deploy
   427                            time. Even if you use 'latest', the VM image will not automatically
   428                            update after deploy time even if a new version becomes available.
   429                          minLength: 1
   430                          type: string
   431                      required:
   432                      - gallery
   433                      - name
   434                      - resourceGroup
   435                      - subscriptionID
   436                      - version
   437                      type: object
   438                  type: object
   439                networkInterfaces:
   440                  description: NetworkInterfaces specifies a list of network interface
   441                    configurations. If left unspecified, the VM will get a single network
   442                    interface with a single IPConfig in the subnet specified in the
   443                    cluster's node subnet field. The primary interface will be the first
   444                    networkInterface specified (index 0) in the list.
   445                  items:
   446                    description: NetworkInterface defines a network interface.
   447                    properties:
   448                      acceleratedNetworking:
   449                        description: AcceleratedNetworking enables or disables Azure
   450                          accelerated networking. If omitted, it will be set based on
   451                          whether the requested VMSize supports accelerated networking.
   452                          If AcceleratedNetworking is set to true with a VMSize that
   453                          does not support it, Azure will return an error.
   454                        type: boolean
   455                      privateIPConfigs:
   456                        description: PrivateIPConfigs specifies the number of private
   457                          IP addresses to attach to the interface. Defaults to 1 if
   458                          not specified.
   459                        type: integer
   460                      subnetName:
   461                        description: SubnetName specifies the subnet in which the new
   462                          network interface will be placed.
   463                        type: string
   464                    type: object
   465                  type: array
   466                osDisk:
   467                  description: OSDisk specifies the parameters for the operating system
   468                    disk of the machine
   469                  properties:
   470                    cachingType:
   471                      description: CachingType specifies the caching requirements.
   472                      enum:
   473                      - None
   474                      - ReadOnly
   475                      - ReadWrite
   476                      type: string
   477                    diffDiskSettings:
   478                      description: DiffDiskSettings describe ephemeral disk settings
   479                        for the os disk.
   480                      properties:
   481                        option:
   482                          description: Option enables ephemeral OS when set to "Local"
   483                            See https://learn.microsoft.com/azure/virtual-machines/ephemeral-os-disks
   484                            for full details
   485                          enum:
   486                          - Local
   487                          type: string
   488                      required:
   489                      - option
   490                      type: object
   491                    diskSizeGB:
   492                      description: DiskSizeGB is the size in GB to assign to the OS
   493                        disk. Will have a default of 30GB if not provided
   494                      format: int32
   495                      type: integer
   496                    managedDisk:
   497                      description: ManagedDisk specifies the Managed Disk parameters
   498                        for the OS disk.
   499                      properties:
   500                        diskEncryptionSet:
   501                          description: DiskEncryptionSet specifies the customer-managed
   502                            disk encryption set resource id for the managed disk.
   503                          properties:
   504                            id:
   505                              description: ID defines resourceID for diskEncryptionSet
   506                                resource. It must be in the same subscription
   507                              type: string
   508                          type: object
   509                        securityProfile:
   510                          description: SecurityProfile specifies the security profile
   511                            for the managed disk.
   512                          properties:
   513                            diskEncryptionSet:
   514                              description: DiskEncryptionSet specifies the customer-managed
   515                                disk encryption set resource id for the managed disk
   516                                that is used for Customer Managed Key encrypted ConfidentialVM
   517                                OS Disk and VMGuest blob.
   518                              properties:
   519                                id:
   520                                  description: ID defines resourceID for diskEncryptionSet
   521                                    resource. It must be in the same subscription
   522                                  type: string
   523                              type: object
   524                            securityEncryptionType:
   525                              description: SecurityEncryptionType specifies the encryption
   526                                type of the managed disk. It is set to DiskWithVMGuestState
   527                                to encrypt the managed disk along with the VMGuestState
   528                                blob, and to VMGuestStateOnly to encrypt the VMGuestState
   529                                blob only. When set to VMGuestStateOnly, VirtualizedTrustedPlatformModule
   530                                should be set to Enabled. When set to DiskWithVMGuestState,
   531                                EncryptionAtHost should be disabled, SecureBoot and
   532                                VirtualizedTrustedPlatformModule should be set to Enabled.
   533                                It can be set only for Confidential VMs.
   534                              enum:
   535                              - VMGuestStateOnly
   536                              - DiskWithVMGuestState
   537                              type: string
   538                          type: object
   539                        storageAccountType:
   540                          type: string
   541                      type: object
   542                    osType:
   543                      type: string
   544                  required:
   545                  - osType
   546                  type: object
   547                providerID:
   548                  description: ProviderID is the unique identifier as specified by the
   549                    cloud provider.
   550                  type: string
   551                roleAssignmentName:
   552                  description: 'Deprecated: RoleAssignmentName should be set in the
   553                    systemAssignedIdentityRole field.'
   554                  type: string
   555                securityProfile:
   556                  description: SecurityProfile specifies the Security profile settings
   557                    for a virtual machine.
   558                  properties:
   559                    encryptionAtHost:
   560                      description: This field indicates whether Host Encryption should
   561                        be enabled or disabled for a virtual machine or virtual machine
   562                        scale set. This should be disabled when SecurityEncryptionType
   563                        is set to DiskWithVMGuestState. Default is disabled.
   564                      type: boolean
   565                    securityType:
   566                      description: 'SecurityType specifies the SecurityType of the virtual
   567                        machine. It has to be set to any specified value to enable UefiSettings.
   568                        The default behavior is: UefiSettings will not be enabled unless
   569                        this property is set.'
   570                      enum:
   571                      - ConfidentialVM
   572                      - TrustedLaunch
   573                      type: string
   574                    uefiSettings:
   575                      description: UefiSettings specifies the security settings like
   576                        secure boot and vTPM used while creating the virtual machine.
   577                      properties:
   578                        secureBootEnabled:
   579                          description: SecureBootEnabled specifies whether secure boot
   580                            should be enabled on the virtual machine. Secure Boot verifies
   581                            the digital signature of all boot components and halts the
   582                            boot process if signature verification fails. If omitted,
   583                            the platform chooses a default, which is subject to change
   584                            over time, currently that default is false.
   585                          type: boolean
   586                        vTpmEnabled:
   587                          description: VTpmEnabled specifies whether vTPM should be
   588                            enabled on the virtual machine. When true it enables the
   589                            virtualized trusted platform module measurements to create
   590                            a known good boot integrity policy baseline. The integrity
   591                            policy baseline is used for comparison with measurements
   592                            from subsequent VM boots to determine if anything has changed.
   593                            This is required to be set to Enabled if SecurityEncryptionType
   594                            is defined. If omitted, the platform chooses a default,
   595                            which is subject to change over time, currently that default
   596                            is false.
   597                          type: boolean
   598                      type: object
   599                  type: object
   600                spotVMOptions:
   601                  description: SpotVMOptions allows the ability to specify the Machine
   602                    should use a Spot VM
   603                  properties:
   604                    evictionPolicy:
   605                      description: EvictionPolicy defines the behavior of the virtual
   606                        machine when it is evicted. It can be either Delete or Deallocate.
   607                      enum:
   608                      - Deallocate
   609                      - Delete
   610                      type: string
   611                    maxPrice:
   612                      anyOf:
   613                      - type: integer
   614                      - type: string
   615                      description: MaxPrice defines the maximum price the user is willing
   616                        to pay for Spot VM instances
   617                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   618                      x-kubernetes-int-or-string: true
   619                  type: object
   620                sshPublicKey:
   621                  description: SSHPublicKey is the SSH public key string, base64-encoded
   622                    to add to a Virtual Machine. Linux only. Refer to documentation
   623                    on how to set up SSH access on Windows instances.
   624                  type: string
   625                subnetName:
   626                  description: 'Deprecated: SubnetName should be set in the networkInterfaces
   627                    field.'
   628                  type: string
   629                systemAssignedIdentityRole:
   630                  description: SystemAssignedIdentityRole defines the role and scope
   631                    to assign to the system-assigned identity.
   632                  properties:
   633                    definitionID:
   634                      description: 'DefinitionID is the ID of the role definition to
   635                        create for a system assigned identity. It can be an Azure built-in
   636                        role or a custom role. Refer to built-in roles: https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles'
   637                      type: string
   638                    name:
   639                      description: Name is the name of the role assignment to create
   640                        for a system assigned identity. It can be any valid UUID. If
   641                        not specified, a random UUID will be generated.
   642                      type: string
   643                    scope:
   644                      description: Scope is the scope that the role assignment or definition
   645                        applies to. The scope can be any REST resource instance. If
   646                        not specified, the scope will be the subscription.
   647                      type: string
   648                  type: object
   649                userAssignedIdentities:
   650                  description: UserAssignedIdentities is a list of standalone Azure
   651                    identities provided by the user The lifecycle of a user-assigned
   652                    identity is managed separately from the lifecycle of the AzureMachine.
   653                    See https://learn.microsoft.com/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli
   654                  items:
   655                    description: UserAssignedIdentity defines the user-assigned identities
   656                      provided by the user to be assigned to Azure resources.
   657                    properties:
   658                      providerID:
   659                        description: 'ProviderID is the identification ID of the user-assigned
   660                          Identity, the format of an identity is: ''azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'''
   661                        type: string
   662                    required:
   663                    - providerID
   664                    type: object
   665                  type: array
   666                vmExtensions:
   667                  description: VMExtensions specifies a list of extensions to be added
   668                    to the virtual machine.
   669                  items:
   670                    description: VMExtension specifies the parameters for a custom VM
   671                      extension.
   672                    properties:
   673                      name:
   674                        description: Name is the name of the extension.
   675                        type: string
   676                      protectedSettings:
   677                        additionalProperties:
   678                          type: string
   679                        description: ProtectedSettings is a JSON formatted protected
   680                          settings for the extension.
   681                        type: object
   682                      publisher:
   683                        description: Publisher is the name of the extension handler
   684                          publisher.
   685                        type: string
   686                      settings:
   687                        additionalProperties:
   688                          type: string
   689                        description: Settings is a JSON formatted public settings for
   690                          the extension.
   691                        type: object
   692                      version:
   693                        description: Version specifies the version of the script handler.
   694                        type: string
   695                    required:
   696                    - name
   697                    - publisher
   698                    - version
   699                    type: object
   700                  type: array
   701                vmSize:
   702                  type: string
   703              required:
   704              - osDisk
   705              - vmSize
   706              type: object
   707            status:
   708              description: AzureMachineStatus defines the observed state of AzureMachine.
   709              properties:
   710                addresses:
   711                  description: Addresses contains the Azure instance associated addresses.
   712                  items:
   713                    description: NodeAddress contains information for the node's address.
   714                    properties:
   715                      address:
   716                        description: The node address.
   717                        type: string
   718                      type:
   719                        description: Node address type, one of Hostname, ExternalIP
   720                          or InternalIP.
   721                        type: string
   722                    required:
   723                    - address
   724                    - type
   725                    type: object
   726                  type: array
   727                conditions:
   728                  description: Conditions defines current service state of the AzureMachine.
   729                  items:
   730                    description: Condition defines an observation of a Cluster API resource
   731                      operational state.
   732                    properties:
   733                      lastTransitionTime:
   734                        description: Last time the condition transitioned from one status
   735                          to another. This should be when the underlying condition changed.
   736                          If that is not known, then using the time when the API field
   737                          changed is acceptable.
   738                        format: date-time
   739                        type: string
   740                      message:
   741                        description: A human readable message indicating details about
   742                          the transition. This field may be empty.
   743                        type: string
   744                      reason:
   745                        description: The reason for the condition's last transition
   746                          in CamelCase. The specific API may choose whether or not this
   747                          field is considered a guaranteed API. This field may not be
   748                          empty.
   749                        type: string
   750                      severity:
   751                        description: Severity provides an explicit classification of
   752                          Reason code, so the users or machines can immediately understand
   753                          the current situation and act accordingly. The Severity field
   754                          MUST be set only when Status=False.
   755                        type: string
   756                      status:
   757                        description: Status of the condition, one of True, False, Unknown.
   758                        type: string
   759                      type:
   760                        description: Type of condition in CamelCase or in foo.example.com/CamelCase.
   761                          Many .condition.type values are consistent across resources
   762                          like Available, but because arbitrary conditions can be useful
   763                          (see .node.status.conditions), the ability to deconflict is
   764                          important.
   765                        type: string
   766                    required:
   767                    - lastTransitionTime
   768                    - status
   769                    - type
   770                    type: object
   771                  type: array
   772                failureMessage:
   773                  description: "ErrorMessage will be set in the event that there is
   774                    a terminal problem reconciling the Machine and will contain a more
   775                    verbose string suitable for logging and human consumption. \n This
   776                    field should not be set for transitive errors that a controller
   777                    faces that are expected to be fixed automatically over time (like
   778                    service outages), but instead indicate that something is fundamentally
   779                    wrong with the Machine's spec or the configuration of the controller,
   780                    and that manual intervention is required. Examples of terminal errors
   781                    would be invalid combinations of settings in the spec, values that
   782                    are unsupported by the controller, or the responsible controller
   783                    itself being critically misconfigured. \n Any transient errors that
   784                    occur during the reconciliation of Machines can be added as events
   785                    to the Machine object and/or logged in the controller's output."
   786                  type: string
   787                failureReason:
   788                  description: "ErrorReason will be set in the event that there is a
   789                    terminal problem reconciling the Machine and will contain a succinct
   790                    value suitable for machine interpretation. \n This field should
   791                    not be set for transitive errors that a controller faces that are
   792                    expected to be fixed automatically over time (like service outages),
   793                    but instead indicate that something is fundamentally wrong with
   794                    the Machine's spec or the configuration of the controller, and that
   795                    manual intervention is required. Examples of terminal errors would
   796                    be invalid combinations of settings in the spec, values that are
   797                    unsupported by the controller, or the responsible controller itself
   798                    being critically misconfigured. \n Any transient errors that occur
   799                    during the reconciliation of Machines can be added as events to
   800                    the Machine object and/or logged in the controller's output."
   801                  type: string
   802                longRunningOperationStates:
   803                  description: LongRunningOperationStates saves the states for Azure
   804                    long-running operations so they can be continued on the next reconciliation
   805                    loop.
   806                  items:
   807                    description: Future contains the data needed for an Azure long-running
   808                      operation to continue across reconcile loops.
   809                    properties:
   810                      data:
   811                        description: Data is the base64 url encoded json Azure AutoRest
   812                          Future.
   813                        type: string
   814                      name:
   815                        description: Name is the name of the Azure resource. Together
   816                          with the service name, this forms the unique identifier for
   817                          the future.
   818                        type: string
   819                      resourceGroup:
   820                        description: ResourceGroup is the Azure resource group for the
   821                          resource.
   822                        type: string
   823                      serviceName:
   824                        description: ServiceName is the name of the Azure service. Together
   825                          with the name of the resource, this forms the unique identifier
   826                          for the future.
   827                        type: string
   828                      type:
   829                        description: Type describes the type of future, such as update,
   830                          create, delete, etc.
   831                        type: string
   832                    required:
   833                    - data
   834                    - name
   835                    - serviceName
   836                    - type
   837                    type: object
   838                  type: array
   839                ready:
   840                  description: Ready is true when the provider resource is ready.
   841                  type: boolean
   842                vmState:
   843                  description: VMState is the provisioning state of the Azure virtual
   844                    machine.
   845                  type: string
   846              type: object
   847          type: object
   848      served: true
   849      storage: true
   850      subresources:
   851        status: {}