/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the ec2-2016-11-15.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.EC2.Model
{
///
/// Container for the parameters to the DescribeVolumes operation.
/// Describes the specified EBS volumes or all of your EBS volumes.
///
///
///
/// If you are describing a long list of volumes, we recommend that you paginate the output
/// to make the list more manageable. For more information, see Pagination.
///
///
///
/// For more information about EBS volumes, see Amazon
/// EBS volumes in the Amazon Elastic Compute Cloud User Guide.
///
///
public partial class DescribeVolumesRequest : AmazonEC2Request
{
private List _filters = new List();
private int? _maxResults;
private string _nextToken;
private List _volumeIds = new List();
///
/// Empty constructor used to set properties independently even when a simple constructor is available
///
public DescribeVolumesRequest() { }
///
/// Instantiates DescribeVolumesRequest with the parameterized properties
///
/// The volume IDs.
public DescribeVolumesRequest(List volumeIds)
{
_volumeIds = volumeIds;
}
///
/// Gets and sets the property Filters.
///
/// The 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 specified in the block device mapping
/// (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).
///
/// -
///
///
availability-zone - The Availability Zone in which the volume was created.
///
/// -
///
///
create-time - The time stamp when the volume was created.
///
/// -
///
///
encrypted - Indicates whether the volume is encrypted (true
/// | false)
///
/// -
///
///
multi-attach-enabled - Indicates whether the volume is enabled for Multi-Attach
/// (true | false)
///
/// -
///
///
fast-restored - Indicates whether the volume was created from a snapshot
/// that is enabled for fast snapshot restore (true | false).
///
/// -
///
///
size - The size of the volume, in GiB.
///
/// -
///
///
snapshot-id - The snapshot from which the volume was created.
///
/// -
///
///
status - The state of the volume (creating | available
/// | in-use | deleting | deleted | error).
///
/// -
///
///
tag:<key> - The key/value combination of a tag assigned to the
/// resource. Use the tag key in the filter name and the tag value as the filter value.
/// For example, to find all resources that have a tag with the key Owner
/// and the value TeamA, specify tag:Owner for the filter name
/// and TeamA for the filter value.
///
/// -
///
///
tag-key - The key of a tag assigned to the resource. Use this filter
/// to find all resources assigned a tag with a specific key, regardless of the tag value.
///
/// -
///
///
volume-id - The volume ID.
///
/// -
///
///
volume-type - The Amazon EBS volume type (gp2 | gp3
/// | io1 | io2 | st1 | sc1| standard)
///
///
///
public List Filters
{
get { return this._filters; }
set { this._filters = value; }
}
// Check to see if Filters property is set
internal bool IsSetFilters()
{
return this._filters != null && this._filters.Count > 0;
}
///
/// Gets and sets the property MaxResults.
///
/// The maximum number of volumes to return for this request. This value can be between
/// 5 and 500; if you specify a value larger than 500, only 500 items are returned. If
/// this parameter is not used, then all items are returned. You cannot specify this parameter
/// and the volume IDs parameter in the same request. For more information, see Pagination.
///
///
public int MaxResults
{
get { return this._maxResults.GetValueOrDefault(); }
set { this._maxResults = value; }
}
// Check to see if MaxResults property is set
internal bool IsSetMaxResults()
{
return this._maxResults.HasValue;
}
///
/// Gets and sets the property NextToken.
///
/// The token returned from a previous paginated request. Pagination continues from the
/// end of the items returned from the previous request.
///
///
public string NextToken
{
get { return this._nextToken; }
set { this._nextToken = value; }
}
// Check to see if NextToken property is set
internal bool IsSetNextToken()
{
return this._nextToken != null;
}
///
/// Gets and sets the property VolumeIds.
///
/// The volume IDs.
///
///
public List VolumeIds
{
get { return this._volumeIds; }
set { this._volumeIds = value; }
}
// Check to see if VolumeIds property is set
internal bool IsSetVolumeIds()
{
return this._volumeIds != null && this._volumeIds.Count > 0;
}
}
}