All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.ec2.model.DescribeSpotPriceHistoryRequest Maven / Gradle / Ivy

Go to download

The AWS SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-2016 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 com.amazonaws.AmazonWebServiceRequest;
import com.amazonaws.Request;
import com.amazonaws.services.ec2.model.transform.DescribeSpotPriceHistoryRequestMarshaller;

/**
 * 

* Contains the parameters for DescribeSpotPriceHistory. *

*/ public class DescribeSpotPriceHistoryRequest extends AmazonWebServiceRequest implements Serializable, Cloneable, DryRunSupportedRequest { /** *

* 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 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 instanceTypes; /** *

* Filters the results by the specified basic product descriptions. *

*/ private com.amazonaws.internal.SdkInternalList productDescriptions; /** *

* One or more 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 | SUSE Linux | * Windows | Linux/UNIX (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 timestamp 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. *

    *
  • *
*/ private com.amazonaws.internal.SdkInternalList filters; /** *

* Filters the results by the specified Availability Zone. *

*/ private String availabilityZone; /** *

* The maximum number of results to return in a single call. Specify a value * between 1 and 1000. The default value is 1000. To retrieve the remaining * results, make another call with the returned NextToken * value. *

*/ private Integer maxResults; /** *

* The token for the next set of results. *

*/ private String nextToken; /** *

* 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; } /** *

* 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 getInstanceTypes() { if (instanceTypes == null) { instanceTypes = new com.amazonaws.internal.SdkInternalList(); } return instanceTypes; } /** *

* 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 instanceTypes) { if (instanceTypes == null) { this.instanceTypes = null; return; } this.instanceTypes = new com.amazonaws.internal.SdkInternalList( instanceTypes); } /** *

* 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( instanceTypes.length)); } for (String ele : instanceTypes) { this.instanceTypes.add(ele); } return this; } /** *

* 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 instanceTypes) { setInstanceTypes(instanceTypes); return this; } /** *

* 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 instanceTypesCopy = new com.amazonaws.internal.SdkInternalList( instanceTypes.length); for (InstanceType value : instanceTypes) { instanceTypesCopy.add(value.toString()); } if (getInstanceTypes() == null) { setInstanceTypes(instanceTypesCopy); } else { getInstanceTypes().addAll(instanceTypesCopy); } 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 getProductDescriptions() { if (productDescriptions == null) { productDescriptions = new com.amazonaws.internal.SdkInternalList(); } return productDescriptions; } /** *

* 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 productDescriptions) { if (productDescriptions == null) { this.productDescriptions = null; return; } this.productDescriptions = new com.amazonaws.internal.SdkInternalList( productDescriptions); } /** *

* 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( productDescriptions.length)); } for (String ele : productDescriptions) { this.productDescriptions.add(ele); } return this; } /** *

* 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 productDescriptions) { setProductDescriptions(productDescriptions); return this; } /** *

* One or more 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 | SUSE Linux | * Windows | Linux/UNIX (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 timestamp 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. *

    *
  • *
* * @return One or more 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 | SUSE Linux * | Windows | Linux/UNIX (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 timestamp 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. *

    *
  • */ public java.util.List getFilters() { if (filters == null) { filters = new com.amazonaws.internal.SdkInternalList(); } return filters; } /** *

    * One or more 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 | SUSE Linux | * Windows | Linux/UNIX (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 timestamp 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. *

      *
    • *
    * * @param filters * One or more 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 | SUSE Linux | * Windows | Linux/UNIX (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 timestamp 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. *

      *
    • */ public void setFilters(java.util.Collection filters) { if (filters == null) { this.filters = null; return; } this.filters = new com.amazonaws.internal.SdkInternalList( filters); } /** *

      * One or more 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 | SUSE Linux | * Windows | Linux/UNIX (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 timestamp 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 * One or more 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 | SUSE Linux | * Windows | Linux/UNIX (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 timestamp 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. *

        *
      • * @return Returns a reference to this object so that method calls can be * chained together. */ public DescribeSpotPriceHistoryRequest withFilters(Filter... filters) { if (this.filters == null) { setFilters(new com.amazonaws.internal.SdkInternalList( filters.length)); } for (Filter ele : filters) { this.filters.add(ele); } return this; } /** *

        * One or more 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 | SUSE Linux | * Windows | Linux/UNIX (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 timestamp 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. *

          *
        • *
        * * @param filters * One or more 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 | SUSE Linux | * Windows | Linux/UNIX (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 timestamp 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. *

          *
        • * @return Returns a reference to this object so that method calls can be * chained together. */ public DescribeSpotPriceHistoryRequest withFilters( java.util.Collection filters) { setFilters(filters); return this; } /** *

          * 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 maximum number of results to return in a single call. Specify a value * between 1 and 1000. The default value is 1000. To retrieve the remaining * results, make another call with the returned NextToken * value. *

          * * @param maxResults * The maximum number of results to return in a single call. Specify * a value between 1 and 1000. The default value is 1000. To retrieve * the remaining results, make another call with the returned * NextToken value. */ public void setMaxResults(Integer maxResults) { this.maxResults = maxResults; } /** *

          * The maximum number of results to return in a single call. Specify a value * between 1 and 1000. The default value is 1000. To retrieve the remaining * results, make another call with the returned NextToken * value. *

          * * @return The maximum number of results to return in a single call. Specify * a value between 1 and 1000. The default value is 1000. To * retrieve the remaining results, make another call with the * returned NextToken value. */ public Integer getMaxResults() { return this.maxResults; } /** *

          * The maximum number of results to return in a single call. Specify a value * between 1 and 1000. The default value is 1000. To retrieve the remaining * results, make another call with the returned NextToken * value. *

          * * @param maxResults * The maximum number of results to return in a single call. Specify * a value between 1 and 1000. The default value is 1000. To retrieve * the remaining results, make another call with the returned * NextToken value. * @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 for the next set of results. *

          * * @param nextToken * The token for the next set of results. */ public void setNextToken(String nextToken) { this.nextToken = nextToken; } /** *

          * The token for the next set of results. *

          * * @return The token for the next set of results. */ public String getNextToken() { return this.nextToken; } /** *

          * The token for the next set of results. *

          * * @param nextToken * The token for the next set of results. * @return Returns a reference to this object so that method calls can be * chained together. */ public DescribeSpotPriceHistoryRequest withNextToken(String nextToken) { setNextToken(nextToken); 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 getDryRunRequest() { Request request = new DescribeSpotPriceHistoryRequestMarshaller() .marshall(this); request.addParameter("DryRun", Boolean.toString(true)); return request; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getStartTime() != null) sb.append("StartTime: " + getStartTime() + ","); if (getEndTime() != null) sb.append("EndTime: " + getEndTime() + ","); if (getInstanceTypes() != null) sb.append("InstanceTypes: " + getInstanceTypes() + ","); if (getProductDescriptions() != null) sb.append("ProductDescriptions: " + getProductDescriptions() + ","); if (getFilters() != null) sb.append("Filters: " + getFilters() + ","); if (getAvailabilityZone() != null) sb.append("AvailabilityZone: " + getAvailabilityZone() + ","); if (getMaxResults() != null) sb.append("MaxResults: " + getMaxResults() + ","); if (getNextToken() != null) sb.append("NextToken: " + getNextToken()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof DescribeSpotPriceHistoryRequest == false) return false; DescribeSpotPriceHistoryRequest other = (DescribeSpotPriceHistoryRequest) obj; if (other.getStartTime() == null ^ this.getStartTime() == null) return false; if (other.getStartTime() != null && other.getStartTime().equals(this.getStartTime()) == false) return false; if (other.getEndTime() == null ^ this.getEndTime() == null) return false; if (other.getEndTime() != null && other.getEndTime().equals(this.getEndTime()) == false) return false; if (other.getInstanceTypes() == null ^ this.getInstanceTypes() == null) return false; if (other.getInstanceTypes() != null && other.getInstanceTypes().equals(this.getInstanceTypes()) == false) return false; if (other.getProductDescriptions() == null ^ this.getProductDescriptions() == null) return false; if (other.getProductDescriptions() != null && other.getProductDescriptions().equals( this.getProductDescriptions()) == false) return false; if (other.getFilters() == null ^ this.getFilters() == null) return false; if (other.getFilters() != null && other.getFilters().equals(this.getFilters()) == false) return false; if (other.getAvailabilityZone() == null ^ this.getAvailabilityZone() == null) return false; if (other.getAvailabilityZone() != null && other.getAvailabilityZone().equals( this.getAvailabilityZone()) == false) return false; if (other.getMaxResults() == null ^ this.getMaxResults() == null) return false; if (other.getMaxResults() != null && other.getMaxResults().equals(this.getMaxResults()) == false) return false; if (other.getNextToken() == null ^ this.getNextToken() == null) return false; if (other.getNextToken() != null && other.getNextToken().equals(this.getNextToken()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getStartTime() == null) ? 0 : getStartTime().hashCode()); hashCode = prime * hashCode + ((getEndTime() == null) ? 0 : getEndTime().hashCode()); hashCode = prime * hashCode + ((getInstanceTypes() == null) ? 0 : getInstanceTypes() .hashCode()); hashCode = prime * hashCode + ((getProductDescriptions() == null) ? 0 : getProductDescriptions().hashCode()); hashCode = prime * hashCode + ((getFilters() == null) ? 0 : getFilters().hashCode()); hashCode = prime * hashCode + ((getAvailabilityZone() == null) ? 0 : getAvailabilityZone() .hashCode()); hashCode = prime * hashCode + ((getMaxResults() == null) ? 0 : getMaxResults().hashCode()); hashCode = prime * hashCode + ((getNextToken() == null) ? 0 : getNextToken().hashCode()); return hashCode; } @Override public DescribeSpotPriceHistoryRequest clone() { return (DescribeSpotPriceHistoryRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy