Class SpotFleetLaunchSpecification

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

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

Describes the launch specification for one or more Spot Instances. If you include On-Demand capacity in your fleet request or want to specify an EFA network device, you can't use SpotFleetLaunchSpecification; you must use LaunchTemplateConfig.

See Also:
  • Method Details

    • 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<GroupIdentifier> securityGroups()

      The security groups.

      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:
      The security groups.
    • addressingType

      public final String addressingType()

      Deprecated.

      Returns:
      Deprecated.
    • 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<BlockDeviceMapping> blockDeviceMappings()

      One or more block devices that are mapped to the Spot Instances. You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.

      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:
      One or more block devices that are mapped to the Spot Instances. You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.
    • ebsOptimized

      public final Boolean ebsOptimized()

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

      Default: false

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

      Default: false

    • iamInstanceProfile

      public final IamInstanceProfileSpecification iamInstanceProfile()

      The IAM instance profile.

      Returns:
      The IAM instance profile.
    • imageId

      public final String imageId()

      The ID of the AMI.

      Returns:
      The ID of the AMI.
    • instanceType

      public final InstanceType instanceType()

      The instance type.

      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.
      See Also:
    • instanceTypeAsString

      public final String instanceTypeAsString()

      The instance type.

      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.
      See Also:
    • kernelId

      public final String kernelId()

      The ID of the kernel.

      Returns:
      The ID of the kernel.
    • keyName

      public final String keyName()

      The name of the key pair.

      Returns:
      The name of the key pair.
    • monitoring

      public final SpotFleetMonitoring monitoring()

      Enable or disable monitoring for the instances.

      Returns:
      Enable or disable monitoring for the instances.
    • 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<InstanceNetworkInterfaceSpecification> networkInterfaces()

      One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

      SpotFleetLaunchSpecification currently does not support Elastic Fabric Adapter (EFA). To specify an EFA, you must use LaunchTemplateConfig.

      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 subnet IDs and security group IDs using the network interface.

      SpotFleetLaunchSpecification currently does not support Elastic Fabric Adapter (EFA). To specify an EFA, you must use LaunchTemplateConfig.

    • placement

      public final SpotPlacement placement()

      The placement information.

      Returns:
      The placement information.
    • ramdiskId

      public final String ramdiskId()

      The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, refer to the Amazon Web Services Resource Center and search for the kernel ID.

      Returns:
      The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, refer to the Amazon Web Services Resource Center and search for the kernel ID.
    • spotPrice

      public final String spotPrice()

      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.

      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.

    • subnetId

      public final String subnetId()

      The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".

      Returns:
      The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".
    • userData

      public final String userData()

      The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.

      Returns:
      The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.
    • 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.

      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.

    • 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<SpotFleetTagSpecification> tagSpecifications()

      The tags to apply during creation.

      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 during creation.
    • instanceRequirements

      public final InstanceRequirements 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.

    • 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<SpotFleetLaunchSpecification.Builder,SpotFleetLaunchSpecification>
      Returns:
      a builder for type T
    • builder

      public static SpotFleetLaunchSpecification.Builder builder()
    • serializableBuilderClass

      public static Class<? extends SpotFleetLaunchSpecification.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.