sigs.k8s.io/cluster-api-provider-aws@v1.5.5/config/crd/bases/infrastructure.cluster.x-k8s.io_awsmachinetemplates.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: awsmachinetemplates.infrastructure.cluster.x-k8s.io 9 spec: 10 group: infrastructure.cluster.x-k8s.io 11 names: 12 categories: 13 - cluster-api 14 kind: AWSMachineTemplate 15 listKind: AWSMachineTemplateList 16 plural: awsmachinetemplates 17 shortNames: 18 - awsmt 19 singular: awsmachinetemplate 20 scope: Namespaced 21 versions: 22 - name: v1alpha3 23 schema: 24 openAPIV3Schema: 25 description: AWSMachineTemplate is the Schema for the awsmachinetemplates 26 API 27 properties: 28 apiVersion: 29 description: 'APIVersion defines the versioned schema of this representation 30 of an object. Servers should convert recognized schemas to the latest 31 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 32 type: string 33 kind: 34 description: 'Kind is a string value representing the REST resource this 35 object represents. Servers may infer this from the endpoint the client 36 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 37 type: string 38 metadata: 39 type: object 40 spec: 41 description: AWSMachineTemplateSpec defines the desired state of AWSMachineTemplate 42 properties: 43 template: 44 description: AWSMachineTemplateResource describes the data needed 45 to create am AWSMachine from a template 46 properties: 47 spec: 48 description: Spec is the specification of the desired behavior 49 of the machine. 50 properties: 51 additionalSecurityGroups: 52 description: AdditionalSecurityGroups is an array of references 53 to security groups that should be applied to the instance. 54 These security groups would be set in addition to any security 55 groups defined at the cluster level or in the actuator. 56 It is possible to specify either IDs of Filters. Using Filters 57 will cause additional requests to AWS API and if tags change 58 the attached security groups might change too. 59 items: 60 description: AWSResourceReference is a reference to a specific 61 AWS resource by ID, ARN, or filters. Only one of ID, ARN 62 or Filters may be specified. Specifying more than one 63 will result in a validation error. 64 properties: 65 arn: 66 description: ARN of resource 67 type: string 68 filters: 69 description: 'Filters is a set of key/value pairs used 70 to identify a resource They are applied according 71 to the rules defined by the AWS API: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html' 72 items: 73 description: Filter is a filter used to identify an 74 AWS resource 75 properties: 76 name: 77 description: Name of the filter. Filter names 78 are case-sensitive. 79 type: string 80 values: 81 description: Values includes one or more filter 82 values. Filter values are case-sensitive. 83 items: 84 type: string 85 type: array 86 required: 87 - name 88 - values 89 type: object 90 type: array 91 id: 92 description: ID of resource 93 type: string 94 type: object 95 type: array 96 additionalTags: 97 additionalProperties: 98 type: string 99 description: AdditionalTags is an optional set of tags to 100 add to an instance, in addition to the ones added by default 101 by the AWS provider. If both the AWSCluster and the AWSMachine 102 specify the same tag name with different values, the AWSMachine's 103 value takes precedence. 104 type: object 105 ami: 106 description: AMI is the reference to the AMI from which to 107 create the machine instance. 108 properties: 109 arn: 110 description: ARN of resource 111 type: string 112 filters: 113 description: 'Filters is a set of key/value pairs used 114 to identify a resource They are applied according to 115 the rules defined by the AWS API: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html' 116 items: 117 description: Filter is a filter used to identify an 118 AWS resource 119 properties: 120 name: 121 description: Name of the filter. Filter names are 122 case-sensitive. 123 type: string 124 values: 125 description: Values includes one or more filter 126 values. Filter values are case-sensitive. 127 items: 128 type: string 129 type: array 130 required: 131 - name 132 - values 133 type: object 134 type: array 135 id: 136 description: ID of resource 137 type: string 138 type: object 139 cloudInit: 140 description: CloudInit defines options related to the bootstrapping 141 systems where CloudInit is used. 142 properties: 143 insecureSkipSecretsManager: 144 description: InsecureSkipSecretsManager, when set to true 145 will not use AWS Secrets Manager or AWS Systems Manager 146 Parameter Store to ensure privacy of userdata. By default, 147 a cloud-init boothook shell script is prepended to download 148 the userdata from Secrets Manager and additionally delete 149 the secret. 150 type: boolean 151 secretCount: 152 description: SecretCount is the number of secrets used 153 to form the complete secret 154 format: int32 155 type: integer 156 secretPrefix: 157 description: SecretPrefix is the prefix for the secret 158 name. This is stored temporarily, and deleted when the 159 machine registers as a node against the workload cluster. 160 type: string 161 secureSecretsBackend: 162 description: SecureSecretsBackend, when set to parameter-store 163 will utilize the AWS Systems Manager Parameter Storage 164 to distribute secrets. By default or with the value 165 of secrets-manager, will use AWS Secrets Manager instead. 166 enum: 167 - secrets-manager 168 - ssm-parameter-store 169 type: string 170 type: object 171 failureDomain: 172 description: FailureDomain is the failure domain unique identifier 173 this Machine should be attached to, as defined in Cluster 174 API. For this infrastructure provider, the ID is equivalent 175 to an AWS Availability Zone. If multiple subnets are matched 176 for the availability zone, the first one returned is picked. 177 type: string 178 iamInstanceProfile: 179 description: IAMInstanceProfile is a name of an IAM instance 180 profile to assign to the instance 181 type: string 182 imageLookupBaseOS: 183 description: ImageLookupBaseOS is the name of the base operating 184 system to use for image lookup the AMI is not set. 185 type: string 186 imageLookupFormat: 187 description: 'ImageLookupFormat is the AMI naming format to 188 look up the image for this machine It will be ignored if 189 an explicit AMI is set. Supports substitutions for {{.BaseOS}} 190 and {{.K8sVersion}} with the base OS and kubernetes version, 191 respectively. The BaseOS will be the value in ImageLookupBaseOS 192 or ubuntu (the default), and the kubernetes version as defined 193 by the packages produced by kubernetes/release without v 194 as a prefix: 1.13.0, 1.12.5-mybuild.1, or 1.17.3. For example, 195 the default image format of capa-ami-{{.BaseOS}}-?{{.K8sVersion}}-* 196 will end up searching for AMIs that match the pattern capa-ami-ubuntu-?1.18.0-* 197 for a Machine that is targeting kubernetes v1.18.0 and the 198 ubuntu base OS. See also: https://golang.org/pkg/text/template/' 199 type: string 200 imageLookupOrg: 201 description: ImageLookupOrg is the AWS Organization ID to 202 use for image lookup if AMI is not set. 203 type: string 204 instanceID: 205 description: InstanceID is the EC2 instance ID for this machine. 206 type: string 207 instanceType: 208 description: 'InstanceType is the type of instance to create. 209 Example: m4.xlarge' 210 type: string 211 networkInterfaces: 212 description: NetworkInterfaces is a list of ENIs to associate 213 with the instance. A maximum of 2 may be specified. 214 items: 215 type: string 216 maxItems: 2 217 type: array 218 nonRootVolumes: 219 description: Configuration options for the non root storage 220 volumes. 221 items: 222 description: Volume encapsulates the configuration options 223 for the storage device 224 properties: 225 deviceName: 226 description: Device name 227 type: string 228 encrypted: 229 description: Encrypted is whether the volume should 230 be encrypted or not. 231 type: boolean 232 encryptionKey: 233 description: EncryptionKey is the KMS key to use to 234 encrypt the volume. Can be either a KMS key ID or 235 ARN. If Encrypted is set and this is omitted, the 236 default AWS key will be used. The key must already 237 exist and be accessible by the controller. 238 type: string 239 iops: 240 description: IOPS is the number of IOPS requested for 241 the disk. Not applicable to all types. 242 format: int64 243 type: integer 244 size: 245 description: Size specifies size (in Gi) of the storage 246 device. Must be greater than the image snapshot size 247 or 8 (whichever is greater). 248 format: int64 249 minimum: 8 250 type: integer 251 type: 252 description: Type is the type of the volume (e.g. gp2, 253 io1, etc...). 254 type: string 255 required: 256 - size 257 type: object 258 type: array 259 providerID: 260 description: ProviderID is the unique identifier as specified 261 by the cloud provider. 262 type: string 263 publicIP: 264 description: 'PublicIP specifies whether the instance should 265 get a public IP. Precedence for this setting is as follows: 266 1. This field if set 2. Cluster/flavor setting 3. Subnet 267 default' 268 type: boolean 269 rootVolume: 270 description: RootVolume encapsulates the configuration options 271 for the root volume 272 properties: 273 deviceName: 274 description: Device name 275 type: string 276 encrypted: 277 description: Encrypted is whether the volume should be 278 encrypted or not. 279 type: boolean 280 encryptionKey: 281 description: EncryptionKey is the KMS key to use to encrypt 282 the volume. Can be either a KMS key ID or ARN. If Encrypted 283 is set and this is omitted, the default AWS key will 284 be used. The key must already exist and be accessible 285 by the controller. 286 type: string 287 iops: 288 description: IOPS is the number of IOPS requested for 289 the disk. Not applicable to all types. 290 format: int64 291 type: integer 292 size: 293 description: Size specifies size (in Gi) of the storage 294 device. Must be greater than the image snapshot size 295 or 8 (whichever is greater). 296 format: int64 297 minimum: 8 298 type: integer 299 type: 300 description: Type is the type of the volume (e.g. gp2, 301 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 312 is willing 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 317 to the instance. Valid values are empty string (do not use 318 SSH keys), a valid SSH key name, or omitted (use the default 319 SSH key name) 320 type: string 321 subnet: 322 description: Subnet is a reference to the subnet to use for 323 this instance. If not specified, the cluster subnet will 324 be used. 325 properties: 326 arn: 327 description: ARN of resource 328 type: string 329 filters: 330 description: 'Filters is a set of key/value pairs used 331 to identify a resource They are applied according to 332 the rules defined by the AWS API: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html' 333 items: 334 description: Filter is a filter used to identify an 335 AWS resource 336 properties: 337 name: 338 description: Name of the filter. Filter names are 339 case-sensitive. 340 type: string 341 values: 342 description: Values includes one or more filter 343 values. Filter values are case-sensitive. 344 items: 345 type: string 346 type: array 347 required: 348 - name 349 - values 350 type: object 351 type: array 352 id: 353 description: ID of resource 354 type: string 355 type: object 356 tenancy: 357 description: Tenancy indicates if instance should run on shared 358 or single-tenant hardware. 359 enum: 360 - default 361 - dedicated 362 - host 363 type: string 364 uncompressedUserData: 365 description: UncompressedUserData specify whether the user 366 data is gzip-compressed before it is sent to ec2 instance. 367 cloud-init has built-in support for gzip-compressed user 368 data user data stored in aws secret manager is always gzip-compressed. 369 type: boolean 370 type: object 371 required: 372 - spec 373 type: object 374 required: 375 - template 376 type: object 377 type: object 378 served: true 379 storage: false 380 - name: v1alpha4 381 schema: 382 openAPIV3Schema: 383 description: AWSMachineTemplate is the Schema for the awsmachinetemplates 384 API 385 properties: 386 apiVersion: 387 description: 'APIVersion defines the versioned schema of this representation 388 of an object. Servers should convert recognized schemas to the latest 389 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 390 type: string 391 kind: 392 description: 'Kind is a string value representing the REST resource this 393 object represents. Servers may infer this from the endpoint the client 394 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 395 type: string 396 metadata: 397 type: object 398 spec: 399 description: AWSMachineTemplateSpec defines the desired state of AWSMachineTemplate 400 properties: 401 template: 402 description: AWSMachineTemplateResource describes the data needed 403 to create am AWSMachine from a template 404 properties: 405 spec: 406 description: Spec is the specification of the desired behavior 407 of the machine. 408 properties: 409 additionalSecurityGroups: 410 description: AdditionalSecurityGroups is an array of references 411 to security groups that should be applied to the instance. 412 These security groups would be set in addition to any security 413 groups defined at the cluster level or in the actuator. 414 It is possible to specify either IDs of Filters. Using Filters 415 will cause additional requests to AWS API and if tags change 416 the attached security groups might change too. 417 items: 418 description: AWSResourceReference is a reference to a specific 419 AWS resource by ID, ARN, or filters. Only one of ID, ARN 420 or Filters may be specified. Specifying more than one 421 will result in a validation error. 422 properties: 423 arn: 424 description: ARN of resource 425 type: string 426 filters: 427 description: 'Filters is a set of key/value pairs used 428 to identify a resource They are applied according 429 to the rules defined by the AWS API: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html' 430 items: 431 description: Filter is a filter used to identify an 432 AWS resource 433 properties: 434 name: 435 description: Name of the filter. Filter names 436 are case-sensitive. 437 type: string 438 values: 439 description: Values includes one or more filter 440 values. Filter values are case-sensitive. 441 items: 442 type: string 443 type: array 444 required: 445 - name 446 - values 447 type: object 448 type: array 449 id: 450 description: ID of resource 451 type: string 452 type: object 453 type: array 454 additionalTags: 455 additionalProperties: 456 type: string 457 description: AdditionalTags is an optional set of tags to 458 add to an instance, in addition to the ones added by default 459 by the AWS provider. If both the AWSCluster and the AWSMachine 460 specify the same tag name with different values, the AWSMachine's 461 value takes precedence. 462 type: object 463 ami: 464 description: AMI is the reference to the AMI from which to 465 create the machine instance. 466 properties: 467 eksLookupType: 468 description: EKSOptimizedLookupType If specified, will 469 look up an EKS Optimized image in SSM Parameter store 470 enum: 471 - AmazonLinux 472 - AmazonLinuxGPU 473 type: string 474 id: 475 description: ID of resource 476 type: string 477 type: object 478 cloudInit: 479 description: CloudInit defines options related to the bootstrapping 480 systems where CloudInit is used. 481 properties: 482 insecureSkipSecretsManager: 483 description: InsecureSkipSecretsManager, when set to true 484 will not use AWS Secrets Manager or AWS Systems Manager 485 Parameter Store to ensure privacy of userdata. By default, 486 a cloud-init boothook shell script is prepended to download 487 the userdata from Secrets Manager and additionally delete 488 the secret. 489 type: boolean 490 secretCount: 491 description: SecretCount is the number of secrets used 492 to form the complete secret 493 format: int32 494 type: integer 495 secretPrefix: 496 description: SecretPrefix is the prefix for the secret 497 name. This is stored temporarily, and deleted when the 498 machine registers as a node against the workload cluster. 499 type: string 500 secureSecretsBackend: 501 description: SecureSecretsBackend, when set to parameter-store 502 will utilize the AWS Systems Manager Parameter Storage 503 to distribute secrets. By default or with the value 504 of secrets-manager, will use AWS Secrets Manager instead. 505 enum: 506 - secrets-manager 507 - ssm-parameter-store 508 type: string 509 type: object 510 failureDomain: 511 description: FailureDomain is the failure domain unique identifier 512 this Machine should be attached to, as defined in Cluster 513 API. For this infrastructure provider, the ID is equivalent 514 to an AWS Availability Zone. If multiple subnets are matched 515 for the availability zone, the first one returned is picked. 516 type: string 517 iamInstanceProfile: 518 description: IAMInstanceProfile is a name of an IAM instance 519 profile to assign to the instance 520 type: string 521 imageLookupBaseOS: 522 description: ImageLookupBaseOS is the name of the base operating 523 system to use for image lookup the AMI is not set. 524 type: string 525 imageLookupFormat: 526 description: 'ImageLookupFormat is the AMI naming format to 527 look up the image for this machine It will be ignored if 528 an explicit AMI is set. Supports substitutions for {{.BaseOS}} 529 and {{.K8sVersion}} with the base OS and kubernetes version, 530 respectively. The BaseOS will be the value in ImageLookupBaseOS 531 or ubuntu (the default), and the kubernetes version as defined 532 by the packages produced by kubernetes/release without v 533 as a prefix: 1.13.0, 1.12.5-mybuild.1, or 1.17.3. For example, 534 the default image format of capa-ami-{{.BaseOS}}-?{{.K8sVersion}}-* 535 will end up searching for AMIs that match the pattern capa-ami-ubuntu-?1.18.0-* 536 for a Machine that is targeting kubernetes v1.18.0 and the 537 ubuntu base OS. See also: https://golang.org/pkg/text/template/' 538 type: string 539 imageLookupOrg: 540 description: ImageLookupOrg is the AWS Organization ID to 541 use for image lookup if AMI is not set. 542 type: string 543 instanceID: 544 description: InstanceID is the EC2 instance ID for this machine. 545 type: string 546 instanceType: 547 description: 'InstanceType is the type of instance to create. 548 Example: m4.xlarge' 549 minLength: 2 550 type: string 551 networkInterfaces: 552 description: NetworkInterfaces is a list of ENIs to associate 553 with the instance. A maximum of 2 may be specified. 554 items: 555 type: string 556 maxItems: 2 557 type: array 558 nonRootVolumes: 559 description: Configuration options for the non root storage 560 volumes. 561 items: 562 description: Volume encapsulates the configuration options 563 for the storage device 564 properties: 565 deviceName: 566 description: Device name 567 type: string 568 encrypted: 569 description: Encrypted is whether the volume should 570 be encrypted or not. 571 type: boolean 572 encryptionKey: 573 description: EncryptionKey is the KMS key to use to 574 encrypt the volume. Can be either a KMS key ID or 575 ARN. If Encrypted is set and this is omitted, the 576 default AWS key will be used. The key must already 577 exist and be accessible by the controller. 578 type: string 579 iops: 580 description: IOPS is the number of IOPS requested for 581 the disk. Not applicable to all types. 582 format: int64 583 type: integer 584 size: 585 description: Size specifies size (in Gi) of the storage 586 device. Must be greater than the image snapshot size 587 or 8 (whichever is greater). 588 format: int64 589 minimum: 8 590 type: integer 591 throughput: 592 description: Throughput to provision in MiB/s supported 593 for the volume type. Not applicable to all types. 594 format: int64 595 type: integer 596 type: 597 description: Type is the type of the volume (e.g. gp2, 598 io1, etc...). 599 type: string 600 required: 601 - size 602 type: object 603 type: array 604 providerID: 605 description: ProviderID is the unique identifier as specified 606 by the cloud provider. 607 type: string 608 publicIP: 609 description: 'PublicIP specifies whether the instance should 610 get a public IP. Precedence for this setting is as follows: 611 1. This field if set 2. Cluster/flavor setting 3. Subnet 612 default' 613 type: boolean 614 rootVolume: 615 description: RootVolume encapsulates the configuration options 616 for the root volume 617 properties: 618 deviceName: 619 description: Device name 620 type: string 621 encrypted: 622 description: Encrypted is whether the volume should be 623 encrypted or not. 624 type: boolean 625 encryptionKey: 626 description: EncryptionKey is the KMS key to use to encrypt 627 the volume. Can be either a KMS key ID or ARN. If Encrypted 628 is set and this is omitted, the default AWS key will 629 be used. The key must already exist and be accessible 630 by the controller. 631 type: string 632 iops: 633 description: IOPS is the number of IOPS requested for 634 the disk. Not applicable to all types. 635 format: int64 636 type: integer 637 size: 638 description: Size specifies size (in Gi) of the storage 639 device. Must be greater than the image snapshot size 640 or 8 (whichever is greater). 641 format: int64 642 minimum: 8 643 type: integer 644 throughput: 645 description: Throughput to provision in MiB/s supported 646 for the volume type. Not applicable to all types. 647 format: int64 648 type: integer 649 type: 650 description: Type is the type of the volume (e.g. gp2, 651 io1, etc...). 652 type: string 653 required: 654 - size 655 type: object 656 spotMarketOptions: 657 description: SpotMarketOptions allows users to configure instances 658 to be run using AWS Spot instances. 659 properties: 660 maxPrice: 661 description: MaxPrice defines the maximum price the user 662 is willing to pay for Spot VM instances 663 type: string 664 type: object 665 sshKeyName: 666 description: SSHKeyName is the name of the ssh key to attach 667 to the instance. Valid values are empty string (do not use 668 SSH keys), a valid SSH key name, or omitted (use the default 669 SSH key name) 670 type: string 671 subnet: 672 description: Subnet is a reference to the subnet to use for 673 this instance. If not specified, the cluster subnet will 674 be used. 675 properties: 676 arn: 677 description: ARN of resource 678 type: string 679 filters: 680 description: 'Filters is a set of key/value pairs used 681 to identify a resource They are applied according to 682 the rules defined by the AWS API: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html' 683 items: 684 description: Filter is a filter used to identify an 685 AWS resource 686 properties: 687 name: 688 description: Name of the filter. Filter names are 689 case-sensitive. 690 type: string 691 values: 692 description: Values includes one or more filter 693 values. Filter values are case-sensitive. 694 items: 695 type: string 696 type: array 697 required: 698 - name 699 - values 700 type: object 701 type: array 702 id: 703 description: ID of resource 704 type: string 705 type: object 706 tenancy: 707 description: Tenancy indicates if instance should run on shared 708 or single-tenant hardware. 709 enum: 710 - default 711 - dedicated 712 - host 713 type: string 714 uncompressedUserData: 715 description: UncompressedUserData specify whether the user 716 data is gzip-compressed before it is sent to ec2 instance. 717 cloud-init has built-in support for gzip-compressed user 718 data user data stored in aws secret manager is always gzip-compressed. 719 type: boolean 720 required: 721 - instanceType 722 type: object 723 required: 724 - spec 725 type: object 726 required: 727 - template 728 type: object 729 type: object 730 served: true 731 storage: false 732 - name: v1beta1 733 schema: 734 openAPIV3Schema: 735 description: AWSMachineTemplate is the schema for the Amazon EC2 Machine Templates 736 API. 737 properties: 738 apiVersion: 739 description: 'APIVersion defines the versioned schema of this representation 740 of an object. Servers should convert recognized schemas to the latest 741 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 742 type: string 743 kind: 744 description: 'Kind is a string value representing the REST resource this 745 object represents. Servers may infer this from the endpoint the client 746 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 747 type: string 748 metadata: 749 type: object 750 spec: 751 description: AWSMachineTemplateSpec defines the desired state of AWSMachineTemplate. 752 properties: 753 template: 754 description: AWSMachineTemplateResource describes the data needed 755 to create am AWSMachine from a template. 756 properties: 757 metadata: 758 description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' 759 properties: 760 annotations: 761 additionalProperties: 762 type: string 763 description: 'Annotations is an unstructured key value map 764 stored with a resource that may be set by external tools 765 to store and retrieve arbitrary metadata. They are not queryable 766 and should be preserved when modifying objects. More info: 767 http://kubernetes.io/docs/user-guide/annotations' 768 type: object 769 labels: 770 additionalProperties: 771 type: string 772 description: 'Map of string keys and values that can be used 773 to organize and categorize (scope and select) objects. May 774 match selectors of replication controllers and services. 775 More info: http://kubernetes.io/docs/user-guide/labels' 776 type: object 777 type: object 778 spec: 779 description: Spec is the specification of the desired behavior 780 of the machine. 781 properties: 782 additionalSecurityGroups: 783 description: AdditionalSecurityGroups is an array of references 784 to security groups that should be applied to the instance. 785 These security groups would be set in addition to any security 786 groups defined at the cluster level or in the actuator. 787 It is possible to specify either IDs of Filters. Using Filters 788 will cause additional requests to AWS API and if tags change 789 the attached security groups might change too. 790 items: 791 description: AWSResourceReference is a reference to a specific 792 AWS resource by ID or filters. Only one of ID or Filters 793 may be specified. Specifying more than one will result 794 in a validation error. 795 properties: 796 arn: 797 description: 'ARN of resource. Deprecated: This field 798 has no function and is going to be removed in the 799 next release.' 800 type: string 801 filters: 802 description: 'Filters is a set of key/value pairs used 803 to identify a resource They are applied according 804 to the rules defined by the AWS API: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html' 805 items: 806 description: Filter is a filter used to identify an 807 AWS resource. 808 properties: 809 name: 810 description: Name of the filter. Filter names 811 are case-sensitive. 812 type: string 813 values: 814 description: Values includes one or more filter 815 values. Filter values are case-sensitive. 816 items: 817 type: string 818 type: array 819 required: 820 - name 821 - values 822 type: object 823 type: array 824 id: 825 description: ID of resource 826 type: string 827 type: object 828 type: array 829 additionalTags: 830 additionalProperties: 831 type: string 832 description: AdditionalTags is an optional set of tags to 833 add to an instance, in addition to the ones added by default 834 by the AWS provider. If both the AWSCluster and the AWSMachine 835 specify the same tag name with different values, the AWSMachine's 836 value takes precedence. 837 type: object 838 ami: 839 description: AMI is the reference to the AMI from which to 840 create the machine instance. 841 properties: 842 eksLookupType: 843 description: EKSOptimizedLookupType If specified, will 844 look up an EKS Optimized image in SSM Parameter store 845 enum: 846 - AmazonLinux 847 - AmazonLinuxGPU 848 type: string 849 id: 850 description: ID of resource 851 type: string 852 type: object 853 cloudInit: 854 description: CloudInit defines options related to the bootstrapping 855 systems where CloudInit is used. 856 properties: 857 insecureSkipSecretsManager: 858 description: InsecureSkipSecretsManager, when set to true 859 will not use AWS Secrets Manager or AWS Systems Manager 860 Parameter Store to ensure privacy of userdata. By default, 861 a cloud-init boothook shell script is prepended to download 862 the userdata from Secrets Manager and additionally delete 863 the secret. 864 type: boolean 865 secretCount: 866 description: SecretCount is the number of secrets used 867 to form the complete secret 868 format: int32 869 type: integer 870 secretPrefix: 871 description: SecretPrefix is the prefix for the secret 872 name. This is stored temporarily, and deleted when the 873 machine registers as a node against the workload cluster. 874 type: string 875 secureSecretsBackend: 876 description: SecureSecretsBackend, when set to parameter-store 877 will utilize the AWS Systems Manager Parameter Storage 878 to distribute secrets. By default or with the value 879 of secrets-manager, will use AWS Secrets Manager instead. 880 enum: 881 - secrets-manager 882 - ssm-parameter-store 883 type: string 884 type: object 885 failureDomain: 886 description: FailureDomain is the failure domain unique identifier 887 this Machine should be attached to, as defined in Cluster 888 API. For this infrastructure provider, the ID is equivalent 889 to an AWS Availability Zone. If multiple subnets are matched 890 for the availability zone, the first one returned is picked. 891 type: string 892 iamInstanceProfile: 893 description: IAMInstanceProfile is a name of an IAM instance 894 profile to assign to the instance 895 type: string 896 ignition: 897 description: Ignition defined options related to the bootstrapping 898 systems where Ignition is used. 899 properties: 900 version: 901 default: "2.3" 902 description: Version defines which version of Ignition 903 will be used to generate bootstrap data. 904 enum: 905 - "2.3" 906 type: string 907 type: object 908 imageLookupBaseOS: 909 description: ImageLookupBaseOS is the name of the base operating 910 system to use for image lookup the AMI is not set. 911 type: string 912 imageLookupFormat: 913 description: 'ImageLookupFormat is the AMI naming format to 914 look up the image for this machine It will be ignored if 915 an explicit AMI is set. Supports substitutions for {{.BaseOS}} 916 and {{.K8sVersion}} with the base OS and kubernetes version, 917 respectively. The BaseOS will be the value in ImageLookupBaseOS 918 or ubuntu (the default), and the kubernetes version as defined 919 by the packages produced by kubernetes/release without v 920 as a prefix: 1.13.0, 1.12.5-mybuild.1, or 1.17.3. For example, 921 the default image format of capa-ami-{{.BaseOS}}-?{{.K8sVersion}}-* 922 will end up searching for AMIs that match the pattern capa-ami-ubuntu-?1.18.0-* 923 for a Machine that is targeting kubernetes v1.18.0 and the 924 ubuntu base OS. See also: https://golang.org/pkg/text/template/' 925 type: string 926 imageLookupOrg: 927 description: ImageLookupOrg is the AWS Organization ID to 928 use for image lookup if AMI is not set. 929 type: string 930 instanceID: 931 description: InstanceID is the EC2 instance ID for this machine. 932 type: string 933 instanceType: 934 description: 'InstanceType is the type of instance to create. 935 Example: m4.xlarge' 936 minLength: 2 937 type: string 938 networkInterfaces: 939 description: NetworkInterfaces is a list of ENIs to associate 940 with the instance. A maximum of 2 may be specified. 941 items: 942 type: string 943 maxItems: 2 944 type: array 945 nonRootVolumes: 946 description: Configuration options for the non root storage 947 volumes. 948 items: 949 description: Volume encapsulates the configuration options 950 for the storage device. 951 properties: 952 deviceName: 953 description: Device name 954 type: string 955 encrypted: 956 description: Encrypted is whether the volume should 957 be encrypted or not. 958 type: boolean 959 encryptionKey: 960 description: EncryptionKey is the KMS key to use to 961 encrypt the volume. Can be either a KMS key ID or 962 ARN. If Encrypted is set and this is omitted, the 963 default AWS key will be used. The key must already 964 exist and be accessible by the controller. 965 type: string 966 iops: 967 description: IOPS is the number of IOPS requested for 968 the disk. Not applicable to all types. 969 format: int64 970 type: integer 971 size: 972 description: Size specifies size (in Gi) of the storage 973 device. Must be greater than the image snapshot size 974 or 8 (whichever is greater). 975 format: int64 976 minimum: 8 977 type: integer 978 throughput: 979 description: Throughput to provision in MiB/s supported 980 for the volume type. Not applicable to all types. 981 format: int64 982 type: integer 983 type: 984 description: Type is the type of the volume (e.g. gp2, 985 io1, etc...). 986 type: string 987 required: 988 - size 989 type: object 990 type: array 991 providerID: 992 description: ProviderID is the unique identifier as specified 993 by the cloud provider. 994 type: string 995 publicIP: 996 description: 'PublicIP specifies whether the instance should 997 get a public IP. Precedence for this setting is as follows: 998 1. This field if set 2. Cluster/flavor setting 3. Subnet 999 default' 1000 type: boolean 1001 rootVolume: 1002 description: RootVolume encapsulates the configuration options 1003 for the root volume 1004 properties: 1005 deviceName: 1006 description: Device name 1007 type: string 1008 encrypted: 1009 description: Encrypted is whether the volume should be 1010 encrypted or not. 1011 type: boolean 1012 encryptionKey: 1013 description: EncryptionKey is the KMS key to use to encrypt 1014 the volume. Can be either a KMS key ID or ARN. If Encrypted 1015 is set and this is omitted, the default AWS key will 1016 be used. The key must already exist and be accessible 1017 by the controller. 1018 type: string 1019 iops: 1020 description: IOPS is the number of IOPS requested for 1021 the disk. Not applicable to all types. 1022 format: int64 1023 type: integer 1024 size: 1025 description: Size specifies size (in Gi) of the storage 1026 device. Must be greater than the image snapshot size 1027 or 8 (whichever is greater). 1028 format: int64 1029 minimum: 8 1030 type: integer 1031 throughput: 1032 description: Throughput to provision in MiB/s supported 1033 for the volume type. Not applicable to all types. 1034 format: int64 1035 type: integer 1036 type: 1037 description: Type is the type of the volume (e.g. gp2, 1038 io1, etc...). 1039 type: string 1040 required: 1041 - size 1042 type: object 1043 spotMarketOptions: 1044 description: SpotMarketOptions allows users to configure instances 1045 to be run using AWS Spot instances. 1046 properties: 1047 maxPrice: 1048 description: MaxPrice defines the maximum price the user 1049 is willing to pay for Spot VM instances 1050 type: string 1051 type: object 1052 sshKeyName: 1053 description: SSHKeyName is the name of the ssh key to attach 1054 to the instance. Valid values are empty string (do not use 1055 SSH keys), a valid SSH key name, or omitted (use the default 1056 SSH key name) 1057 type: string 1058 subnet: 1059 description: Subnet is a reference to the subnet to use for 1060 this instance. If not specified, the cluster subnet will 1061 be used. 1062 properties: 1063 arn: 1064 description: 'ARN of resource. Deprecated: This field 1065 has no function and is going to be removed in the next 1066 release.' 1067 type: string 1068 filters: 1069 description: 'Filters is a set of key/value pairs used 1070 to identify a resource They are applied according to 1071 the rules defined by the AWS API: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html' 1072 items: 1073 description: Filter is a filter used to identify an 1074 AWS resource. 1075 properties: 1076 name: 1077 description: Name of the filter. Filter names are 1078 case-sensitive. 1079 type: string 1080 values: 1081 description: Values includes one or more filter 1082 values. Filter values are case-sensitive. 1083 items: 1084 type: string 1085 type: array 1086 required: 1087 - name 1088 - values 1089 type: object 1090 type: array 1091 id: 1092 description: ID of resource 1093 type: string 1094 type: object 1095 tenancy: 1096 description: Tenancy indicates if instance should run on shared 1097 or single-tenant hardware. 1098 enum: 1099 - default 1100 - dedicated 1101 - host 1102 type: string 1103 uncompressedUserData: 1104 description: UncompressedUserData specify whether the user 1105 data is gzip-compressed before it is sent to ec2 instance. 1106 cloud-init has built-in support for gzip-compressed user 1107 data user data stored in aws secret manager is always gzip-compressed. 1108 type: boolean 1109 required: 1110 - instanceType 1111 type: object 1112 required: 1113 - spec 1114 type: object 1115 required: 1116 - template 1117 type: object 1118 type: object 1119 served: true 1120 storage: true 1121 status: 1122 acceptedNames: 1123 kind: "" 1124 plural: "" 1125 conditions: [] 1126 storedVersions: []