/*
* 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 rds-2014-10-31.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.RDS.Model
{
///
/// Container for the parameters to the DescribeDBSnapshots operation.
/// Returns information about DB snapshots. This API action supports pagination.
///
public partial class DescribeDBSnapshotsRequest : AmazonRDSRequest
{
private string _dbInstanceIdentifier;
private string _dbiResourceId;
private string _dbSnapshotIdentifier;
private List _filters = new List();
private bool? _includePublic;
private bool? _includeShared;
private string _marker;
private int? _maxRecords;
private string _snapshotType;
///
/// Empty constructor used to set properties independently even when a simple constructor is available
///
public DescribeDBSnapshotsRequest() { }
///
/// Gets and sets the property DBInstanceIdentifier.
///
/// The ID of the DB instance to retrieve the list of DB snapshots for. This parameter
/// isn't case-sensitive.
///
///
///
/// Constraints:
///
/// -
///
/// If supplied, must match the identifier of an existing DBInstance.
///
///
///
public string DBInstanceIdentifier
{
get { return this._dbInstanceIdentifier; }
set { this._dbInstanceIdentifier = value; }
}
// Check to see if DBInstanceIdentifier property is set
internal bool IsSetDBInstanceIdentifier()
{
return this._dbInstanceIdentifier != null;
}
///
/// Gets and sets the property DbiResourceId.
///
/// A specific DB resource ID to describe.
///
///
public string DbiResourceId
{
get { return this._dbiResourceId; }
set { this._dbiResourceId = value; }
}
// Check to see if DbiResourceId property is set
internal bool IsSetDbiResourceId()
{
return this._dbiResourceId != null;
}
///
/// Gets and sets the property DBSnapshotIdentifier.
///
/// A specific DB snapshot identifier to describe. This value is stored as a lowercase
/// string.
///
///
///
/// Constraints:
///
/// -
///
/// If supplied, must match the identifier of an existing DBSnapshot.
///
///
-
///
/// If this identifier is for an automated snapshot, the
SnapshotType
parameter
/// must also be specified.
///
///
///
public string DBSnapshotIdentifier
{
get { return this._dbSnapshotIdentifier; }
set { this._dbSnapshotIdentifier = value; }
}
// Check to see if DBSnapshotIdentifier property is set
internal bool IsSetDBSnapshotIdentifier()
{
return this._dbSnapshotIdentifier != null;
}
///
/// Gets and sets the property Filters.
///
/// A filter that specifies one or more DB snapshots to describe.
///
///
///
/// Supported filters:
///
/// -
///
///
db-instance-id
- Accepts DB instance identifiers and DB instance Amazon
/// Resource Names (ARNs).
///
/// -
///
///
db-snapshot-id
- Accepts DB snapshot identifiers.
///
/// -
///
///
dbi-resource-id
- Accepts identifiers of source DB instances.
///
/// -
///
///
snapshot-type
- Accepts types of DB snapshots.
///
/// -
///
///
engine
- Accepts names of database engines.
///
///
///
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 IncludePublic.
///
/// A value that indicates whether to include manual DB cluster snapshots that are public
/// and can be copied or restored by any Amazon Web Services account. By default, the
/// public snapshots are not included.
///
///
///
/// You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute
/// API.
///
///
///
/// This setting doesn't apply to RDS Custom.
///
///
public bool IncludePublic
{
get { return this._includePublic.GetValueOrDefault(); }
set { this._includePublic = value; }
}
// Check to see if IncludePublic property is set
internal bool IsSetIncludePublic()
{
return this._includePublic.HasValue;
}
///
/// Gets and sets the property IncludeShared.
///
/// A value that indicates whether to include shared manual DB cluster snapshots from
/// other Amazon Web Services accounts that this Amazon Web Services account has been
/// given permission to copy or restore. By default, these snapshots are not included.
///
///
///
/// You can give an Amazon Web Services account permission to restore a manual DB snapshot
/// from another Amazon Web Services account by using the ModifyDBSnapshotAttribute
/// API action.
///
///
///
/// This setting doesn't apply to RDS Custom.
///
///
public bool IncludeShared
{
get { return this._includeShared.GetValueOrDefault(); }
set { this._includeShared = value; }
}
// Check to see if IncludeShared property is set
internal bool IsSetIncludeShared()
{
return this._includeShared.HasValue;
}
///
/// Gets and sets the property Marker.
///
/// An optional pagination token provided by a previous DescribeDBSnapshots
/// request. If this parameter is specified, the response includes only records beyond
/// the marker, up to the value specified by MaxRecords
.
///
///
public string Marker
{
get { return this._marker; }
set { this._marker = value; }
}
// Check to see if Marker property is set
internal bool IsSetMarker()
{
return this._marker != null;
}
///
/// Gets and sets the property MaxRecords.
///
/// The maximum number of records to include in the response. If more records exist than
/// the specified MaxRecords
value, a pagination token called a marker is
/// included in the response so that you can retrieve the remaining results.
///
///
///
/// Default: 100
///
///
///
/// Constraints: Minimum 20, maximum 100.
///
///
public int MaxRecords
{
get { return this._maxRecords.GetValueOrDefault(); }
set { this._maxRecords = value; }
}
// Check to see if MaxRecords property is set
internal bool IsSetMaxRecords()
{
return this._maxRecords.HasValue;
}
///
/// Gets and sets the property SnapshotType.
///
/// The type of snapshots to be returned. You can specify one of the following values:
///
/// -
///
///
automated
- Return all DB snapshots that have been automatically taken
/// by Amazon RDS for my Amazon Web Services account.
///
/// -
///
///
manual
- Return all DB snapshots that have been taken by my Amazon Web
/// Services account.
///
/// -
///
///
shared
- Return all manual DB snapshots that have been shared to my
/// Amazon Web Services account.
///
/// -
///
///
public
- Return all DB snapshots that have been marked as public.
///
/// -
///
///
awsbackup
- Return the DB snapshots managed by the Amazon Web Services
/// Backup service.
///
///
///
/// For information about Amazon Web Services Backup, see the
/// Amazon Web Services Backup Developer Guide.
///
///
///
/// The awsbackup
type does not apply to Aurora.
///
///
///
/// If you don't specify a SnapshotType
value, then both automated and manual
/// snapshots are returned. Shared and public DB snapshots are not included in the returned
/// results by default. You can include shared snapshots with these results by enabling
/// the IncludeShared
parameter. You can include public snapshots with these
/// results by enabling the IncludePublic
parameter.
///
///
///
/// The IncludeShared
and IncludePublic
parameters don't apply
/// for SnapshotType
values of manual
or automated
.
/// The IncludePublic
parameter doesn't apply when SnapshotType
/// is set to shared
. The IncludeShared
parameter doesn't apply
/// when SnapshotType
is set to public
.
///
///
public string SnapshotType
{
get { return this._snapshotType; }
set { this._snapshotType = value; }
}
// Check to see if SnapshotType property is set
internal bool IsSetSnapshotType()
{
return this._snapshotType != null;
}
}
}