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