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: {}