/*
* 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 DescribeSnapshots operation.
/// Describes the specified EBS snapshots available to you or all of the EBS snapshots
/// available to you.
///
///
///
/// The snapshots available to you include public snapshots, private snapshots that you
/// own, and private snapshots owned by other Amazon Web Services accounts for which you
/// have explicit create volume permissions.
///
///
///
/// The create volume permissions fall into the following categories:
///
/// -
///
/// public: The owner of the snapshot granted create volume permissions for the
/// snapshot to the
all
group. All Amazon Web Services accounts have create
/// volume permissions for these snapshots.
///
/// -
///
/// explicit: The owner of the snapshot granted create volume permissions to a
/// specific Amazon Web Services account.
///
///
-
///
/// implicit: An Amazon Web Services account has implicit create volume permissions
/// for all snapshots it owns.
///
///
///
/// The list of snapshots returned can be filtered by specifying snapshot IDs, snapshot
/// owners, or Amazon Web Services accounts with create volume permissions. If no options
/// are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.
///
///
///
/// If you specify one or more snapshot IDs, only snapshots that have the specified IDs
/// are returned. If you specify an invalid snapshot ID, an error is returned. If you
/// specify a snapshot ID for which you do not have access, it is not included in the
/// returned results.
///
///
///
/// If you specify one or more snapshot owners using the OwnerIds
option,
/// only snapshots from the specified owners and for which you have access are returned.
/// The results can include the Amazon Web Services account IDs of the specified owners,
/// amazon
for snapshots owned by Amazon, or self
for snapshots
/// that you own.
///
///
///
/// If you specify a list of restorable users, only snapshots with create snapshot permissions
/// for those users are returned. You can specify Amazon Web Services account IDs (if
/// you own the snapshots), self
for snapshots for which you own or have
/// explicit permissions, or all
for public snapshots.
///
///
///
/// If you are describing a long list of snapshots, we recommend that you paginate the
/// output to make the list more manageable. For more information, see Pagination.
///
///
///
/// To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.
///
///
///
/// For more information about EBS snapshots, see Amazon
/// EBS snapshots in the Amazon Elastic Compute Cloud User Guide.
///
///
public partial class DescribeSnapshotsRequest : AmazonEC2Request
{
private List _filters = new List();
private int? _maxResults;
private string _nextToken;
private List _ownerIds = new List();
private List _restorableByUserIds = new List();
private List _snapshotIds = new List();
///
/// Gets and sets the property Filters.
///
/// The filters.
///
/// -
///
///
description
- A description of the snapshot.
///
/// -
///
///
encrypted
- Indicates whether the snapshot is encrypted (true
/// | false
)
///
/// -
///
///
owner-alias
- The owner alias, from an Amazon-maintained list (amazon
).
/// This is not the user-configured Amazon Web Services account alias set using the IAM
/// console. We recommend that you use the related parameter instead of this filter.
///
/// -
///
///
owner-id
- The Amazon Web Services account ID of the owner. We recommend
/// that you use the related parameter instead of this filter.
///
/// -
///
///
progress
- The progress of the snapshot, as a percentage (for example,
/// 80%).
///
/// -
///
///
snapshot-id
- The snapshot ID.
///
/// -
///
///
start-time
- The time stamp when the snapshot was initiated.
///
/// -
///
///
status
- The status of the snapshot (pending
| completed
/// | error
).
///
/// -
///
///
storage-tier
- The storage tier of the snapshot (archive
/// | standard
).
///
/// -
///
///
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 ID of the volume the snapshot is for.
///
/// -
///
///
volume-size
- The size of the volume, in GiB.
///
///
///
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 snapshots to return for this request. This value can be between
/// 5 and 1,000; if this value is larger than 1,000, only 1,000 results are returned.
/// If this parameter is not used, then the request returns all snapshots. You cannot
/// specify this parameter and the snapshot 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 by 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 OwnerIds.
///
/// Scopes the results to snapshots with the specified owners. You can specify a combination
/// of Amazon Web Services account IDs, self
, and amazon
.
///
///
public List OwnerIds
{
get { return this._ownerIds; }
set { this._ownerIds = value; }
}
// Check to see if OwnerIds property is set
internal bool IsSetOwnerIds()
{
return this._ownerIds != null && this._ownerIds.Count > 0;
}
///
/// Gets and sets the property RestorableByUserIds.
///
/// The IDs of the Amazon Web Services accounts that can create volumes from the snapshot.
///
///
public List RestorableByUserIds
{
get { return this._restorableByUserIds; }
set { this._restorableByUserIds = value; }
}
// Check to see if RestorableByUserIds property is set
internal bool IsSetRestorableByUserIds()
{
return this._restorableByUserIds != null && this._restorableByUserIds.Count > 0;
}
///
/// Gets and sets the property SnapshotIds.
///
/// The snapshot IDs.
///
///
///
/// Default: Describes the snapshots for which you have create volume permissions.
///
///
public List SnapshotIds
{
get { return this._snapshotIds; }
set { this._snapshotIds = value; }
}
// Check to see if SnapshotIds property is set
internal bool IsSetSnapshotIds()
{
return this._snapshotIds != null && this._snapshotIds.Count > 0;
}
}
}