---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.13.0
  name: launchtemplateversions.ec2.aws.crossplane.io
spec:
  group: ec2.aws.crossplane.io
  names:
    categories:
    - crossplane
    - managed
    - aws
    kind: LaunchTemplateVersion
    listKind: LaunchTemplateVersionList
    plural: launchtemplateversions
    singular: launchtemplateversion
  scope: Cluster
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.conditions[?(@.type=='Ready')].status
      name: READY
      type: string
    - jsonPath: .status.conditions[?(@.type=='Synced')].status
      name: SYNCED
      type: string
    - jsonPath: .metadata.annotations.crossplane\.io/external-name
      name: EXTERNAL-NAME
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: AGE
      type: date
    name: v1alpha1
    schema:
      openAPIV3Schema:
        description: LaunchTemplateVersion is the Schema for the LaunchTemplateVersions
          API
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation
              of an object. Servers should convert recognized schemas to the latest
              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this
              object represents. Servers may infer this from the endpoint the client
              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: LaunchTemplateVersionSpec defines the desired state of LaunchTemplateVersion
            properties:
              deletionPolicy:
                default: Delete
                description: 'DeletionPolicy specifies what will happen to the underlying
                  external when this managed resource is deleted - either "Delete"
                  or "Orphan" the external resource. This field is planned to be deprecated
                  in favor of the ManagementPolicies field in a future release. Currently,
                  both could be set independently and non-default values would be
                  honored if the feature flag is enabled. See the design doc for more
                  information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
                enum:
                - Orphan
                - Delete
                type: string
              forProvider:
                description: LaunchTemplateVersionParameters defines the desired state
                  of LaunchTemplateVersion
                properties:
                  launchTemplateData:
                    description: The information for the launch template.
                    properties:
                      blockDeviceMappings:
                        items:
                          properties:
                            deviceName:
                              type: string
                            ebs:
                              description: The parameters for a block device for an
                                EBS volume.
                              properties:
                                deleteOnTermination:
                                  type: boolean
                                encrypted:
                                  type: boolean
                                iops:
                                  format: int64
                                  type: integer
                                kmsKeyID:
                                  type: string
                                snapshotID:
                                  type: string
                                throughput:
                                  format: int64
                                  type: integer
                                volumeSize:
                                  format: int64
                                  type: integer
                                volumeType:
                                  type: string
                              type: object
                            noDevice:
                              type: string
                            virtualName:
                              type: string
                          type: object
                        type: array
                      capacityReservationSpecification:
                        description: Describes an instance's Capacity Reservation
                          targeting option. You can specify only one option at a time.
                          Use the CapacityReservationPreference parameter to configure
                          the instance to run in On-Demand capacity or to run in any
                          open Capacity Reservation that has matching attributes (instance
                          type, platform, Availability Zone). Use the CapacityReservationTarget
                          parameter to explicitly target a specific Capacity Reservation
                          or a Capacity Reservation group.
                        properties:
                          capacityReservationPreference:
                            type: string
                          capacityReservationTarget:
                            description: Describes a target Capacity Reservation or
                              Capacity Reservation group.
                            properties:
                              capacityReservationID:
                                type: string
                              capacityReservationResourceGroupARN:
                                type: string
                            type: object
                        type: object
                      cpuOptions:
                        description: The CPU options for the instance. Both the core
                          count and threads per core must be specified in the request.
                        properties:
                          amdSevSnp:
                            type: string
                          coreCount:
                            format: int64
                            type: integer
                          threadsPerCore:
                            format: int64
                            type: integer
                        type: object
                      creditSpecification:
                        description: The credit option for CPU usage of a T instance.
                        properties:
                          cpuCredits:
                            type: string
                        type: object
                      disableAPIStop:
                        type: boolean
                      disableAPITermination:
                        type: boolean
                      ebsOptimized:
                        type: boolean
                      elasticGPUSpecifications:
                        items:
                          properties:
                            type_:
                              type: string
                          type: object
                        type: array
                      elasticInferenceAccelerators:
                        items:
                          properties:
                            count:
                              format: int64
                              type: integer
                            type_:
                              type: string
                          type: object
                        type: array
                      enclaveOptions:
                        description: Indicates whether the instance is enabled for
                          Amazon Web Services Nitro Enclaves. For more information,
                          see What is Amazon Web Services Nitro Enclaves? (https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html)
                          in the Amazon Web Services Nitro Enclaves User Guide.
                        properties:
                          enabled:
                            type: boolean
                        type: object
                      hibernationOptions:
                        description: Indicates whether the instance is configured
                          for hibernation. This parameter is valid only if the instance
                          meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hibernating-prerequisites.html).
                        properties:
                          configured:
                            type: boolean
                        type: object
                      iamInstanceProfile:
                        description: An IAM instance profile.
                        properties:
                          arn:
                            type: string
                          name:
                            type: string
                        type: object
                      imageID:
                        type: string
                      instanceInitiatedShutdownBehavior:
                        type: string
                      instanceMarketOptions:
                        description: The market (purchasing) option for the instances.
                        properties:
                          marketType:
                            type: string
                          spotOptions:
                            description: The options for Spot Instances.
                            properties:
                              blockDurationMinutes:
                                format: int64
                                type: integer
                              instanceInterruptionBehavior:
                                type: string
                              maxPrice:
                                type: string
                              spotInstanceType:
                                type: string
                              validUntil:
                                format: date-time
                                type: string
                            type: object
                        type: object
                      instanceRequirements:
                        description: "The attributes for the instance types. When
                          you specify instance attributes, Amazon EC2 will identify
                          instance types with these attributes. \n You must specify
                          VCpuCount and MemoryMiB. All other attributes are optional.
                          Any unspecified optional attribute is set to its default.
                          \n When you specify multiple attributes, you get instance
                          types that satisfy all of the specified attributes. If you
                          specify multiple values for an attribute, you get instance
                          types that satisfy any of the specified values. \n To limit
                          the list of instance types from which Amazon EC2 can identify
                          matching instance types, you can use one of the following
                          parameters, but not both in the same request: \n * AllowedInstanceTypes
                          - The instance types to include in the list. All other instance
                          types are ignored, even if they match your specified attributes.
                          \n * ExcludedInstanceTypes - The instance types to exclude
                          from the list, even if they match your specified attributes.
                          \n If you specify InstanceRequirements, you can't specify
                          InstanceType. \n Attribute-based instance type selection
                          is only supported when using Auto Scaling groups, EC2 Fleet,
                          and Spot Fleet to launch instances. If you plan to use the
                          launch template in the launch instance wizard (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html),
                          or with the RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)
                          API or AWS::EC2::Instance (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html)
                          Amazon Web Services CloudFormation resource, you can't specify
                          InstanceRequirements. \n For more information, see Attribute-based
                          instance type selection for EC2 Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html),
                          Attribute-based instance type selection for Spot Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html),
                          and Spot placement score (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html)
                          in the Amazon EC2 User Guide."
                        properties:
                          acceleratorCount:
                            description: The minimum and maximum number of accelerators
                              (GPUs, FPGAs, or Amazon Web Services Inferentia chips)
                              on an instance. To exclude accelerator-enabled instance
                              types, set Max to 0.
                            properties:
                              max:
                                format: int64
                                type: integer
                              min:
                                format: int64
                                type: integer
                            type: object
                          acceleratorManufacturers:
                            items:
                              type: string
                            type: array
                          acceleratorNames:
                            items:
                              type: string
                            type: array
                          acceleratorTotalMemoryMiB:
                            description: The minimum and maximum amount of total accelerator
                              memory, in MiB.
                            properties:
                              max:
                                format: int64
                                type: integer
                              min:
                                format: int64
                                type: integer
                            type: object
                          acceleratorTypes:
                            items:
                              type: string
                            type: array
                          allowedInstanceTypes:
                            items:
                              type: string
                            type: array
                          bareMetal:
                            type: string
                          baselineEBSBandwidthMbps:
                            description: The minimum and maximum baseline bandwidth
                              to Amazon EBS, in Mbps. For more information, see Amazon
                              EBS–optimized instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html)
                              in the Amazon EC2 User Guide.
                            properties:
                              max:
                                format: int64
                                type: integer
                              min:
                                format: int64
                                type: integer
                            type: object
                          burstablePerformance:
                            type: string
                          cpuManufacturers:
                            items:
                              type: string
                            type: array
                          excludedInstanceTypes:
                            items:
                              type: string
                            type: array
                          instanceGenerations:
                            items:
                              type: string
                            type: array
                          localStorage:
                            type: string
                          localStorageTypes:
                            items:
                              type: string
                            type: array
                          memoryGiBPerVCPU:
                            description: The minimum and maximum amount of memory
                              per vCPU, in GiB.
                            properties:
                              max:
                                type: number
                              min:
                                type: number
                            type: object
                          memoryMiB:
                            description: The minimum and maximum amount of memory,
                              in MiB.
                            properties:
                              max:
                                format: int64
                                type: integer
                              min:
                                format: int64
                                type: integer
                            type: object
                          networkBandwidthGbps:
                            description: "The minimum and maximum amount of network
                              bandwidth, in gigabits per second (Gbps). \n Setting
                              the minimum bandwidth does not guarantee that your instance
                              will achieve the minimum bandwidth. Amazon EC2 will
                              identify instance types that support the specified minimum
                              bandwidth, but the actual bandwidth of your instance
                              might go below the specified minimum at times. For more
                              information, see Available instance bandwidth (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html#available-instance-bandwidth)
                              in the Amazon EC2 User Guide."
                            properties:
                              max:
                                type: number
                              min:
                                type: number
                            type: object
                          networkInterfaceCount:
                            description: The minimum and maximum number of network
                              interfaces.
                            properties:
                              max:
                                format: int64
                                type: integer
                              min:
                                format: int64
                                type: integer
                            type: object
                          onDemandMaxPricePercentageOverLowestPrice:
                            format: int64
                            type: integer
                          requireHibernateSupport:
                            type: boolean
                          spotMaxPricePercentageOverLowestPrice:
                            format: int64
                            type: integer
                          totalLocalStorageGB:
                            description: The minimum and maximum amount of total local
                              storage, in GB.
                            properties:
                              max:
                                type: number
                              min:
                                type: number
                            type: object
                          vCPUCount:
                            description: The minimum and maximum number of vCPUs.
                            properties:
                              max:
                                format: int64
                                type: integer
                              min:
                                format: int64
                                type: integer
                            type: object
                        type: object
                      instanceType:
                        type: string
                      kernelID:
                        type: string
                      keyName:
                        type: string
                      licenseSpecifications:
                        items:
                          properties:
                            licenseConfigurationARN:
                              type: string
                          type: object
                        type: array
                      maintenanceOptions:
                        description: The maintenance options of your instance.
                        properties:
                          autoRecovery:
                            type: string
                        type: object
                      metadataOptions:
                        description: The metadata options for the instance. For more
                          information, see Instance metadata and user data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
                          in the Amazon Elastic Compute Cloud User Guide.
                        properties:
                          httpEndpoint:
                            type: string
                          httpProtocolIPv6:
                            type: string
                          httpPutResponseHopLimit:
                            format: int64
                            type: integer
                          httpTokens:
                            type: string
                          instanceMetadataTags:
                            type: string
                        type: object
                      monitoring:
                        description: Describes the monitoring for the instance.
                        properties:
                          enabled:
                            type: boolean
                        type: object
                      networkInterfaces:
                        items:
                          properties:
                            associateCarrierIPAddress:
                              type: boolean
                            associatePublicIPAddress:
                              type: boolean
                            deleteOnTermination:
                              type: boolean
                            description:
                              type: string
                            deviceIndex:
                              format: int64
                              type: integer
                            groups:
                              items:
                                type: string
                              type: array
                            interfaceType:
                              type: string
                            ipv4PrefixCount:
                              format: int64
                              type: integer
                            ipv4Prefixes:
                              items:
                                properties:
                                  ipv4Prefix:
                                    type: string
                                type: object
                              type: array
                            ipv6AddressCount:
                              format: int64
                              type: integer
                            ipv6Addresses:
                              items:
                                properties:
                                  ipv6Address:
                                    type: string
                                type: object
                              type: array
                            ipv6PrefixCount:
                              format: int64
                              type: integer
                            ipv6Prefixes:
                              items:
                                properties:
                                  ipv6Prefix:
                                    type: string
                                type: object
                              type: array
                            networkCardIndex:
                              format: int64
                              type: integer
                            networkInterfaceID:
                              type: string
                            primaryIPv6:
                              type: boolean
                            privateIPAddress:
                              type: string
                            privateIPAddresses:
                              items:
                                properties:
                                  primary:
                                    type: boolean
                                  privateIPAddress:
                                    type: string
                                type: object
                              type: array
                            secondaryPrivateIPAddressCount:
                              format: int64
                              type: integer
                            subnetID:
                              type: string
                          type: object
                        type: array
                      placement:
                        description: Describes the placement of an instance.
                        properties:
                          affinity:
                            type: string
                          availabilityZone:
                            type: string
                          groupID:
                            type: string
                          groupName:
                            type: string
                          hostID:
                            type: string
                          hostResourceGroupARN:
                            type: string
                          partitionNumber:
                            format: int64
                            type: integer
                          spreadDomain:
                            type: string
                          tenancy:
                            type: string
                        type: object
                      privateDNSNameOptions:
                        description: Describes the options for instance hostnames.
                        properties:
                          enableResourceNameDNSAAAARecord:
                            type: boolean
                          enableResourceNameDNSARecord:
                            type: boolean
                          hostnameType:
                            type: string
                        type: object
                      ramDiskID:
                        type: string
                      securityGroupIDs:
                        items:
                          type: string
                        type: array
                      securityGroups:
                        items:
                          type: string
                        type: array
                      tagSpecifications:
                        items:
                          properties:
                            resourceType:
                              type: string
                            tags:
                              items:
                                properties:
                                  key:
                                    type: string
                                  value:
                                    type: string
                                type: object
                              type: array
                          type: object
                        type: array
                      userData:
                        type: string
                    type: object
                  launchTemplateId:
                    description: The ID of the Launch Template. You must specify this
                      parameter in the request.
                    type: string
                  launchTemplateIdRef:
                    description: LaunchTemplateIDRef is a reference to an API used
                      to set the LaunchTemplateID.
                    properties:
                      name:
                        description: Name of the referenced object.
                        type: string
                      policy:
                        description: Policies for referencing.
                        properties:
                          resolution:
                            default: Required
                            description: Resolution specifies whether resolution of
                              this reference is required. The default is 'Required',
                              which means the reconcile will fail if the reference
                              cannot be resolved. 'Optional' means this reference
                              will be a no-op if it cannot be resolved.
                            enum:
                            - Required
                            - Optional
                            type: string
                          resolve:
                            description: Resolve specifies when this reference should
                              be resolved. The default is 'IfNotPresent', which will
                              attempt to resolve the reference only when the corresponding
                              field is not present. Use 'Always' to resolve the reference
                              on every reconcile.
                            enum:
                            - Always
                            - IfNotPresent
                            type: string
                        type: object
                    required:
                    - name
                    type: object
                  launchTemplateIdSelector:
                    description: LaunchTemplateIDSelector selects references to API
                      used to set the LaunchTemplateID.
                    properties:
                      matchControllerRef:
                        description: MatchControllerRef ensures an object with the
                          same controller reference as the selecting object is selected.
                        type: boolean
                      matchLabels:
                        additionalProperties:
                          type: string
                        description: MatchLabels ensures an object with matching labels
                          is selected.
                        type: object
                      policy:
                        description: Policies for selection.
                        properties:
                          resolution:
                            default: Required
                            description: Resolution specifies whether resolution of
                              this reference is required. The default is 'Required',
                              which means the reconcile will fail if the reference
                              cannot be resolved. 'Optional' means this reference
                              will be a no-op if it cannot be resolved.
                            enum:
                            - Required
                            - Optional
                            type: string
                          resolve:
                            description: Resolve specifies when this reference should
                              be resolved. The default is 'IfNotPresent', which will
                              attempt to resolve the reference only when the corresponding
                              field is not present. Use 'Always' to resolve the reference
                              on every reconcile.
                            enum:
                            - Always
                            - IfNotPresent
                            type: string
                        type: object
                    type: object
                  launchTemplateName:
                    description: The Name of the Launch Template. You must specify
                      this parameter in the request.
                    type: string
                  launchTemplateNameRef:
                    description: LaunchTemplateNameRef is a reference to an API used
                      to set the LaunchTemplateName.
                    properties:
                      name:
                        description: Name of the referenced object.
                        type: string
                      policy:
                        description: Policies for referencing.
                        properties:
                          resolution:
                            default: Required
                            description: Resolution specifies whether resolution of
                              this reference is required. The default is 'Required',
                              which means the reconcile will fail if the reference
                              cannot be resolved. 'Optional' means this reference
                              will be a no-op if it cannot be resolved.
                            enum:
                            - Required
                            - Optional
                            type: string
                          resolve:
                            description: Resolve specifies when this reference should
                              be resolved. The default is 'IfNotPresent', which will
                              attempt to resolve the reference only when the corresponding
                              field is not present. Use 'Always' to resolve the reference
                              on every reconcile.
                            enum:
                            - Always
                            - IfNotPresent
                            type: string
                        type: object
                    required:
                    - name
                    type: object
                  launchTemplateNameSelector:
                    description: LaunchTemplateNameSelector selects references to
                      API used to set the LaunchTemplateName.
                    properties:
                      matchControllerRef:
                        description: MatchControllerRef ensures an object with the
                          same controller reference as the selecting object is selected.
                        type: boolean
                      matchLabels:
                        additionalProperties:
                          type: string
                        description: MatchLabels ensures an object with matching labels
                          is selected.
                        type: object
                      policy:
                        description: Policies for selection.
                        properties:
                          resolution:
                            default: Required
                            description: Resolution specifies whether resolution of
                              this reference is required. The default is 'Required',
                              which means the reconcile will fail if the reference
                              cannot be resolved. 'Optional' means this reference
                              will be a no-op if it cannot be resolved.
                            enum:
                            - Required
                            - Optional
                            type: string
                          resolve:
                            description: Resolve specifies when this reference should
                              be resolved. The default is 'IfNotPresent', which will
                              attempt to resolve the reference only when the corresponding
                              field is not present. Use 'Always' to resolve the reference
                              on every reconcile.
                            enum:
                            - Always
                            - IfNotPresent
                            type: string
                        type: object
                    type: object
                  region:
                    description: Region is which region the LaunchTemplateVersion
                      will be created.
                    type: string
                  resolveAlias:
                    description: "If true, and if a Systems Manager parameter is specified
                      for ImageId, the AMI ID is displayed in the response for imageID.
                      For more information, see Use a Systems Manager parameter instead
                      of an AMI ID (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#use-an-ssm-parameter-instead-of-an-ami-id)
                      in the Amazon Elastic Compute Cloud User Guide. \n Default:
                      false"
                    type: boolean
                  sourceVersion:
                    description: The version number of the launch template version
                      on which to base the new version. The new version inherits the
                      same launch parameters as the source version, except for parameters
                      that you specify in LaunchTemplateData. Snapshots applied to
                      the block device mapping are ignored when creating a new version
                      unless they are explicitly included.
                    type: string
                  versionDescription:
                    description: A description for the version of the launch template.
                    type: string
                required:
                - launchTemplateData
                - region
                type: object
              managementPolicies:
                default:
                - '*'
                description: 'THIS IS A BETA FIELD. It is on by default but can be
                  opted out through a Crossplane feature flag. ManagementPolicies
                  specify the array of actions Crossplane is allowed to take on the
                  managed and external resources. This field is planned to replace
                  the DeletionPolicy field in a future release. Currently, both could
                  be set independently and non-default values would be honored if
                  the feature flag is enabled. If both are custom, the DeletionPolicy
                  field will be ignored. See the design doc for more information:
                  https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
                  and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
                items:
                  description: A ManagementAction represents an action that the Crossplane
                    controllers can take on an external resource.
                  enum:
                  - Observe
                  - Create
                  - Update
                  - Delete
                  - LateInitialize
                  - '*'
                  type: string
                type: array
              providerConfigRef:
                default:
                  name: default
                description: ProviderConfigReference specifies how the provider that
                  will be used to create, observe, update, and delete this managed
                  resource should be configured.
                properties:
                  name:
                    description: Name of the referenced object.
                    type: string
                  policy:
                    description: Policies for referencing.
                    properties:
                      resolution:
                        default: Required
                        description: Resolution specifies whether resolution of this
                          reference is required. The default is 'Required', which
                          means the reconcile will fail if the reference cannot be
                          resolved. 'Optional' means this reference will be a no-op
                          if it cannot be resolved.
                        enum:
                        - Required
                        - Optional
                        type: string
                      resolve:
                        description: Resolve specifies when this reference should
                          be resolved. The default is 'IfNotPresent', which will attempt
                          to resolve the reference only when the corresponding field
                          is not present. Use 'Always' to resolve the reference on
                          every reconcile.
                        enum:
                        - Always
                        - IfNotPresent
                        type: string
                    type: object
                required:
                - name
                type: object
              publishConnectionDetailsTo:
                description: PublishConnectionDetailsTo specifies the connection secret
                  config which contains a name, metadata and a reference to secret
                  store config to which any connection details for this managed resource
                  should be written. Connection details frequently include the endpoint,
                  username, and password required to connect to the managed resource.
                properties:
                  configRef:
                    default:
                      name: default
                    description: SecretStoreConfigRef specifies which secret store
                      config should be used for this ConnectionSecret.
                    properties:
                      name:
                        description: Name of the referenced object.
                        type: string
                      policy:
                        description: Policies for referencing.
                        properties:
                          resolution:
                            default: Required
                            description: Resolution specifies whether resolution of
                              this reference is required. The default is 'Required',
                              which means the reconcile will fail if the reference
                              cannot be resolved. 'Optional' means this reference
                              will be a no-op if it cannot be resolved.
                            enum:
                            - Required
                            - Optional
                            type: string
                          resolve:
                            description: Resolve specifies when this reference should
                              be resolved. The default is 'IfNotPresent', which will
                              attempt to resolve the reference only when the corresponding
                              field is not present. Use 'Always' to resolve the reference
                              on every reconcile.
                            enum:
                            - Always
                            - IfNotPresent
                            type: string
                        type: object
                    required:
                    - name
                    type: object
                  metadata:
                    description: Metadata is the metadata for connection secret.
                    properties:
                      annotations:
                        additionalProperties:
                          type: string
                        description: Annotations are the annotations to be added to
                          connection secret. - For Kubernetes secrets, this will be
                          used as "metadata.annotations". - It is up to Secret Store
                          implementation for others store types.
                        type: object
                      labels:
                        additionalProperties:
                          type: string
                        description: Labels are the labels/tags to be added to connection
                          secret. - For Kubernetes secrets, this will be used as "metadata.labels".
                          - It is up to Secret Store implementation for others store
                          types.
                        type: object
                      type:
                        description: Type is the SecretType for the connection secret.
                          - Only valid for Kubernetes Secret Stores.
                        type: string
                    type: object
                  name:
                    description: Name is the name of the connection secret.
                    type: string
                required:
                - name
                type: object
              writeConnectionSecretToRef:
                description: WriteConnectionSecretToReference specifies the namespace
                  and name of a Secret to which any connection details for this managed
                  resource should be written. Connection details frequently include
                  the endpoint, username, and password required to connect to the
                  managed resource. This field is planned to be replaced in a future
                  release in favor of PublishConnectionDetailsTo. Currently, both
                  could be set independently and connection details would be published
                  to both without affecting each other.
                properties:
                  name:
                    description: Name of the secret.
                    type: string
                  namespace:
                    description: Namespace of the secret.
                    type: string
                required:
                - name
                - namespace
                type: object
            required:
            - forProvider
            type: object
          status:
            description: LaunchTemplateVersionStatus defines the observed state of
              LaunchTemplateVersion.
            properties:
              atProvider:
                description: LaunchTemplateVersionObservation defines the observed
                  state of LaunchTemplateVersion
                properties:
                  launchTemplateVersion:
                    description: Information about the launch template version.
                    properties:
                      createTime:
                        format: date-time
                        type: string
                      createdBy:
                        type: string
                      defaultVersion:
                        type: boolean
                      launchTemplateData:
                        description: The information for a launch template.
                        properties:
                          blockDeviceMappings:
                            items:
                              properties:
                                deviceName:
                                  type: string
                                ebs:
                                  description: Describes a block device for an EBS
                                    volume.
                                  properties:
                                    deleteOnTermination:
                                      type: boolean
                                    encrypted:
                                      type: boolean
                                    iops:
                                      format: int64
                                      type: integer
                                    kmsKeyID:
                                      type: string
                                    snapshotID:
                                      type: string
                                    throughput:
                                      format: int64
                                      type: integer
                                    volumeSize:
                                      format: int64
                                      type: integer
                                    volumeType:
                                      type: string
                                  type: object
                                noDevice:
                                  type: string
                                virtualName:
                                  type: string
                              type: object
                            type: array
                          capacityReservationSpecification:
                            description: Information about the Capacity Reservation
                              targeting option.
                            properties:
                              capacityReservationPreference:
                                type: string
                              capacityReservationTarget:
                                description: Describes a target Capacity Reservation
                                  or Capacity Reservation group.
                                properties:
                                  capacityReservationID:
                                    type: string
                                  capacityReservationResourceGroupARN:
                                    type: string
                                type: object
                            type: object
                          cpuOptions:
                            description: The CPU options for the instance.
                            properties:
                              amdSevSnp:
                                type: string
                              coreCount:
                                format: int64
                                type: integer
                              threadsPerCore:
                                format: int64
                                type: integer
                            type: object
                          creditSpecification:
                            description: Describes the credit option for CPU usage
                              of a T instance.
                            properties:
                              cpuCredits:
                                type: string
                            type: object
                          disableAPIStop:
                            type: boolean
                          disableAPITermination:
                            type: boolean
                          ebsOptimized:
                            type: boolean
                          elasticGPUSpecifications:
                            items:
                              properties:
                                type_:
                                  type: string
                              type: object
                            type: array
                          elasticInferenceAccelerators:
                            items:
                              properties:
                                count:
                                  format: int64
                                  type: integer
                                type_:
                                  type: string
                              type: object
                            type: array
                          enclaveOptions:
                            description: Indicates whether the instance is enabled
                              for Amazon Web Services Nitro Enclaves.
                            properties:
                              enabled:
                                type: boolean
                            type: object
                          hibernationOptions:
                            description: Indicates whether an instance is configured
                              for hibernation.
                            properties:
                              configured:
                                type: boolean
                            type: object
                          iamInstanceProfile:
                            description: Describes an IAM instance profile.
                            properties:
                              arn:
                                type: string
                              name:
                                type: string
                            type: object
                          imageID:
                            type: string
                          instanceInitiatedShutdownBehavior:
                            type: string
                          instanceMarketOptions:
                            description: The market (purchasing) option for the instances.
                            properties:
                              marketType:
                                type: string
                              spotOptions:
                                description: The options for Spot Instances.
                                properties:
                                  blockDurationMinutes:
                                    format: int64
                                    type: integer
                                  instanceInterruptionBehavior:
                                    type: string
                                  maxPrice:
                                    type: string
                                  spotInstanceType:
                                    type: string
                                  validUntil:
                                    format: date-time
                                    type: string
                                type: object
                            type: object
                          instanceRequirements:
                            description: "The attributes for the instance types. When
                              you specify instance attributes, Amazon EC2 will identify
                              instance types with these attributes. \n You must specify
                              VCpuCount and MemoryMiB. All other attributes are optional.
                              Any unspecified optional attribute is set to its default.
                              \n When you specify multiple attributes, you get instance
                              types that satisfy all of the specified attributes.
                              If you specify multiple values for an attribute, you
                              get instance types that satisfy any of the specified
                              values. \n To limit the list of instance types from
                              which Amazon EC2 can identify matching instance types,
                              you can use one of the following parameters, but not
                              both in the same request: \n * AllowedInstanceTypes
                              - The instance types to include in the list. All other
                              instance types are ignored, even if they match your
                              specified attributes. \n * ExcludedInstanceTypes - The
                              instance types to exclude from the list, even if they
                              match your specified attributes. \n If you specify InstanceRequirements,
                              you can't specify InstanceType. \n Attribute-based instance
                              type selection is only supported when using Auto Scaling
                              groups, EC2 Fleet, and Spot Fleet to launch instances.
                              If you plan to use the launch template in the launch
                              instance wizard (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html)
                              or with the RunInstances API (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html),
                              you can't specify InstanceRequirements. \n For more
                              information, see Attribute-based instance type selection
                              for EC2 Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html),
                              Attribute-based instance type selection for Spot Fleet
                              (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html),
                              and Spot placement score (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html)
                              in the Amazon EC2 User Guide."
                            properties:
                              acceleratorCount:
                                description: The minimum and maximum number of accelerators
                                  (GPUs, FPGAs, or Amazon Web Services Inferentia
                                  chips) on an instance.
                                properties:
                                  max:
                                    format: int64
                                    type: integer
                                  min:
                                    format: int64
                                    type: integer
                                type: object
                              acceleratorManufacturers:
                                items:
                                  type: string
                                type: array
                              acceleratorNames:
                                items:
                                  type: string
                                type: array
                              acceleratorTotalMemoryMiB:
                                description: The minimum and maximum amount of total
                                  accelerator memory, in MiB.
                                properties:
                                  max:
                                    format: int64
                                    type: integer
                                  min:
                                    format: int64
                                    type: integer
                                type: object
                              acceleratorTypes:
                                items:
                                  type: string
                                type: array
                              allowedInstanceTypes:
                                items:
                                  type: string
                                type: array
                              bareMetal:
                                type: string
                              baselineEBSBandwidthMbps:
                                description: The minimum and maximum baseline bandwidth
                                  to Amazon EBS, in Mbps. For more information, see
                                  Amazon EBS–optimized instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html)
                                  in the Amazon EC2 User Guide.
                                properties:
                                  max:
                                    format: int64
                                    type: integer
                                  min:
                                    format: int64
                                    type: integer
                                type: object
                              burstablePerformance:
                                type: string
                              cpuManufacturers:
                                items:
                                  type: string
                                type: array
                              excludedInstanceTypes:
                                items:
                                  type: string
                                type: array
                              instanceGenerations:
                                items:
                                  type: string
                                type: array
                              localStorage:
                                type: string
                              localStorageTypes:
                                items:
                                  type: string
                                type: array
                              memoryGiBPerVCPU:
                                description: The minimum and maximum amount of memory
                                  per vCPU, in GiB.
                                properties:
                                  max:
                                    type: number
                                  min:
                                    type: number
                                type: object
                              memoryMiB:
                                description: The minimum and maximum amount of memory,
                                  in MiB.
                                properties:
                                  max:
                                    format: int64
                                    type: integer
                                  min:
                                    format: int64
                                    type: integer
                                type: object
                              networkBandwidthGbps:
                                description: "The minimum and maximum amount of network
                                  bandwidth, in gigabits per second (Gbps). \n Setting
                                  the minimum bandwidth does not guarantee that your
                                  instance will achieve the minimum bandwidth. Amazon
                                  EC2 will identify instance types that support the
                                  specified minimum bandwidth, but the actual bandwidth
                                  of your instance might go below the specified minimum
                                  at times. For more information, see Available instance
                                  bandwidth (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html#available-instance-bandwidth)
                                  in the Amazon EC2 User Guide."
                                properties:
                                  max:
                                    type: number
                                  min:
                                    type: number
                                type: object
                              networkInterfaceCount:
                                description: The minimum and maximum number of network
                                  interfaces.
                                properties:
                                  max:
                                    format: int64
                                    type: integer
                                  min:
                                    format: int64
                                    type: integer
                                type: object
                              onDemandMaxPricePercentageOverLowestPrice:
                                format: int64
                                type: integer
                              requireHibernateSupport:
                                type: boolean
                              spotMaxPricePercentageOverLowestPrice:
                                format: int64
                                type: integer
                              totalLocalStorageGB:
                                description: The minimum and maximum amount of total
                                  local storage, in GB.
                                properties:
                                  max:
                                    type: number
                                  min:
                                    type: number
                                type: object
                              vCPUCount:
                                description: The minimum and maximum number of vCPUs.
                                properties:
                                  max:
                                    format: int64
                                    type: integer
                                  min:
                                    format: int64
                                    type: integer
                                type: object
                            type: object
                          instanceType:
                            type: string
                          kernelID:
                            type: string
                          keyName:
                            type: string
                          licenseSpecifications:
                            items:
                              properties:
                                licenseConfigurationARN:
                                  type: string
                              type: object
                            type: array
                          maintenanceOptions:
                            description: The maintenance options of your instance.
                            properties:
                              autoRecovery:
                                type: string
                            type: object
                          metadataOptions:
                            description: The metadata options for the instance. For
                              more information, see Instance metadata and user data
                              (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
                              in the Amazon Elastic Compute Cloud User Guide.
                            properties:
                              httpEndpoint:
                                type: string
                              httpProtocolIPv6:
                                type: string
                              httpPutResponseHopLimit:
                                format: int64
                                type: integer
                              httpTokens:
                                type: string
                              instanceMetadataTags:
                                type: string
                              state:
                                type: string
                            type: object
                          monitoring:
                            description: Describes the monitoring for the instance.
                            properties:
                              enabled:
                                type: boolean
                            type: object
                          networkInterfaces:
                            items:
                              properties:
                                associateCarrierIPAddress:
                                  type: boolean
                                associatePublicIPAddress:
                                  type: boolean
                                deleteOnTermination:
                                  type: boolean
                                description:
                                  type: string
                                deviceIndex:
                                  format: int64
                                  type: integer
                                groups:
                                  items:
                                    type: string
                                  type: array
                                interfaceType:
                                  type: string
                                ipv4PrefixCount:
                                  format: int64
                                  type: integer
                                ipv4Prefixes:
                                  items:
                                    properties:
                                      ipv4Prefix:
                                        type: string
                                    type: object
                                  type: array
                                ipv6AddressCount:
                                  format: int64
                                  type: integer
                                ipv6Addresses:
                                  items:
                                    properties:
                                      ipv6Address:
                                        type: string
                                      isPrimaryIPv6:
                                        type: boolean
                                    type: object
                                  type: array
                                ipv6PrefixCount:
                                  format: int64
                                  type: integer
                                ipv6Prefixes:
                                  items:
                                    properties:
                                      ipv6Prefix:
                                        type: string
                                    type: object
                                  type: array
                                networkCardIndex:
                                  format: int64
                                  type: integer
                                networkInterfaceID:
                                  type: string
                                primaryIPv6:
                                  type: boolean
                                privateIPAddress:
                                  type: string
                                privateIPAddresses:
                                  items:
                                    properties:
                                      primary:
                                        type: boolean
                                      privateIPAddress:
                                        type: string
                                    type: object
                                  type: array
                                secondaryPrivateIPAddressCount:
                                  format: int64
                                  type: integer
                                subnetID:
                                  type: string
                              type: object
                            type: array
                          placement:
                            description: Describes the placement of an instance.
                            properties:
                              affinity:
                                type: string
                              availabilityZone:
                                type: string
                              groupID:
                                type: string
                              groupName:
                                type: string
                              hostID:
                                type: string
                              hostResourceGroupARN:
                                type: string
                              partitionNumber:
                                format: int64
                                type: integer
                              spreadDomain:
                                type: string
                              tenancy:
                                type: string
                            type: object
                          privateDNSNameOptions:
                            description: Describes the options for instance hostnames.
                            properties:
                              enableResourceNameDNSAAAARecord:
                                type: boolean
                              enableResourceNameDNSARecord:
                                type: boolean
                              hostnameType:
                                type: string
                            type: object
                          ramDiskID:
                            type: string
                          securityGroupIDs:
                            items:
                              type: string
                            type: array
                          securityGroups:
                            items:
                              type: string
                            type: array
                          tagSpecifications:
                            items:
                              properties:
                                resourceType:
                                  type: string
                                tags:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      value:
                                        type: string
                                    type: object
                                  type: array
                              type: object
                            type: array
                          userData:
                            type: string
                        type: object
                      launchTemplateID:
                        type: string
                      launchTemplateName:
                        type: string
                      versionDescription:
                        type: string
                      versionNumber:
                        format: int64
                        type: integer
                    type: object
                  warning:
                    description: If the new version of the launch template contains
                      parameters or parameter combinations that are not valid, an
                      error code and an error message are returned for each issue
                      that's found.
                    properties:
                      errors:
                        items:
                          properties:
                            code:
                              type: string
                            message:
                              type: string
                          type: object
                        type: array
                    type: object
                type: object
              conditions:
                description: Conditions of the resource.
                items:
                  description: A Condition that may apply to a resource.
                  properties:
                    lastTransitionTime:
                      description: LastTransitionTime is the last time this condition
                        transitioned from one status to another.
                      format: date-time
                      type: string
                    message:
                      description: A Message containing details about this condition's
                        last transition from one status to another, if any.
                      type: string
                    reason:
                      description: A Reason for this condition's last transition from
                        one status to another.
                      type: string
                    status:
                      description: Status of this condition; is it currently True,
                        False, or Unknown?
                      type: string
                    type:
                      description: Type of this condition. At most one of each condition
                        type may apply to a resource at any point in time.
                      type: string
                  required:
                  - lastTransitionTime
                  - reason
                  - status
                  - type
                  type: object
                type: array
                x-kubernetes-list-map-keys:
                - type
                x-kubernetes-list-type: map
            type: object
        required:
        - spec
        type: object
    served: true
    storage: true
    subresources:
      status: {}
