sigs.k8s.io/cluster-api-provider-aws@v1.5.5/config/crd/bases/infrastructure.cluster.x-k8s.io_awsmachinepools.yaml (about) 1 --- 2 apiVersion: apiextensions.k8s.io/v1 3 kind: CustomResourceDefinition 4 metadata: 5 annotations: 6 controller-gen.kubebuilder.io/version: v0.7.1-0.20211110210727-ab52f76cc7d1 7 creationTimestamp: null 8 name: awsmachinepools.infrastructure.cluster.x-k8s.io 9 spec: 10 group: infrastructure.cluster.x-k8s.io 11 names: 12 categories: 13 - cluster-api 14 kind: AWSMachinePool 15 listKind: AWSMachinePoolList 16 plural: awsmachinepools 17 shortNames: 18 - awsmp 19 singular: awsmachinepool 20 scope: Namespaced 21 versions: 22 - additionalPrinterColumns: 23 - description: Machine ready status 24 jsonPath: .status.ready 25 name: Ready 26 type: string 27 - description: Machine ready status 28 jsonPath: .status.replicas 29 name: Replicas 30 type: integer 31 - description: Minimum instanes in ASG 32 jsonPath: .spec.minSize 33 name: MinSize 34 type: integer 35 - description: Maximum instanes in ASG 36 jsonPath: .spec.maxSize 37 name: MaxSize 38 type: integer 39 - description: Launch Template ID 40 jsonPath: .status.launchTemplateID 41 name: LaunchTemplate ID 42 type: string 43 name: v1alpha3 44 schema: 45 openAPIV3Schema: 46 description: AWSMachinePool is the Schema for the awsmachinepools API 47 properties: 48 apiVersion: 49 description: 'APIVersion defines the versioned schema of this representation 50 of an object. Servers should convert recognized schemas to the latest 51 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 52 type: string 53 kind: 54 description: 'Kind is a string value representing the REST resource this 55 object represents. Servers may infer this from the endpoint the client 56 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 57 type: string 58 metadata: 59 type: object 60 spec: 61 description: AWSMachinePoolSpec defines the desired state of AWSMachinePool 62 properties: 63 additionalTags: 64 additionalProperties: 65 type: string 66 description: AdditionalTags is an optional set of tags to add to an 67 instance, in addition to the ones added by default by the AWS provider. 68 type: object 69 availabilityZones: 70 description: AvailabilityZones is an array of availability zones instances 71 can run in 72 items: 73 type: string 74 type: array 75 awsLaunchTemplate: 76 description: AWSLaunchTemplate specifies the launch template and version 77 to use when an instance is launched. 78 properties: 79 additionalSecurityGroups: 80 description: AdditionalSecurityGroups is an array of references 81 to security groups that should be applied to the instances. 82 These security groups would be set in addition to any security 83 groups defined at the cluster level or in the actuator. 84 items: 85 description: AWSResourceReference is a reference to a specific 86 AWS resource by ID, ARN, or filters. Only one of ID, ARN or 87 Filters may be specified. Specifying more than one will result 88 in a validation error. 89 properties: 90 arn: 91 description: ARN of resource 92 type: string 93 filters: 94 description: 'Filters is a set of key/value pairs used to 95 identify a resource They are applied according to the 96 rules defined by the AWS API: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html' 97 items: 98 description: Filter is a filter used to identify an AWS 99 resource 100 properties: 101 name: 102 description: Name of the filter. Filter names are 103 case-sensitive. 104 type: string 105 values: 106 description: Values includes one or more filter values. 107 Filter values are case-sensitive. 108 items: 109 type: string 110 type: array 111 required: 112 - name 113 - values 114 type: object 115 type: array 116 id: 117 description: ID of resource 118 type: string 119 type: object 120 type: array 121 ami: 122 description: AMI is the reference to the AMI from which to create 123 the machine instance. 124 properties: 125 arn: 126 description: ARN of resource 127 type: string 128 filters: 129 description: 'Filters is a set of key/value pairs used to 130 identify a resource They are applied according to the rules 131 defined by the AWS API: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html' 132 items: 133 description: Filter is a filter used to identify an AWS 134 resource 135 properties: 136 name: 137 description: Name of the filter. Filter names are case-sensitive. 138 type: string 139 values: 140 description: Values includes one or more filter values. 141 Filter values are case-sensitive. 142 items: 143 type: string 144 type: array 145 required: 146 - name 147 - values 148 type: object 149 type: array 150 id: 151 description: ID of resource 152 type: string 153 type: object 154 iamInstanceProfile: 155 description: The name or the Amazon Resource Name (ARN) of the 156 instance profile associated with the IAM role for the instance. 157 The instance profile contains the IAM role. 158 type: string 159 imageLookupBaseOS: 160 description: ImageLookupBaseOS is the name of the base operating 161 system to use for image lookup the AMI is not set. 162 type: string 163 imageLookupFormat: 164 description: 'ImageLookupFormat is the AMI naming format to look 165 up the image for this machine It will be ignored if an explicit 166 AMI is set. Supports substitutions for {{.BaseOS}} and {{.K8sVersion}} 167 with the base OS and kubernetes version, respectively. The BaseOS 168 will be the value in ImageLookupBaseOS or ubuntu (the default), 169 and the kubernetes version as defined by the packages produced 170 by kubernetes/release without v as a prefix: 1.13.0, 1.12.5-mybuild.1, 171 or 1.17.3. For example, the default image format of capa-ami-{{.BaseOS}}-?{{.K8sVersion}}-* 172 will end up searching for AMIs that match the pattern capa-ami-ubuntu-?1.18.0-* 173 for a Machine that is targeting kubernetes v1.18.0 and the ubuntu 174 base OS. See also: https://golang.org/pkg/text/template/' 175 type: string 176 imageLookupOrg: 177 description: ImageLookupOrg is the AWS Organization ID to use 178 for image lookup if AMI is not set. 179 type: string 180 instanceType: 181 description: 'InstanceType is the type of instance to create. 182 Example: m4.xlarge' 183 type: string 184 name: 185 description: The name of the launch template. 186 type: string 187 rootVolume: 188 description: RootVolume encapsulates the configuration options 189 for the root volume 190 properties: 191 deviceName: 192 description: Device name 193 type: string 194 encrypted: 195 description: Encrypted is whether the volume should be encrypted 196 or not. 197 type: boolean 198 encryptionKey: 199 description: EncryptionKey is the KMS key to use to encrypt 200 the volume. Can be either a KMS key ID or ARN. If Encrypted 201 is set and this is omitted, the default AWS key will be 202 used. The key must already exist and be accessible by the 203 controller. 204 type: string 205 iops: 206 description: IOPS is the number of IOPS requested for the 207 disk. Not applicable to all types. 208 format: int64 209 type: integer 210 size: 211 description: Size specifies size (in Gi) of the storage device. 212 Must be greater than the image snapshot size or 8 (whichever 213 is greater). 214 format: int64 215 minimum: 8 216 type: integer 217 type: 218 description: Type is the type of the volume (e.g. gp2, io1, 219 etc...). 220 type: string 221 required: 222 - size 223 type: object 224 sshKeyName: 225 description: SSHKeyName is the name of the ssh key to attach to 226 the instance. Valid values are empty string (do not use SSH 227 keys), a valid SSH key name, or omitted (use the default SSH 228 key name) 229 type: string 230 versionNumber: 231 description: 'VersionNumber is the version of the launch template 232 that is applied. Typically a new version is created when at 233 least one of the following happens: 1) A new launch template 234 spec is applied. 2) One or more parameters in an existing template 235 is changed. 3) A new AMI is discovered.' 236 format: int64 237 type: integer 238 type: object 239 capacityRebalance: 240 description: Enable or disable the capacity rebalance autoscaling 241 group feature 242 type: boolean 243 defaultCoolDown: 244 description: The amount of time, in seconds, after a scaling activity 245 completes before another scaling activity can start. If no value 246 is supplied by user a default value of 300 seconds is set 247 type: string 248 maxSize: 249 default: 1 250 description: MaxSize defines the maximum size of the group. 251 format: int32 252 minimum: 1 253 type: integer 254 minSize: 255 default: 1 256 description: MinSize defines the minimum size of the group. 257 format: int32 258 minimum: 1 259 type: integer 260 mixedInstancesPolicy: 261 description: MixedInstancesPolicy describes how multiple instance 262 types will be used by the ASG. 263 properties: 264 instancesDistribution: 265 description: InstancesDistribution to configure distribution of 266 On-Demand Instances and Spot Instances. 267 properties: 268 onDemandAllocationStrategy: 269 default: prioritized 270 description: OnDemandAllocationStrategy indicates how to allocate 271 instance types to fulfill On-Demand capacity. 272 enum: 273 - prioritized 274 type: string 275 onDemandBaseCapacity: 276 default: 0 277 format: int64 278 type: integer 279 onDemandPercentageAboveBaseCapacity: 280 default: 100 281 format: int64 282 type: integer 283 spotAllocationStrategy: 284 default: lowest-price 285 description: SpotAllocationStrategy indicates how to allocate 286 instances across Spot Instance pools. 287 enum: 288 - lowest-price 289 - capacity-optimized 290 type: string 291 type: object 292 overrides: 293 items: 294 description: Overrides are used to override the instance type 295 specified by the launch template with multiple instance types 296 that can be used to launch On-Demand Instances and Spot Instances. 297 properties: 298 instanceType: 299 type: string 300 required: 301 - instanceType 302 type: object 303 type: array 304 type: object 305 providerID: 306 description: ProviderID is the ARN of the associated ASG 307 type: string 308 providerIDList: 309 description: ProviderIDList are the identification IDs of machine 310 instances provided by the provider. This field must match the provider 311 IDs as seen on the node objects corresponding to a machine pool's 312 machine instances. 313 items: 314 type: string 315 type: array 316 refreshPreferences: 317 description: RefreshPreferences describes set of preferences associated 318 with the instance refresh request. 319 properties: 320 instanceWarmup: 321 description: The number of seconds until a newly launched instance 322 is configured and ready to use. During this time, the next replacement 323 will not be initiated. The default is to use the value for the 324 health check grace period defined for the group. 325 format: int64 326 type: integer 327 minHealthyPercentage: 328 description: The amount of capacity as a percentage in ASG that 329 must remain healthy during an instance refresh. The default 330 is 90. 331 format: int64 332 type: integer 333 strategy: 334 description: The strategy to use for the instance refresh. The 335 only valid value is Rolling. A rolling update is an update that 336 is applied to all instances in an Auto Scaling group until all 337 instances have been updated. 338 type: string 339 type: object 340 subnets: 341 description: Subnets is an array of subnet configurations 342 items: 343 description: AWSResourceReference is a reference to a specific AWS 344 resource by ID, ARN, or filters. Only one of ID, ARN or Filters 345 may be specified. Specifying more than one will result in a validation 346 error. 347 properties: 348 arn: 349 description: ARN of resource 350 type: string 351 filters: 352 description: 'Filters is a set of key/value pairs used to identify 353 a resource They are applied according to the rules defined 354 by the AWS API: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html' 355 items: 356 description: Filter is a filter used to identify an AWS resource 357 properties: 358 name: 359 description: Name of the filter. Filter names are case-sensitive. 360 type: string 361 values: 362 description: Values includes one or more filter values. 363 Filter values are case-sensitive. 364 items: 365 type: string 366 type: array 367 required: 368 - name 369 - values 370 type: object 371 type: array 372 id: 373 description: ID of resource 374 type: string 375 type: object 376 type: array 377 required: 378 - awsLaunchTemplate 379 - maxSize 380 - minSize 381 type: object 382 status: 383 description: AWSMachinePoolStatus defines the observed state of AWSMachinePool 384 properties: 385 asgStatus: 386 description: ASGStatus is a status string returned by the autoscaling 387 API 388 type: string 389 conditions: 390 description: Conditions defines current service state of the AWSMachinePool. 391 items: 392 description: Condition defines an observation of a Cluster API resource 393 operational state. 394 properties: 395 lastTransitionTime: 396 description: Last time the condition transitioned from one status 397 to another. This should be when the underlying condition changed. 398 If that is not known, then using the time when the API field 399 changed is acceptable. 400 format: date-time 401 type: string 402 message: 403 description: A human readable message indicating details about 404 the transition. This field may be empty. 405 type: string 406 reason: 407 description: The reason for the condition's last transition 408 in CamelCase. The specific API may choose whether or not this 409 field is considered a guaranteed API. This field may not be 410 empty. 411 type: string 412 severity: 413 description: Severity provides an explicit classification of 414 Reason code, so the users or machines can immediately understand 415 the current situation and act accordingly. The Severity field 416 MUST be set only when Status=False. 417 type: string 418 status: 419 description: Status of the condition, one of True, False, Unknown. 420 type: string 421 type: 422 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 423 Many .condition.type values are consistent across resources 424 like Available, but because arbitrary conditions can be useful 425 (see .node.status.conditions), the ability to deconflict is 426 important. 427 type: string 428 required: 429 - status 430 - type 431 type: object 432 type: array 433 failureMessage: 434 description: "FailureMessage will be set in the event that there is 435 a terminal problem reconciling the Machine and will contain a more 436 verbose string suitable for logging and human consumption. \n This 437 field should not be set for transitive errors that a controller 438 faces that are expected to be fixed automatically over time (like 439 service outages), but instead indicate that something is fundamentally 440 wrong with the Machine's spec or the configuration of the controller, 441 and that manual intervention is required. Examples of terminal errors 442 would be invalid combinations of settings in the spec, values that 443 are unsupported by the controller, or the responsible controller 444 itself being critically misconfigured. \n Any transient errors that 445 occur during the reconciliation of Machines can be added as events 446 to the Machine object and/or logged in the controller's output." 447 type: string 448 failureReason: 449 description: "FailureReason will be set in the event that there is 450 a terminal problem reconciling the Machine and will contain a succinct 451 value suitable for machine interpretation. \n This field should 452 not be set for transitive errors that a controller faces that are 453 expected to be fixed automatically over time (like service outages), 454 but instead indicate that something is fundamentally wrong with 455 the Machine's spec or the configuration of the controller, and that 456 manual intervention is required. Examples of terminal errors would 457 be invalid combinations of settings in the spec, values that are 458 unsupported by the controller, or the responsible controller itself 459 being critically misconfigured. \n Any transient errors that occur 460 during the reconciliation of Machines can be added as events to 461 the Machine object and/or logged in the controller's output." 462 type: string 463 instances: 464 description: Instances contains the status for each instance in the 465 pool 466 items: 467 description: AWSMachinePoolInstanceStatus defines the status of 468 the AWSMachinePoolInstance. 469 properties: 470 instanceID: 471 description: InstanceID is the identification of the Machine 472 Instance within ASG 473 type: string 474 version: 475 description: Version defines the Kubernetes version for the 476 Machine Instance 477 type: string 478 type: object 479 type: array 480 launchTemplateID: 481 description: The ID of the launch template 482 type: string 483 ready: 484 description: Ready is true when the provider resource is ready. 485 type: boolean 486 replicas: 487 description: Replicas is the most recently observed number of replicas 488 format: int32 489 type: integer 490 type: object 491 type: object 492 served: true 493 storage: false 494 subresources: 495 status: {} 496 - additionalPrinterColumns: 497 - description: Machine ready status 498 jsonPath: .status.ready 499 name: Ready 500 type: string 501 - description: Machine ready status 502 jsonPath: .status.replicas 503 name: Replicas 504 type: integer 505 - description: Minimum instanes in ASG 506 jsonPath: .spec.minSize 507 name: MinSize 508 type: integer 509 - description: Maximum instanes in ASG 510 jsonPath: .spec.maxSize 511 name: MaxSize 512 type: integer 513 - description: Launch Template ID 514 jsonPath: .status.launchTemplateID 515 name: LaunchTemplate ID 516 type: string 517 name: v1alpha4 518 schema: 519 openAPIV3Schema: 520 description: AWSMachinePool is the Schema for the awsmachinepools API 521 properties: 522 apiVersion: 523 description: 'APIVersion defines the versioned schema of this representation 524 of an object. Servers should convert recognized schemas to the latest 525 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 526 type: string 527 kind: 528 description: 'Kind is a string value representing the REST resource this 529 object represents. Servers may infer this from the endpoint the client 530 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 531 type: string 532 metadata: 533 type: object 534 spec: 535 description: AWSMachinePoolSpec defines the desired state of AWSMachinePool 536 properties: 537 additionalTags: 538 additionalProperties: 539 type: string 540 description: AdditionalTags is an optional set of tags to add to an 541 instance, in addition to the ones added by default by the AWS provider. 542 type: object 543 availabilityZones: 544 description: AvailabilityZones is an array of availability zones instances 545 can run in 546 items: 547 type: string 548 type: array 549 awsLaunchTemplate: 550 description: AWSLaunchTemplate specifies the launch template and version 551 to use when an instance is launched. 552 properties: 553 additionalSecurityGroups: 554 description: AdditionalSecurityGroups is an array of references 555 to security groups that should be applied to the instances. 556 These security groups would be set in addition to any security 557 groups defined at the cluster level or in the actuator. 558 items: 559 description: AWSResourceReference is a reference to a specific 560 AWS resource by ID, ARN, or filters. Only one of ID, ARN or 561 Filters may be specified. Specifying more than one will result 562 in a validation error. 563 properties: 564 arn: 565 description: ARN of resource 566 type: string 567 filters: 568 description: 'Filters is a set of key/value pairs used to 569 identify a resource They are applied according to the 570 rules defined by the AWS API: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html' 571 items: 572 description: Filter is a filter used to identify an AWS 573 resource 574 properties: 575 name: 576 description: Name of the filter. Filter names are 577 case-sensitive. 578 type: string 579 values: 580 description: Values includes one or more filter values. 581 Filter values are case-sensitive. 582 items: 583 type: string 584 type: array 585 required: 586 - name 587 - values 588 type: object 589 type: array 590 id: 591 description: ID of resource 592 type: string 593 type: object 594 type: array 595 ami: 596 description: AMI is the reference to the AMI from which to create 597 the machine instance. 598 properties: 599 eksLookupType: 600 description: EKSOptimizedLookupType If specified, will look 601 up an EKS Optimized image in SSM Parameter store 602 enum: 603 - AmazonLinux 604 - AmazonLinuxGPU 605 type: string 606 id: 607 description: ID of resource 608 type: string 609 type: object 610 iamInstanceProfile: 611 description: The name or the Amazon Resource Name (ARN) of the 612 instance profile associated with the IAM role for the instance. 613 The instance profile contains the IAM role. 614 type: string 615 imageLookupBaseOS: 616 description: ImageLookupBaseOS is the name of the base operating 617 system to use for image lookup the AMI is not set. 618 type: string 619 imageLookupFormat: 620 description: 'ImageLookupFormat is the AMI naming format to look 621 up the image for this machine It will be ignored if an explicit 622 AMI is set. Supports substitutions for {{.BaseOS}} and {{.K8sVersion}} 623 with the base OS and kubernetes version, respectively. The BaseOS 624 will be the value in ImageLookupBaseOS or ubuntu (the default), 625 and the kubernetes version as defined by the packages produced 626 by kubernetes/release without v as a prefix: 1.13.0, 1.12.5-mybuild.1, 627 or 1.17.3. For example, the default image format of capa-ami-{{.BaseOS}}-?{{.K8sVersion}}-* 628 will end up searching for AMIs that match the pattern capa-ami-ubuntu-?1.18.0-* 629 for a Machine that is targeting kubernetes v1.18.0 and the ubuntu 630 base OS. See also: https://golang.org/pkg/text/template/' 631 type: string 632 imageLookupOrg: 633 description: ImageLookupOrg is the AWS Organization ID to use 634 for image lookup if AMI is not set. 635 type: string 636 instanceType: 637 description: 'InstanceType is the type of instance to create. 638 Example: m4.xlarge' 639 type: string 640 name: 641 description: The name of the launch template. 642 type: string 643 rootVolume: 644 description: RootVolume encapsulates the configuration options 645 for the root volume 646 properties: 647 deviceName: 648 description: Device name 649 type: string 650 encrypted: 651 description: Encrypted is whether the volume should be encrypted 652 or not. 653 type: boolean 654 encryptionKey: 655 description: EncryptionKey is the KMS key to use to encrypt 656 the volume. Can be either a KMS key ID or ARN. If Encrypted 657 is set and this is omitted, the default AWS key will be 658 used. The key must already exist and be accessible by the 659 controller. 660 type: string 661 iops: 662 description: IOPS is the number of IOPS requested for the 663 disk. Not applicable to all types. 664 format: int64 665 type: integer 666 size: 667 description: Size specifies size (in Gi) of the storage device. 668 Must be greater than the image snapshot size or 8 (whichever 669 is greater). 670 format: int64 671 minimum: 8 672 type: integer 673 throughput: 674 description: Throughput to provision in MiB/s supported for 675 the volume type. Not applicable to all types. 676 format: int64 677 type: integer 678 type: 679 description: Type is the type of the volume (e.g. gp2, io1, 680 etc...). 681 type: string 682 required: 683 - size 684 type: object 685 sshKeyName: 686 description: SSHKeyName is the name of the ssh key to attach to 687 the instance. Valid values are empty string (do not use SSH 688 keys), a valid SSH key name, or omitted (use the default SSH 689 key name) 690 type: string 691 versionNumber: 692 description: 'VersionNumber is the version of the launch template 693 that is applied. Typically a new version is created when at 694 least one of the following happens: 1) A new launch template 695 spec is applied. 2) One or more parameters in an existing template 696 is changed. 3) A new AMI is discovered.' 697 format: int64 698 type: integer 699 type: object 700 capacityRebalance: 701 description: Enable or disable the capacity rebalance autoscaling 702 group feature 703 type: boolean 704 defaultCoolDown: 705 description: The amount of time, in seconds, after a scaling activity 706 completes before another scaling activity can start. If no value 707 is supplied by user a default value of 300 seconds is set 708 type: string 709 maxSize: 710 default: 1 711 description: MaxSize defines the maximum size of the group. 712 format: int32 713 minimum: 1 714 type: integer 715 minSize: 716 default: 1 717 description: MinSize defines the minimum size of the group. 718 format: int32 719 minimum: 1 720 type: integer 721 mixedInstancesPolicy: 722 description: MixedInstancesPolicy describes how multiple instance 723 types will be used by the ASG. 724 properties: 725 instancesDistribution: 726 description: InstancesDistribution to configure distribution of 727 On-Demand Instances and Spot Instances. 728 properties: 729 onDemandAllocationStrategy: 730 default: prioritized 731 description: OnDemandAllocationStrategy indicates how to allocate 732 instance types to fulfill On-Demand capacity. 733 enum: 734 - prioritized 735 type: string 736 onDemandBaseCapacity: 737 default: 0 738 format: int64 739 type: integer 740 onDemandPercentageAboveBaseCapacity: 741 default: 100 742 format: int64 743 type: integer 744 spotAllocationStrategy: 745 default: lowest-price 746 description: SpotAllocationStrategy indicates how to allocate 747 instances across Spot Instance pools. 748 enum: 749 - lowest-price 750 - capacity-optimized 751 type: string 752 type: object 753 overrides: 754 items: 755 description: Overrides are used to override the instance type 756 specified by the launch template with multiple instance types 757 that can be used to launch On-Demand Instances and Spot Instances. 758 properties: 759 instanceType: 760 type: string 761 required: 762 - instanceType 763 type: object 764 type: array 765 type: object 766 providerID: 767 description: ProviderID is the ARN of the associated ASG 768 type: string 769 providerIDList: 770 description: ProviderIDList are the identification IDs of machine 771 instances provided by the provider. This field must match the provider 772 IDs as seen on the node objects corresponding to a machine pool's 773 machine instances. 774 items: 775 type: string 776 type: array 777 refreshPreferences: 778 description: RefreshPreferences describes set of preferences associated 779 with the instance refresh request. 780 properties: 781 instanceWarmup: 782 description: The number of seconds until a newly launched instance 783 is configured and ready to use. During this time, the next replacement 784 will not be initiated. The default is to use the value for the 785 health check grace period defined for the group. 786 format: int64 787 type: integer 788 minHealthyPercentage: 789 description: The amount of capacity as a percentage in ASG that 790 must remain healthy during an instance refresh. The default 791 is 90. 792 format: int64 793 type: integer 794 strategy: 795 description: The strategy to use for the instance refresh. The 796 only valid value is Rolling. A rolling update is an update that 797 is applied to all instances in an Auto Scaling group until all 798 instances have been updated. 799 type: string 800 type: object 801 subnets: 802 description: Subnets is an array of subnet configurations 803 items: 804 description: AWSResourceReference is a reference to a specific AWS 805 resource by ID, ARN, or filters. Only one of ID, ARN or Filters 806 may be specified. Specifying more than one will result in a validation 807 error. 808 properties: 809 arn: 810 description: ARN of resource 811 type: string 812 filters: 813 description: 'Filters is a set of key/value pairs used to identify 814 a resource They are applied according to the rules defined 815 by the AWS API: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html' 816 items: 817 description: Filter is a filter used to identify an AWS resource 818 properties: 819 name: 820 description: Name of the filter. Filter names are case-sensitive. 821 type: string 822 values: 823 description: Values includes one or more filter values. 824 Filter values are case-sensitive. 825 items: 826 type: string 827 type: array 828 required: 829 - name 830 - values 831 type: object 832 type: array 833 id: 834 description: ID of resource 835 type: string 836 type: object 837 type: array 838 required: 839 - awsLaunchTemplate 840 - maxSize 841 - minSize 842 type: object 843 status: 844 description: AWSMachinePoolStatus defines the observed state of AWSMachinePool 845 properties: 846 asgStatus: 847 description: ASGStatus is a status string returned by the autoscaling 848 API 849 type: string 850 conditions: 851 description: Conditions defines current service state of the AWSMachinePool. 852 items: 853 description: Condition defines an observation of a Cluster API resource 854 operational state. 855 properties: 856 lastTransitionTime: 857 description: Last time the condition transitioned from one status 858 to another. This should be when the underlying condition changed. 859 If that is not known, then using the time when the API field 860 changed is acceptable. 861 format: date-time 862 type: string 863 message: 864 description: A human readable message indicating details about 865 the transition. This field may be empty. 866 type: string 867 reason: 868 description: The reason for the condition's last transition 869 in CamelCase. The specific API may choose whether or not this 870 field is considered a guaranteed API. This field may not be 871 empty. 872 type: string 873 severity: 874 description: Severity provides an explicit classification of 875 Reason code, so the users or machines can immediately understand 876 the current situation and act accordingly. The Severity field 877 MUST be set only when Status=False. 878 type: string 879 status: 880 description: Status of the condition, one of True, False, Unknown. 881 type: string 882 type: 883 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 884 Many .condition.type values are consistent across resources 885 like Available, but because arbitrary conditions can be useful 886 (see .node.status.conditions), the ability to deconflict is 887 important. 888 type: string 889 required: 890 - status 891 - type 892 type: object 893 type: array 894 failureMessage: 895 description: "FailureMessage will be set in the event that there is 896 a terminal problem reconciling the Machine and will contain a more 897 verbose string suitable for logging and human consumption. \n This 898 field should not be set for transitive errors that a controller 899 faces that are expected to be fixed automatically over time (like 900 service outages), but instead indicate that something is fundamentally 901 wrong with the Machine's spec or the configuration of the controller, 902 and that manual intervention is required. Examples of terminal errors 903 would be invalid combinations of settings in the spec, values that 904 are unsupported by the controller, or the responsible controller 905 itself being critically misconfigured. \n Any transient errors that 906 occur during the reconciliation of Machines can be added as events 907 to the Machine object and/or logged in the controller's output." 908 type: string 909 failureReason: 910 description: "FailureReason will be set in the event that there is 911 a terminal problem reconciling the Machine and will contain a succinct 912 value suitable for machine interpretation. \n This field should 913 not be set for transitive errors that a controller faces that are 914 expected to be fixed automatically over time (like service outages), 915 but instead indicate that something is fundamentally wrong with 916 the Machine's spec or the configuration of the controller, and that 917 manual intervention is required. Examples of terminal errors would 918 be invalid combinations of settings in the spec, values that are 919 unsupported by the controller, or the responsible controller itself 920 being critically misconfigured. \n Any transient errors that occur 921 during the reconciliation of Machines can be added as events to 922 the Machine object and/or logged in the controller's output." 923 type: string 924 instances: 925 description: Instances contains the status for each instance in the 926 pool 927 items: 928 description: AWSMachinePoolInstanceStatus defines the status of 929 the AWSMachinePoolInstance. 930 properties: 931 instanceID: 932 description: InstanceID is the identification of the Machine 933 Instance within ASG 934 type: string 935 version: 936 description: Version defines the Kubernetes version for the 937 Machine Instance 938 type: string 939 type: object 940 type: array 941 launchTemplateID: 942 description: The ID of the launch template 943 type: string 944 ready: 945 description: Ready is true when the provider resource is ready. 946 type: boolean 947 replicas: 948 description: Replicas is the most recently observed number of replicas 949 format: int32 950 type: integer 951 type: object 952 type: object 953 served: true 954 storage: false 955 subresources: 956 status: {} 957 - additionalPrinterColumns: 958 - description: Machine ready status 959 jsonPath: .status.ready 960 name: Ready 961 type: string 962 - description: Machine ready status 963 jsonPath: .status.replicas 964 name: Replicas 965 type: integer 966 - description: Minimum instanes in ASG 967 jsonPath: .spec.minSize 968 name: MinSize 969 type: integer 970 - description: Maximum instanes in ASG 971 jsonPath: .spec.maxSize 972 name: MaxSize 973 type: integer 974 - description: Launch Template ID 975 jsonPath: .status.launchTemplateID 976 name: LaunchTemplate ID 977 type: string 978 name: v1beta1 979 schema: 980 openAPIV3Schema: 981 description: AWSMachinePool is the Schema for the awsmachinepools API. 982 properties: 983 apiVersion: 984 description: 'APIVersion defines the versioned schema of this representation 985 of an object. Servers should convert recognized schemas to the latest 986 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 987 type: string 988 kind: 989 description: 'Kind is a string value representing the REST resource this 990 object represents. Servers may infer this from the endpoint the client 991 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 992 type: string 993 metadata: 994 type: object 995 spec: 996 description: AWSMachinePoolSpec defines the desired state of AWSMachinePool. 997 properties: 998 additionalTags: 999 additionalProperties: 1000 type: string 1001 description: AdditionalTags is an optional set of tags to add to an 1002 instance, in addition to the ones added by default by the AWS provider. 1003 type: object 1004 availabilityZones: 1005 description: AvailabilityZones is an array of availability zones instances 1006 can run in 1007 items: 1008 type: string 1009 type: array 1010 awsLaunchTemplate: 1011 description: AWSLaunchTemplate specifies the launch template and version 1012 to use when an instance is launched. 1013 properties: 1014 additionalSecurityGroups: 1015 description: AdditionalSecurityGroups is an array of references 1016 to security groups that should be applied to the instances. 1017 These security groups would be set in addition to any security 1018 groups defined at the cluster level or in the actuator. 1019 items: 1020 description: AWSResourceReference is a reference to a specific 1021 AWS resource by ID or filters. Only one of ID or Filters may 1022 be specified. Specifying more than one will result in a validation 1023 error. 1024 properties: 1025 arn: 1026 description: 'ARN of resource. Deprecated: This field has 1027 no function and is going to be removed in the next release.' 1028 type: string 1029 filters: 1030 description: 'Filters is a set of key/value pairs used to 1031 identify a resource They are applied according to the 1032 rules defined by the AWS API: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html' 1033 items: 1034 description: Filter is a filter used to identify an AWS 1035 resource. 1036 properties: 1037 name: 1038 description: Name of the filter. Filter names are 1039 case-sensitive. 1040 type: string 1041 values: 1042 description: Values includes one or more filter values. 1043 Filter values are case-sensitive. 1044 items: 1045 type: string 1046 type: array 1047 required: 1048 - name 1049 - values 1050 type: object 1051 type: array 1052 id: 1053 description: ID of resource 1054 type: string 1055 type: object 1056 type: array 1057 ami: 1058 description: AMI is the reference to the AMI from which to create 1059 the machine instance. 1060 properties: 1061 eksLookupType: 1062 description: EKSOptimizedLookupType If specified, will look 1063 up an EKS Optimized image in SSM Parameter store 1064 enum: 1065 - AmazonLinux 1066 - AmazonLinuxGPU 1067 type: string 1068 id: 1069 description: ID of resource 1070 type: string 1071 type: object 1072 iamInstanceProfile: 1073 description: The name or the Amazon Resource Name (ARN) of the 1074 instance profile associated with the IAM role for the instance. 1075 The instance profile contains the IAM role. 1076 type: string 1077 imageLookupBaseOS: 1078 description: ImageLookupBaseOS is the name of the base operating 1079 system to use for image lookup the AMI is not set. 1080 type: string 1081 imageLookupFormat: 1082 description: 'ImageLookupFormat is the AMI naming format to look 1083 up the image for this machine It will be ignored if an explicit 1084 AMI is set. Supports substitutions for {{.BaseOS}} and {{.K8sVersion}} 1085 with the base OS and kubernetes version, respectively. The BaseOS 1086 will be the value in ImageLookupBaseOS or ubuntu (the default), 1087 and the kubernetes version as defined by the packages produced 1088 by kubernetes/release without v as a prefix: 1.13.0, 1.12.5-mybuild.1, 1089 or 1.17.3. For example, the default image format of capa-ami-{{.BaseOS}}-?{{.K8sVersion}}-* 1090 will end up searching for AMIs that match the pattern capa-ami-ubuntu-?1.18.0-* 1091 for a Machine that is targeting kubernetes v1.18.0 and the ubuntu 1092 base OS. See also: https://golang.org/pkg/text/template/' 1093 type: string 1094 imageLookupOrg: 1095 description: ImageLookupOrg is the AWS Organization ID to use 1096 for image lookup if AMI is not set. 1097 type: string 1098 instanceType: 1099 description: 'InstanceType is the type of instance to create. 1100 Example: m4.xlarge' 1101 type: string 1102 name: 1103 description: The name of the launch template. 1104 type: string 1105 rootVolume: 1106 description: RootVolume encapsulates the configuration options 1107 for the root volume 1108 properties: 1109 deviceName: 1110 description: Device name 1111 type: string 1112 encrypted: 1113 description: Encrypted is whether the volume should be encrypted 1114 or not. 1115 type: boolean 1116 encryptionKey: 1117 description: EncryptionKey is the KMS key to use to encrypt 1118 the volume. Can be either a KMS key ID or ARN. If Encrypted 1119 is set and this is omitted, the default AWS key will be 1120 used. The key must already exist and be accessible by the 1121 controller. 1122 type: string 1123 iops: 1124 description: IOPS is the number of IOPS requested for the 1125 disk. Not applicable to all types. 1126 format: int64 1127 type: integer 1128 size: 1129 description: Size specifies size (in Gi) of the storage device. 1130 Must be greater than the image snapshot size or 8 (whichever 1131 is greater). 1132 format: int64 1133 minimum: 8 1134 type: integer 1135 throughput: 1136 description: Throughput to provision in MiB/s supported for 1137 the volume type. Not applicable to all types. 1138 format: int64 1139 type: integer 1140 type: 1141 description: Type is the type of the volume (e.g. gp2, io1, 1142 etc...). 1143 type: string 1144 required: 1145 - size 1146 type: object 1147 sshKeyName: 1148 description: SSHKeyName is the name of the ssh key to attach to 1149 the instance. Valid values are empty string (do not use SSH 1150 keys), a valid SSH key name, or omitted (use the default SSH 1151 key name) 1152 type: string 1153 versionNumber: 1154 description: 'VersionNumber is the version of the launch template 1155 that is applied. Typically a new version is created when at 1156 least one of the following happens: 1) A new launch template 1157 spec is applied. 2) One or more parameters in an existing template 1158 is changed. 3) A new AMI is discovered.' 1159 format: int64 1160 type: integer 1161 type: object 1162 capacityRebalance: 1163 description: Enable or disable the capacity rebalance autoscaling 1164 group feature 1165 type: boolean 1166 defaultCoolDown: 1167 description: The amount of time, in seconds, after a scaling activity 1168 completes before another scaling activity can start. If no value 1169 is supplied by user a default value of 300 seconds is set 1170 type: string 1171 maxSize: 1172 default: 1 1173 description: MaxSize defines the maximum size of the group. 1174 format: int32 1175 minimum: 1 1176 type: integer 1177 minSize: 1178 default: 1 1179 description: MinSize defines the minimum size of the group. 1180 format: int32 1181 minimum: 0 1182 type: integer 1183 mixedInstancesPolicy: 1184 description: MixedInstancesPolicy describes how multiple instance 1185 types will be used by the ASG. 1186 properties: 1187 instancesDistribution: 1188 description: InstancesDistribution to configure distribution of 1189 On-Demand Instances and Spot Instances. 1190 properties: 1191 onDemandAllocationStrategy: 1192 default: prioritized 1193 description: OnDemandAllocationStrategy indicates how to allocate 1194 instance types to fulfill On-Demand capacity. 1195 enum: 1196 - prioritized 1197 type: string 1198 onDemandBaseCapacity: 1199 default: 0 1200 format: int64 1201 type: integer 1202 onDemandPercentageAboveBaseCapacity: 1203 default: 100 1204 format: int64 1205 type: integer 1206 spotAllocationStrategy: 1207 default: lowest-price 1208 description: SpotAllocationStrategy indicates how to allocate 1209 instances across Spot Instance pools. 1210 enum: 1211 - lowest-price 1212 - capacity-optimized 1213 type: string 1214 type: object 1215 overrides: 1216 items: 1217 description: Overrides are used to override the instance type 1218 specified by the launch template with multiple instance types 1219 that can be used to launch On-Demand Instances and Spot Instances. 1220 properties: 1221 instanceType: 1222 type: string 1223 required: 1224 - instanceType 1225 type: object 1226 type: array 1227 type: object 1228 providerID: 1229 description: ProviderID is the ARN of the associated ASG 1230 type: string 1231 providerIDList: 1232 description: ProviderIDList are the identification IDs of machine 1233 instances provided by the provider. This field must match the provider 1234 IDs as seen on the node objects corresponding to a machine pool's 1235 machine instances. 1236 items: 1237 type: string 1238 type: array 1239 refreshPreferences: 1240 description: RefreshPreferences describes set of preferences associated 1241 with the instance refresh request. 1242 properties: 1243 instanceWarmup: 1244 description: The number of seconds until a newly launched instance 1245 is configured and ready to use. During this time, the next replacement 1246 will not be initiated. The default is to use the value for the 1247 health check grace period defined for the group. 1248 format: int64 1249 type: integer 1250 minHealthyPercentage: 1251 description: The amount of capacity as a percentage in ASG that 1252 must remain healthy during an instance refresh. The default 1253 is 90. 1254 format: int64 1255 type: integer 1256 strategy: 1257 description: The strategy to use for the instance refresh. The 1258 only valid value is Rolling. A rolling update is an update that 1259 is applied to all instances in an Auto Scaling group until all 1260 instances have been updated. 1261 type: string 1262 type: object 1263 subnets: 1264 description: Subnets is an array of subnet configurations 1265 items: 1266 description: AWSResourceReference is a reference to a specific AWS 1267 resource by ID or filters. Only one of ID or Filters may be specified. 1268 Specifying more than one will result in a validation error. 1269 properties: 1270 arn: 1271 description: 'ARN of resource. Deprecated: This field has no 1272 function and is going to be removed in the next release.' 1273 type: string 1274 filters: 1275 description: 'Filters is a set of key/value pairs used to identify 1276 a resource They are applied according to the rules defined 1277 by the AWS API: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html' 1278 items: 1279 description: Filter is a filter used to identify an AWS resource. 1280 properties: 1281 name: 1282 description: Name of the filter. Filter names are case-sensitive. 1283 type: string 1284 values: 1285 description: Values includes one or more filter values. 1286 Filter values are case-sensitive. 1287 items: 1288 type: string 1289 type: array 1290 required: 1291 - name 1292 - values 1293 type: object 1294 type: array 1295 id: 1296 description: ID of resource 1297 type: string 1298 type: object 1299 type: array 1300 required: 1301 - awsLaunchTemplate 1302 - maxSize 1303 - minSize 1304 type: object 1305 status: 1306 description: AWSMachinePoolStatus defines the observed state of AWSMachinePool. 1307 properties: 1308 asgStatus: 1309 description: ASGStatus is a status string returned by the autoscaling 1310 API. 1311 type: string 1312 conditions: 1313 description: Conditions defines current service state of the AWSMachinePool. 1314 items: 1315 description: Condition defines an observation of a Cluster API resource 1316 operational state. 1317 properties: 1318 lastTransitionTime: 1319 description: Last time the condition transitioned from one status 1320 to another. This should be when the underlying condition changed. 1321 If that is not known, then using the time when the API field 1322 changed is acceptable. 1323 format: date-time 1324 type: string 1325 message: 1326 description: A human readable message indicating details about 1327 the transition. This field may be empty. 1328 type: string 1329 reason: 1330 description: The reason for the condition's last transition 1331 in CamelCase. The specific API may choose whether or not this 1332 field is considered a guaranteed API. This field may not be 1333 empty. 1334 type: string 1335 severity: 1336 description: Severity provides an explicit classification of 1337 Reason code, so the users or machines can immediately understand 1338 the current situation and act accordingly. The Severity field 1339 MUST be set only when Status=False. 1340 type: string 1341 status: 1342 description: Status of the condition, one of True, False, Unknown. 1343 type: string 1344 type: 1345 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 1346 Many .condition.type values are consistent across resources 1347 like Available, but because arbitrary conditions can be useful 1348 (see .node.status.conditions), the ability to deconflict is 1349 important. 1350 type: string 1351 required: 1352 - lastTransitionTime 1353 - status 1354 - type 1355 type: object 1356 type: array 1357 failureMessage: 1358 description: "FailureMessage will be set in the event that there is 1359 a terminal problem reconciling the Machine and will contain a more 1360 verbose string suitable for logging and human consumption. \n This 1361 field should not be set for transitive errors that a controller 1362 faces that are expected to be fixed automatically over time (like 1363 service outages), but instead indicate that something is fundamentally 1364 wrong with the Machine's spec or the configuration of the controller, 1365 and that manual intervention is required. Examples of terminal errors 1366 would be invalid combinations of settings in the spec, values that 1367 are unsupported by the controller, or the responsible controller 1368 itself being critically misconfigured. \n Any transient errors that 1369 occur during the reconciliation of Machines can be added as events 1370 to the Machine object and/or logged in the controller's output." 1371 type: string 1372 failureReason: 1373 description: "FailureReason will be set in the event that there is 1374 a terminal problem reconciling the Machine and will contain a succinct 1375 value suitable for machine interpretation. \n This field should 1376 not be set for transitive errors that a controller faces that are 1377 expected to be fixed automatically over time (like service outages), 1378 but instead indicate that something is fundamentally wrong with 1379 the Machine's spec or the configuration of the controller, and that 1380 manual intervention is required. Examples of terminal errors would 1381 be invalid combinations of settings in the spec, values that are 1382 unsupported by the controller, or the responsible controller itself 1383 being critically misconfigured. \n Any transient errors that occur 1384 during the reconciliation of Machines can be added as events to 1385 the Machine object and/or logged in the controller's output." 1386 type: string 1387 instances: 1388 description: Instances contains the status for each instance in the 1389 pool 1390 items: 1391 description: AWSMachinePoolInstanceStatus defines the status of 1392 the AWSMachinePoolInstance. 1393 properties: 1394 instanceID: 1395 description: InstanceID is the identification of the Machine 1396 Instance within ASG 1397 type: string 1398 version: 1399 description: Version defines the Kubernetes version for the 1400 Machine Instance 1401 type: string 1402 type: object 1403 type: array 1404 launchTemplateID: 1405 description: The ID of the launch template 1406 type: string 1407 ready: 1408 description: Ready is true when the provider resource is ready. 1409 type: boolean 1410 replicas: 1411 description: Replicas is the most recently observed number of replicas 1412 format: int32 1413 type: integer 1414 type: object 1415 type: object 1416 served: true 1417 storage: true 1418 subresources: 1419 status: {} 1420 status: 1421 acceptedNames: 1422 kind: "" 1423 plural: "" 1424 conditions: [] 1425 storedVersions: []