/* * Copyright 2010-2018 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.DescribeScheduledInstanceAvailabilityRequestMarshaller; /** * Container for the parameters to the {@link com.amazonaws.services.ec2.AmazonEC2#describeScheduledInstanceAvailability(DescribeScheduledInstanceAvailabilityRequest) DescribeScheduledInstanceAvailability operation}. *
* Finds available schedules that meet the specified criteria. *
** You can search for an available schedule no more than 3 months in * advance. You must meet the minimum required duration of 1,200 hours * per year. For example, the minimum daily schedule is 4 hours, the * minimum weekly schedule is 24 hours, and the minimum monthly schedule * is 100 hours. *
** After you find a schedule that meets your needs, call * PurchaseScheduledInstances to purchase Scheduled Instances with that * schedule. *
* * @see com.amazonaws.services.ec2.AmazonEC2#describeScheduledInstanceAvailability(DescribeScheduledInstanceAvailabilityRequest) */ public class DescribeScheduledInstanceAvailabilityRequest extends AmazonWebServiceRequest implements Serializable, DryRunSupportedRequestMinSlotDurationInHours
and less than 1,720.
*/
private Integer maxSlotDurationInHours;
/**
* The token for the next set of results.
*/
private String nextToken;
/**
* The maximum number of results to return in a single call. This value
* can be between 5 and 300. The default value is 300. To retrieve the
* remaining results, make another call with the returned
* NextToken
value.
*/
private Integer maxResults;
/**
* One or more filters. availability-zone
- The
* Availability Zone (for example, us-west-2a
).
instance-type
- The instance type (for example,
* c4.large
).
network-platform
-
* The network platform (EC2-Classic
or
* EC2-VPC
).
platform
- The
* platform (Linux/UNIX
or Windows
).
* Returns a reference to this object so that method calls can be chained together. * * @param recurrence The schedule recurrence. * * @return A reference to this updated object so that method calls can be chained * together. */ public DescribeScheduledInstanceAvailabilityRequest withRecurrence(ScheduledInstanceRecurrenceRequest recurrence) { this.recurrence = recurrence; return this; } /** * The time period for the first schedule to start. * * @return The time period for the first schedule to start. */ public SlotDateTimeRangeRequest getFirstSlotStartTimeRange() { return firstSlotStartTimeRange; } /** * The time period for the first schedule to start. * * @param firstSlotStartTimeRange The time period for the first schedule to start. */ public void setFirstSlotStartTimeRange(SlotDateTimeRangeRequest firstSlotStartTimeRange) { this.firstSlotStartTimeRange = firstSlotStartTimeRange; } /** * The time period for the first schedule to start. *
* Returns a reference to this object so that method calls can be chained together. * * @param firstSlotStartTimeRange The time period for the first schedule to start. * * @return A reference to this updated object so that method calls can be chained * together. */ public DescribeScheduledInstanceAvailabilityRequest withFirstSlotStartTimeRange(SlotDateTimeRangeRequest firstSlotStartTimeRange) { this.firstSlotStartTimeRange = firstSlotStartTimeRange; return this; } /** * The minimum available duration, in hours. The minimum required * duration is 1,200 hours per year. For example, the minimum daily * schedule is 4 hours, the minimum weekly schedule is 24 hours, and the * minimum monthly schedule is 100 hours. * * @return The minimum available duration, in hours. The minimum required * duration is 1,200 hours per year. For example, the minimum daily * schedule is 4 hours, the minimum weekly schedule is 24 hours, and the * minimum monthly schedule is 100 hours. */ public Integer getMinSlotDurationInHours() { return minSlotDurationInHours; } /** * The minimum available duration, in hours. The minimum required * duration is 1,200 hours per year. For example, the minimum daily * schedule is 4 hours, the minimum weekly schedule is 24 hours, and the * minimum monthly schedule is 100 hours. * * @param minSlotDurationInHours The minimum available duration, in hours. The minimum required * duration is 1,200 hours per year. For example, the minimum daily * schedule is 4 hours, the minimum weekly schedule is 24 hours, and the * minimum monthly schedule is 100 hours. */ public void setMinSlotDurationInHours(Integer minSlotDurationInHours) { this.minSlotDurationInHours = minSlotDurationInHours; } /** * The minimum available duration, in hours. The minimum required * duration is 1,200 hours per year. For example, the minimum daily * schedule is 4 hours, the minimum weekly schedule is 24 hours, and the * minimum monthly schedule is 100 hours. *
* Returns a reference to this object so that method calls can be chained together.
*
* @param minSlotDurationInHours The minimum available duration, in hours. The minimum required
* duration is 1,200 hours per year. For example, the minimum daily
* schedule is 4 hours, the minimum weekly schedule is 24 hours, and the
* minimum monthly schedule is 100 hours.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public DescribeScheduledInstanceAvailabilityRequest withMinSlotDurationInHours(Integer minSlotDurationInHours) {
this.minSlotDurationInHours = minSlotDurationInHours;
return this;
}
/**
* The maximum available duration, in hours. This value must be greater
* than MinSlotDurationInHours
and less than 1,720.
*
* @return The maximum available duration, in hours. This value must be greater
* than MinSlotDurationInHours
and less than 1,720.
*/
public Integer getMaxSlotDurationInHours() {
return maxSlotDurationInHours;
}
/**
* The maximum available duration, in hours. This value must be greater
* than MinSlotDurationInHours
and less than 1,720.
*
* @param maxSlotDurationInHours The maximum available duration, in hours. This value must be greater
* than MinSlotDurationInHours
and less than 1,720.
*/
public void setMaxSlotDurationInHours(Integer maxSlotDurationInHours) {
this.maxSlotDurationInHours = maxSlotDurationInHours;
}
/**
* The maximum available duration, in hours. This value must be greater
* than MinSlotDurationInHours
and less than 1,720.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param maxSlotDurationInHours The maximum available duration, in hours. This value must be greater
* than MinSlotDurationInHours
and less than 1,720.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public DescribeScheduledInstanceAvailabilityRequest withMaxSlotDurationInHours(Integer maxSlotDurationInHours) {
this.maxSlotDurationInHours = maxSlotDurationInHours;
return this;
}
/**
* The token for the next set of results.
*
* @return The token for the next set of results.
*/
public String getNextToken() {
return nextToken;
}
/**
* 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.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param nextToken The token for the next set of results.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public DescribeScheduledInstanceAvailabilityRequest withNextToken(String nextToken) {
this.nextToken = nextToken;
return this;
}
/**
* The maximum number of results to return in a single call. This value
* can be between 5 and 300. The default value is 300. 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. This value
* can be between 5 and 300. The default value is 300. To retrieve the
* remaining results, make another call with the returned
* NextToken
value.
*/
public Integer getMaxResults() {
return maxResults;
}
/**
* The maximum number of results to return in a single call. This value
* can be between 5 and 300. The default value is 300. 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. This value
* can be between 5 and 300. The default value is 300. 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. This value
* can be between 5 and 300. The default value is 300. To retrieve the
* remaining results, make another call with the returned
* NextToken
value.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param maxResults The maximum number of results to return in a single call. This value
* can be between 5 and 300. The default value is 300. To retrieve the
* remaining results, make another call with the returned
* NextToken
value.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public DescribeScheduledInstanceAvailabilityRequest withMaxResults(Integer maxResults) {
this.maxResults = maxResults;
return this;
}
/**
* One or more filters.
availability-zone
- The
* Availability Zone (for example, us-west-2a
).
instance-type
- The instance type (for example,
* c4.large
).
network-platform
-
* The network platform (EC2-Classic
or
* EC2-VPC
).
platform
- The
* platform (Linux/UNIX
or Windows
).
availability-zone
- The
* Availability Zone (for example, us-west-2a
).
instance-type
- The instance type (for example,
* c4.large
).
network-platform
-
* The network platform (EC2-Classic
or
* EC2-VPC
).
platform
- The
* platform (Linux/UNIX
or Windows
).
availability-zone
- The
* Availability Zone (for example, us-west-2a
).
instance-type
- The instance type (for example,
* c4.large
).
network-platform
-
* The network platform (EC2-Classic
or
* EC2-VPC
).
platform
- The
* platform (Linux/UNIX
or Windows
).
availability-zone
- The
* Availability Zone (for example, us-west-2a
).
instance-type
- The instance type (for example,
* c4.large
).
network-platform
-
* The network platform (EC2-Classic
or
* EC2-VPC
).
platform
- The
* platform (Linux/UNIX
or Windows
).
availability-zone
- The
* Availability Zone (for example, us-west-2a
).
instance-type
- The instance type (for example,
* c4.large
).
network-platform
-
* The network platform (EC2-Classic
or
* EC2-VPC
).
platform
- The
* platform (Linux/UNIX
or Windows
).
* Returns a reference to this object so that method calls can be chained together. * * @param filters One or more filters.
availability-zone
- The
* Availability Zone (for example, us-west-2a
).
instance-type
- The instance type (for example,
* c4.large
).
network-platform
-
* The network platform (EC2-Classic
or
* EC2-VPC
).
platform
- The
* platform (Linux/UNIX
or Windows
).
availability-zone
- The
* Availability Zone (for example, us-west-2a
).
instance-type
- The instance type (for example,
* c4.large
).
network-platform
-
* The network platform (EC2-Classic
or
* EC2-VPC
).
platform
- The
* platform (Linux/UNIX
or Windows
).
* Returns a reference to this object so that method calls can be chained together. * * @param filters One or more filters.
availability-zone
- The
* Availability Zone (for example, us-west-2a
).
instance-type
- The instance type (for example,
* c4.large
).
network-platform
-
* The network platform (EC2-Classic
or
* EC2-VPC
).
platform
- The
* platform (Linux/UNIX
or Windows
).