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: []