Class FleetLaunchTemplateOverridesRequest

java.lang.Object
software.amazon.awssdk.services.ec2.model.FleetLaunchTemplateOverridesRequest
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<FleetLaunchTemplateOverridesRequest.Builder,FleetLaunchTemplateOverridesRequest>

@Generated("software.amazon.awssdk:codegen") public final class FleetLaunchTemplateOverridesRequest extends Object implements SdkPojo, Serializable, ToCopyableBuilder<FleetLaunchTemplateOverridesRequest.Builder,FleetLaunchTemplateOverridesRequest>

Describes overrides for a launch template.

See Also:
  • Method Details

    • instanceType

      public final InstanceType instanceType()

      The instance type.

      mac1.metal is not supported as a launch template override.

      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.

      mac1.metal is not supported as a launch template override.

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

      See Also:
    • instanceTypeAsString

      public final String instanceTypeAsString()

      The instance type.

      mac1.metal is not supported as a launch template override.

      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.

      mac1.metal is not supported as a launch template override.

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

      See Also:
    • maxPrice

      public final String maxPrice()

      The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

      If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

      If you specify a maximum price, it must be more than USD $0.001. Specifying a value below USD $0.001 will result in an InvalidParameterValue error message.

      Returns:
      The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

      If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

      If you specify a maximum price, it must be more than USD $0.001. Specifying a value below USD $0.001 will result in an InvalidParameterValue error message.

    • subnetId

      public final String subnetId()

      The IDs of the subnets in which to launch the instances. Separate multiple subnet IDs using commas (for example, subnet-1234abcdeexample1, subnet-0987cdef6example2). A request of type instant can have only one subnet ID.

      Returns:
      The IDs of the subnets in which to launch the instances. Separate multiple subnet IDs using commas (for example, subnet-1234abcdeexample1, subnet-0987cdef6example2). A request of type instant can have only one subnet ID.
    • availabilityZone

      public final String availabilityZone()

      The Availability Zone in which to launch the instances.

      Returns:
      The Availability Zone in which to launch the instances.
    • weightedCapacity

      public final Double weightedCapacity()

      The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

      If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

      When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

      Returns:
      The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

      If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

      When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

    • priority

      public final Double priority()

      The priority for the launch template override. The highest priority is launched first.

      If the On-Demand AllocationStrategy is set to prioritized, EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity.

      If the Spot AllocationStrategy is set to capacity-optimized-prioritized, EC2 Fleet uses priority on a best-effort basis to determine which launch template override to use in fulfilling Spot capacity, but optimizes for capacity first.

      Valid values are whole numbers starting at 0. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. You can set the same priority for different launch template overrides.

      Returns:
      The priority for the launch template override. The highest priority is launched first.

      If the On-Demand AllocationStrategy is set to prioritized, EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity.

      If the Spot AllocationStrategy is set to capacity-optimized-prioritized, EC2 Fleet uses priority on a best-effort basis to determine which launch template override to use in fulfilling Spot capacity, but optimizes for capacity first.

      Valid values are whole numbers starting at 0. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. You can set the same priority for different launch template overrides.

    • placement

      public final Placement placement()

      The location where the instance launched, if applicable.

      Returns:
      The location where the instance launched, if applicable.
    • 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<FleetBlockDeviceMappingRequest> blockDeviceMappings()

      The block device mappings, which define the EBS volumes and instance store volumes to attach to the instance at launch.

      Supported only for fleets of type instant.

      For more information, see Block device mappings for volumes on Amazon EC2 instances in the Amazon EC2 User Guide.

      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 mappings, which define the EBS volumes and instance store volumes to attach to the instance at launch.

      Supported only for fleets of type instant.

      For more information, see Block device mappings for volumes on Amazon EC2 instances in the Amazon EC2 User Guide.

    • instanceRequirements

      public final InstanceRequirementsRequest instanceRequirements()

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

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

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

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

    • imageId

      public final String imageId()

      The ID of the AMI in the format ami-17characters00000.

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

      To reference a public parameter:

      • resolve:ssm:public-parameter

      To reference a parameter stored in the same account:

      • resolve:ssm:parameter-name

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

      • resolve:ssm:parameter-name:label

      To reference a parameter shared from another Amazon Web Services account:

      • resolve:ssm:parameter-ARN

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

      • resolve:ssm:parameter-ARN:label

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

      This parameter is only available for fleets of type instant. For fleets of type maintain and request, you must specify the AMI ID in the launch template.

      Returns:
      The ID of the AMI in the format ami-17characters00000.

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

      To reference a public parameter:

      • resolve:ssm:public-parameter

      To reference a parameter stored in the same account:

      • resolve:ssm:parameter-name

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

      • resolve:ssm:parameter-name:label

      To reference a parameter shared from another Amazon Web Services account:

      • resolve:ssm:parameter-ARN

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

      • resolve:ssm:parameter-ARN:label

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

      This parameter is only available for fleets of type instant. For fleets of type maintain and request, you must specify the AMI ID in the launch template.

    • toBuilder

      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<FleetLaunchTemplateOverridesRequest.Builder,FleetLaunchTemplateOverridesRequest>
      Returns:
      a builder for type T
    • builder

    • serializableBuilderClass

      public static Class<? extends FleetLaunchTemplateOverridesRequest.Builder> serializableBuilderClass()
    • hashCode

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

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

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • 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)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.