sigs.k8s.io/cluster-api-provider-azure@v1.14.3/config/crd/bases/infrastructure.cluster.x-k8s.io_azuremachinepools.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: azuremachinepools.infrastructure.cluster.x-k8s.io
     8  spec:
     9    group: infrastructure.cluster.x-k8s.io
    10    names:
    11      categories:
    12      - cluster-api
    13      kind: AzureMachinePool
    14      listKind: AzureMachinePoolList
    15      plural: azuremachinepools
    16      shortNames:
    17      - amp
    18      singular: azuremachinepool
    19    scope: Namespaced
    20    versions:
    21    - additionalPrinterColumns:
    22      - description: AzureMachinePool replicas count
    23        jsonPath: .status.replicas
    24        name: Replicas
    25        type: string
    26      - description: AzureMachinePool replicas count
    27        jsonPath: .status.ready
    28        name: Ready
    29        type: string
    30      - description: Azure VMSS provisioning state
    31        jsonPath: .status.provisioningState
    32        name: State
    33        type: string
    34      - description: Cluster to which this AzureMachinePool belongs
    35        jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name
    36        name: Cluster
    37        priority: 1
    38        type: string
    39      - description: MachinePool object to which this AzureMachinePool belongs
    40        jsonPath: .metadata.ownerReferences[?(@.kind=="MachinePool")].name
    41        name: MachinePool
    42        priority: 1
    43        type: string
    44      - description: Azure VMSS ID
    45        jsonPath: .spec.providerID
    46        name: VMSS ID
    47        priority: 1
    48        type: string
    49      - description: Azure VM Size
    50        jsonPath: .spec.template.vmSize
    51        name: VM Size
    52        priority: 1
    53        type: string
    54      - description: Time duration since creation of this AzureMachinePool
    55        jsonPath: .metadata.creationTimestamp
    56        name: Age
    57        type: date
    58      name: v1beta1
    59      schema:
    60        openAPIV3Schema:
    61          description: AzureMachinePool is the Schema for the azuremachinepools API.
    62          properties:
    63            apiVersion:
    64              description: 'APIVersion defines the versioned schema of this representation
    65                of an object. Servers should convert recognized schemas to the latest
    66                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    67              type: string
    68            kind:
    69              description: 'Kind is a string value representing the REST resource this
    70                object represents. Servers may infer this from the endpoint the client
    71                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    72              type: string
    73            metadata:
    74              type: object
    75            spec:
    76              description: AzureMachinePoolSpec defines the desired state of AzureMachinePool.
    77              properties:
    78                additionalTags:
    79                  additionalProperties:
    80                    type: string
    81                  description: AdditionalTags is an optional set of tags to add to an
    82                    instance, in addition to the ones added by default by the Azure
    83                    provider. If both the AzureCluster and the AzureMachine specify
    84                    the same tag name with different values, the AzureMachine's value
    85                    takes precedence.
    86                  type: object
    87                identity:
    88                  default: None
    89                  description: Identity is the type of identity used for the Virtual
    90                    Machine Scale Set. The type 'SystemAssigned' is an implicitly created
    91                    identity. The generated identity will be assigned a Subscription
    92                    contributor role. The type 'UserAssigned' is a standalone Azure
    93                    resource provided by the user and assigned to the VM
    94                  enum:
    95                  - None
    96                  - SystemAssigned
    97                  - UserAssigned
    98                  type: string
    99                location:
   100                  description: Location is the Azure region location e.g. westus2
   101                  type: string
   102                orchestrationMode:
   103                  default: Uniform
   104                  description: OrchestrationMode specifies the orchestration mode for
   105                    the Virtual Machine Scale Set
   106                  enum:
   107                  - Flexible
   108                  - Uniform
   109                  type: string
   110                platformFaultDomainCount:
   111                  description: PlatformFaultDomainCount specifies the number of fault
   112                    domains that the Virtual Machine Scale Set can use. The count determines
   113                    the spreading algorithm of the Azure fault domain.
   114                  format: int32
   115                  type: integer
   116                providerID:
   117                  description: ProviderID is the identification ID of the Virtual Machine
   118                    Scale Set
   119                  type: string
   120                providerIDList:
   121                  description: ProviderIDList are the identification IDs of machine
   122                    instances provided by the provider. This field must match the provider
   123                    IDs as seen on the node objects corresponding to a machine pool's
   124                    machine instances.
   125                  items:
   126                    type: string
   127                  type: array
   128                roleAssignmentName:
   129                  description: 'Deprecated: RoleAssignmentName should be set in the
   130                    systemAssignedIdentityRole field.'
   131                  type: string
   132                strategy:
   133                  default:
   134                    rollingUpdate:
   135                      deletePolicy: Oldest
   136                      maxSurge: 1
   137                      maxUnavailable: 0
   138                    type: RollingUpdate
   139                  description: The deployment strategy to use to replace existing AzureMachinePoolMachines
   140                    with new ones.
   141                  properties:
   142                    rollingUpdate:
   143                      description: Rolling update config params. Present only if MachineDeploymentStrategyType
   144                        = RollingUpdate.
   145                      properties:
   146                        deletePolicy:
   147                          default: Oldest
   148                          description: DeletePolicy defines the policy used by the MachineDeployment
   149                            to identify nodes to delete when downscaling. Valid values
   150                            are "Random, "Newest", "Oldest" When no value is supplied,
   151                            the default is Oldest
   152                          enum:
   153                          - Random
   154                          - Newest
   155                          - Oldest
   156                          type: string
   157                        maxSurge:
   158                          anyOf:
   159                          - type: integer
   160                          - type: string
   161                          default: 1
   162                          description: 'The maximum number of machines that can be scheduled
   163                            above the desired number of machines. Value can be an absolute
   164                            number (ex: 5) or a percentage of desired machines (ex:
   165                            10%). This can not be 0 if MaxUnavailable is 0. Absolute
   166                            number is calculated from percentage by rounding up. Defaults
   167                            to 1. Example: when this is set to 30%, the new MachineSet
   168                            can be scaled up immediately when the rolling update starts,
   169                            such that the total number of old and new machines do not
   170                            exceed 130% of desired machines. Once old machines have
   171                            been killed, new MachineSet can be scaled up further, ensuring
   172                            that total number of machines running at any time during
   173                            the update is at most 130% of desired machines.'
   174                          x-kubernetes-int-or-string: true
   175                        maxUnavailable:
   176                          anyOf:
   177                          - type: integer
   178                          - type: string
   179                          default: 0
   180                          description: 'The maximum number of machines that can be unavailable
   181                            during the update. Value can be an absolute number (ex:
   182                            5) or a percentage of desired machines (ex: 10%). Absolute
   183                            number is calculated from percentage by rounding down. This
   184                            can not be 0 if MaxSurge is 0. Defaults to 0. Example: when
   185                            this is set to 30%, the old MachineSet can be scaled down
   186                            to 70% of desired machines immediately when the rolling
   187                            update starts. Once new machines are ready, old MachineSet
   188                            can be scaled down further, followed by scaling up the new
   189                            MachineSet, ensuring that the total number of machines available
   190                            at all times during the update is at least 70% of desired
   191                            machines.'
   192                          x-kubernetes-int-or-string: true
   193                      type: object
   194                    type:
   195                      default: RollingUpdate
   196                      description: Type of deployment. Currently the only supported
   197                        strategy is RollingUpdate
   198                      enum:
   199                      - RollingUpdate
   200                      type: string
   201                  type: object
   202                systemAssignedIdentityRole:
   203                  description: SystemAssignedIdentityRole defines the role and scope
   204                    to assign to the system assigned identity.
   205                  properties:
   206                    definitionID:
   207                      description: 'DefinitionID is the ID of the role definition to
   208                        create for a system assigned identity. It can be an Azure built-in
   209                        role or a custom role. Refer to built-in roles: https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles'
   210                      type: string
   211                    name:
   212                      description: Name is the name of the role assignment to create
   213                        for a system assigned identity. It can be any valid UUID. If
   214                        not specified, a random UUID will be generated.
   215                      type: string
   216                    scope:
   217                      description: Scope is the scope that the role assignment or definition
   218                        applies to. The scope can be any REST resource instance. If
   219                        not specified, the scope will be the subscription.
   220                      type: string
   221                  type: object
   222                template:
   223                  description: Template contains the details used to build a replica
   224                    virtual machine within the Machine Pool
   225                  properties:
   226                    acceleratedNetworking:
   227                      description: 'Deprecated: AcceleratedNetworking should be set
   228                        in the networkInterfaces field.'
   229                      type: boolean
   230                    dataDisks:
   231                      description: DataDisks specifies the list of data disks to be
   232                        created for a Virtual Machine
   233                      items:
   234                        description: DataDisk specifies the parameters that are used
   235                          to add one or more data disks to the machine.
   236                        properties:
   237                          cachingType:
   238                            description: CachingType specifies the caching requirements.
   239                            enum:
   240                            - None
   241                            - ReadOnly
   242                            - ReadWrite
   243                            type: string
   244                          diskSizeGB:
   245                            description: DiskSizeGB is the size in GB to assign to the
   246                              data disk.
   247                            format: int32
   248                            type: integer
   249                          lun:
   250                            description: Lun Specifies the logical unit number of the
   251                              data disk. This value is used to identify data disks within
   252                              the VM and therefore must be unique for each data disk
   253                              attached to a VM. The value must be between 0 and 63.
   254                            format: int32
   255                            type: integer
   256                          managedDisk:
   257                            description: ManagedDisk specifies the Managed Disk parameters
   258                              for the data disk.
   259                            properties:
   260                              diskEncryptionSet:
   261                                description: DiskEncryptionSet specifies the customer-managed
   262                                  disk encryption set resource id for the managed disk.
   263                                properties:
   264                                  id:
   265                                    description: ID defines resourceID for diskEncryptionSet
   266                                      resource. It must be in the same subscription
   267                                    type: string
   268                                type: object
   269                              securityProfile:
   270                                description: SecurityProfile specifies the security
   271                                  profile for the managed disk.
   272                                properties:
   273                                  diskEncryptionSet:
   274                                    description: DiskEncryptionSet specifies the customer-managed
   275                                      disk encryption set resource id for the managed
   276                                      disk that is used for Customer Managed Key encrypted
   277                                      ConfidentialVM OS Disk and VMGuest blob.
   278                                    properties:
   279                                      id:
   280                                        description: ID defines resourceID for diskEncryptionSet
   281                                          resource. It must be in the same subscription
   282                                        type: string
   283                                    type: object
   284                                  securityEncryptionType:
   285                                    description: SecurityEncryptionType specifies the
   286                                      encryption type of the managed disk. It is set
   287                                      to DiskWithVMGuestState to encrypt the managed
   288                                      disk along with the VMGuestState blob, and to
   289                                      VMGuestStateOnly to encrypt the VMGuestState blob
   290                                      only. When set to VMGuestStateOnly, VirtualizedTrustedPlatformModule
   291                                      should be set to Enabled. When set to DiskWithVMGuestState,
   292                                      EncryptionAtHost should be disabled, SecureBoot
   293                                      and VirtualizedTrustedPlatformModule should be
   294                                      set to Enabled. It can be set only for Confidential
   295                                      VMs.
   296                                    enum:
   297                                    - VMGuestStateOnly
   298                                    - DiskWithVMGuestState
   299                                    type: string
   300                                type: object
   301                              storageAccountType:
   302                                type: string
   303                            type: object
   304                          nameSuffix:
   305                            description: NameSuffix is the suffix to be appended to
   306                              the machine name to generate the disk name. Each disk
   307                              name will be in format <machineName>_<nameSuffix>.
   308                            type: string
   309                        required:
   310                        - diskSizeGB
   311                        - nameSuffix
   312                        type: object
   313                      type: array
   314                    diagnostics:
   315                      description: Diagnostics specifies the diagnostics settings for
   316                        a virtual machine. If not specified then Boot diagnostics (Managed)
   317                        will be enabled.
   318                      properties:
   319                        boot:
   320                          description: Boot configures the boot diagnostics settings
   321                            for the virtual machine. This allows to configure capturing
   322                            serial output from the virtual machine on boot. This is
   323                            useful for debugging software based launch issues. If not
   324                            specified then Boot diagnostics (Managed) will be enabled.
   325                          properties:
   326                            storageAccountType:
   327                              description: StorageAccountType determines if the storage
   328                                account for storing the diagnostics data should be disabled
   329                                (Disabled), provisioned by Azure (Managed) or by the
   330                                user (UserManaged).
   331                              enum:
   332                              - Managed
   333                              - UserManaged
   334                              - Disabled
   335                              type: string
   336                            userManaged:
   337                              description: UserManaged provides a reference to the user-managed
   338                                storage account.
   339                              properties:
   340                                storageAccountURI:
   341                                  description: 'StorageAccountURI is the URI of the
   342                                    user-managed storage account. The URI typically
   343                                    will be `https://<mystorageaccountname>.blob.core.windows.net/`
   344                                    but may differ if you are using Azure DNS zone endpoints.
   345                                    You can find the correct endpoint by looking for
   346                                    the Blob Primary Endpoint in the endpoints tab in
   347                                    the Azure console or with the CLI by issuing `az
   348                                    storage account list --query=''[].{name: name, "resource
   349                                    group": resourceGroup, "blob endpoint": primaryEndpoints.blob}''`.'
   350                                  maxLength: 1024
   351                                  pattern: ^https://
   352                                  type: string
   353                              required:
   354                              - storageAccountURI
   355                              type: object
   356                          required:
   357                          - storageAccountType
   358                          type: object
   359                      type: object
   360                    image:
   361                      description: Image is used to provide details of an image to use
   362                        during VM creation. If image details are omitted the image will
   363                        default the Azure Marketplace "capi" offer, which is based on
   364                        Ubuntu.
   365                      properties:
   366                        computeGallery:
   367                          description: ComputeGallery specifies an image to use from
   368                            the Azure Compute Gallery
   369                          properties:
   370                            gallery:
   371                              description: Gallery specifies the name of the compute
   372                                image gallery that contains the image
   373                              minLength: 1
   374                              type: string
   375                            name:
   376                              description: Name is the name of the image
   377                              minLength: 1
   378                              type: string
   379                            plan:
   380                              description: Plan contains plan information.
   381                              properties:
   382                                offer:
   383                                  description: Offer specifies the name of a group of
   384                                    related images created by the publisher. For example,
   385                                    UbuntuServer, WindowsServer
   386                                  minLength: 1
   387                                  type: string
   388                                publisher:
   389                                  description: Publisher is the name of the organization
   390                                    that created the image
   391                                  minLength: 1
   392                                  type: string
   393                                sku:
   394                                  description: SKU specifies an instance of an offer,
   395                                    such as a major release of a distribution. For example,
   396                                    18.04-LTS, 2019-Datacenter
   397                                  minLength: 1
   398                                  type: string
   399                              required:
   400                              - offer
   401                              - publisher
   402                              - sku
   403                              type: object
   404                            resourceGroup:
   405                              description: ResourceGroup specifies the resource group
   406                                containing the private compute gallery.
   407                              type: string
   408                            subscriptionID:
   409                              description: SubscriptionID is the identifier of the subscription
   410                                that contains the private compute gallery.
   411                              type: string
   412                            version:
   413                              description: Version specifies the version of the marketplace
   414                                image. The allowed formats are Major.Minor.Build or
   415                                'latest'. Major, Minor, and Build are decimal numbers.
   416                                Specify 'latest' to use the latest version of an image
   417                                available at deploy time. Even if you use 'latest',
   418                                the VM image will not automatically update after deploy
   419                                time even if a new version becomes available.
   420                              minLength: 1
   421                              type: string
   422                          required:
   423                          - gallery
   424                          - name
   425                          - version
   426                          type: object
   427                        id:
   428                          description: ID specifies an image to use by ID
   429                          type: string
   430                        marketplace:
   431                          description: Marketplace specifies an image to use from the
   432                            Azure Marketplace
   433                          properties:
   434                            offer:
   435                              description: Offer specifies the name of a group of related
   436                                images created by the publisher. For example, UbuntuServer,
   437                                WindowsServer
   438                              minLength: 1
   439                              type: string
   440                            publisher:
   441                              description: Publisher is the name of the organization
   442                                that created the image
   443                              minLength: 1
   444                              type: string
   445                            sku:
   446                              description: SKU specifies an instance of an offer, such
   447                                as a major release of a distribution. For example, 18.04-LTS,
   448                                2019-Datacenter
   449                              minLength: 1
   450                              type: string
   451                            thirdPartyImage:
   452                              default: false
   453                              description: ThirdPartyImage indicates the image is published
   454                                by a third party publisher and a Plan will be generated
   455                                for it.
   456                              type: boolean
   457                            version:
   458                              description: Version specifies the version of an image
   459                                sku. The allowed formats are Major.Minor.Build or 'latest'.
   460                                Major, Minor, and Build are decimal numbers. Specify
   461                                'latest' to use the latest version of an image available
   462                                at deploy time. Even if you use 'latest', the VM image
   463                                will not automatically update after deploy time even
   464                                if a new version becomes available.
   465                              minLength: 1
   466                              type: string
   467                          required:
   468                          - offer
   469                          - publisher
   470                          - sku
   471                          - version
   472                          type: object
   473                        sharedGallery:
   474                          description: 'SharedGallery specifies an image to use from
   475                            an Azure Shared Image Gallery Deprecated: use ComputeGallery
   476                            instead.'
   477                          properties:
   478                            gallery:
   479                              description: Gallery specifies the name of the shared
   480                                image gallery that contains the image
   481                              minLength: 1
   482                              type: string
   483                            name:
   484                              description: Name is the name of the image
   485                              minLength: 1
   486                              type: string
   487                            offer:
   488                              description: Offer specifies the name of a group of related
   489                                images created by the publisher. For example, UbuntuServer,
   490                                WindowsServer This value will be used to add a `Plan`
   491                                in the API request when creating the VM/VMSS resource.
   492                                This is needed when the source image from which this
   493                                SIG image was built requires the `Plan` to be used.
   494                              type: string
   495                            publisher:
   496                              description: Publisher is the name of the organization
   497                                that created the image. This value will be used to add
   498                                a `Plan` in the API request when creating the VM/VMSS
   499                                resource. This is needed when the source image from
   500                                which this SIG image was built requires the `Plan` to
   501                                be used.
   502                              type: string
   503                            resourceGroup:
   504                              description: ResourceGroup specifies the resource group
   505                                containing the shared image gallery
   506                              minLength: 1
   507                              type: string
   508                            sku:
   509                              description: SKU specifies an instance of an offer, such
   510                                as a major release of a distribution. For example, 18.04-LTS,
   511                                2019-Datacenter This value will be used to add a `Plan`
   512                                in the API request when creating the VM/VMSS resource.
   513                                This is needed when the source image from which this
   514                                SIG image was built requires the `Plan` to be used.
   515                              type: string
   516                            subscriptionID:
   517                              description: SubscriptionID is the identifier of the subscription
   518                                that contains the shared image gallery
   519                              minLength: 1
   520                              type: string
   521                            version:
   522                              description: Version specifies the version of the marketplace
   523                                image. The allowed formats are Major.Minor.Build or
   524                                'latest'. Major, Minor, and Build are decimal numbers.
   525                                Specify 'latest' to use the latest version of an image
   526                                available at deploy time. Even if you use 'latest',
   527                                the VM image will not automatically update after deploy
   528                                time even if a new version becomes available.
   529                              minLength: 1
   530                              type: string
   531                          required:
   532                          - gallery
   533                          - name
   534                          - resourceGroup
   535                          - subscriptionID
   536                          - version
   537                          type: object
   538                      type: object
   539                    networkInterfaces:
   540                      description: NetworkInterfaces specifies a list of network interface
   541                        configurations. If left unspecified, the VM will get a single
   542                        network interface with a single IPConfig in the subnet specified
   543                        in the cluster's node subnet field. The primary interface will
   544                        be the first networkInterface specified (index 0) in the list.
   545                      items:
   546                        description: NetworkInterface defines a network interface.
   547                        properties:
   548                          acceleratedNetworking:
   549                            description: AcceleratedNetworking enables or disables Azure
   550                              accelerated networking. If omitted, it will be set based
   551                              on whether the requested VMSize supports accelerated networking.
   552                              If AcceleratedNetworking is set to true with a VMSize
   553                              that does not support it, Azure will return an error.
   554                            type: boolean
   555                          privateIPConfigs:
   556                            description: PrivateIPConfigs specifies the number of private
   557                              IP addresses to attach to the interface. Defaults to 1
   558                              if not specified.
   559                            type: integer
   560                          subnetName:
   561                            description: SubnetName specifies the subnet in which the
   562                              new network interface will be placed.
   563                            type: string
   564                        type: object
   565                      type: array
   566                    osDisk:
   567                      description: OSDisk contains the operating system disk information
   568                        for a Virtual Machine
   569                      properties:
   570                        cachingType:
   571                          description: CachingType specifies the caching requirements.
   572                          enum:
   573                          - None
   574                          - ReadOnly
   575                          - ReadWrite
   576                          type: string
   577                        diffDiskSettings:
   578                          description: DiffDiskSettings describe ephemeral disk settings
   579                            for the os disk.
   580                          properties:
   581                            option:
   582                              description: Option enables ephemeral OS when set to "Local"
   583                                See https://learn.microsoft.com/azure/virtual-machines/ephemeral-os-disks
   584                                for full details
   585                              enum:
   586                              - Local
   587                              type: string
   588                          required:
   589                          - option
   590                          type: object
   591                        diskSizeGB:
   592                          description: DiskSizeGB is the size in GB to assign to the
   593                            OS disk. Will have a default of 30GB if not provided
   594                          format: int32
   595                          type: integer
   596                        managedDisk:
   597                          description: ManagedDisk specifies the Managed Disk parameters
   598                            for the OS disk.
   599                          properties:
   600                            diskEncryptionSet:
   601                              description: DiskEncryptionSet specifies the customer-managed
   602                                disk encryption set resource id for the managed disk.
   603                              properties:
   604                                id:
   605                                  description: ID defines resourceID for diskEncryptionSet
   606                                    resource. It must be in the same subscription
   607                                  type: string
   608                              type: object
   609                            securityProfile:
   610                              description: SecurityProfile specifies the security profile
   611                                for the managed disk.
   612                              properties:
   613                                diskEncryptionSet:
   614                                  description: DiskEncryptionSet specifies the customer-managed
   615                                    disk encryption set resource id for the managed
   616                                    disk that is used for Customer Managed Key encrypted
   617                                    ConfidentialVM OS Disk and VMGuest blob.
   618                                  properties:
   619                                    id:
   620                                      description: ID defines resourceID for diskEncryptionSet
   621                                        resource. It must be in the same subscription
   622                                      type: string
   623                                  type: object
   624                                securityEncryptionType:
   625                                  description: SecurityEncryptionType specifies the
   626                                    encryption type of the managed disk. It is set to
   627                                    DiskWithVMGuestState to encrypt the managed disk
   628                                    along with the VMGuestState blob, and to VMGuestStateOnly
   629                                    to encrypt the VMGuestState blob only. When set
   630                                    to VMGuestStateOnly, VirtualizedTrustedPlatformModule
   631                                    should be set to Enabled. When set to DiskWithVMGuestState,
   632                                    EncryptionAtHost should be disabled, SecureBoot
   633                                    and VirtualizedTrustedPlatformModule should be set
   634                                    to Enabled. It can be set only for Confidential
   635                                    VMs.
   636                                  enum:
   637                                  - VMGuestStateOnly
   638                                  - DiskWithVMGuestState
   639                                  type: string
   640                              type: object
   641                            storageAccountType:
   642                              type: string
   643                          type: object
   644                        osType:
   645                          type: string
   646                      required:
   647                      - osType
   648                      type: object
   649                    securityProfile:
   650                      description: SecurityProfile specifies the Security profile settings
   651                        for a virtual machine.
   652                      properties:
   653                        encryptionAtHost:
   654                          description: This field indicates whether Host Encryption
   655                            should be enabled or disabled for a virtual machine or virtual
   656                            machine scale set. This should be disabled when SecurityEncryptionType
   657                            is set to DiskWithVMGuestState. Default is disabled.
   658                          type: boolean
   659                        securityType:
   660                          description: 'SecurityType specifies the SecurityType of the
   661                            virtual machine. It has to be set to any specified value
   662                            to enable UefiSettings. The default behavior is: UefiSettings
   663                            will not be enabled unless this property is set.'
   664                          enum:
   665                          - ConfidentialVM
   666                          - TrustedLaunch
   667                          type: string
   668                        uefiSettings:
   669                          description: UefiSettings specifies the security settings
   670                            like secure boot and vTPM used while creating the virtual
   671                            machine.
   672                          properties:
   673                            secureBootEnabled:
   674                              description: SecureBootEnabled specifies whether secure
   675                                boot should be enabled on the virtual machine. Secure
   676                                Boot verifies the digital signature of all boot components
   677                                and halts the boot process if signature verification
   678                                fails. If omitted, the platform chooses a default, which
   679                                is subject to change over time, currently that default
   680                                is false.
   681                              type: boolean
   682                            vTpmEnabled:
   683                              description: VTpmEnabled specifies whether vTPM should
   684                                be enabled on the virtual machine. When true it enables
   685                                the virtualized trusted platform module measurements
   686                                to create a known good boot integrity policy baseline.
   687                                The integrity policy baseline is used for comparison
   688                                with measurements from subsequent VM boots to determine
   689                                if anything has changed. This is required to be set
   690                                to Enabled if SecurityEncryptionType is defined. If
   691                                omitted, the platform chooses a default, which is subject
   692                                to change over time, currently that default is false.
   693                              type: boolean
   694                          type: object
   695                      type: object
   696                    spotVMOptions:
   697                      description: SpotVMOptions allows the ability to specify the Machine
   698                        should use a Spot VM
   699                      properties:
   700                        evictionPolicy:
   701                          description: EvictionPolicy defines the behavior of the virtual
   702                            machine when it is evicted. It can be either Delete or Deallocate.
   703                          enum:
   704                          - Deallocate
   705                          - Delete
   706                          type: string
   707                        maxPrice:
   708                          anyOf:
   709                          - type: integer
   710                          - type: string
   711                          description: MaxPrice defines the maximum price the user is
   712                            willing to pay for Spot VM instances
   713                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   714                          x-kubernetes-int-or-string: true
   715                      type: object
   716                    sshPublicKey:
   717                      description: SSHPublicKey is the SSH public key string, base64-encoded
   718                        to add to a Virtual Machine. Linux only. Refer to documentation
   719                        on how to set up SSH access on Windows instances.
   720                      type: string
   721                    subnetName:
   722                      description: 'Deprecated: SubnetName should be set in the networkInterfaces
   723                        field.'
   724                      type: string
   725                    terminateNotificationTimeout:
   726                      description: TerminateNotificationTimeout enables or disables
   727                        VMSS scheduled events termination notification with specified
   728                        timeout allowed values are between 5 and 15 (mins)
   729                      type: integer
   730                    vmExtensions:
   731                      description: VMExtensions specifies a list of extensions to be
   732                        added to the scale set.
   733                      items:
   734                        description: VMExtension specifies the parameters for a custom
   735                          VM extension.
   736                        properties:
   737                          name:
   738                            description: Name is the name of the extension.
   739                            type: string
   740                          protectedSettings:
   741                            additionalProperties:
   742                              type: string
   743                            description: ProtectedSettings is a JSON formatted protected
   744                              settings for the extension.
   745                            type: object
   746                          publisher:
   747                            description: Publisher is the name of the extension handler
   748                              publisher.
   749                            type: string
   750                          settings:
   751                            additionalProperties:
   752                              type: string
   753                            description: Settings is a JSON formatted public settings
   754                              for the extension.
   755                            type: object
   756                          version:
   757                            description: Version specifies the version of the script
   758                              handler.
   759                            type: string
   760                        required:
   761                        - name
   762                        - publisher
   763                        - version
   764                        type: object
   765                      type: array
   766                    vmSize:
   767                      description: VMSize is the size of the Virtual Machine to build.
   768                        See https://learn.microsoft.com/rest/api/compute/virtualmachines/createorupdate#virtualmachinesizetypes
   769                      type: string
   770                  required:
   771                  - osDisk
   772                  - vmSize
   773                  type: object
   774                userAssignedIdentities:
   775                  description: UserAssignedIdentities is a list of standalone Azure
   776                    identities provided by the user The lifecycle of a user-assigned
   777                    identity is managed separately from the lifecycle of the AzureMachinePool.
   778                    See https://learn.microsoft.com/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli
   779                  items:
   780                    description: UserAssignedIdentity defines the user-assigned identities
   781                      provided by the user to be assigned to Azure resources.
   782                    properties:
   783                      providerID:
   784                        description: 'ProviderID is the identification ID of the user-assigned
   785                          Identity, the format of an identity is: ''azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'''
   786                        type: string
   787                    required:
   788                    - providerID
   789                    type: object
   790                  type: array
   791                zoneBalance:
   792                  description: ZoneBalane dictates whether to force strictly even Virtual
   793                    Machine distribution cross x-zones in case there is zone outage.
   794                  type: boolean
   795              required:
   796              - location
   797              - template
   798              type: object
   799            status:
   800              description: AzureMachinePoolStatus defines the observed state of AzureMachinePool.
   801              properties:
   802                conditions:
   803                  description: Conditions defines current service state of the AzureMachinePool.
   804                  items:
   805                    description: Condition defines an observation of a Cluster API resource
   806                      operational state.
   807                    properties:
   808                      lastTransitionTime:
   809                        description: Last time the condition transitioned from one status
   810                          to another. This should be when the underlying condition changed.
   811                          If that is not known, then using the time when the API field
   812                          changed is acceptable.
   813                        format: date-time
   814                        type: string
   815                      message:
   816                        description: A human readable message indicating details about
   817                          the transition. This field may be empty.
   818                        type: string
   819                      reason:
   820                        description: The reason for the condition's last transition
   821                          in CamelCase. The specific API may choose whether or not this
   822                          field is considered a guaranteed API. This field may not be
   823                          empty.
   824                        type: string
   825                      severity:
   826                        description: Severity provides an explicit classification of
   827                          Reason code, so the users or machines can immediately understand
   828                          the current situation and act accordingly. The Severity field
   829                          MUST be set only when Status=False.
   830                        type: string
   831                      status:
   832                        description: Status of the condition, one of True, False, Unknown.
   833                        type: string
   834                      type:
   835                        description: Type of condition in CamelCase or in foo.example.com/CamelCase.
   836                          Many .condition.type values are consistent across resources
   837                          like Available, but because arbitrary conditions can be useful
   838                          (see .node.status.conditions), the ability to deconflict is
   839                          important.
   840                        type: string
   841                    required:
   842                    - lastTransitionTime
   843                    - status
   844                    - type
   845                    type: object
   846                  type: array
   847                failureMessage:
   848                  description: "FailureMessage will be set in the event that there is
   849                    a terminal problem reconciling the MachinePool and will contain
   850                    a more verbose string suitable for logging and human consumption.
   851                    \n This field should not be set for transitive errors that a controller
   852                    faces that are expected to be fixed automatically over time (like
   853                    service outages), but instead indicate that something is fundamentally
   854                    wrong with the MachinePool's spec or the configuration of the controller,
   855                    and that manual intervention is required. Examples of terminal errors
   856                    would be invalid combinations of settings in the spec, values that
   857                    are unsupported by the controller, or the responsible controller
   858                    itself being critically misconfigured. \n Any transient errors that
   859                    occur during the reconciliation of MachinePools can be added as
   860                    events to the MachinePool object and/or logged in the controller's
   861                    output."
   862                  type: string
   863                failureReason:
   864                  description: "FailureReason will be set in the event that there is
   865                    a terminal problem reconciling the MachinePool and will contain
   866                    a succinct value suitable for machine interpretation. \n This field
   867                    should not be set for transitive errors that a controller faces
   868                    that are expected to be fixed automatically over time (like service
   869                    outages), but instead indicate that something is fundamentally wrong
   870                    with the MachinePool's spec or the configuration of the controller,
   871                    and that manual intervention is required. Examples of terminal errors
   872                    would be invalid combinations of settings in the spec, values that
   873                    are unsupported by the controller, or the responsible controller
   874                    itself being critically misconfigured. \n Any transient errors that
   875                    occur during the reconciliation of MachinePools can be added as
   876                    events to the MachinePool object and/or logged in the controller's
   877                    output."
   878                  type: string
   879                image:
   880                  description: Image is the current image used in the AzureMachinePool.
   881                    When the spec image is nil, this image is populated with the details
   882                    of the defaulted Azure Marketplace "capi" offer.
   883                  properties:
   884                    computeGallery:
   885                      description: ComputeGallery specifies an image to use from the
   886                        Azure Compute Gallery
   887                      properties:
   888                        gallery:
   889                          description: Gallery specifies the name of the compute image
   890                            gallery that contains the image
   891                          minLength: 1
   892                          type: string
   893                        name:
   894                          description: Name is the name of the image
   895                          minLength: 1
   896                          type: string
   897                        plan:
   898                          description: Plan contains plan information.
   899                          properties:
   900                            offer:
   901                              description: Offer specifies the name of a group of related
   902                                images created by the publisher. For example, UbuntuServer,
   903                                WindowsServer
   904                              minLength: 1
   905                              type: string
   906                            publisher:
   907                              description: Publisher is the name of the organization
   908                                that created the image
   909                              minLength: 1
   910                              type: string
   911                            sku:
   912                              description: SKU specifies an instance of an offer, such
   913                                as a major release of a distribution. For example, 18.04-LTS,
   914                                2019-Datacenter
   915                              minLength: 1
   916                              type: string
   917                          required:
   918                          - offer
   919                          - publisher
   920                          - sku
   921                          type: object
   922                        resourceGroup:
   923                          description: ResourceGroup specifies the resource group containing
   924                            the private compute gallery.
   925                          type: string
   926                        subscriptionID:
   927                          description: SubscriptionID is the identifier of the subscription
   928                            that contains the private compute gallery.
   929                          type: string
   930                        version:
   931                          description: Version specifies the version of the marketplace
   932                            image. The allowed formats are Major.Minor.Build or 'latest'.
   933                            Major, Minor, and Build are decimal numbers. Specify 'latest'
   934                            to use the latest version of an image available at deploy
   935                            time. Even if you use 'latest', the VM image will not automatically
   936                            update after deploy time even if a new version becomes available.
   937                          minLength: 1
   938                          type: string
   939                      required:
   940                      - gallery
   941                      - name
   942                      - version
   943                      type: object
   944                    id:
   945                      description: ID specifies an image to use by ID
   946                      type: string
   947                    marketplace:
   948                      description: Marketplace specifies an image to use from the Azure
   949                        Marketplace
   950                      properties:
   951                        offer:
   952                          description: Offer specifies the name of a group of related
   953                            images created by the publisher. For example, UbuntuServer,
   954                            WindowsServer
   955                          minLength: 1
   956                          type: string
   957                        publisher:
   958                          description: Publisher is the name of the organization that
   959                            created the image
   960                          minLength: 1
   961                          type: string
   962                        sku:
   963                          description: SKU specifies an instance of an offer, such as
   964                            a major release of a distribution. For example, 18.04-LTS,
   965                            2019-Datacenter
   966                          minLength: 1
   967                          type: string
   968                        thirdPartyImage:
   969                          default: false
   970                          description: ThirdPartyImage indicates the image is published
   971                            by a third party publisher and a Plan will be generated
   972                            for it.
   973                          type: boolean
   974                        version:
   975                          description: Version specifies the version of an image sku.
   976                            The allowed formats are Major.Minor.Build or 'latest'. Major,
   977                            Minor, and Build are decimal numbers. Specify 'latest' to
   978                            use the latest version of an image available at deploy time.
   979                            Even if you use 'latest', the VM image will not automatically
   980                            update after deploy time even if a new version becomes available.
   981                          minLength: 1
   982                          type: string
   983                      required:
   984                      - offer
   985                      - publisher
   986                      - sku
   987                      - version
   988                      type: object
   989                    sharedGallery:
   990                      description: 'SharedGallery specifies an image to use from an
   991                        Azure Shared Image Gallery Deprecated: use ComputeGallery instead.'
   992                      properties:
   993                        gallery:
   994                          description: Gallery specifies the name of the shared image
   995                            gallery that contains the image
   996                          minLength: 1
   997                          type: string
   998                        name:
   999                          description: Name is the name of the image
  1000                          minLength: 1
  1001                          type: string
  1002                        offer:
  1003                          description: Offer specifies the name of a group of related
  1004                            images created by the publisher. For example, UbuntuServer,
  1005                            WindowsServer This value will be used to add a `Plan` in
  1006                            the API request when creating the VM/VMSS resource. This
  1007                            is needed when the source image from which this SIG image
  1008                            was built requires the `Plan` to be used.
  1009                          type: string
  1010                        publisher:
  1011                          description: Publisher is the name of the organization that
  1012                            created the image. This value will be used to add a `Plan`
  1013                            in the API request when creating the VM/VMSS resource. This
  1014                            is needed when the source image from which this SIG image
  1015                            was built requires the `Plan` to be used.
  1016                          type: string
  1017                        resourceGroup:
  1018                          description: ResourceGroup specifies the resource group containing
  1019                            the shared image gallery
  1020                          minLength: 1
  1021                          type: string
  1022                        sku:
  1023                          description: SKU specifies an instance of an offer, such as
  1024                            a major release of a distribution. For example, 18.04-LTS,
  1025                            2019-Datacenter This value will be used to add a `Plan`
  1026                            in the API request when creating the VM/VMSS resource. This
  1027                            is needed when the source image from which this SIG image
  1028                            was built requires the `Plan` to be used.
  1029                          type: string
  1030                        subscriptionID:
  1031                          description: SubscriptionID is the identifier of the subscription
  1032                            that contains the shared image gallery
  1033                          minLength: 1
  1034                          type: string
  1035                        version:
  1036                          description: Version specifies the version of the marketplace
  1037                            image. The allowed formats are Major.Minor.Build or 'latest'.
  1038                            Major, Minor, and Build are decimal numbers. Specify 'latest'
  1039                            to use the latest version of an image available at deploy
  1040                            time. Even if you use 'latest', the VM image will not automatically
  1041                            update after deploy time even if a new version becomes available.
  1042                          minLength: 1
  1043                          type: string
  1044                      required:
  1045                      - gallery
  1046                      - name
  1047                      - resourceGroup
  1048                      - subscriptionID
  1049                      - version
  1050                      type: object
  1051                  type: object
  1052                infrastructureMachineKind:
  1053                  description: InfrastructureMachineKind is the kind of the infrastructure
  1054                    resources behind MachinePool Machines.
  1055                  type: string
  1056                instances:
  1057                  description: Instances is the VM instance status for each VM in the
  1058                    VMSS
  1059                  items:
  1060                    description: AzureMachinePoolInstanceStatus provides status information
  1061                      for each instance in the VMSS.
  1062                    properties:
  1063                      instanceID:
  1064                        description: InstanceID is the identification of the Machine
  1065                          Instance within the VMSS
  1066                        type: string
  1067                      instanceName:
  1068                        description: InstanceName is the name of the Machine Instance
  1069                          within the VMSS
  1070                        type: string
  1071                      latestModelApplied:
  1072                        description: LatestModelApplied indicates the instance is running
  1073                          the most up-to-date VMSS model. A VMSS model describes the
  1074                          image version the VM is running. If the instance is not running
  1075                          the latest model, it means the instance may not be running
  1076                          the version of Kubernetes the Machine Pool has specified and
  1077                          needs to be updated.
  1078                        type: boolean
  1079                      providerID:
  1080                        description: ProviderID is the provider identification of the
  1081                          VMSS Instance
  1082                        type: string
  1083                      provisioningState:
  1084                        description: ProvisioningState is the provisioning state of
  1085                          the Azure virtual machine instance.
  1086                        type: string
  1087                      version:
  1088                        description: Version defines the Kubernetes version for the
  1089                          VM Instance
  1090                        type: string
  1091                    required:
  1092                    - latestModelApplied
  1093                    type: object
  1094                  type: array
  1095                longRunningOperationStates:
  1096                  description: LongRunningOperationStates saves the state for Azure
  1097                    long-running operations so they can be continued on the next reconciliation
  1098                    loop.
  1099                  items:
  1100                    description: Future contains the data needed for an Azure long-running
  1101                      operation to continue across reconcile loops.
  1102                    properties:
  1103                      data:
  1104                        description: Data is the base64 url encoded json Azure AutoRest
  1105                          Future.
  1106                        type: string
  1107                      name:
  1108                        description: Name is the name of the Azure resource. Together
  1109                          with the service name, this forms the unique identifier for
  1110                          the future.
  1111                        type: string
  1112                      resourceGroup:
  1113                        description: ResourceGroup is the Azure resource group for the
  1114                          resource.
  1115                        type: string
  1116                      serviceName:
  1117                        description: ServiceName is the name of the Azure service. Together
  1118                          with the name of the resource, this forms the unique identifier
  1119                          for the future.
  1120                        type: string
  1121                      type:
  1122                        description: Type describes the type of future, such as update,
  1123                          create, delete, etc.
  1124                        type: string
  1125                    required:
  1126                    - data
  1127                    - name
  1128                    - serviceName
  1129                    - type
  1130                    type: object
  1131                  type: array
  1132                provisioningState:
  1133                  description: ProvisioningState is the provisioning state of the Azure
  1134                    virtual machine.
  1135                  type: string
  1136                ready:
  1137                  description: Ready is true when the provider resource is ready.
  1138                  type: boolean
  1139                replicas:
  1140                  description: Replicas is the most recently observed number of replicas.
  1141                  format: int32
  1142                  type: integer
  1143                version:
  1144                  description: Version is the Kubernetes version for the current VMSS
  1145                    model
  1146                  type: string
  1147              type: object
  1148          type: object
  1149      served: true
  1150      storage: true
  1151      subresources:
  1152        status: {}