/*
* 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 neptune-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.Neptune.Model
{
///
/// Contains the details of an Amazon Neptune DB cluster.
///
///
///
/// This data type is used as a response element in the DescribeDBClusters action.
///
///
public partial class DBCluster
{
private int? _allocatedStorage;
private List _associatedRoles = new List();
private DateTime? _automaticRestartTime;
private List _availabilityZones = new List();
private int? _backupRetentionPeriod;
private string _characterSetName;
private string _cloneGroupId;
private DateTime? _clusterCreateTime;
private bool? _copyTagsToSnapshot;
private bool? _crossAccountClone;
private string _databaseName;
private string _dbClusterArn;
private string _dbClusterIdentifier;
private List _dbClusterMembers = new List();
private List _dbClusterOptionGroupMemberships = new List();
private string _dbClusterParameterGroup;
private string _dbClusterResourceId;
private string _dbSubnetGroup;
private bool? _deletionProtection;
private DateTime? _earliestRestorableTime;
private List _enabledCloudwatchLogsExports = new List();
private string _endpoint;
private string _engine;
private string _engineVersion;
private string _globalClusterIdentifier;
private string _hostedZoneId;
private bool? _iamDatabaseAuthenticationEnabled;
private string _kmsKeyId;
private DateTime? _latestRestorableTime;
private string _masterUsername;
private bool? _multiAZ;
private ClusterPendingModifiedValues _pendingModifiedValues;
private string _percentProgress;
private int? _port;
private string _preferredBackupWindow;
private string _preferredMaintenanceWindow;
private string _readerEndpoint;
private List _readReplicaIdentifiers = new List();
private string _replicationSourceIdentifier;
private ServerlessV2ScalingConfigurationInfo _serverlessV2ScalingConfiguration;
private string _status;
private bool? _storageEncrypted;
private List _vpcSecurityGroups = new List();
///
/// Gets and sets the property AllocatedStorage.
///
/// AllocatedStorage
always returns 1, because Neptune DB cluster storage
/// size is not fixed, but instead automatically adjusts as needed.
///
///
public int AllocatedStorage
{
get { return this._allocatedStorage.GetValueOrDefault(); }
set { this._allocatedStorage = value; }
}
// Check to see if AllocatedStorage property is set
internal bool IsSetAllocatedStorage()
{
return this._allocatedStorage.HasValue;
}
///
/// Gets and sets the property AssociatedRoles.
///
/// Provides a list of the Amazon Identity and Access Management (IAM) roles that are
/// associated with the DB cluster. IAM roles that are associated with a DB cluster grant
/// permission for the DB cluster to access other Amazon services on your behalf.
///
///
public List AssociatedRoles
{
get { return this._associatedRoles; }
set { this._associatedRoles = value; }
}
// Check to see if AssociatedRoles property is set
internal bool IsSetAssociatedRoles()
{
return this._associatedRoles != null && this._associatedRoles.Count > 0;
}
///
/// Gets and sets the property AutomaticRestartTime.
///
/// Time at which the DB cluster will be automatically restarted.
///
///
public DateTime AutomaticRestartTime
{
get { return this._automaticRestartTime.GetValueOrDefault(); }
set { this._automaticRestartTime = value; }
}
// Check to see if AutomaticRestartTime property is set
internal bool IsSetAutomaticRestartTime()
{
return this._automaticRestartTime.HasValue;
}
///
/// Gets and sets the property AvailabilityZones.
///
/// Provides the list of EC2 Availability Zones that instances in the DB cluster can be
/// created in.
///
///
public List AvailabilityZones
{
get { return this._availabilityZones; }
set { this._availabilityZones = value; }
}
// Check to see if AvailabilityZones property is set
internal bool IsSetAvailabilityZones()
{
return this._availabilityZones != null && this._availabilityZones.Count > 0;
}
///
/// Gets and sets the property BackupRetentionPeriod.
///
/// Specifies the number of days for which automatic DB snapshots are retained.
///
///
public int BackupRetentionPeriod
{
get { return this._backupRetentionPeriod.GetValueOrDefault(); }
set { this._backupRetentionPeriod = value; }
}
// Check to see if BackupRetentionPeriod property is set
internal bool IsSetBackupRetentionPeriod()
{
return this._backupRetentionPeriod.HasValue;
}
///
/// Gets and sets the property CharacterSetName.
///
/// Not supported by Neptune.
///
///
public string CharacterSetName
{
get { return this._characterSetName; }
set { this._characterSetName = value; }
}
// Check to see if CharacterSetName property is set
internal bool IsSetCharacterSetName()
{
return this._characterSetName != null;
}
///
/// Gets and sets the property CloneGroupId.
///
/// Identifies the clone group to which the DB cluster is associated.
///
///
public string CloneGroupId
{
get { return this._cloneGroupId; }
set { this._cloneGroupId = value; }
}
// Check to see if CloneGroupId property is set
internal bool IsSetCloneGroupId()
{
return this._cloneGroupId != null;
}
///
/// Gets and sets the property ClusterCreateTime.
///
/// Specifies the time when the DB cluster was created, in Universal Coordinated Time
/// (UTC).
///
///
public DateTime ClusterCreateTime
{
get { return this._clusterCreateTime.GetValueOrDefault(); }
set { this._clusterCreateTime = value; }
}
// Check to see if ClusterCreateTime property is set
internal bool IsSetClusterCreateTime()
{
return this._clusterCreateTime.HasValue;
}
///
/// Gets and sets the property CopyTagsToSnapshot.
///
/// If set to true
, tags are copied to any snapshot of the DB cluster
/// that is created.
///
///
public bool CopyTagsToSnapshot
{
get { return this._copyTagsToSnapshot.GetValueOrDefault(); }
set { this._copyTagsToSnapshot = value; }
}
// Check to see if CopyTagsToSnapshot property is set
internal bool IsSetCopyTagsToSnapshot()
{
return this._copyTagsToSnapshot.HasValue;
}
///
/// Gets and sets the property CrossAccountClone.
///
/// If set to true
, the DB cluster can be cloned across accounts.
///
///
public bool CrossAccountClone
{
get { return this._crossAccountClone.GetValueOrDefault(); }
set { this._crossAccountClone = value; }
}
// Check to see if CrossAccountClone property is set
internal bool IsSetCrossAccountClone()
{
return this._crossAccountClone.HasValue;
}
///
/// Gets and sets the property DatabaseName.
///
/// Contains the name of the initial database of this DB cluster that was provided at
/// create time, if one was specified when the DB cluster was created. This same name
/// is returned for the life of the DB cluster.
///
///
public string DatabaseName
{
get { return this._databaseName; }
set { this._databaseName = value; }
}
// Check to see if DatabaseName property is set
internal bool IsSetDatabaseName()
{
return this._databaseName != null;
}
///
/// Gets and sets the property DBClusterArn.
///
/// The Amazon Resource Name (ARN) for the DB cluster.
///
///
public string DBClusterArn
{
get { return this._dbClusterArn; }
set { this._dbClusterArn = value; }
}
// Check to see if DBClusterArn property is set
internal bool IsSetDBClusterArn()
{
return this._dbClusterArn != null;
}
///
/// Gets and sets the property DBClusterIdentifier.
///
/// Contains a user-supplied DB cluster identifier. This identifier is the unique key
/// that identifies a DB cluster.
///
///
public string DBClusterIdentifier
{
get { return this._dbClusterIdentifier; }
set { this._dbClusterIdentifier = value; }
}
// Check to see if DBClusterIdentifier property is set
internal bool IsSetDBClusterIdentifier()
{
return this._dbClusterIdentifier != null;
}
///
/// Gets and sets the property DBClusterMembers.
///
/// Provides the list of instances that make up the DB cluster.
///
///
public List DBClusterMembers
{
get { return this._dbClusterMembers; }
set { this._dbClusterMembers = value; }
}
// Check to see if DBClusterMembers property is set
internal bool IsSetDBClusterMembers()
{
return this._dbClusterMembers != null && this._dbClusterMembers.Count > 0;
}
///
/// Gets and sets the property DBClusterOptionGroupMemberships.
///
/// Not supported by Neptune.
///
///
public List DBClusterOptionGroupMemberships
{
get { return this._dbClusterOptionGroupMemberships; }
set { this._dbClusterOptionGroupMemberships = value; }
}
// Check to see if DBClusterOptionGroupMemberships property is set
internal bool IsSetDBClusterOptionGroupMemberships()
{
return this._dbClusterOptionGroupMemberships != null && this._dbClusterOptionGroupMemberships.Count > 0;
}
///
/// Gets and sets the property DBClusterParameterGroup.
///
/// Specifies the name of the DB cluster parameter group for the DB cluster.
///
///
public string DBClusterParameterGroup
{
get { return this._dbClusterParameterGroup; }
set { this._dbClusterParameterGroup = value; }
}
// Check to see if DBClusterParameterGroup property is set
internal bool IsSetDBClusterParameterGroup()
{
return this._dbClusterParameterGroup != null;
}
///
/// Gets and sets the property DbClusterResourceId.
///
/// The Amazon Region-unique, immutable identifier for the DB cluster. This identifier
/// is found in Amazon CloudTrail log entries whenever the Amazon KMS key for the DB cluster
/// is accessed.
///
///
public string DbClusterResourceId
{
get { return this._dbClusterResourceId; }
set { this._dbClusterResourceId = value; }
}
// Check to see if DbClusterResourceId property is set
internal bool IsSetDbClusterResourceId()
{
return this._dbClusterResourceId != null;
}
///
/// Gets and sets the property DBSubnetGroup.
///
/// Specifies information on the subnet group associated with the DB cluster, including
/// the name, description, and subnets in the subnet group.
///
///
public string DBSubnetGroup
{
get { return this._dbSubnetGroup; }
set { this._dbSubnetGroup = value; }
}
// Check to see if DBSubnetGroup property is set
internal bool IsSetDBSubnetGroup()
{
return this._dbSubnetGroup != null;
}
///
/// Gets and sets the property DeletionProtection.
///
/// Indicates whether or not the DB cluster has deletion protection enabled. The database
/// can't be deleted when deletion protection is enabled.
///
///
public bool DeletionProtection
{
get { return this._deletionProtection.GetValueOrDefault(); }
set { this._deletionProtection = value; }
}
// Check to see if DeletionProtection property is set
internal bool IsSetDeletionProtection()
{
return this._deletionProtection.HasValue;
}
///
/// Gets and sets the property EarliestRestorableTime.
///
/// Specifies the earliest time to which a database can be restored with point-in-time
/// restore.
///
///
public DateTime EarliestRestorableTime
{
get { return this._earliestRestorableTime.GetValueOrDefault(); }
set { this._earliestRestorableTime = value; }
}
// Check to see if EarliestRestorableTime property is set
internal bool IsSetEarliestRestorableTime()
{
return this._earliestRestorableTime.HasValue;
}
///
/// Gets and sets the property EnabledCloudwatchLogsExports.
///
/// A list of log types that this DB cluster is configured to export to CloudWatch Logs.
///
///
public List EnabledCloudwatchLogsExports
{
get { return this._enabledCloudwatchLogsExports; }
set { this._enabledCloudwatchLogsExports = value; }
}
// Check to see if EnabledCloudwatchLogsExports property is set
internal bool IsSetEnabledCloudwatchLogsExports()
{
return this._enabledCloudwatchLogsExports != null && this._enabledCloudwatchLogsExports.Count > 0;
}
///
/// Gets and sets the property Endpoint.
///
/// Specifies the connection endpoint for the primary instance of the DB cluster.
///
///
public string Endpoint
{
get { return this._endpoint; }
set { this._endpoint = value; }
}
// Check to see if Endpoint property is set
internal bool IsSetEndpoint()
{
return this._endpoint != null;
}
///
/// Gets and sets the property Engine.
///
/// Provides the name of the database engine to be used for this DB cluster.
///
///
public string Engine
{
get { return this._engine; }
set { this._engine = value; }
}
// Check to see if Engine property is set
internal bool IsSetEngine()
{
return this._engine != null;
}
///
/// Gets and sets the property EngineVersion.
///
/// Indicates the database engine version.
///
///
public string EngineVersion
{
get { return this._engineVersion; }
set { this._engineVersion = value; }
}
// Check to see if EngineVersion property is set
internal bool IsSetEngineVersion()
{
return this._engineVersion != null;
}
///
/// Gets and sets the property GlobalClusterIdentifier.
///
/// Contains a user-supplied global database cluster identifier. This identifier is the
/// unique key that identifies a global database.
///
///
[AWSProperty(Min=1, Max=255)]
public string GlobalClusterIdentifier
{
get { return this._globalClusterIdentifier; }
set { this._globalClusterIdentifier = value; }
}
// Check to see if GlobalClusterIdentifier property is set
internal bool IsSetGlobalClusterIdentifier()
{
return this._globalClusterIdentifier != null;
}
///
/// Gets and sets the property HostedZoneId.
///
/// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
///
///
public string HostedZoneId
{
get { return this._hostedZoneId; }
set { this._hostedZoneId = value; }
}
// Check to see if HostedZoneId property is set
internal bool IsSetHostedZoneId()
{
return this._hostedZoneId != null;
}
///
/// Gets and sets the property IAMDatabaseAuthenticationEnabled.
///
/// True if mapping of Amazon Identity and Access Management (IAM) accounts to database
/// accounts is enabled, and otherwise false.
///
///
public bool IAMDatabaseAuthenticationEnabled
{
get { return this._iamDatabaseAuthenticationEnabled.GetValueOrDefault(); }
set { this._iamDatabaseAuthenticationEnabled = value; }
}
// Check to see if IAMDatabaseAuthenticationEnabled property is set
internal bool IsSetIAMDatabaseAuthenticationEnabled()
{
return this._iamDatabaseAuthenticationEnabled.HasValue;
}
///
/// Gets and sets the property KmsKeyId.
///
/// If StorageEncrypted
is true, the Amazon KMS key identifier for the encrypted
/// DB cluster.
///
///
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 LatestRestorableTime.
///
/// Specifies the latest time to which a database can be restored with point-in-time restore.
///
///
public DateTime LatestRestorableTime
{
get { return this._latestRestorableTime.GetValueOrDefault(); }
set { this._latestRestorableTime = value; }
}
// Check to see if LatestRestorableTime property is set
internal bool IsSetLatestRestorableTime()
{
return this._latestRestorableTime.HasValue;
}
///
/// Gets and sets the property MasterUsername.
///
/// Not supported by Neptune.
///
///
public string MasterUsername
{
get { return this._masterUsername; }
set { this._masterUsername = value; }
}
// Check to see if MasterUsername property is set
internal bool IsSetMasterUsername()
{
return this._masterUsername != null;
}
///
/// Gets and sets the property MultiAZ.
///
/// Specifies whether the DB cluster has instances in multiple Availability Zones.
///
///
public bool MultiAZ
{
get { return this._multiAZ.GetValueOrDefault(); }
set { this._multiAZ = value; }
}
// Check to see if MultiAZ property is set
internal bool IsSetMultiAZ()
{
return this._multiAZ.HasValue;
}
///
/// Gets and sets the property PendingModifiedValues.
///
/// This data type is used as a response element in the ModifyDBCluster
operation
/// and contains changes that will be applied during the next maintenance window.
///
///
public ClusterPendingModifiedValues PendingModifiedValues
{
get { return this._pendingModifiedValues; }
set { this._pendingModifiedValues = value; }
}
// Check to see if PendingModifiedValues property is set
internal bool IsSetPendingModifiedValues()
{
return this._pendingModifiedValues != null;
}
///
/// Gets and sets the property PercentProgress.
///
/// Specifies the progress of the operation as a percentage.
///
///
public string PercentProgress
{
get { return this._percentProgress; }
set { this._percentProgress = value; }
}
// Check to see if PercentProgress property is set
internal bool IsSetPercentProgress()
{
return this._percentProgress != null;
}
///
/// Gets and sets the property Port.
///
/// Specifies the port that the database engine is listening on.
///
///
public int Port
{
get { return this._port.GetValueOrDefault(); }
set { this._port = value; }
}
// Check to see if Port property is set
internal bool IsSetPort()
{
return this._port.HasValue;
}
///
/// Gets and sets the property PreferredBackupWindow.
///
/// Specifies the daily time range during which automated backups are created if automated
/// backups are enabled, as determined by the BackupRetentionPeriod
.
///
///
public string PreferredBackupWindow
{
get { return this._preferredBackupWindow; }
set { this._preferredBackupWindow = value; }
}
// Check to see if PreferredBackupWindow property is set
internal bool IsSetPreferredBackupWindow()
{
return this._preferredBackupWindow != null;
}
///
/// Gets and sets the property PreferredMaintenanceWindow.
///
/// Specifies the weekly time range during which system maintenance can occur, in Universal
/// Coordinated Time (UTC).
///
///
public string PreferredMaintenanceWindow
{
get { return this._preferredMaintenanceWindow; }
set { this._preferredMaintenanceWindow = value; }
}
// Check to see if PreferredMaintenanceWindow property is set
internal bool IsSetPreferredMaintenanceWindow()
{
return this._preferredMaintenanceWindow != null;
}
///
/// Gets and sets the property ReaderEndpoint.
///
/// The reader endpoint for the DB cluster. The reader endpoint for a DB cluster load-balances
/// connections across the Read Replicas that are available in a DB cluster. As clients
/// request new connections to the reader endpoint, Neptune distributes the connection
/// requests among the Read Replicas in the DB cluster. This functionality can help balance
/// your read workload across multiple Read Replicas in your DB cluster.
///
///
///
/// If a failover occurs, and the Read Replica that you are connected to is promoted to
/// be the primary instance, your connection is dropped. To continue sending your read
/// workload to other Read Replicas in the cluster, you can then reconnect to the reader
/// endpoint.
///
///
public string ReaderEndpoint
{
get { return this._readerEndpoint; }
set { this._readerEndpoint = value; }
}
// Check to see if ReaderEndpoint property is set
internal bool IsSetReaderEndpoint()
{
return this._readerEndpoint != null;
}
///
/// Gets and sets the property ReadReplicaIdentifiers.
///
/// Contains one or more identifiers of the Read Replicas associated with this DB cluster.
///
///
public List ReadReplicaIdentifiers
{
get { return this._readReplicaIdentifiers; }
set { this._readReplicaIdentifiers = value; }
}
// Check to see if ReadReplicaIdentifiers property is set
internal bool IsSetReadReplicaIdentifiers()
{
return this._readReplicaIdentifiers != null && this._readReplicaIdentifiers.Count > 0;
}
///
/// Gets and sets the property ReplicationSourceIdentifier.
///
/// Not supported by Neptune.
///
///
public string ReplicationSourceIdentifier
{
get { return this._replicationSourceIdentifier; }
set { this._replicationSourceIdentifier = value; }
}
// Check to see if ReplicationSourceIdentifier property is set
internal bool IsSetReplicationSourceIdentifier()
{
return this._replicationSourceIdentifier != null;
}
///
/// Gets and sets the property ServerlessV2ScalingConfiguration.
///
public ServerlessV2ScalingConfigurationInfo ServerlessV2ScalingConfiguration
{
get { return this._serverlessV2ScalingConfiguration; }
set { this._serverlessV2ScalingConfiguration = value; }
}
// Check to see if ServerlessV2ScalingConfiguration property is set
internal bool IsSetServerlessV2ScalingConfiguration()
{
return this._serverlessV2ScalingConfiguration != null;
}
///
/// Gets and sets the property Status.
///
/// Specifies the current state of this DB cluster.
///
///
public string Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property StorageEncrypted.
///
/// Specifies whether the DB cluster is encrypted.
///
///
public bool StorageEncrypted
{
get { return this._storageEncrypted.GetValueOrDefault(); }
set { this._storageEncrypted = value; }
}
// Check to see if StorageEncrypted property is set
internal bool IsSetStorageEncrypted()
{
return this._storageEncrypted.HasValue;
}
///
/// Gets and sets the property VpcSecurityGroups.
///
/// Provides a list of VPC security groups that the DB cluster belongs to.
///
///
public List VpcSecurityGroups
{
get { return this._vpcSecurityGroups; }
set { this._vpcSecurityGroups = value; }
}
// Check to see if VpcSecurityGroups property is set
internal bool IsSetVpcSecurityGroups()
{
return this._vpcSecurityGroups != null && this._vpcSecurityGroups.Count > 0;
}
}
}