Class RequestSpotInstancesRequest

java.lang.Object
com.amazonaws.AmazonWebServiceRequest
com.amazonaws.services.ec2.model.RequestSpotInstancesRequest
All Implemented Interfaces:
ReadLimitInfo, DryRunSupportedRequest<RequestSpotInstancesRequest>, Serializable, Cloneable

public class RequestSpotInstancesRequest extends AmazonWebServiceRequest implements Serializable, Cloneable, DryRunSupportedRequest<RequestSpotInstancesRequest>

Contains the parameters for RequestSpotInstances.

See Also:
  • Constructor Details

    • RequestSpotInstancesRequest

      public RequestSpotInstancesRequest()
      Default constructor for RequestSpotInstancesRequest object. Callers should use the setter or fluent setter (with...) methods to initialize the object after creating it.
    • RequestSpotInstancesRequest

      public RequestSpotInstancesRequest(String spotPrice)
      Constructs a new RequestSpotInstancesRequest object. Callers should use the setter or fluent setter (with...) methods to initialize any additional object members.
      Parameters:
      spotPrice - The maximum hourly price (bid) for any Spot instance launched to fulfill the request.
  • Method Details

    • setSpotPrice

      public void setSpotPrice(String spotPrice)

      The maximum hourly price (bid) for any Spot instance launched to fulfill the request.

      Parameters:
      spotPrice - The maximum hourly price (bid) for any Spot instance launched to fulfill the request.
    • getSpotPrice

      public String getSpotPrice()

      The maximum hourly price (bid) for any Spot instance launched to fulfill the request.

      Returns:
      The maximum hourly price (bid) for any Spot instance launched to fulfill the request.
    • withSpotPrice

      public RequestSpotInstancesRequest withSpotPrice(String spotPrice)

      The maximum hourly price (bid) for any Spot instance launched to fulfill the request.

      Parameters:
      spotPrice - The maximum hourly price (bid) for any Spot instance launched to fulfill the request.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • setClientToken

      public void setClientToken(String clientToken)

      Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.

      Parameters:
      clientToken - Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.
    • getClientToken

      public String getClientToken()

      Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.

      Returns:
      Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.
    • withClientToken

      public RequestSpotInstancesRequest withClientToken(String clientToken)

      Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.

      Parameters:
      clientToken - Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • setInstanceCount

      public void setInstanceCount(Integer instanceCount)

      The maximum number of Spot instances to launch.

      Default: 1

      Parameters:
      instanceCount - The maximum number of Spot instances to launch.

      Default: 1

    • getInstanceCount

      public Integer getInstanceCount()

      The maximum number of Spot instances to launch.

      Default: 1

      Returns:
      The maximum number of Spot instances to launch.

      Default: 1

    • withInstanceCount

      public RequestSpotInstancesRequest withInstanceCount(Integer instanceCount)

      The maximum number of Spot instances to launch.

      Default: 1

      Parameters:
      instanceCount - The maximum number of Spot instances to launch.

      Default: 1

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • setType

      public void setType(String type)

      The Spot instance request type.

      Default: one-time

      Parameters:
      type - The Spot instance request type.

      Default: one-time

      See Also:
    • getType

      public String getType()

      The Spot instance request type.

      Default: one-time

      Returns:
      The Spot instance request type.

      Default: one-time

      See Also:
    • withType

      public RequestSpotInstancesRequest withType(String type)

      The Spot instance request type.

      Default: one-time

      Parameters:
      type - The Spot instance request type.

      Default: one-time

      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • setType

      public void setType(SpotInstanceType type)

      The Spot instance request type.

      Default: one-time

      Parameters:
      type - The Spot instance request type.

      Default: one-time

      See Also:
    • withType

      The Spot instance request type.

      Default: one-time

      Parameters:
      type - The Spot instance request type.

      Default: one-time

      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • setValidFrom

      public void setValidFrom(Date validFrom)

      The start date of the request. If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled.

      Default: The request is effective indefinitely.

      Parameters:
      validFrom - The start date of the request. If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled.

      Default: The request is effective indefinitely.

    • getValidFrom

      public Date getValidFrom()

      The start date of the request. If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled.

      Default: The request is effective indefinitely.

      Returns:
      The start date of the request. If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled.

      Default: The request is effective indefinitely.

    • withValidFrom

      public RequestSpotInstancesRequest withValidFrom(Date validFrom)

      The start date of the request. If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled.

      Default: The request is effective indefinitely.

      Parameters:
      validFrom - The start date of the request. If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled.

      Default: The request is effective indefinitely.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • setValidUntil

      public void setValidUntil(Date validUntil)

      The end date of the request. If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date and time is reached.

      Default: The request is effective indefinitely.

      Parameters:
      validUntil - The end date of the request. If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date and time is reached.

      Default: The request is effective indefinitely.

    • getValidUntil

      public Date getValidUntil()

      The end date of the request. If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date and time is reached.

      Default: The request is effective indefinitely.

      Returns:
      The end date of the request. If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date and time is reached.

      Default: The request is effective indefinitely.

    • withValidUntil

      public RequestSpotInstancesRequest withValidUntil(Date validUntil)

      The end date of the request. If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date and time is reached.

      Default: The request is effective indefinitely.

      Parameters:
      validUntil - The end date of the request. If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date and time is reached.

      Default: The request is effective indefinitely.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • setLaunchGroup

      public void setLaunchGroup(String launchGroup)

      The instance launch group. Launch groups are Spot instances that launch together and terminate together.

      Default: Instances are launched and terminated individually

      Parameters:
      launchGroup - The instance launch group. Launch groups are Spot instances that launch together and terminate together.

      Default: Instances are launched and terminated individually

    • getLaunchGroup

      public String getLaunchGroup()

      The instance launch group. Launch groups are Spot instances that launch together and terminate together.

      Default: Instances are launched and terminated individually

      Returns:
      The instance launch group. Launch groups are Spot instances that launch together and terminate together.

      Default: Instances are launched and terminated individually

    • withLaunchGroup

      public RequestSpotInstancesRequest withLaunchGroup(String launchGroup)

      The instance launch group. Launch groups are Spot instances that launch together and terminate together.

      Default: Instances are launched and terminated individually

      Parameters:
      launchGroup - The instance launch group. Launch groups are Spot instances that launch together and terminate together.

      Default: Instances are launched and terminated individually

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • setAvailabilityZoneGroup

      public void setAvailabilityZoneGroup(String availabilityZoneGroup)

      The user-specified name for a logical grouping of bids.

      When you specify an Availability Zone group in a Spot Instance request, all Spot instances in the request are launched in the same Availability Zone. Instance proximity is maintained with this parameter, but the choice of Availability Zone is not. The group applies only to bids for Spot Instances of the same instance type. Any additional Spot instance requests that are specified with the same Availability Zone group name are launched in that same Availability Zone, as long as at least one instance from the group is still active.

      If there is no active instance running in the Availability Zone group that you specify for a new Spot instance request (all instances are terminated, the bid is expired, or the bid falls below current market), then Amazon EC2 launches the instance in any Availability Zone where the constraint can be met. Consequently, the subsequent set of Spot instances could be placed in a different zone from the original request, even if you specified the same Availability Zone group.

      Default: Instances are launched in any available Availability Zone.

      Parameters:
      availabilityZoneGroup - The user-specified name for a logical grouping of bids.

      When you specify an Availability Zone group in a Spot Instance request, all Spot instances in the request are launched in the same Availability Zone. Instance proximity is maintained with this parameter, but the choice of Availability Zone is not. The group applies only to bids for Spot Instances of the same instance type. Any additional Spot instance requests that are specified with the same Availability Zone group name are launched in that same Availability Zone, as long as at least one instance from the group is still active.

      If there is no active instance running in the Availability Zone group that you specify for a new Spot instance request (all instances are terminated, the bid is expired, or the bid falls below current market), then Amazon EC2 launches the instance in any Availability Zone where the constraint can be met. Consequently, the subsequent set of Spot instances could be placed in a different zone from the original request, even if you specified the same Availability Zone group.

      Default: Instances are launched in any available Availability Zone.

    • getAvailabilityZoneGroup

      public String getAvailabilityZoneGroup()

      The user-specified name for a logical grouping of bids.

      When you specify an Availability Zone group in a Spot Instance request, all Spot instances in the request are launched in the same Availability Zone. Instance proximity is maintained with this parameter, but the choice of Availability Zone is not. The group applies only to bids for Spot Instances of the same instance type. Any additional Spot instance requests that are specified with the same Availability Zone group name are launched in that same Availability Zone, as long as at least one instance from the group is still active.

      If there is no active instance running in the Availability Zone group that you specify for a new Spot instance request (all instances are terminated, the bid is expired, or the bid falls below current market), then Amazon EC2 launches the instance in any Availability Zone where the constraint can be met. Consequently, the subsequent set of Spot instances could be placed in a different zone from the original request, even if you specified the same Availability Zone group.

      Default: Instances are launched in any available Availability Zone.

      Returns:
      The user-specified name for a logical grouping of bids.

      When you specify an Availability Zone group in a Spot Instance request, all Spot instances in the request are launched in the same Availability Zone. Instance proximity is maintained with this parameter, but the choice of Availability Zone is not. The group applies only to bids for Spot Instances of the same instance type. Any additional Spot instance requests that are specified with the same Availability Zone group name are launched in that same Availability Zone, as long as at least one instance from the group is still active.

      If there is no active instance running in the Availability Zone group that you specify for a new Spot instance request (all instances are terminated, the bid is expired, or the bid falls below current market), then Amazon EC2 launches the instance in any Availability Zone where the constraint can be met. Consequently, the subsequent set of Spot instances could be placed in a different zone from the original request, even if you specified the same Availability Zone group.

      Default: Instances are launched in any available Availability Zone.

    • withAvailabilityZoneGroup

      public RequestSpotInstancesRequest withAvailabilityZoneGroup(String availabilityZoneGroup)

      The user-specified name for a logical grouping of bids.

      When you specify an Availability Zone group in a Spot Instance request, all Spot instances in the request are launched in the same Availability Zone. Instance proximity is maintained with this parameter, but the choice of Availability Zone is not. The group applies only to bids for Spot Instances of the same instance type. Any additional Spot instance requests that are specified with the same Availability Zone group name are launched in that same Availability Zone, as long as at least one instance from the group is still active.

      If there is no active instance running in the Availability Zone group that you specify for a new Spot instance request (all instances are terminated, the bid is expired, or the bid falls below current market), then Amazon EC2 launches the instance in any Availability Zone where the constraint can be met. Consequently, the subsequent set of Spot instances could be placed in a different zone from the original request, even if you specified the same Availability Zone group.

      Default: Instances are launched in any available Availability Zone.

      Parameters:
      availabilityZoneGroup - The user-specified name for a logical grouping of bids.

      When you specify an Availability Zone group in a Spot Instance request, all Spot instances in the request are launched in the same Availability Zone. Instance proximity is maintained with this parameter, but the choice of Availability Zone is not. The group applies only to bids for Spot Instances of the same instance type. Any additional Spot instance requests that are specified with the same Availability Zone group name are launched in that same Availability Zone, as long as at least one instance from the group is still active.

      If there is no active instance running in the Availability Zone group that you specify for a new Spot instance request (all instances are terminated, the bid is expired, or the bid falls below current market), then Amazon EC2 launches the instance in any Availability Zone where the constraint can be met. Consequently, the subsequent set of Spot instances could be placed in a different zone from the original request, even if you specified the same Availability Zone group.

      Default: Instances are launched in any available Availability Zone.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • setBlockDurationMinutes

      public void setBlockDurationMinutes(Integer blockDurationMinutes)

      The required duration for the Spot instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

      The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.

      Note that you can't specify an Availability Zone group or a launch group if you specify a duration.

      Parameters:
      blockDurationMinutes - The required duration for the Spot instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

      The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.

      Note that you can't specify an Availability Zone group or a launch group if you specify a duration.

    • getBlockDurationMinutes

      public Integer getBlockDurationMinutes()

      The required duration for the Spot instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

      The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.

      Note that you can't specify an Availability Zone group or a launch group if you specify a duration.

      Returns:
      The required duration for the Spot instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

      The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.

      Note that you can't specify an Availability Zone group or a launch group if you specify a duration.

    • withBlockDurationMinutes

      public RequestSpotInstancesRequest withBlockDurationMinutes(Integer blockDurationMinutes)

      The required duration for the Spot instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

      The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.

      Note that you can't specify an Availability Zone group or a launch group if you specify a duration.

      Parameters:
      blockDurationMinutes - The required duration for the Spot instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

      The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.

      Note that you can't specify an Availability Zone group or a launch group if you specify a duration.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • setLaunchSpecification

      public void setLaunchSpecification(LaunchSpecification launchSpecification)
      Parameters:
      launchSpecification -
    • getLaunchSpecification

      public LaunchSpecification getLaunchSpecification()
      Returns:
    • withLaunchSpecification

      public RequestSpotInstancesRequest withLaunchSpecification(LaunchSpecification launchSpecification)
      Parameters:
      launchSpecification -
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • getDryRunRequest

      public Request<RequestSpotInstancesRequest> getDryRunRequest()
      This method is intended for internal use only. Returns the marshaled request configured with additional parameters to enable operation dry-run.
      Specified by:
      getDryRunRequest in interface DryRunSupportedRequest<RequestSpotInstancesRequest>
    • toString

      public String toString()
      Returns a string representation of this object; useful for testing and debugging.
      Overrides:
      toString in class Object
      Returns:
      A string representation of this object.
      See Also:
    • equals

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

      public int hashCode()
      Overrides:
      hashCode in class Object
    • clone

      Description copied from class: AmazonWebServiceRequest
      Creates a shallow clone of this request. Explicitly does not clone the deep structure of the request object.
      Overrides:
      clone in class AmazonWebServiceRequest
      See Also: