Class RequestLaunchTemplateData

    • Method Detail

      • kernelId

        public final String kernelId()

        The ID of the kernel.

        We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User provided kernels in the Amazon Elastic Compute Cloud User Guide.

        Returns:
        The ID of the kernel.

        We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User provided kernels in the Amazon Elastic Compute Cloud User Guide.

      • ebsOptimized

        public final Boolean ebsOptimized()

        Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.

        Returns:
        Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.
      • hasBlockDeviceMappings

        public final boolean hasBlockDeviceMappings()
        For responses, this returns true if the service returned a value for the BlockDeviceMappings property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • blockDeviceMappings

        public final List<LaunchTemplateBlockDeviceMappingRequest> blockDeviceMappings()

        The block device mapping.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasBlockDeviceMappings() method.

        Returns:
        The block device mapping.
      • hasNetworkInterfaces

        public final boolean hasNetworkInterfaces()
        For responses, this returns true if the service returned a value for the NetworkInterfaces property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • networkInterfaces

        public final List<LaunchTemplateInstanceNetworkInterfaceSpecificationRequest> networkInterfaces()

        One or more network interfaces. If you specify a network interface, you must specify any security groups and subnets as part of the network interface.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasNetworkInterfaces() method.

        Returns:
        One or more network interfaces. If you specify a network interface, you must specify any security groups and subnets as part of the network interface.
      • imageId

        public final String imageId()

        The ID of the AMI. Alternatively, you can specify a Systems Manager parameter, which will resolve to an AMI ID on launch.

        Valid formats:

        • ami-17characters00000

        • resolve:ssm:parameter-name

        • resolve:ssm:parameter-name:version-number

        • resolve:ssm:parameter-name:label

        • resolve:ssm:public-parameter

        Currently, EC2 Fleet and Spot Fleet do not support specifying a Systems Manager parameter. If the launch template will be used by an EC2 Fleet or Spot Fleet, you must specify the AMI ID.

        For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon Elastic Compute Cloud User Guide.

        Returns:
        The ID of the AMI. Alternatively, you can specify a Systems Manager parameter, which will resolve to an AMI ID on launch.

        Valid formats:

        • ami-17characters00000

        • resolve:ssm:parameter-name

        • resolve:ssm:parameter-name:version-number

        • resolve:ssm:parameter-name:label

        • resolve:ssm:public-parameter

        Currently, EC2 Fleet and Spot Fleet do not support specifying a Systems Manager parameter. If the launch template will be used by an EC2 Fleet or Spot Fleet, you must specify the AMI ID.

        For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon Elastic Compute Cloud User Guide.

      • instanceType

        public final InstanceType instanceType()

        The instance type. For more information, see Instance types in the Amazon Elastic Compute Cloud User Guide.

        If you specify InstanceType, you can't specify InstanceRequirements.

        If the service returns an enum value that is not available in the current SDK version, instanceType will return InstanceType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from instanceTypeAsString().

        Returns:
        The instance type. For more information, see Instance types in the Amazon Elastic Compute Cloud User Guide.

        If you specify InstanceType, you can't specify InstanceRequirements.

        See Also:
        InstanceType
      • instanceTypeAsString

        public final String instanceTypeAsString()

        The instance type. For more information, see Instance types in the Amazon Elastic Compute Cloud User Guide.

        If you specify InstanceType, you can't specify InstanceRequirements.

        If the service returns an enum value that is not available in the current SDK version, instanceType will return InstanceType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from instanceTypeAsString().

        Returns:
        The instance type. For more information, see Instance types in the Amazon Elastic Compute Cloud User Guide.

        If you specify InstanceType, you can't specify InstanceRequirements.

        See Also:
        InstanceType
      • keyName

        public final String keyName()

        The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair.

        If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.

        Returns:
        The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair.

        If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.

      • ramDiskId

        public final String ramDiskId()

        The ID of the RAM disk.

        We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User provided kernels in the Amazon Elastic Compute Cloud User Guide.

        Returns:
        The ID of the RAM disk.

        We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User provided kernels in the Amazon Elastic Compute Cloud User Guide.

      • disableApiTermination

        public final Boolean disableApiTermination()

        If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after launch, use ModifyInstanceAttribute. Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate, you can terminate the instance by running the shutdown command from the instance.

        Returns:
        If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after launch, use ModifyInstanceAttribute. Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate, you can terminate the instance by running the shutdown command from the instance.
      • instanceInitiatedShutdownBehavior

        public final ShutdownBehavior instanceInitiatedShutdownBehavior()

        Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

        Default: stop

        If the service returns an enum value that is not available in the current SDK version, instanceInitiatedShutdownBehavior will return ShutdownBehavior.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from instanceInitiatedShutdownBehaviorAsString().

        Returns:
        Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

        Default: stop

        See Also:
        ShutdownBehavior
      • instanceInitiatedShutdownBehaviorAsString

        public final String instanceInitiatedShutdownBehaviorAsString()

        Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

        Default: stop

        If the service returns an enum value that is not available in the current SDK version, instanceInitiatedShutdownBehavior will return ShutdownBehavior.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from instanceInitiatedShutdownBehaviorAsString().

        Returns:
        Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

        Default: stop

        See Also:
        ShutdownBehavior
      • hasTagSpecifications

        public final boolean hasTagSpecifications()
        For responses, this returns true if the service returned a value for the TagSpecifications property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • tagSpecifications

        public final List<LaunchTemplateTagSpecificationRequest> tagSpecifications()

        The tags to apply to the resources that are created during instance launch.

        You can specify tags for the following resources only:

        • Instances

        • Volumes

        • Elastic graphics

        • Spot Instance requests

        • Network interfaces

        To tag a resource after it has been created, see CreateTags.

        To tag the launch template itself, you must use the TagSpecification parameter.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasTagSpecifications() method.

        Returns:
        The tags to apply to the resources that are created during instance launch.

        You can specify tags for the following resources only:

        • Instances

        • Volumes

        • Elastic graphics

        • Spot Instance requests

        • Network interfaces

        To tag a resource after it has been created, see CreateTags.

        To tag the launch template itself, you must use the TagSpecification parameter.

      • hasElasticGpuSpecifications

        public final boolean hasElasticGpuSpecifications()
        For responses, this returns true if the service returned a value for the ElasticGpuSpecifications property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • elasticGpuSpecifications

        public final List<ElasticGpuSpecification> elasticGpuSpecifications()

        An elastic GPU to associate with the instance.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasElasticGpuSpecifications() method.

        Returns:
        An elastic GPU to associate with the instance.
      • hasElasticInferenceAccelerators

        public final boolean hasElasticInferenceAccelerators()
        For responses, this returns true if the service returned a value for the ElasticInferenceAccelerators property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • elasticInferenceAccelerators

        public final List<LaunchTemplateElasticInferenceAccelerator> elasticInferenceAccelerators()

        An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.

        You cannot specify accelerators from different generations in the same request.

        Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasElasticInferenceAccelerators() method.

        Returns:
        An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.

        You cannot specify accelerators from different generations in the same request.

        Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

      • hasSecurityGroupIds

        public final boolean hasSecurityGroupIds()
        For responses, this returns true if the service returned a value for the SecurityGroupIds property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • securityGroupIds

        public final List<String> securityGroupIds()

        One or more security group IDs. You can create a security group using CreateSecurityGroup.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasSecurityGroupIds() method.

        Returns:
        One or more security group IDs. You can create a security group using CreateSecurityGroup.
      • hasSecurityGroups

        public final boolean hasSecurityGroups()
        For responses, this returns true if the service returned a value for the SecurityGroups property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • securityGroups

        public final List<String> securityGroups()

        One or more security group names. For a nondefault VPC, you must use security group IDs instead.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasSecurityGroups() method.

        Returns:
        One or more security group names. For a nondefault VPC, you must use security group IDs instead.
      • instanceMarketOptions

        public final LaunchTemplateInstanceMarketOptionsRequest instanceMarketOptions()

        The market (purchasing) option for the instances.

        Returns:
        The market (purchasing) option for the instances.
      • creditSpecification

        public final CreditSpecificationRequest creditSpecification()

        The credit option for CPU usage of the instance. Valid only for T instances.

        Returns:
        The credit option for CPU usage of the instance. Valid only for T instances.
      • capacityReservationSpecification

        public final LaunchTemplateCapacityReservationSpecificationRequest capacityReservationSpecification()

        The Capacity Reservation targeting option. If you do not specify this parameter, the instance's Capacity Reservation preference defaults to open, which enables it to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).

        Returns:
        The Capacity Reservation targeting option. If you do not specify this parameter, the instance's Capacity Reservation preference defaults to open, which enables it to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).
      • hasLicenseSpecifications

        public final boolean hasLicenseSpecifications()
        For responses, this returns true if the service returned a value for the LicenseSpecifications property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • licenseSpecifications

        public final List<LaunchTemplateLicenseConfigurationRequest> licenseSpecifications()

        The license configurations.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasLicenseSpecifications() method.

        Returns:
        The license configurations.
      • enclaveOptions

        public final LaunchTemplateEnclaveOptionsRequest enclaveOptions()

        Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, see What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

        You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.

        Returns:
        Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, see What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

        You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.

      • instanceRequirements

        public final InstanceRequirementsRequest instanceRequirements()

        The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.

        You must specify VCpuCount and MemoryMiB. All other attributes are optional. Any unspecified optional attribute is set to its default.

        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.

        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:

        • AllowedInstanceTypes - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.

        • ExcludedInstanceTypes - The instance types to exclude from the list, even if they match your specified attributes.

        If you specify InstanceRequirements, you can't specify InstanceType.

        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, or with the RunInstances API or AWS::EC2:: Instance Amazon Web Services CloudFormation resource, you can't specify InstanceRequirements.

        For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot placement score in the Amazon EC2 User Guide.

        Returns:
        The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.

        You must specify VCpuCount and MemoryMiB. All other attributes are optional. Any unspecified optional attribute is set to its default.

        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.

        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:

        • AllowedInstanceTypes - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.

        • ExcludedInstanceTypes - The instance types to exclude from the list, even if they match your specified attributes.

        If you specify InstanceRequirements, you can't specify InstanceType.

        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, or with the RunInstances API or AWS::EC2::Instance Amazon Web Services CloudFormation resource, you can't specify InstanceRequirements.

        For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot placement score in the Amazon EC2 User Guide.

      • privateDnsNameOptions

        public final LaunchTemplatePrivateDnsNameOptionsRequest privateDnsNameOptions()

        The options for the instance hostname. The default values are inherited from the subnet.

        Returns:
        The options for the instance hostname. The default values are inherited from the subnet.
      • disableApiStop

        public final Boolean disableApiStop()

        Indicates whether to enable the instance for stop protection. For more information, see Stop protection in the Amazon Elastic Compute Cloud User Guide.

        Returns:
        Indicates whether to enable the instance for stop protection. For more information, see Stop protection in the Amazon Elastic Compute Cloud User Guide.
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class Object
      • equals

        public final boolean equals​(Object obj)
        Overrides:
        equals in class Object
      • toString

        public final String toString()
        Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
        Overrides:
        toString in class Object
      • getValueForField

        public final <T> Optional<T> getValueForField​(String fieldName,
                                                      Class<T> clazz)