/*
* 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 accessanalyzer-2019-11-01.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.AccessAnalyzer.Model
{
///
/// The proposed access control configuration for an Amazon EBS volume snapshot. You can
/// propose a configuration for a new Amazon EBS volume snapshot or an Amazon EBS volume
/// snapshot that you own by specifying the user IDs, groups, and optional KMS encryption
/// key. For more information, see ModifySnapshotAttribute.
///
public partial class EbsSnapshotConfiguration
{
private List _groups = new List();
private string _kmsKeyId;
private List _userIds = new List();
///
/// Gets and sets the property Groups.
///
/// The groups that have access to the Amazon EBS volume snapshot. If the value all
/// is specified, then the Amazon EBS volume snapshot is public.
///
/// -
///
/// If the configuration is for an existing Amazon EBS volume snapshot and you do not
/// specify the
groups
, then the access preview uses the existing shared
/// groups
for the snapshot.
///
/// -
///
/// If the access preview is for a new resource and you do not specify the
groups
,
/// then the access preview considers the snapshot without any groups
.
///
/// -
///
/// To propose deletion of existing shared
groups
, you can specify an empty
/// list for groups
.
///
///
///
public List Groups
{
get { return this._groups; }
set { this._groups = value; }
}
// Check to see if Groups property is set
internal bool IsSetGroups()
{
return this._groups != null && this._groups.Count > 0;
}
///
/// Gets and sets the property KmsKeyId.
///
/// The KMS key identifier for an encrypted Amazon EBS volume snapshot. The KMS key identifier
/// is the key ARN, key ID, alias ARN, or alias name for the KMS key.
///
/// -
///
/// If the configuration is for an existing Amazon EBS volume snapshot and you do not
/// specify the
kmsKeyId
, or you specify an empty string, then the access
/// preview uses the existing kmsKeyId
of the snapshot.
///
/// -
///
/// If the access preview is for a new resource and you do not specify the
kmsKeyId
,
/// the access preview considers the snapshot as unencrypted.
///
///
///
public string KmsKeyId
{
get { return this._kmsKeyId; }
set { this._kmsKeyId = value; }
}
// Check to see if KmsKeyId property is set
internal bool IsSetKmsKeyId()
{
return this._kmsKeyId != null;
}
///
/// Gets and sets the property UserIds.
///
/// The IDs of the Amazon Web Services accounts that have access to the Amazon EBS volume
/// snapshot.
///
/// -
///
/// If the configuration is for an existing Amazon EBS volume snapshot and you do not
/// specify the
userIds
, then the access preview uses the existing shared
/// userIds
for the snapshot.
///
/// -
///
/// If the access preview is for a new resource and you do not specify the
userIds
,
/// then the access preview considers the snapshot without any userIds
.
///
/// -
///
/// To propose deletion of existing shared
accountIds
, you can specify an
/// empty list for userIds
.
///
///
///
public List UserIds
{
get { return this._userIds; }
set { this._userIds = value; }
}
// Check to see if UserIds property is set
internal bool IsSetUserIds()
{
return this._userIds != null && this._userIds.Count > 0;
}
}
}