/* * 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.DescribeVolumesRequestMarshaller; /** * Container for the parameters to the {@link com.amazonaws.services.ec2.AmazonEC2#describeVolumes(DescribeVolumesRequest) DescribeVolumes operation}. *
* Describes the specified EBS volumes. *
*
* If you are describing a long list of volumes, you can paginate the
* output to make the list more manageable. The MaxResults
* parameter sets the maximum number of results returned in a single
* page. If the list of results exceeds your MaxResults
* value, then that number of results is returned along with a
* NextToken value that can be passed to a subsequent
* DescribeVolumes request to retrieve the remaining
* results.
*
* For more information about EBS volumes, see * Amazon EBS Volumes * in the Amazon Elastic Compute Cloud User Guide . *
* * @see com.amazonaws.services.ec2.AmazonEC2#describeVolumes(DescribeVolumesRequest) */ public class DescribeVolumesRequest extends AmazonWebServiceRequest implements Serializable, DryRunSupportedRequestattachment.attach-time
* - The time stamp when the attachment initiated.
attachment.delete-on-termination - Whether the volume
* is deleted on instance termination.
attachment.device - The device name that is exposed to
* the instance (for example, /dev/sda1).
attachment.instance-id - The ID of the instance the
* volume is attached to.
attachment.status -
* The attachment state (attaching | attached |
* detaching | detached).
availability-zone - The Availability Zone in which the
* volume was created.
create-time - The time
* stamp when the volume was created.
encrypted - The encryption status of the volume.
size - The size of the volume, in GiB.
snapshot-id - The snapshot from which the volume was
* created.
status - The status of the volume
* (creating | available | in-use
* | deleting | deleted | error).
*
tag:key=value - The key/value
* combination of a tag assigned to the resource.
tag-key - The key of a tag assigned to the resource.
* This filter is independent of the tag-value filter. For
* example, if you use both the filter "tag-key=Purpose" and the filter
* "tag-value=X", you get any resources assigned both the tag key Purpose
* (regardless of what the tag's value is), and the tag value X
* (regardless of what the tag's key is). If you want to list only
* resources where Purpose is X, see the
* tag:key=value filter.
tag-value - The value of a tag assigned to the
* resource. This filter is independent of the tag-key
* filter.
volume-id - The volume ID.
volume-type - The Amazon EBS volume type. This
* can be gp2 for General Purpose SSD, io1 for
* Provisioned IOPS SSD, st1 for Throughput Optimized HDD,
* sc1 for Cold HDD, or standard for Magnetic
* volumes.
NextToken value returned from a previous paginated
* DescribeVolumes request where MaxResults was
* used and the results exceeded the value of that parameter. Pagination
* continues from the end of the previous results that returned the
* NextToken value. This value is null when
* there are no more results to return.
*/
private String nextToken;
/**
* The maximum number of volume results returned by
* DescribeVolumes in paginated output. When this parameter
* is used, DescribeVolumes only returns
* MaxResults results in a single page along with a
* NextToken response element. The remaining results of the
* initial request can be seen by sending another
* DescribeVolumes request with the returned
* NextToken value. This value can be between 5 and 1000; if
* MaxResults is given a value larger than 1000, only 1000
* results are returned. If this parameter is not used, then
* DescribeVolumes returns all results. You cannot specify
* this parameter and the volume IDs parameter in the same request.
*/
private Integer maxResults;
/**
* Default constructor for a new DescribeVolumesRequest object. Callers should use the
* setter or fluent setter (with...) methods to initialize this object after creating it.
*/
public DescribeVolumesRequest() {}
/**
* Constructs a new DescribeVolumesRequest object.
* Callers should use the setter or fluent setter (with...) methods to
* initialize any additional object members.
*
* @param volumeIds One or more volume IDs.
*/
public DescribeVolumesRequest(java.util.List
* Returns a reference to this object so that method calls can be chained together.
*
* @param volumeIds One or more volume IDs.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public DescribeVolumesRequest withVolumeIds(String... volumeIds) {
if (getVolumeIds() == null) setVolumeIds(new java.util.ArrayList
* Returns a reference to this object so that method calls can be chained together.
*
* @param volumeIds One or more volume IDs.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public DescribeVolumesRequest withVolumeIds(java.util.Collection
* Returns a reference to this object so that method calls can be chained together.
*
* @param filters One or more filters.
* Returns a reference to this object so that method calls can be chained together.
*
* @param filters One or more filters.
* Returns a reference to this object so that method calls can be chained together.
*
* @param nextToken The
* Returns a reference to this object so that method calls can be chained together.
*
* @param maxResults The maximum number of volume results returned by
*
*
* @return One or more filters. attachment.attach-time
* - The time stamp when the attachment initiated. attachment.delete-on-termination - Whether the volume
* is deleted on instance termination. attachment.device - The device name that is exposed to
* the instance (for example, /dev/sda1). attachment.instance-id - The ID of the instance the
* volume is attached to. attachment.status -
* The attachment state (attaching | attached |
* detaching | detached). availability-zone - The Availability Zone in which the
* volume was created. create-time - The time
* stamp when the volume was created. encrypted - The encryption status of the volume. size - The size of the volume, in GiB. snapshot-id - The snapshot from which the volume was
* created. status - The status of the volume
* (creating | available | in-use
* | deleting | deleted | error).
* tag:key=value - The key/value
* combination of a tag assigned to the resource. tag-key - The key of a tag assigned to the resource.
* This filter is independent of the tag-value filter. For
* example, if you use both the filter "tag-key=Purpose" and the filter
* "tag-value=X", you get any resources assigned both the tag key Purpose
* (regardless of what the tag's value is), and the tag value X
* (regardless of what the tag's key is). If you want to list only
* resources where Purpose is X, see the
* tag:key=value filter. tag-value - The value of a tag assigned to the
* resource. This filter is independent of the tag-key
* filter. volume-id - The volume ID. volume-type - The Amazon EBS volume type. This
* can be gp2 for General Purpose SSD, io1 for
* Provisioned IOPS SSD, st1 for Throughput Optimized HDD,
* sc1 for Cold HDD, or standard for Magnetic
* volumes.
*/
public java.util.Listattachment.attach-time
* - The time stamp when the attachment initiated. attachment.delete-on-termination - Whether the volume
* is deleted on instance termination. attachment.device - The device name that is exposed to
* the instance (for example, /dev/sda1). attachment.instance-id - The ID of the instance the
* volume is attached to. attachment.status -
* The attachment state (attaching | attached |
* detaching | detached). availability-zone - The Availability Zone in which the
* volume was created. create-time - The time
* stamp when the volume was created. encrypted - The encryption status of the volume. size - The size of the volume, in GiB. snapshot-id - The snapshot from which the volume was
* created. status - The status of the volume
* (creating | available | in-use
* | deleting | deleted | error).
* tag:key=value - The key/value
* combination of a tag assigned to the resource. tag-key - The key of a tag assigned to the resource.
* This filter is independent of the tag-value filter. For
* example, if you use both the filter "tag-key=Purpose" and the filter
* "tag-value=X", you get any resources assigned both the tag key Purpose
* (regardless of what the tag's value is), and the tag value X
* (regardless of what the tag's key is). If you want to list only
* resources where Purpose is X, see the
* tag:key=value filter. tag-value - The value of a tag assigned to the
* resource. This filter is independent of the tag-key
* filter. volume-id - The volume ID. volume-type - The Amazon EBS volume type. This
* can be gp2 for General Purpose SSD, io1 for
* Provisioned IOPS SSD, st1 for Throughput Optimized HDD,
* sc1 for Cold HDD, or standard for Magnetic
* volumes.
*
* @param filters One or more filters. attachment.attach-time
* - The time stamp when the attachment initiated. attachment.delete-on-termination - Whether the volume
* is deleted on instance termination. attachment.device - The device name that is exposed to
* the instance (for example, /dev/sda1). attachment.instance-id - The ID of the instance the
* volume is attached to. attachment.status -
* The attachment state (attaching | attached |
* detaching | detached). availability-zone - The Availability Zone in which the
* volume was created. create-time - The time
* stamp when the volume was created. encrypted - The encryption status of the volume. size - The size of the volume, in GiB. snapshot-id - The snapshot from which the volume was
* created. status - The status of the volume
* (creating | available | in-use
* | deleting | deleted | error).
* tag:key=value - The key/value
* combination of a tag assigned to the resource. tag-key - The key of a tag assigned to the resource.
* This filter is independent of the tag-value filter. For
* example, if you use both the filter "tag-key=Purpose" and the filter
* "tag-value=X", you get any resources assigned both the tag key Purpose
* (regardless of what the tag's value is), and the tag value X
* (regardless of what the tag's key is). If you want to list only
* resources where Purpose is X, see the
* tag:key=value filter. tag-value - The value of a tag assigned to the
* resource. This filter is independent of the tag-key
* filter. volume-id - The volume ID. volume-type - The Amazon EBS volume type. This
* can be gp2 for General Purpose SSD, io1 for
* Provisioned IOPS SSD, st1 for Throughput Optimized HDD,
* sc1 for Cold HDD, or standard for Magnetic
* volumes.
*/
public void setFilters(java.util.Collectionattachment.attach-time
* - The time stamp when the attachment initiated. attachment.delete-on-termination - Whether the volume
* is deleted on instance termination. attachment.device - The device name that is exposed to
* the instance (for example, /dev/sda1). attachment.instance-id - The ID of the instance the
* volume is attached to. attachment.status -
* The attachment state (attaching | attached |
* detaching | detached). availability-zone - The Availability Zone in which the
* volume was created. create-time - The time
* stamp when the volume was created. encrypted - The encryption status of the volume. size - The size of the volume, in GiB. snapshot-id - The snapshot from which the volume was
* created. status - The status of the volume
* (creating | available | in-use
* | deleting | deleted | error).
* tag:key=value - The key/value
* combination of a tag assigned to the resource. tag-key - The key of a tag assigned to the resource.
* This filter is independent of the tag-value filter. For
* example, if you use both the filter "tag-key=Purpose" and the filter
* "tag-value=X", you get any resources assigned both the tag key Purpose
* (regardless of what the tag's value is), and the tag value X
* (regardless of what the tag's key is). If you want to list only
* resources where Purpose is X, see the
* tag:key=value filter. tag-value - The value of a tag assigned to the
* resource. This filter is independent of the tag-key
* filter. volume-id - The volume ID. volume-type - The Amazon EBS volume type. This
* can be gp2 for General Purpose SSD, io1 for
* Provisioned IOPS SSD, st1 for Throughput Optimized HDD,
* sc1 for Cold HDD, or standard for Magnetic
* volumes.
* attachment.attach-time
* - The time stamp when the attachment initiated. attachment.delete-on-termination - Whether the volume
* is deleted on instance termination. attachment.device - The device name that is exposed to
* the instance (for example, /dev/sda1). attachment.instance-id - The ID of the instance the
* volume is attached to. attachment.status -
* The attachment state (attaching | attached |
* detaching | detached). availability-zone - The Availability Zone in which the
* volume was created. create-time - The time
* stamp when the volume was created. encrypted - The encryption status of the volume. size - The size of the volume, in GiB. snapshot-id - The snapshot from which the volume was
* created. status - The status of the volume
* (creating | available | in-use
* | deleting | deleted | error).
* tag:key=value - The key/value
* combination of a tag assigned to the resource. tag-key - The key of a tag assigned to the resource.
* This filter is independent of the tag-value filter. For
* example, if you use both the filter "tag-key=Purpose" and the filter
* "tag-value=X", you get any resources assigned both the tag key Purpose
* (regardless of what the tag's value is), and the tag value X
* (regardless of what the tag's key is). If you want to list only
* resources where Purpose is X, see the
* tag:key=value filter. tag-value - The value of a tag assigned to the
* resource. This filter is independent of the tag-key
* filter. volume-id - The volume ID. volume-type - The Amazon EBS volume type. This
* can be gp2 for General Purpose SSD, io1 for
* Provisioned IOPS SSD, st1 for Throughput Optimized HDD,
* sc1 for Cold HDD, or standard for Magnetic
* volumes.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public DescribeVolumesRequest withFilters(Filter... filters) {
if (getFilters() == null) setFilters(new java.util.ArrayListattachment.attach-time
* - The time stamp when the attachment initiated. attachment.delete-on-termination - Whether the volume
* is deleted on instance termination. attachment.device - The device name that is exposed to
* the instance (for example, /dev/sda1). attachment.instance-id - The ID of the instance the
* volume is attached to. attachment.status -
* The attachment state (attaching | attached |
* detaching | detached). availability-zone - The Availability Zone in which the
* volume was created. create-time - The time
* stamp when the volume was created. encrypted - The encryption status of the volume. size - The size of the volume, in GiB. snapshot-id - The snapshot from which the volume was
* created. status - The status of the volume
* (creating | available | in-use
* | deleting | deleted | error).
* tag:key=value - The key/value
* combination of a tag assigned to the resource. tag-key - The key of a tag assigned to the resource.
* This filter is independent of the tag-value filter. For
* example, if you use both the filter "tag-key=Purpose" and the filter
* "tag-value=X", you get any resources assigned both the tag key Purpose
* (regardless of what the tag's value is), and the tag value X
* (regardless of what the tag's key is). If you want to list only
* resources where Purpose is X, see the
* tag:key=value filter. tag-value - The value of a tag assigned to the
* resource. This filter is independent of the tag-key
* filter. volume-id - The volume ID. volume-type - The Amazon EBS volume type. This
* can be gp2 for General Purpose SSD, io1 for
* Provisioned IOPS SSD, st1 for Throughput Optimized HDD,
* sc1 for Cold HDD, or standard for Magnetic
* volumes.
* attachment.attach-time
* - The time stamp when the attachment initiated. attachment.delete-on-termination - Whether the volume
* is deleted on instance termination. attachment.device - The device name that is exposed to
* the instance (for example, /dev/sda1). attachment.instance-id - The ID of the instance the
* volume is attached to. attachment.status -
* The attachment state (attaching | attached |
* detaching | detached). availability-zone - The Availability Zone in which the
* volume was created. create-time - The time
* stamp when the volume was created. encrypted - The encryption status of the volume. size - The size of the volume, in GiB. snapshot-id - The snapshot from which the volume was
* created. status - The status of the volume
* (creating | available | in-use
* | deleting | deleted | error).
* tag:key=value - The key/value
* combination of a tag assigned to the resource. tag-key - The key of a tag assigned to the resource.
* This filter is independent of the tag-value filter. For
* example, if you use both the filter "tag-key=Purpose" and the filter
* "tag-value=X", you get any resources assigned both the tag key Purpose
* (regardless of what the tag's value is), and the tag value X
* (regardless of what the tag's key is). If you want to list only
* resources where Purpose is X, see the
* tag:key=value filter. tag-value - The value of a tag assigned to the
* resource. This filter is independent of the tag-key
* filter. volume-id - The volume ID. volume-type - The Amazon EBS volume type. This
* can be gp2 for General Purpose SSD, io1 for
* Provisioned IOPS SSD, st1 for Throughput Optimized HDD,
* sc1 for Cold HDD, or standard for Magnetic
* volumes.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public DescribeVolumesRequest withFilters(java.util.Collectionattachment.attach-time
* - The time stamp when the attachment initiated. attachment.delete-on-termination - Whether the volume
* is deleted on instance termination. attachment.device - The device name that is exposed to
* the instance (for example, /dev/sda1). attachment.instance-id - The ID of the instance the
* volume is attached to. attachment.status -
* The attachment state (attaching | attached |
* detaching | detached). availability-zone - The Availability Zone in which the
* volume was created. create-time - The time
* stamp when the volume was created. encrypted - The encryption status of the volume. size - The size of the volume, in GiB. snapshot-id - The snapshot from which the volume was
* created. status - The status of the volume
* (creating | available | in-use
* | deleting | deleted | error).
* tag:key=value - The key/value
* combination of a tag assigned to the resource. tag-key - The key of a tag assigned to the resource.
* This filter is independent of the tag-value filter. For
* example, if you use both the filter "tag-key=Purpose" and the filter
* "tag-value=X", you get any resources assigned both the tag key Purpose
* (regardless of what the tag's value is), and the tag value X
* (regardless of what the tag's key is). If you want to list only
* resources where Purpose is X, see the
* tag:key=value filter. tag-value - The value of a tag assigned to the
* resource. This filter is independent of the tag-key
* filter. volume-id - The volume ID. volume-type - The Amazon EBS volume type. This
* can be gp2 for General Purpose SSD, io1 for
* Provisioned IOPS SSD, st1 for Throughput Optimized HDD,
* sc1 for Cold HDD, or standard for Magnetic
* volumes. NextToken value returned from a previous paginated
* DescribeVolumes request where MaxResults was
* used and the results exceeded the value of that parameter. Pagination
* continues from the end of the previous results that returned the
* NextToken value. This value is null when
* there are no more results to return.
*
* @return The NextToken value returned from a previous paginated
* DescribeVolumes request where MaxResults was
* used and the results exceeded the value of that parameter. Pagination
* continues from the end of the previous results that returned the
* NextToken value. This value is null when
* there are no more results to return.
*/
public String getNextToken() {
return nextToken;
}
/**
* The NextToken value returned from a previous paginated
* DescribeVolumes request where MaxResults was
* used and the results exceeded the value of that parameter. Pagination
* continues from the end of the previous results that returned the
* NextToken value. This value is null when
* there are no more results to return.
*
* @param nextToken The NextToken value returned from a previous paginated
* DescribeVolumes request where MaxResults was
* used and the results exceeded the value of that parameter. Pagination
* continues from the end of the previous results that returned the
* NextToken value. This value is null when
* there are no more results to return.
*/
public void setNextToken(String nextToken) {
this.nextToken = nextToken;
}
/**
* The NextToken value returned from a previous paginated
* DescribeVolumes request where MaxResults was
* used and the results exceeded the value of that parameter. Pagination
* continues from the end of the previous results that returned the
* NextToken value. This value is null when
* there are no more results to return.
* NextToken value returned from a previous paginated
* DescribeVolumes request where MaxResults was
* used and the results exceeded the value of that parameter. Pagination
* continues from the end of the previous results that returned the
* NextToken value. This value is null when
* there are no more results to return.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public DescribeVolumesRequest withNextToken(String nextToken) {
this.nextToken = nextToken;
return this;
}
/**
* The maximum number of volume results returned by
* DescribeVolumes in paginated output. When this parameter
* is used, DescribeVolumes only returns
* MaxResults results in a single page along with a
* NextToken response element. The remaining results of the
* initial request can be seen by sending another
* DescribeVolumes request with the returned
* NextToken value. This value can be between 5 and 1000; if
* MaxResults is given a value larger than 1000, only 1000
* results are returned. If this parameter is not used, then
* DescribeVolumes returns all results. You cannot specify
* this parameter and the volume IDs parameter in the same request.
*
* @return The maximum number of volume results returned by
* DescribeVolumes in paginated output. When this parameter
* is used, DescribeVolumes only returns
* MaxResults results in a single page along with a
* NextToken response element. The remaining results of the
* initial request can be seen by sending another
* DescribeVolumes request with the returned
* NextToken value. This value can be between 5 and 1000; if
* MaxResults is given a value larger than 1000, only 1000
* results are returned. If this parameter is not used, then
* DescribeVolumes returns all results. You cannot specify
* this parameter and the volume IDs parameter in the same request.
*/
public Integer getMaxResults() {
return maxResults;
}
/**
* The maximum number of volume results returned by
* DescribeVolumes in paginated output. When this parameter
* is used, DescribeVolumes only returns
* MaxResults results in a single page along with a
* NextToken response element. The remaining results of the
* initial request can be seen by sending another
* DescribeVolumes request with the returned
* NextToken value. This value can be between 5 and 1000; if
* MaxResults is given a value larger than 1000, only 1000
* results are returned. If this parameter is not used, then
* DescribeVolumes returns all results. You cannot specify
* this parameter and the volume IDs parameter in the same request.
*
* @param maxResults The maximum number of volume results returned by
* DescribeVolumes in paginated output. When this parameter
* is used, DescribeVolumes only returns
* MaxResults results in a single page along with a
* NextToken response element. The remaining results of the
* initial request can be seen by sending another
* DescribeVolumes request with the returned
* NextToken value. This value can be between 5 and 1000; if
* MaxResults is given a value larger than 1000, only 1000
* results are returned. If this parameter is not used, then
* DescribeVolumes returns all results. You cannot specify
* this parameter and the volume IDs parameter in the same request.
*/
public void setMaxResults(Integer maxResults) {
this.maxResults = maxResults;
}
/**
* The maximum number of volume results returned by
* DescribeVolumes in paginated output. When this parameter
* is used, DescribeVolumes only returns
* MaxResults results in a single page along with a
* NextToken response element. The remaining results of the
* initial request can be seen by sending another
* DescribeVolumes request with the returned
* NextToken value. This value can be between 5 and 1000; if
* MaxResults is given a value larger than 1000, only 1000
* results are returned. If this parameter is not used, then
* DescribeVolumes returns all results. You cannot specify
* this parameter and the volume IDs parameter in the same request.
* DescribeVolumes in paginated output. When this parameter
* is used, DescribeVolumes only returns
* MaxResults results in a single page along with a
* NextToken response element. The remaining results of the
* initial request can be seen by sending another
* DescribeVolumes request with the returned
* NextToken value. This value can be between 5 and 1000; if
* MaxResults is given a value larger than 1000, only 1000
* results are returned. If this parameter is not used, then
* DescribeVolumes returns all results. You cannot specify
* this parameter and the volume IDs parameter in the same request.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public DescribeVolumesRequest withMaxResults(Integer maxResults) {
this.maxResults = maxResults;
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