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