github.com/giantswarm/apiextensions/v6@v6.6.0/config/crd/exp.infrastructure.cluster.x-k8s.io_azuremachinepools.yaml (about) 1 2 --- 3 apiVersion: apiextensions.k8s.io/v1 4 kind: CustomResourceDefinition 5 metadata: 6 annotations: 7 controller-gen.kubebuilder.io/version: v0.2.4 8 creationTimestamp: null 9 name: azuremachinepools.exp.infrastructure.cluster.x-k8s.io 10 spec: 11 group: exp.infrastructure.cluster.x-k8s.io 12 names: 13 categories: 14 - azure 15 - cluster-api 16 - giantswarm 17 kind: AzureMachinePool 18 listKind: AzureMachinePoolList 19 plural: azuremachinepools 20 shortNames: 21 - amp 22 singular: azuremachinepool 23 scope: Namespaced 24 versions: 25 - additionalPrinterColumns: 26 - description: AzureMachinePool replicas count 27 jsonPath: .status.replicas 28 name: Replicas 29 type: string 30 - description: AzureMachinePool replicas count 31 jsonPath: .status.ready 32 name: Ready 33 type: string 34 - description: Azure VMSS provisioning state 35 jsonPath: .status.provisioningState 36 name: State 37 type: string 38 - description: Cluster to which this AzureMachinePool belongs 39 jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name 40 name: Cluster 41 priority: 1 42 type: string 43 - description: MachinePool object to which this AzureMachinePool belongs 44 jsonPath: .metadata.ownerReferences[?(@.kind=="MachinePool")].name 45 name: MachinePool 46 priority: 1 47 type: string 48 - description: Azure VMSS ID 49 jsonPath: .spec.providerID 50 name: VMSS ID 51 priority: 1 52 type: string 53 - description: Azure VM Size 54 jsonPath: .spec.template.vmSize 55 name: VM Size 56 priority: 1 57 type: string 58 name: v1alpha3 59 schema: 60 openAPIV3Schema: 61 description: AzureMachinePool is the Schema for the azuremachinepools API 62 properties: 63 apiVersion: 64 description: 'APIVersion defines the versioned schema of this representation 65 of an object. Servers should convert recognized schemas to the latest 66 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 67 type: string 68 kind: 69 description: 'Kind is a string value representing the REST resource this 70 object represents. Servers may infer this from the endpoint the client 71 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 72 type: string 73 metadata: 74 type: object 75 spec: 76 description: AzureMachinePoolSpec defines the desired state of AzureMachinePool 77 properties: 78 additionalTags: 79 additionalProperties: 80 type: string 81 description: AdditionalTags is an optional set of tags to add to an 82 instance, in addition to the ones added by default by the Azure 83 provider. If both the AzureCluster and the AzureMachine specify 84 the same tag name with different values, the AzureMachine's value 85 takes precedence. 86 type: object 87 identity: 88 default: None 89 description: Identity is the type of identity used for the Virtual 90 Machine Scale Set. The type 'SystemAssigned' is an implicitly created 91 identity. The generated identity will be assigned a Subscription 92 contributor role. The type 'UserAssigned' is a standalone Azure 93 resource provided by the user and assigned to the VM 94 enum: 95 - None 96 - SystemAssigned 97 - UserAssigned 98 type: string 99 location: 100 description: Location is the Azure region location e.g. westus2 101 type: string 102 providerID: 103 description: ProviderID is the identification ID of the Virtual Machine 104 Scale Set 105 type: string 106 providerIDList: 107 description: ProviderIDList are the identification IDs of machine 108 instances provided by the provider. This field must match the provider 109 IDs as seen on the node objects corresponding to a machine pool's 110 machine instances. 111 items: 112 type: string 113 type: array 114 roleAssignmentName: 115 description: RoleAssignmentName is the name of the role assignment 116 to create for a system assigned identity. It can be any valid GUID. 117 If not specified, a random GUID will be generated. 118 type: string 119 template: 120 description: Template contains the details used to build a replica 121 virtual machine within the Machine Pool 122 properties: 123 acceleratedNetworking: 124 description: AcceleratedNetworking enables or disables Azure accelerated 125 networking. If omitted, it will be set based on whether the 126 requested VMSize supports accelerated networking. If AcceleratedNetworking 127 is set to true with a VMSize that does not support it, Azure 128 will return an error. 129 type: boolean 130 dataDisks: 131 description: DataDisks specifies the list of data disks to be 132 created for a Virtual Machine 133 items: 134 description: DataDisk specifies the parameters that are used 135 to add one or more data disks to the machine. 136 properties: 137 cachingType: 138 type: string 139 diskSizeGB: 140 description: DiskSizeGB is the size in GB to assign to the 141 data disk. 142 format: int32 143 type: integer 144 lun: 145 description: Lun Specifies the logical unit number of the 146 data disk. This value is used to identify data disks within 147 the VM and therefore must be unique for each data disk 148 attached to a VM. The value must be between 0 and 63. 149 format: int32 150 type: integer 151 managedDisk: 152 description: ManagedDisk defines the managed disk options 153 for a VM. 154 properties: 155 diskEncryptionSet: 156 description: DiskEncryptionSetParameters defines disk 157 encryption options. 158 properties: 159 id: 160 description: ID defines resourceID for diskEncryptionSet 161 resource. It must be in the same subscription 162 type: string 163 type: object 164 storageAccountType: 165 type: string 166 required: 167 - storageAccountType 168 type: object 169 nameSuffix: 170 description: NameSuffix is the suffix to be appended to 171 the machine name to generate the disk name. Each disk 172 name will be in format <machineName>_<nameSuffix>. 173 type: string 174 required: 175 - diskSizeGB 176 - nameSuffix 177 type: object 178 type: array 179 image: 180 description: Image is used to provide details of an image to use 181 during Virtual Machine creation. If image details are omitted 182 the image will default the Azure Marketplace "capi" offer, which 183 is based on Ubuntu. 184 properties: 185 id: 186 description: ID specifies an image to use by ID 187 type: string 188 marketplace: 189 description: Marketplace specifies an image to use from the 190 Azure Marketplace 191 properties: 192 offer: 193 description: Offer specifies the name of a group of related 194 images created by the publisher. For example, UbuntuServer, 195 WindowsServer 196 minLength: 1 197 type: string 198 publisher: 199 description: Publisher is the name of the organization 200 that created the image 201 minLength: 1 202 type: string 203 sku: 204 description: SKU specifies an instance of an offer, such 205 as a major release of a distribution. For example, 18.04-LTS, 206 2019-Datacenter 207 minLength: 1 208 type: string 209 thirdPartyImage: 210 default: false 211 description: ThirdPartyImage indicates the image is published 212 by a third party publisher and a Plan will be generated 213 for it. 214 type: boolean 215 version: 216 description: Version specifies the version of an image 217 sku. The allowed formats are Major.Minor.Build or 'latest'. 218 Major, Minor, and Build are decimal numbers. Specify 219 'latest' to use the latest version of an image available 220 at deploy time. Even if you use 'latest', the VM image 221 will not automatically update after deploy time even 222 if a new version becomes available. 223 minLength: 1 224 type: string 225 required: 226 - offer 227 - publisher 228 - sku 229 - version 230 type: object 231 sharedGallery: 232 description: SharedGallery specifies an image to use from 233 an Azure Shared Image Gallery 234 properties: 235 gallery: 236 description: Gallery specifies the name of the shared 237 image gallery that contains the image 238 minLength: 1 239 type: string 240 name: 241 description: Name is the name of the image 242 minLength: 1 243 type: string 244 resourceGroup: 245 description: ResourceGroup specifies the resource group 246 containing the shared image gallery 247 minLength: 1 248 type: string 249 subscriptionID: 250 description: SubscriptionID is the identifier of the subscription 251 that contains the shared image gallery 252 minLength: 1 253 type: string 254 version: 255 description: Version specifies the version of the marketplace 256 image. The allowed formats are Major.Minor.Build or 257 'latest'. Major, Minor, and Build are decimal numbers. 258 Specify 'latest' to use the latest version of an image 259 available at deploy time. Even if you use 'latest', 260 the VM image will not automatically update after deploy 261 time even if a new version becomes available. 262 minLength: 1 263 type: string 264 required: 265 - gallery 266 - name 267 - resourceGroup 268 - subscriptionID 269 - version 270 type: object 271 type: object 272 osDisk: 273 description: OSDisk contains the operating system disk information 274 for a Virtual Machine 275 properties: 276 cachingType: 277 type: string 278 diffDiskSettings: 279 description: DiffDiskSettings describe ephemeral disk settings 280 for the os disk. 281 properties: 282 option: 283 description: Option enables ephemeral OS when set to "Local" 284 See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks 285 for full details 286 enum: 287 - Local 288 type: string 289 required: 290 - option 291 type: object 292 diskSizeGB: 293 format: int32 294 type: integer 295 managedDisk: 296 description: ManagedDisk defines the managed disk options 297 for a VM. 298 properties: 299 diskEncryptionSet: 300 description: DiskEncryptionSetParameters defines disk 301 encryption options. 302 properties: 303 id: 304 description: ID defines resourceID for diskEncryptionSet 305 resource. It must be in the same subscription 306 type: string 307 type: object 308 storageAccountType: 309 type: string 310 required: 311 - storageAccountType 312 type: object 313 osType: 314 type: string 315 required: 316 - diskSizeGB 317 - managedDisk 318 - osType 319 type: object 320 securityProfile: 321 description: SecurityProfile specifies the Security profile settings 322 for a virtual machine. 323 properties: 324 encryptionAtHost: 325 description: This field indicates whether Host Encryption 326 should be enabled or disabled for a virtual machine or virtual 327 machine scale set. Default is disabled. 328 type: boolean 329 type: object 330 spotVMOptions: 331 description: SpotVMOptions allows the ability to specify the Machine 332 should use a Spot VM 333 properties: 334 maxPrice: 335 description: MaxPrice defines the maximum price the user is 336 willing to pay for Spot VM instances 337 type: string 338 type: object 339 sshPublicKey: 340 description: SSHPublicKey is the SSH public key string base64 341 encoded to add to a Virtual Machine 342 type: string 343 terminateNotificationTimeout: 344 description: TerminateNotificationTimeout enables or disables 345 VMSS scheduled events termination notification with specified 346 timeout allowed values are between 5 and 15 (mins) 347 type: integer 348 vmSize: 349 description: VMSize is the size of the Virtual Machine to build. 350 See https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines/createorupdate#virtualmachinesizetypes 351 type: string 352 required: 353 - osDisk 354 - sshPublicKey 355 - vmSize 356 type: object 357 userAssignedIdentities: 358 description: UserAssignedIdentities is a list of standalone Azure 359 identities provided by the user The lifecycle of a user-assigned 360 identity is managed separately from the lifecycle of the AzureMachinePool. 361 See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli 362 items: 363 description: UserAssignedIdentity defines the user-assigned identities 364 provided by the user to be assigned to Azure resources. 365 properties: 366 providerID: 367 description: 'ProviderID is the identification ID of the user-assigned 368 Identity, the format of an identity is: ''azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}''' 369 type: string 370 required: 371 - providerID 372 type: object 373 type: array 374 required: 375 - location 376 - template 377 type: object 378 status: 379 description: AzureMachinePoolStatus defines the observed state of AzureMachinePool 380 properties: 381 conditions: 382 description: Conditions defines current service state of the AzureMachinePool. 383 items: 384 description: Condition defines an observation of a Cluster API resource 385 operational state. 386 properties: 387 lastTransitionTime: 388 description: Last time the condition transitioned from one status 389 to another. This should be when the underlying condition changed. 390 If that is not known, then using the time when the API field 391 changed is acceptable. 392 format: date-time 393 type: string 394 message: 395 description: A human readable message indicating details about 396 the transition. This field may be empty. 397 type: string 398 reason: 399 description: The reason for the condition's last transition 400 in CamelCase. The specific API may choose whether or not this 401 field is considered a guaranteed API. This field may not be 402 empty. 403 type: string 404 severity: 405 description: Severity provides an explicit classification of 406 Reason code, so the users or machines can immediately understand 407 the current situation and act accordingly. The Severity field 408 MUST be set only when Status=False. 409 type: string 410 status: 411 description: Status of the condition, one of True, False, Unknown. 412 type: string 413 type: 414 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 415 Many .condition.type values are consistent across resources 416 like Available, but because arbitrary conditions can be useful 417 (see .node.status.conditions), the ability to deconflict is 418 important. 419 type: string 420 required: 421 - status 422 - type 423 type: object 424 type: array 425 failureMessage: 426 description: "FailureMessage will be set in the event that there is 427 a terminal problem reconciling the MachinePool and will contain 428 a more verbose string suitable for logging and human consumption. 429 \n This field should not be set for transitive errors that a controller 430 faces that are expected to be fixed automatically over time (like 431 service outages), but instead indicate that something is fundamentally 432 wrong with the MachinePool's spec or the configuration of the controller, 433 and that manual intervention is required. Examples of terminal errors 434 would be invalid combinations of settings in the spec, values that 435 are unsupported by the controller, or the responsible controller 436 itself being critically misconfigured. \n Any transient errors that 437 occur during the reconciliation of MachinePools can be added as 438 events to the MachinePool object and/or logged in the controller's 439 output." 440 type: string 441 failureReason: 442 description: "FailureReason will be set in the event that there is 443 a terminal problem reconciling the MachinePool and will contain 444 a succinct value suitable for machine interpretation. \n This field 445 should not be set for transitive errors that a controller faces 446 that are expected to be fixed automatically over time (like service 447 outages), but instead indicate that something is fundamentally wrong 448 with the MachinePool's spec or the configuration of the controller, 449 and that manual intervention is required. Examples of terminal errors 450 would be invalid combinations of settings in the spec, values that 451 are unsupported by the controller, or the responsible controller 452 itself being critically misconfigured. \n Any transient errors that 453 occur during the reconciliation of MachinePools can be added as 454 events to the MachinePool object and/or logged in the controller's 455 output." 456 type: string 457 instances: 458 description: Instances is the VM instance status for each VM in the 459 VMSS 460 items: 461 description: AzureMachinePoolInstanceStatus provides status information 462 for each instance in the VMSS 463 properties: 464 instanceID: 465 description: InstanceID is the identification of the Machine 466 Instance within the VMSS 467 type: string 468 instanceName: 469 description: InstanceName is the name of the Machine Instance 470 within the VMSS 471 type: string 472 latestModelApplied: 473 description: LatestModelApplied indicates the instance is running 474 the most up-to-date VMSS model. A VMSS model describes the 475 image version the VM is running. If the instance is not running 476 the latest model, it means the instance may not be running 477 the version of Kubernetes the Machine Pool has specified and 478 needs to be updated. 479 type: boolean 480 providerID: 481 description: ProviderID is the provider identification of the 482 VMSS Instance 483 type: string 484 provisioningState: 485 description: ProvisioningState is the provisioning state of 486 the Azure virtual machine instance. 487 type: string 488 version: 489 description: Version defines the Kubernetes version for the 490 VM Instance 491 type: string 492 required: 493 - latestModelApplied 494 type: object 495 type: array 496 longRunningOperationState: 497 description: LongRunningOperationState saves the state for an Azure 498 long running operations so it can be continued on the next reconciliation 499 loop. 500 properties: 501 futureData: 502 description: FutureData is the base64 url encoded json Azure AutoRest 503 Future. 504 type: string 505 name: 506 description: Name is the name of the Azure resource. 507 type: string 508 resourceGroup: 509 description: ResourceGroup is the Azure resource group for the 510 resource. 511 type: string 512 type: 513 description: Type describes the type of future, update, create, 514 delete, etc. 515 type: string 516 required: 517 - type 518 type: object 519 provisioningState: 520 description: ProvisioningState is the provisioning state of the Azure 521 virtual machine. 522 type: string 523 ready: 524 description: Ready is true when the provider resource is ready. 525 type: boolean 526 replicas: 527 description: Replicas is the most recently observed number of replicas. 528 format: int32 529 type: integer 530 version: 531 description: Version is the Kubernetes version for the current VMSS 532 model 533 type: string 534 type: object 535 type: object 536 served: true 537 storage: true 538 subresources: 539 status: {} 540 status: 541 acceptedNames: 542 kind: "" 543 plural: "" 544 conditions: [] 545 storedVersions: []