sigs.k8s.io/cluster-api-provider-azure@v1.17.0/config/crd/bases/infrastructure.cluster.x-k8s.io_azuremanagedmachinepooltemplates.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: azuremanagedmachinepooltemplates.infrastructure.cluster.x-k8s.io
     8  spec:
     9    group: infrastructure.cluster.x-k8s.io
    10    names:
    11      categories:
    12      - cluster-api
    13      kind: AzureManagedMachinePoolTemplate
    14      listKind: AzureManagedMachinePoolTemplateList
    15      plural: azuremanagedmachinepooltemplates
    16      shortNames:
    17      - ammpt
    18      singular: azuremanagedmachinepooltemplate
    19    scope: Namespaced
    20    versions:
    21    - name: v1beta1
    22      schema:
    23        openAPIV3Schema:
    24          description: AzureManagedMachinePoolTemplate is the Schema for the AzureManagedMachinePoolTemplates
    25            API.
    26          properties:
    27            apiVersion:
    28              description: |-
    29                APIVersion defines the versioned schema of this representation of an object.
    30                Servers should convert recognized schemas to the latest internal value, and
    31                may reject unrecognized values.
    32                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
    33              type: string
    34            kind:
    35              description: |-
    36                Kind is a string value representing the REST resource this object represents.
    37                Servers may infer this from the endpoint the client submits requests to.
    38                Cannot be updated.
    39                In CamelCase.
    40                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
    41              type: string
    42            metadata:
    43              type: object
    44            spec:
    45              description: AzureManagedMachinePoolTemplateSpec defines the desired state
    46                of AzureManagedMachinePoolTemplate.
    47              properties:
    48                template:
    49                  description: AzureManagedMachinePoolTemplateResource describes the
    50                    data needed to create an AzureManagedCluster from a template.
    51                  properties:
    52                    spec:
    53                      description: AzureManagedMachinePoolTemplateResourceSpec specifies
    54                        an Azure managed control plane template resource.
    55                      properties:
    56                        additionalTags:
    57                          additionalProperties:
    58                            type: string
    59                          description: |-
    60                            AdditionalTags is an optional set of tags to add to Azure resources managed by the
    61                            Azure provider, in addition to the ones added by default.
    62                          type: object
    63                        asoManagedClustersAgentPoolPatches:
    64                          description: |-
    65                            ASOManagedClustersAgentPoolPatches defines JSON merge patches to be applied to the generated ASO ManagedClustersAgentPool resource.
    66                            WARNING: This is meant to be used sparingly to enable features for development and testing that are not
    67                            otherwise represented in the CAPZ API. Misconfiguration that conflicts with CAPZ's normal mode of
    68                            operation is possible.
    69                          items:
    70                            type: string
    71                          type: array
    72                        availabilityZones:
    73                          description: |-
    74                            AvailabilityZones - Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType.
    75                            Immutable.
    76                          items:
    77                            type: string
    78                          type: array
    79                        enableEncryptionAtHost:
    80                          description: |-
    81                            EnableEncryptionAtHost indicates whether host encryption is enabled on the node pool.
    82                            Immutable.
    83                            See also [AKS doc].
    84  
    85  
    86                            [AKS doc]: https://learn.microsoft.com/en-us/azure/aks/enable-host-encryption
    87                          type: boolean
    88                        enableFIPS:
    89                          description: |-
    90                            EnableFIPS indicates whether FIPS is enabled on the node pool.
    91                            Immutable.
    92                          type: boolean
    93                        enableNodePublicIP:
    94                          description: |-
    95                            EnableNodePublicIP controls whether or not nodes in the pool each have a public IP address.
    96                            Immutable.
    97                          type: boolean
    98                        enableUltraSSD:
    99                          description: |-
   100                            EnableUltraSSD enables the storage type UltraSSD_LRS for the agent pool.
   101                            Immutable.
   102                          type: boolean
   103                        kubeletConfig:
   104                          description: |-
   105                            KubeletConfig specifies the kubelet configurations for nodes.
   106                            Immutable.
   107                          properties:
   108                            allowedUnsafeSysctls:
   109                              description: |-
   110                                AllowedUnsafeSysctls - Allowlist of unsafe sysctls or unsafe sysctl patterns (ending in `*`).
   111                                Valid values match `kernel.shm*`, `kernel.msg*`, `kernel.sem`, `fs.mqueue.*`, or `net.*`.
   112                              items:
   113                                type: string
   114                              type: array
   115                            containerLogMaxFiles:
   116                              description: ContainerLogMaxFiles - The maximum number
   117                                of container log files that can be present for a container.
   118                                The number must be ≥ 2.
   119                              minimum: 2
   120                              type: integer
   121                            containerLogMaxSizeMB:
   122                              description: ContainerLogMaxSizeMB - The maximum size
   123                                in MB of a container log file before it is rotated.
   124                              type: integer
   125                            cpuCfsQuota:
   126                              description: CPUCfsQuota - Enable CPU CFS quota enforcement
   127                                for containers that specify CPU limits.
   128                              type: boolean
   129                            cpuCfsQuotaPeriod:
   130                              description: |-
   131                                CPUCfsQuotaPeriod - Sets CPU CFS quota period value.
   132                                Must end in "ms", e.g. "100ms"
   133                              type: string
   134                            cpuManagerPolicy:
   135                              description: CPUManagerPolicy - CPU Manager policy to
   136                                use.
   137                              enum:
   138                              - none
   139                              - static
   140                              type: string
   141                            failSwapOn:
   142                              description: FailSwapOn - If set to true it will make
   143                                the Kubelet fail to start if swap is enabled on the
   144                                node.
   145                              type: boolean
   146                            imageGcHighThreshold:
   147                              description: |-
   148                                ImageGcHighThreshold - The percent of disk usage after which image garbage collection is always run.
   149                                Valid values are 0-100 (inclusive).
   150                              maximum: 100
   151                              minimum: 0
   152                              type: integer
   153                            imageGcLowThreshold:
   154                              description: |-
   155                                ImageGcLowThreshold - The percent of disk usage before which image garbage collection is never run.
   156                                Valid values are 0-100 (inclusive) and must be less than `imageGcHighThreshold`.
   157                              maximum: 100
   158                              minimum: 0
   159                              type: integer
   160                            podMaxPids:
   161                              description: |-
   162                                PodMaxPids - The maximum number of processes per pod.
   163                                Must not exceed kernel PID limit. -1 disables the limit.
   164                              minimum: -1
   165                              type: integer
   166                            topologyManagerPolicy:
   167                              description: TopologyManagerPolicy - Topology Manager
   168                                policy to use.
   169                              enum:
   170                              - none
   171                              - best-effort
   172                              - restricted
   173                              - single-numa-node
   174                              type: string
   175                          type: object
   176                        kubeletDiskType:
   177                          description: |-
   178                            KubeletDiskType specifies the kubelet disk type. Default to OS. Possible values include: 'OS', 'Temporary'.
   179                            Requires Microsoft.ContainerService/KubeletDisk preview feature to be set.
   180                            Immutable.
   181                            See also [AKS doc].
   182  
   183  
   184                            [AKS doc]: https://learn.microsoft.com/rest/api/aks/agent-pools/create-or-update?tabs=HTTP#kubeletdisktype
   185                          enum:
   186                          - OS
   187                          - Temporary
   188                          type: string
   189                        linuxOSConfig:
   190                          description: |-
   191                            LinuxOSConfig specifies the custom Linux OS settings and configurations.
   192                            Immutable.
   193                          properties:
   194                            swapFileSizeMB:
   195                              description: |-
   196                                SwapFileSizeMB specifies size in MB of a swap file will be created on the agent nodes from this node pool.
   197                                Max value of SwapFileSizeMB should be the size of temporary disk(/dev/sdb).
   198                                Must be at least 1.
   199                                See also [AKS doc].
   200  
   201  
   202                                [AKS doc]: https://learn.microsoft.com/azure/virtual-machines/managed-disks-overview#temporary-disk
   203                              minimum: 1
   204                              type: integer
   205                            sysctls:
   206                              description: Sysctl specifies the settings for Linux agent
   207                                nodes.
   208                              properties:
   209                                fsAioMaxNr:
   210                                  description: |-
   211                                    FsAioMaxNr specifies the maximum number of system-wide asynchronous io requests.
   212                                    Valid values are 65536-6553500 (inclusive).
   213                                    Maps to fs.aio-max-nr.
   214                                  maximum: 6553500
   215                                  minimum: 65536
   216                                  type: integer
   217                                fsFileMax:
   218                                  description: |-
   219                                    FsFileMax specifies the max number of file-handles that the Linux kernel will allocate, by increasing increases the maximum number of open files permitted.
   220                                    Valid values are 8192-12000500 (inclusive).
   221                                    Maps to fs.file-max.
   222                                  maximum: 12000500
   223                                  minimum: 8192
   224                                  type: integer
   225                                fsInotifyMaxUserWatches:
   226                                  description: |-
   227                                    FsInotifyMaxUserWatches specifies the number of file watches allowed by the system. Each watch is roughly 90 bytes on a 32-bit kernel, and roughly 160 bytes on a 64-bit kernel.
   228                                    Valid values are 781250-2097152 (inclusive).
   229                                    Maps to fs.inotify.max_user_watches.
   230                                  maximum: 2097152
   231                                  minimum: 781250
   232                                  type: integer
   233                                fsNrOpen:
   234                                  description: |-
   235                                    FsNrOpen specifies the maximum number of file-handles a process can allocate.
   236                                    Valid values are 8192-20000500 (inclusive).
   237                                    Maps to fs.nr_open.
   238                                  maximum: 20000500
   239                                  minimum: 8192
   240                                  type: integer
   241                                kernelThreadsMax:
   242                                  description: |-
   243                                    KernelThreadsMax specifies the maximum number of all threads that can be created.
   244                                    Valid values are 20-513785 (inclusive).
   245                                    Maps to kernel.threads-max.
   246                                  maximum: 513785
   247                                  minimum: 20
   248                                  type: integer
   249                                netCoreNetdevMaxBacklog:
   250                                  description: |-
   251                                    NetCoreNetdevMaxBacklog specifies maximum number of packets, queued on the INPUT side, when the interface receives packets faster than kernel can process them.
   252                                    Valid values are 1000-3240000 (inclusive).
   253                                    Maps to net.core.netdev_max_backlog.
   254                                  maximum: 3240000
   255                                  minimum: 1000
   256                                  type: integer
   257                                netCoreOptmemMax:
   258                                  description: |-
   259                                    NetCoreOptmemMax specifies the maximum ancillary buffer size (option memory buffer) allowed per socket.
   260                                    Socket option memory is used in a few cases to store extra structures relating to usage of the socket.
   261                                    Valid values are 20480-4194304 (inclusive).
   262                                    Maps to net.core.optmem_max.
   263                                  maximum: 4194304
   264                                  minimum: 20480
   265                                  type: integer
   266                                netCoreRmemDefault:
   267                                  description: |-
   268                                    NetCoreRmemDefault specifies the default receive socket buffer size in bytes.
   269                                    Valid values are 212992-134217728 (inclusive).
   270                                    Maps to net.core.rmem_default.
   271                                  maximum: 134217728
   272                                  minimum: 212992
   273                                  type: integer
   274                                netCoreRmemMax:
   275                                  description: |-
   276                                    NetCoreRmemMax specifies the maximum receive socket buffer size in bytes.
   277                                    Valid values are 212992-134217728 (inclusive).
   278                                    Maps to net.core.rmem_max.
   279                                  maximum: 134217728
   280                                  minimum: 212992
   281                                  type: integer
   282                                netCoreSomaxconn:
   283                                  description: |-
   284                                    NetCoreSomaxconn specifies maximum number of connection requests that can be queued for any given listening socket.
   285                                    An upper limit for the value of the backlog parameter passed to the listen(2)(https://man7.org/linux/man-pages/man2/listen.2.html) function.
   286                                    If the backlog argument is greater than the somaxconn, then it's silently truncated to this limit.
   287                                    Valid values are 4096-3240000 (inclusive).
   288                                    Maps to net.core.somaxconn.
   289                                  maximum: 3240000
   290                                  minimum: 4096
   291                                  type: integer
   292                                netCoreWmemDefault:
   293                                  description: |-
   294                                    NetCoreWmemDefault specifies the default send socket buffer size in bytes.
   295                                    Valid values are 212992-134217728 (inclusive).
   296                                    Maps to net.core.wmem_default.
   297                                  maximum: 134217728
   298                                  minimum: 212992
   299                                  type: integer
   300                                netCoreWmemMax:
   301                                  description: |-
   302                                    NetCoreWmemMax specifies the maximum send socket buffer size in bytes.
   303                                    Valid values are 212992-134217728 (inclusive).
   304                                    Maps to net.core.wmem_max.
   305                                  maximum: 134217728
   306                                  minimum: 212992
   307                                  type: integer
   308                                netIpv4IPLocalPortRange:
   309                                  description: |-
   310                                    NetIpv4IPLocalPortRange is used by TCP and UDP traffic to choose the local port on the agent node.
   311                                    PortRange should be specified in the format "first last".
   312                                    First, being an integer, must be between [1024 - 60999].
   313                                    Last, being an integer, must be between [32768 - 65000].
   314                                    Maps to net.ipv4.ip_local_port_range.
   315                                  type: string
   316                                netIpv4NeighDefaultGcThresh1:
   317                                  description: |-
   318                                    NetIpv4NeighDefaultGcThresh1 specifies the minimum number of entries that may be in the ARP cache.
   319                                    Garbage collection won't be triggered if the number of entries is below this setting.
   320                                    Valid values are 128-80000 (inclusive).
   321                                    Maps to net.ipv4.neigh.default.gc_thresh1.
   322                                  maximum: 80000
   323                                  minimum: 128
   324                                  type: integer
   325                                netIpv4NeighDefaultGcThresh2:
   326                                  description: |-
   327                                    NetIpv4NeighDefaultGcThresh2 specifies soft maximum number of entries that may be in the ARP cache.
   328                                    ARP garbage collection will be triggered about 5 seconds after reaching this soft maximum.
   329                                    Valid values are 512-90000 (inclusive).
   330                                    Maps to net.ipv4.neigh.default.gc_thresh2.
   331                                  maximum: 90000
   332                                  minimum: 512
   333                                  type: integer
   334                                netIpv4NeighDefaultGcThresh3:
   335                                  description: |-
   336                                    NetIpv4NeighDefaultGcThresh3 specified hard maximum number of entries in the ARP cache.
   337                                    Valid values are 1024-100000 (inclusive).
   338                                    Maps to net.ipv4.neigh.default.gc_thresh3.
   339                                  maximum: 100000
   340                                  minimum: 1024
   341                                  type: integer
   342                                netIpv4TCPFinTimeout:
   343                                  description: |-
   344                                    NetIpv4TCPFinTimeout specifies the length of time an orphaned connection will remain in the FIN_WAIT_2 state before it's aborted at the local end.
   345                                    Valid values are 5-120 (inclusive).
   346                                    Maps to net.ipv4.tcp_fin_timeout.
   347                                  maximum: 120
   348                                  minimum: 5
   349                                  type: integer
   350                                netIpv4TCPKeepaliveProbes:
   351                                  description: |-
   352                                    NetIpv4TCPKeepaliveProbes specifies the number of keepalive probes TCP sends out, until it decides the connection is broken.
   353                                    Valid values are 1-15 (inclusive).
   354                                    Maps to net.ipv4.tcp_keepalive_probes.
   355                                  maximum: 15
   356                                  minimum: 1
   357                                  type: integer
   358                                netIpv4TCPKeepaliveTime:
   359                                  description: |-
   360                                    NetIpv4TCPKeepaliveTime specifies the rate at which TCP sends out a keepalive message when keepalive is enabled.
   361                                    Valid values are 30-432000 (inclusive).
   362                                    Maps to net.ipv4.tcp_keepalive_time.
   363                                  maximum: 432000
   364                                  minimum: 30
   365                                  type: integer
   366                                netIpv4TCPMaxSynBacklog:
   367                                  description: |-
   368                                    NetIpv4TCPMaxSynBacklog specifies the maximum number of queued connection requests that have still not received an acknowledgment from the connecting client.
   369                                    If this number is exceeded, the kernel will begin dropping requests.
   370                                    Valid values are 128-3240000 (inclusive).
   371                                    Maps to net.ipv4.tcp_max_syn_backlog.
   372                                  maximum: 3240000
   373                                  minimum: 128
   374                                  type: integer
   375                                netIpv4TCPMaxTwBuckets:
   376                                  description: |-
   377                                    NetIpv4TCPMaxTwBuckets specifies maximal number of timewait sockets held by system simultaneously.
   378                                    If this number is exceeded, time-wait socket is immediately destroyed and warning is printed.
   379                                    Valid values are 8000-1440000 (inclusive).
   380                                    Maps to net.ipv4.tcp_max_tw_buckets.
   381                                  maximum: 1440000
   382                                  minimum: 8000
   383                                  type: integer
   384                                netIpv4TCPTwReuse:
   385                                  description: |-
   386                                    NetIpv4TCPTwReuse is used to allow to reuse TIME-WAIT sockets for new connections when it's safe from protocol viewpoint.
   387                                    Maps to net.ipv4.tcp_tw_reuse.
   388                                  type: boolean
   389                                netIpv4TCPkeepaliveIntvl:
   390                                  description: |-
   391                                    NetIpv4TCPkeepaliveIntvl specifies the frequency of the probes sent out.
   392                                    Multiplied by tcpKeepaliveprobes, it makes up the time to kill a connection that isn't responding, after probes started.
   393                                    Valid values are 1-75 (inclusive).
   394                                    Maps to net.ipv4.tcp_keepalive_intvl.
   395                                  maximum: 75
   396                                  minimum: 1
   397                                  type: integer
   398                                netNetfilterNfConntrackBuckets:
   399                                  description: |-
   400                                    NetNetfilterNfConntrackBuckets specifies the size of hash table used by nf_conntrack module to record the established connection record of the TCP protocol.
   401                                    Valid values are 65536-147456 (inclusive).
   402                                    Maps to net.netfilter.nf_conntrack_buckets.
   403                                  maximum: 147456
   404                                  minimum: 65536
   405                                  type: integer
   406                                netNetfilterNfConntrackMax:
   407                                  description: |-
   408                                    NetNetfilterNfConntrackMax specifies the maximum number of connections supported by the nf_conntrack module or the size of connection tracking table.
   409                                    Valid values are 131072-1048576 (inclusive).
   410                                    Maps to net.netfilter.nf_conntrack_max.
   411                                  maximum: 1048576
   412                                  minimum: 131072
   413                                  type: integer
   414                                vmMaxMapCount:
   415                                  description: |-
   416                                    VMMaxMapCount specifies the maximum number of memory map areas a process may have.
   417                                    Maps to vm.max_map_count.
   418                                    Valid values are 65530-262144 (inclusive).
   419                                  maximum: 262144
   420                                  minimum: 65530
   421                                  type: integer
   422                                vmSwappiness:
   423                                  description: |-
   424                                    VMSwappiness specifies aggressiveness of the kernel in swapping memory pages.
   425                                    Higher values will increase aggressiveness, lower values decrease the amount of swap.
   426                                    Valid values are 0-100 (inclusive).
   427                                    Maps to vm.swappiness.
   428                                  maximum: 100
   429                                  minimum: 0
   430                                  type: integer
   431                                vmVfsCachePressure:
   432                                  description: |-
   433                                    VMVfsCachePressure specifies the percentage value that controls tendency of the kernel to reclaim the memory, which is used for caching of directory and inode objects.
   434                                    Valid values are 1-500 (inclusive).
   435                                    Maps to vm.vfs_cache_pressure.
   436                                  maximum: 500
   437                                  minimum: 1
   438                                  type: integer
   439                              type: object
   440                            transparentHugePageDefrag:
   441                              description: |-
   442                                TransparentHugePageDefrag specifies whether the kernel should make aggressive use of memory compaction to make more hugepages available.
   443                                See also [Linux doc].
   444  
   445  
   446                                [Linux doc]: https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge for more details.
   447                              enum:
   448                              - always
   449                              - defer
   450                              - defer+madvise
   451                              - madvise
   452                              - never
   453                              type: string
   454                            transparentHugePageEnabled:
   455                              description: |-
   456                                TransparentHugePageEnabled specifies various modes of Transparent Hugepages.
   457                                See also [Linux doc].
   458  
   459  
   460                                [Linux doc]: https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge for more details.
   461                              enum:
   462                              - always
   463                              - madvise
   464                              - never
   465                              type: string
   466                          type: object
   467                        maxPods:
   468                          description: |-
   469                            MaxPods specifies the kubelet `--max-pods` configuration for the node pool.
   470                            Immutable.
   471                            See also [AKS doc], [K8s doc].
   472  
   473  
   474                            [AKS doc]: https://learn.microsoft.com/azure/aks/configure-azure-cni#configure-maximum---new-clusters
   475                            [K8s doc]: https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/
   476                          type: integer
   477                        mode:
   478                          description: 'Mode represents the mode of an agent pool. Possible
   479                            values include: System, User.'
   480                          enum:
   481                          - System
   482                          - User
   483                          type: string
   484                        name:
   485                          description: |-
   486                            Name is the name of the agent pool. If not specified, CAPZ uses the name of the CR as the agent pool name.
   487                            Immutable.
   488                          type: string
   489                        nodeLabels:
   490                          additionalProperties:
   491                            type: string
   492                          description: |-
   493                            Node labels represent the labels for all of the nodes present in node pool.
   494                            See also [AKS doc].
   495  
   496  
   497                            [AKS doc]: https://learn.microsoft.com/azure/aks/use-labels
   498                          type: object
   499                        nodePublicIPPrefixID:
   500                          description: |-
   501                            NodePublicIPPrefixID specifies the public IP prefix resource ID which VM nodes should use IPs from.
   502                            Immutable.
   503                          type: string
   504                        osDiskSizeGB:
   505                          description: |-
   506                            OSDiskSizeGB is the disk size for every machine in this agent pool.
   507                            If you specify 0, it will apply the default osDisk size according to the vmSize specified.
   508                            Immutable.
   509                          type: integer
   510                        osDiskType:
   511                          default: Managed
   512                          description: |-
   513                            OsDiskType specifies the OS disk type for each node in the pool. Allowed values are 'Ephemeral' and 'Managed' (default).
   514                            Immutable.
   515                            See also [AKS doc].
   516  
   517  
   518                            [AKS doc]: https://learn.microsoft.com/azure/aks/cluster-configuration#ephemeral-os
   519                          enum:
   520                          - Ephemeral
   521                          - Managed
   522                          type: string
   523                        osType:
   524                          description: |-
   525                            OSType specifies the virtual machine operating system. Default to Linux. Possible values include: 'Linux', 'Windows'.
   526                            'Windows' requires the AzureManagedControlPlane's `spec.networkPlugin` to be `azure`.
   527                            Immutable.
   528                            See also [AKS doc].
   529  
   530  
   531                            [AKS doc]: https://learn.microsoft.com/rest/api/aks/agent-pools/create-or-update?tabs=HTTP#ostype
   532                          enum:
   533                          - Linux
   534                          - Windows
   535                          type: string
   536                        scaleDownMode:
   537                          default: Delete
   538                          description: 'ScaleDownMode affects the cluster autoscaler
   539                            behavior. Default to Delete. Possible values include: ''Deallocate'',
   540                            ''Delete'''
   541                          enum:
   542                          - Deallocate
   543                          - Delete
   544                          type: string
   545                        scaleSetPriority:
   546                          description: |-
   547                            ScaleSetPriority specifies the ScaleSetPriority value. Default to Regular. Possible values include: 'Regular', 'Spot'
   548                            Immutable.
   549                          enum:
   550                          - Regular
   551                          - Spot
   552                          type: string
   553                        scaling:
   554                          description: Scaling specifies the autoscaling parameters
   555                            for the node pool.
   556                          properties:
   557                            maxSize:
   558                              description: MaxSize is the maximum number of nodes for
   559                                auto-scaling.
   560                              type: integer
   561                            minSize:
   562                              description: MinSize is the minimum number of nodes for
   563                                auto-scaling.
   564                              type: integer
   565                          type: object
   566                        sku:
   567                          description: |-
   568                            SKU is the size of the VMs in the node pool.
   569                            Immutable.
   570                          type: string
   571                        spotMaxPrice:
   572                          anyOf:
   573                          - type: integer
   574                          - type: string
   575                          description: |-
   576                            SpotMaxPrice defines max price to pay for spot instance. Possible values are any decimal value greater than zero or -1.
   577                            If you set the max price to be -1, the VM won't be evicted based on price. The price for the VM will be the current price
   578                            for spot or the price for a standard VM, which ever is less, as long as there's capacity and quota available.
   579                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   580                          x-kubernetes-int-or-string: true
   581                        subnetName:
   582                          description: |-
   583                            SubnetName specifies the Subnet where the MachinePool will be placed
   584                            Immutable.
   585                          type: string
   586                        taints:
   587                          description: |-
   588                            Taints specifies the taints for nodes present in this agent pool.
   589                            See also [AKS doc].
   590  
   591  
   592                            [AKS doc]: https://learn.microsoft.com/azure/aks/use-multiple-node-pools#setting-node-pool-taints
   593                          items:
   594                            description: Taint represents a Kubernetes taint.
   595                            properties:
   596                              effect:
   597                                description: Effect specifies the effect for the taint
   598                                enum:
   599                                - NoSchedule
   600                                - NoExecute
   601                                - PreferNoSchedule
   602                                type: string
   603                              key:
   604                                description: Key is the key of the taint
   605                                type: string
   606                              value:
   607                                description: Value is the value of the taint
   608                                type: string
   609                            required:
   610                            - effect
   611                            - key
   612                            - value
   613                            type: object
   614                          type: array
   615                      required:
   616                      - mode
   617                      - sku
   618                      type: object
   619                  required:
   620                  - spec
   621                  type: object
   622              required:
   623              - template
   624              type: object
   625          type: object
   626      served: true
   627      storage: true