/*
* 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 docdb-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.DocDB.Model
{
///
/// Container for the parameters to the ModifyDBClusterSnapshotAttribute operation.
/// Adds an attribute and values to, or removes an attribute and values from, a manual
/// cluster snapshot.
///
///
///
/// To share a manual cluster snapshot with other Amazon Web Services accounts, specify
/// restore
as the AttributeName
, and use the ValuesToAdd
/// parameter to add a list of IDs of the Amazon Web Services accounts that are authorized
/// to restore the manual cluster snapshot. Use the value all
to make the
/// manual cluster snapshot public, which means that it can be copied or restored by all
/// Amazon Web Services accounts. Do not add the all
value for any manual
/// cluster snapshots that contain private information that you don't want available to
/// all Amazon Web Services accounts. If a manual cluster snapshot is encrypted, it can
/// be shared, but only by specifying a list of authorized Amazon Web Services account
/// IDs for the ValuesToAdd
parameter. You can't use all
as
/// a value for that parameter in this case.
///
///
public partial class ModifyDBClusterSnapshotAttributeRequest : AmazonDocDBRequest
{
private string _attributeName;
private string _dbClusterSnapshotIdentifier;
private List _valuesToAdd = new List();
private List _valuesToRemove = new List();
///
/// Gets and sets the property AttributeName.
///
/// The name of the cluster snapshot attribute to modify.
///
///
///
/// To manage authorization for other Amazon Web Services accounts to copy or restore
/// a manual cluster snapshot, set this value to restore
.
///
///
[AWSProperty(Required=true)]
public string AttributeName
{
get { return this._attributeName; }
set { this._attributeName = value; }
}
// Check to see if AttributeName property is set
internal bool IsSetAttributeName()
{
return this._attributeName != null;
}
///
/// Gets and sets the property DBClusterSnapshotIdentifier.
///
/// The identifier for the cluster snapshot to modify the attributes for.
///
///
[AWSProperty(Required=true)]
public string DBClusterSnapshotIdentifier
{
get { return this._dbClusterSnapshotIdentifier; }
set { this._dbClusterSnapshotIdentifier = value; }
}
// Check to see if DBClusterSnapshotIdentifier property is set
internal bool IsSetDBClusterSnapshotIdentifier()
{
return this._dbClusterSnapshotIdentifier != null;
}
///
/// Gets and sets the property ValuesToAdd.
///
/// A list of cluster snapshot attributes to add to the attribute specified by AttributeName
.
///
///
///
/// To authorize other Amazon Web Services accounts to copy or restore a manual cluster
/// snapshot, set this list to include one or more Amazon Web Services account IDs. To
/// make the manual cluster snapshot restorable by any Amazon Web Services account, set
/// it to all
. Do not add the all
value for any manual cluster
/// snapshots that contain private information that you don't want to be available to
/// all Amazon Web Services accounts.
///
///
public List ValuesToAdd
{
get { return this._valuesToAdd; }
set { this._valuesToAdd = value; }
}
// Check to see if ValuesToAdd property is set
internal bool IsSetValuesToAdd()
{
return this._valuesToAdd != null && this._valuesToAdd.Count > 0;
}
///
/// Gets and sets the property ValuesToRemove.
///
/// A list of cluster snapshot attributes to remove from the attribute specified by AttributeName
.
///
///
///
/// To remove authorization for other Amazon Web Services accounts to copy or restore
/// a manual cluster snapshot, set this list to include one or more Amazon Web Services
/// account identifiers. To remove authorization for any Amazon Web Services account to
/// copy or restore the cluster snapshot, set it to all
. If you specify
/// all
, an Amazon Web Services account whose account ID is explicitly added
/// to the restore
attribute can still copy or restore a manual cluster snapshot.
///
///
public List ValuesToRemove
{
get { return this._valuesToRemove; }
set { this._valuesToRemove = value; }
}
// Check to see if ValuesToRemove property is set
internal bool IsSetValuesToRemove()
{
return this._valuesToRemove != null && this._valuesToRemove.Count > 0;
}
}
}