/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.ec2.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; import com.amazonaws.Request; import com.amazonaws.services.ec2.model.transform.DescribeSpotPriceHistoryRequestMarshaller; /** *
* Contains the parameters for DescribeSpotPriceHistory. *
*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class DescribeSpotPriceHistoryRequest extends AmazonWebServiceRequest implements Serializable, Cloneable, DryRunSupportedRequest* The filters. *
*
* availability-zone
- The Availability Zone for which prices should be returned.
*
* instance-type
- The type of instance (for example, m3.medium
).
*
* product-description
- The product description for the Spot price (Linux/UNIX
|
* Red Hat Enterprise Linux
| SUSE Linux
| Windows
|
* Linux/UNIX (Amazon VPC)
| Red Hat Enterprise Linux (Amazon VPC)
|
* SUSE Linux (Amazon VPC)
| Windows (Amazon VPC)
).
*
* spot-price
- The Spot price. The value must match exactly (or use wildcards; greater than or less
* than comparison is not supported).
*
* timestamp
- The time stamp of the Spot price history, in UTC format (for example,
* YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater than or
* less than comparison is not supported.
*
* Filters the results by the specified Availability Zone. *
*/ private String availabilityZone; /** ** The date and time, up to the current date, from which to stop retrieving the price history data, in UTC format * (for example, YYYY-MM-DDTHH:MM:SSZ). *
*/ private java.util.Date endTime; /** ** Filters the results by the specified instance types. *
*/ private com.amazonaws.internal.SdkInternalList* The maximum number of items to return for this request. To get the next page of items, make another request with * the token returned in the output. For more information, see Pagination. *
*/ private Integer maxResults; /** ** The token returned from a previous paginated request. Pagination continues from the end of the items returned by * the previous request. *
*/ private String nextToken; /** ** Filters the results by the specified basic product descriptions. *
*/ private com.amazonaws.internal.SdkInternalList* The date and time, up to the past 90 days, from which to start retrieving the price history data, in UTC format * (for example, YYYY-MM-DDTHH:MM:SSZ). *
*/ private java.util.Date startTime; /** ** The filters. *
*
* availability-zone
- The Availability Zone for which prices should be returned.
*
* instance-type
- The type of instance (for example, m3.medium
).
*
* product-description
- The product description for the Spot price (Linux/UNIX
|
* Red Hat Enterprise Linux
| SUSE Linux
| Windows
|
* Linux/UNIX (Amazon VPC)
| Red Hat Enterprise Linux (Amazon VPC)
|
* SUSE Linux (Amazon VPC)
| Windows (Amazon VPC)
).
*
* spot-price
- The Spot price. The value must match exactly (or use wildcards; greater than or less
* than comparison is not supported).
*
* timestamp
- The time stamp of the Spot price history, in UTC format (for example,
* YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater than or
* less than comparison is not supported.
*
* availability-zone
- The Availability Zone for which prices should be returned.
*
* instance-type
- The type of instance (for example, m3.medium
).
*
* product-description
- The product description for the Spot price (Linux/UNIX
|
* Red Hat Enterprise Linux
| SUSE Linux
| Windows
|
* Linux/UNIX (Amazon VPC)
| Red Hat Enterprise Linux (Amazon VPC)
|
* SUSE Linux (Amazon VPC)
| Windows (Amazon VPC)
).
*
* spot-price
- The Spot price. The value must match exactly (or use wildcards; greater than or
* less than comparison is not supported).
*
* timestamp
- The time stamp of the Spot price history, in UTC format (for example,
* YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater
* than or less than comparison is not supported.
*
* The filters. *
*
* availability-zone
- The Availability Zone for which prices should be returned.
*
* instance-type
- The type of instance (for example, m3.medium
).
*
* product-description
- The product description for the Spot price (Linux/UNIX
|
* Red Hat Enterprise Linux
| SUSE Linux
| Windows
|
* Linux/UNIX (Amazon VPC)
| Red Hat Enterprise Linux (Amazon VPC)
|
* SUSE Linux (Amazon VPC)
| Windows (Amazon VPC)
).
*
* spot-price
- The Spot price. The value must match exactly (or use wildcards; greater than or less
* than comparison is not supported).
*
* timestamp
- The time stamp of the Spot price history, in UTC format (for example,
* YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater than or
* less than comparison is not supported.
*
* availability-zone
- The Availability Zone for which prices should be returned.
*
* instance-type
- The type of instance (for example, m3.medium
).
*
* product-description
- The product description for the Spot price (Linux/UNIX
|
* Red Hat Enterprise Linux
| SUSE Linux
| Windows
|
* Linux/UNIX (Amazon VPC)
| Red Hat Enterprise Linux (Amazon VPC)
|
* SUSE Linux (Amazon VPC)
| Windows (Amazon VPC)
).
*
* spot-price
- The Spot price. The value must match exactly (or use wildcards; greater than or
* less than comparison is not supported).
*
* timestamp
- The time stamp of the Spot price history, in UTC format (for example,
* YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater
* than or less than comparison is not supported.
*
* The filters. *
*
* availability-zone
- The Availability Zone for which prices should be returned.
*
* instance-type
- The type of instance (for example, m3.medium
).
*
* product-description
- The product description for the Spot price (Linux/UNIX
|
* Red Hat Enterprise Linux
| SUSE Linux
| Windows
|
* Linux/UNIX (Amazon VPC)
| Red Hat Enterprise Linux (Amazon VPC)
|
* SUSE Linux (Amazon VPC)
| Windows (Amazon VPC)
).
*
* spot-price
- The Spot price. The value must match exactly (or use wildcards; greater than or less
* than comparison is not supported).
*
* timestamp
- The time stamp of the Spot price history, in UTC format (for example,
* YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater than or
* less than comparison is not supported.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setFilters(java.util.Collection)} or {@link #withFilters(java.util.Collection)} if you want to override * the existing values. *
* * @param filters * The filters. *
* availability-zone
- The Availability Zone for which prices should be returned.
*
* instance-type
- The type of instance (for example, m3.medium
).
*
* product-description
- The product description for the Spot price (Linux/UNIX
|
* Red Hat Enterprise Linux
| SUSE Linux
| Windows
|
* Linux/UNIX (Amazon VPC)
| Red Hat Enterprise Linux (Amazon VPC)
|
* SUSE Linux (Amazon VPC)
| Windows (Amazon VPC)
).
*
* spot-price
- The Spot price. The value must match exactly (or use wildcards; greater than or
* less than comparison is not supported).
*
* timestamp
- The time stamp of the Spot price history, in UTC format (for example,
* YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater
* than or less than comparison is not supported.
*
* The filters. *
*
* availability-zone
- The Availability Zone for which prices should be returned.
*
* instance-type
- The type of instance (for example, m3.medium
).
*
* product-description
- The product description for the Spot price (Linux/UNIX
|
* Red Hat Enterprise Linux
| SUSE Linux
| Windows
|
* Linux/UNIX (Amazon VPC)
| Red Hat Enterprise Linux (Amazon VPC)
|
* SUSE Linux (Amazon VPC)
| Windows (Amazon VPC)
).
*
* spot-price
- The Spot price. The value must match exactly (or use wildcards; greater than or less
* than comparison is not supported).
*
* timestamp
- The time stamp of the Spot price history, in UTC format (for example,
* YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater than or
* less than comparison is not supported.
*
* availability-zone
- The Availability Zone for which prices should be returned.
*
* instance-type
- The type of instance (for example, m3.medium
).
*
* product-description
- The product description for the Spot price (Linux/UNIX
|
* Red Hat Enterprise Linux
| SUSE Linux
| Windows
|
* Linux/UNIX (Amazon VPC)
| Red Hat Enterprise Linux (Amazon VPC)
|
* SUSE Linux (Amazon VPC)
| Windows (Amazon VPC)
).
*
* spot-price
- The Spot price. The value must match exactly (or use wildcards; greater than or
* less than comparison is not supported).
*
* timestamp
- The time stamp of the Spot price history, in UTC format (for example,
* YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater
* than or less than comparison is not supported.
*
* Filters the results by the specified Availability Zone. *
* * @param availabilityZone * Filters the results by the specified Availability Zone. */ public void setAvailabilityZone(String availabilityZone) { this.availabilityZone = availabilityZone; } /** ** Filters the results by the specified Availability Zone. *
* * @return Filters the results by the specified Availability Zone. */ public String getAvailabilityZone() { return this.availabilityZone; } /** ** Filters the results by the specified Availability Zone. *
* * @param availabilityZone * Filters the results by the specified Availability Zone. * @return Returns a reference to this object so that method calls can be chained together. */ public DescribeSpotPriceHistoryRequest withAvailabilityZone(String availabilityZone) { setAvailabilityZone(availabilityZone); return this; } /** ** The date and time, up to the current date, from which to stop retrieving the price history data, in UTC format * (for example, YYYY-MM-DDTHH:MM:SSZ). *
* * @param endTime * The date and time, up to the current date, from which to stop retrieving the price history data, in UTC * format (for example, YYYY-MM-DDTHH:MM:SSZ). */ public void setEndTime(java.util.Date endTime) { this.endTime = endTime; } /** ** The date and time, up to the current date, from which to stop retrieving the price history data, in UTC format * (for example, YYYY-MM-DDTHH:MM:SSZ). *
* * @return The date and time, up to the current date, from which to stop retrieving the price history data, in UTC * format (for example, YYYY-MM-DDTHH:MM:SSZ). */ public java.util.Date getEndTime() { return this.endTime; } /** ** The date and time, up to the current date, from which to stop retrieving the price history data, in UTC format * (for example, YYYY-MM-DDTHH:MM:SSZ). *
* * @param endTime * The date and time, up to the current date, from which to stop retrieving the price history data, in UTC * format (for example, YYYY-MM-DDTHH:MM:SSZ). * @return Returns a reference to this object so that method calls can be chained together. */ public DescribeSpotPriceHistoryRequest withEndTime(java.util.Date endTime) { setEndTime(endTime); return this; } /** ** Filters the results by the specified instance types. *
* * @return Filters the results by the specified instance types. * @see InstanceType */ public java.util.List* Filters the results by the specified instance types. *
* * @param instanceTypes * Filters the results by the specified instance types. * @see InstanceType */ public void setInstanceTypes(java.util.Collection* Filters the results by the specified instance types. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setInstanceTypes(java.util.Collection)} or {@link #withInstanceTypes(java.util.Collection)} if you want * to override the existing values. *
* * @param instanceTypes * Filters the results by the specified instance types. * @return Returns a reference to this object so that method calls can be chained together. * @see InstanceType */ public DescribeSpotPriceHistoryRequest withInstanceTypes(String... instanceTypes) { if (this.instanceTypes == null) { setInstanceTypes(new com.amazonaws.internal.SdkInternalList* Filters the results by the specified instance types. *
* * @param instanceTypes * Filters the results by the specified instance types. * @return Returns a reference to this object so that method calls can be chained together. * @see InstanceType */ public DescribeSpotPriceHistoryRequest withInstanceTypes(java.util.Collection* Filters the results by the specified instance types. *
* * @param instanceTypes * Filters the results by the specified instance types. * @return Returns a reference to this object so that method calls can be chained together. * @see InstanceType */ public DescribeSpotPriceHistoryRequest withInstanceTypes(InstanceType... instanceTypes) { com.amazonaws.internal.SdkInternalList* The maximum number of items to return for this request. To get the next page of items, make another request with * the token returned in the output. For more information, see Pagination. *
* * @param maxResults * The maximum number of items to return for this request. To get the next page of items, make another * request with the token returned in the output. For more information, see Pagination. */ public void setMaxResults(Integer maxResults) { this.maxResults = maxResults; } /** ** The maximum number of items to return for this request. To get the next page of items, make another request with * the token returned in the output. For more information, see Pagination. *
* * @return The maximum number of items to return for this request. To get the next page of items, make another * request with the token returned in the output. For more information, see Pagination. */ public Integer getMaxResults() { return this.maxResults; } /** ** The maximum number of items to return for this request. To get the next page of items, make another request with * the token returned in the output. For more information, see Pagination. *
* * @param maxResults * The maximum number of items to return for this request. To get the next page of items, make another * request with the token returned in the output. For more information, see Pagination. * @return Returns a reference to this object so that method calls can be chained together. */ public DescribeSpotPriceHistoryRequest withMaxResults(Integer maxResults) { setMaxResults(maxResults); return this; } /** ** The token returned from a previous paginated request. Pagination continues from the end of the items returned by * the previous request. *
* * @param nextToken * The token returned from a previous paginated request. Pagination continues from the end of the items * returned by the previous request. */ public void setNextToken(String nextToken) { this.nextToken = nextToken; } /** ** The token returned from a previous paginated request. Pagination continues from the end of the items returned by * the previous request. *
* * @return The token returned from a previous paginated request. Pagination continues from the end of the items * returned by the previous request. */ public String getNextToken() { return this.nextToken; } /** ** The token returned from a previous paginated request. Pagination continues from the end of the items returned by * the previous request. *
* * @param nextToken * The token returned from a previous paginated request. Pagination continues from the end of the items * returned by the previous request. * @return Returns a reference to this object so that method calls can be chained together. */ public DescribeSpotPriceHistoryRequest withNextToken(String nextToken) { setNextToken(nextToken); return this; } /** ** Filters the results by the specified basic product descriptions. *
* * @return Filters the results by the specified basic product descriptions. */ public java.util.List* Filters the results by the specified basic product descriptions. *
* * @param productDescriptions * Filters the results by the specified basic product descriptions. */ public void setProductDescriptions(java.util.Collection* Filters the results by the specified basic product descriptions. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setProductDescriptions(java.util.Collection)} or {@link #withProductDescriptions(java.util.Collection)} * if you want to override the existing values. *
* * @param productDescriptions * Filters the results by the specified basic product descriptions. * @return Returns a reference to this object so that method calls can be chained together. */ public DescribeSpotPriceHistoryRequest withProductDescriptions(String... productDescriptions) { if (this.productDescriptions == null) { setProductDescriptions(new com.amazonaws.internal.SdkInternalList* Filters the results by the specified basic product descriptions. *
* * @param productDescriptions * Filters the results by the specified basic product descriptions. * @return Returns a reference to this object so that method calls can be chained together. */ public DescribeSpotPriceHistoryRequest withProductDescriptions(java.util.Collection* The date and time, up to the past 90 days, from which to start retrieving the price history data, in UTC format * (for example, YYYY-MM-DDTHH:MM:SSZ). *
* * @param startTime * The date and time, up to the past 90 days, from which to start retrieving the price history data, in UTC * format (for example, YYYY-MM-DDTHH:MM:SSZ). */ public void setStartTime(java.util.Date startTime) { this.startTime = startTime; } /** ** The date and time, up to the past 90 days, from which to start retrieving the price history data, in UTC format * (for example, YYYY-MM-DDTHH:MM:SSZ). *
* * @return The date and time, up to the past 90 days, from which to start retrieving the price history data, in UTC * format (for example, YYYY-MM-DDTHH:MM:SSZ). */ public java.util.Date getStartTime() { return this.startTime; } /** ** The date and time, up to the past 90 days, from which to start retrieving the price history data, in UTC format * (for example, YYYY-MM-DDTHH:MM:SSZ). *
* * @param startTime * The date and time, up to the past 90 days, from which to start retrieving the price history data, in UTC * format (for example, YYYY-MM-DDTHH:MM:SSZ). * @return Returns a reference to this object so that method calls can be chained together. */ public DescribeSpotPriceHistoryRequest withStartTime(java.util.Date startTime) { setStartTime(startTime); return this; } /** * This method is intended for internal use only. Returns the marshaled request configured with additional * parameters to enable operation dry-run. */ @Override public Request