/*
* 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
{
///
/// Access control configuration structures for your resource. You specify the configuration
/// as a type-value pair. You can specify only one type of access control configuration.
///
public partial class Configuration
{
private EbsSnapshotConfiguration _ebsSnapshot;
private EcrRepositoryConfiguration _ecrRepository;
private EfsFileSystemConfiguration _efsFileSystem;
private IamRoleConfiguration _iamRole;
private KmsKeyConfiguration _kmsKey;
private RdsDbClusterSnapshotConfiguration _rdsDbClusterSnapshot;
private RdsDbSnapshotConfiguration _rdsDbSnapshot;
private S3BucketConfiguration _s3Bucket;
private SecretsManagerSecretConfiguration _secretsManagerSecret;
private SnsTopicConfiguration _snsTopic;
private SqsQueueConfiguration _sqsQueue;
///
/// Gets and sets the property EbsSnapshot.
///
/// The access control configuration is for an Amazon EBS volume snapshot.
///
///
public EbsSnapshotConfiguration EbsSnapshot
{
get { return this._ebsSnapshot; }
set { this._ebsSnapshot = value; }
}
// Check to see if EbsSnapshot property is set
internal bool IsSetEbsSnapshot()
{
return this._ebsSnapshot != null;
}
///
/// Gets and sets the property EcrRepository.
///
/// The access control configuration is for an Amazon ECR repository.
///
///
public EcrRepositoryConfiguration EcrRepository
{
get { return this._ecrRepository; }
set { this._ecrRepository = value; }
}
// Check to see if EcrRepository property is set
internal bool IsSetEcrRepository()
{
return this._ecrRepository != null;
}
///
/// Gets and sets the property EfsFileSystem.
///
/// The access control configuration is for an Amazon EFS file system.
///
///
public EfsFileSystemConfiguration EfsFileSystem
{
get { return this._efsFileSystem; }
set { this._efsFileSystem = value; }
}
// Check to see if EfsFileSystem property is set
internal bool IsSetEfsFileSystem()
{
return this._efsFileSystem != null;
}
///
/// Gets and sets the property IamRole.
///
/// The access control configuration is for an IAM role.
///
///
public IamRoleConfiguration IamRole
{
get { return this._iamRole; }
set { this._iamRole = value; }
}
// Check to see if IamRole property is set
internal bool IsSetIamRole()
{
return this._iamRole != null;
}
///
/// Gets and sets the property KmsKey.
///
/// The access control configuration is for a KMS key.
///
///
public KmsKeyConfiguration KmsKey
{
get { return this._kmsKey; }
set { this._kmsKey = value; }
}
// Check to see if KmsKey property is set
internal bool IsSetKmsKey()
{
return this._kmsKey != null;
}
///
/// Gets and sets the property RdsDbClusterSnapshot.
///
/// The access control configuration is for an Amazon RDS DB cluster snapshot.
///
///
public RdsDbClusterSnapshotConfiguration RdsDbClusterSnapshot
{
get { return this._rdsDbClusterSnapshot; }
set { this._rdsDbClusterSnapshot = value; }
}
// Check to see if RdsDbClusterSnapshot property is set
internal bool IsSetRdsDbClusterSnapshot()
{
return this._rdsDbClusterSnapshot != null;
}
///
/// Gets and sets the property RdsDbSnapshot.
///
/// The access control configuration is for an Amazon RDS DB snapshot.
///
///
public RdsDbSnapshotConfiguration RdsDbSnapshot
{
get { return this._rdsDbSnapshot; }
set { this._rdsDbSnapshot = value; }
}
// Check to see if RdsDbSnapshot property is set
internal bool IsSetRdsDbSnapshot()
{
return this._rdsDbSnapshot != null;
}
///
/// Gets and sets the property S3Bucket.
///
/// The access control configuration is for an Amazon S3 Bucket.
///
///
public S3BucketConfiguration S3Bucket
{
get { return this._s3Bucket; }
set { this._s3Bucket = value; }
}
// Check to see if S3Bucket property is set
internal bool IsSetS3Bucket()
{
return this._s3Bucket != null;
}
///
/// Gets and sets the property SecretsManagerSecret.
///
/// The access control configuration is for a Secrets Manager secret.
///
///
public SecretsManagerSecretConfiguration SecretsManagerSecret
{
get { return this._secretsManagerSecret; }
set { this._secretsManagerSecret = value; }
}
// Check to see if SecretsManagerSecret property is set
internal bool IsSetSecretsManagerSecret()
{
return this._secretsManagerSecret != null;
}
///
/// Gets and sets the property SnsTopic.
///
/// The access control configuration is for an Amazon SNS topic
///
///
public SnsTopicConfiguration SnsTopic
{
get { return this._snsTopic; }
set { this._snsTopic = value; }
}
// Check to see if SnsTopic property is set
internal bool IsSetSnsTopic()
{
return this._snsTopic != null;
}
///
/// Gets and sets the property SqsQueue.
///
/// The access control configuration is for an Amazon SQS queue.
///
///
public SqsQueueConfiguration SqsQueue
{
get { return this._sqsQueue; }
set { this._sqsQueue = value; }
}
// Check to see if SqsQueue property is set
internal bool IsSetSqsQueue()
{
return this._sqsQueue != null;
}
}
}