/* * 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 { /// /// Container for the parameters to the CreateDBInstance operation. /// Creates a new DB instance. /// public partial class CreateDBInstanceRequest : AmazonNeptuneRequest { private int? _allocatedStorage; private bool? _autoMinorVersionUpgrade; private string _availabilityZone; private int? _backupRetentionPeriod; private string _characterSetName; private bool? _copyTagsToSnapshot; private string _dbClusterIdentifier; private string _dbInstanceClass; private string _dbInstanceIdentifier; private string _dbName; private string _dbParameterGroupName; private List _dbSecurityGroups = new List(); private string _dbSubnetGroupName; private bool? _deletionProtection; private string _domain; private string _domainIAMRoleName; private List _enableCloudwatchLogsExports = new List(); private bool? _enableIAMDatabaseAuthentication; private bool? _enablePerformanceInsights; private string _engine; private string _engineVersion; private int? _iops; private string _kmsKeyId; private string _licenseModel; private string _masterUsername; private string _masterUserPassword; private int? _monitoringInterval; private string _monitoringRoleArn; private bool? _multiAZ; private string _optionGroupName; private string _performanceInsightsKMSKeyId; private int? _port; private string _preferredBackupWindow; private string _preferredMaintenanceWindow; private int? _promotionTier; private bool? _publiclyAccessible; private bool? _storageEncrypted; private string _storageType; private List _tags = new List(); private string _tdeCredentialArn; private string _tdeCredentialPassword; private string _timezone; private List _vpcSecurityGroupIds = new List(); /// /// Gets and sets the property AllocatedStorage. /// /// Not supported by Neptune. /// /// 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 AutoMinorVersionUpgrade. /// /// Indicates that minor engine upgrades are applied automatically to the DB instance /// during the maintenance window. /// /// /// /// Default: true /// /// public bool AutoMinorVersionUpgrade { get { return this._autoMinorVersionUpgrade.GetValueOrDefault(); } set { this._autoMinorVersionUpgrade = value; } } // Check to see if AutoMinorVersionUpgrade property is set internal bool IsSetAutoMinorVersionUpgrade() { return this._autoMinorVersionUpgrade.HasValue; } /// /// Gets and sets the property AvailabilityZone. /// /// The EC2 Availability Zone that the DB instance is created in /// /// /// /// Default: A random, system-chosen Availability Zone in the endpoint's Amazon Region. /// /// /// /// Example: us-east-1d /// /// /// /// Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter /// is set to true. The specified Availability Zone must be in the same Amazon /// Region as the current endpoint. /// /// public string AvailabilityZone { get { return this._availabilityZone; } set { this._availabilityZone = value; } } // Check to see if AvailabilityZone property is set internal bool IsSetAvailabilityZone() { return this._availabilityZone != null; } /// /// Gets and sets the property BackupRetentionPeriod. /// /// The number of days for which automated backups are retained. /// /// /// /// Not applicable. The retention period for automated backups is managed by the DB cluster. /// For more information, see CreateDBCluster. /// /// /// /// Default: 1 /// /// /// /// Constraints: /// ///
  • /// /// Must be a value from 0 to 35 /// ///
  • /// /// Cannot be set to 0 if the DB instance is a source to Read Replicas /// ///
///
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 CopyTagsToSnapshot. /// /// True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise /// false. The default is false. /// /// 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 DBClusterIdentifier. /// /// The identifier of the DB cluster that the instance will belong to. /// /// /// /// For information on creating a DB cluster, see CreateDBCluster. /// /// /// /// Type: String /// /// [AWSProperty(Required=true)] 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 DBInstanceClass. /// /// The compute and memory capacity of the DB instance, for example, db.m4.large. /// Not all DB instance classes are available in all Amazon Regions. /// /// [AWSProperty(Required=true)] public string DBInstanceClass { get { return this._dbInstanceClass; } set { this._dbInstanceClass = value; } } // Check to see if DBInstanceClass property is set internal bool IsSetDBInstanceClass() { return this._dbInstanceClass != null; } /// /// Gets and sets the property DBInstanceIdentifier. /// /// The DB instance identifier. This parameter is stored as a lowercase string. /// /// /// /// Constraints: /// ///
  • /// /// Must contain from 1 to 63 letters, numbers, or hyphens. /// ///
  • /// /// First character must be a letter. /// ///
  • /// /// Cannot end with a hyphen or contain two consecutive hyphens. /// ///
/// /// Example: mydbinstance /// ///
[AWSProperty(Required=true)] 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 DBName. /// /// Not supported. /// /// public string DBName { get { return this._dbName; } set { this._dbName = value; } } // Check to see if DBName property is set internal bool IsSetDBName() { return this._dbName != null; } /// /// Gets and sets the property DBParameterGroupName. /// /// The name of the DB parameter group to associate with this DB instance. If this argument /// is omitted, the default DBParameterGroup for the specified engine is used. /// /// /// /// Constraints: /// ///
  • /// /// Must be 1 to 255 letters, numbers, or hyphens. /// ///
  • /// /// First character must be a letter /// ///
  • /// /// Cannot end with a hyphen or contain two consecutive hyphens /// ///
///
public string DBParameterGroupName { get { return this._dbParameterGroupName; } set { this._dbParameterGroupName = value; } } // Check to see if DBParameterGroupName property is set internal bool IsSetDBParameterGroupName() { return this._dbParameterGroupName != null; } /// /// Gets and sets the property DBSecurityGroups. /// /// A list of DB security groups to associate with this DB instance. /// /// /// /// Default: The default DB security group for the database engine. /// /// public List DBSecurityGroups { get { return this._dbSecurityGroups; } set { this._dbSecurityGroups = value; } } // Check to see if DBSecurityGroups property is set internal bool IsSetDBSecurityGroups() { return this._dbSecurityGroups != null && this._dbSecurityGroups.Count > 0; } /// /// Gets and sets the property DBSubnetGroupName. /// /// A DB subnet group to associate with this DB instance. /// /// /// /// If there is no DB subnet group, then it is a non-VPC DB instance. /// /// public string DBSubnetGroupName { get { return this._dbSubnetGroupName; } set { this._dbSubnetGroupName = value; } } // Check to see if DBSubnetGroupName property is set internal bool IsSetDBSubnetGroupName() { return this._dbSubnetGroupName != null; } /// /// Gets and sets the property DeletionProtection. /// /// A value that indicates whether the DB instance has deletion protection enabled. The /// database can't be deleted when deletion protection is enabled. By default, deletion /// protection is disabled. See Deleting /// a DB Instance. /// /// /// /// DB instances in a DB cluster can be deleted even when deletion protection is enabled /// in their parent DB cluster. /// /// 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 Domain. /// /// Specify the Active Directory Domain to create the instance in. /// /// public string Domain { get { return this._domain; } set { this._domain = value; } } // Check to see if Domain property is set internal bool IsSetDomain() { return this._domain != null; } /// /// Gets and sets the property DomainIAMRoleName. /// /// Specify the name of the IAM role to be used when making API calls to the Directory /// Service. /// /// public string DomainIAMRoleName { get { return this._domainIAMRoleName; } set { this._domainIAMRoleName = value; } } // Check to see if DomainIAMRoleName property is set internal bool IsSetDomainIAMRoleName() { return this._domainIAMRoleName != null; } /// /// Gets and sets the property EnableCloudwatchLogsExports. /// /// The list of log types that need to be enabled for exporting to CloudWatch Logs. /// /// public List EnableCloudwatchLogsExports { get { return this._enableCloudwatchLogsExports; } set { this._enableCloudwatchLogsExports = value; } } // Check to see if EnableCloudwatchLogsExports property is set internal bool IsSetEnableCloudwatchLogsExports() { return this._enableCloudwatchLogsExports != null && this._enableCloudwatchLogsExports.Count > 0; } /// /// Gets and sets the property EnableIAMDatabaseAuthentication. /// /// Not supported by Neptune (ignored). /// /// public bool EnableIAMDatabaseAuthentication { get { return this._enableIAMDatabaseAuthentication.GetValueOrDefault(); } set { this._enableIAMDatabaseAuthentication = value; } } // Check to see if EnableIAMDatabaseAuthentication property is set internal bool IsSetEnableIAMDatabaseAuthentication() { return this._enableIAMDatabaseAuthentication.HasValue; } /// /// Gets and sets the property EnablePerformanceInsights. /// /// (Not supported by Neptune) /// /// public bool EnablePerformanceInsights { get { return this._enablePerformanceInsights.GetValueOrDefault(); } set { this._enablePerformanceInsights = value; } } // Check to see if EnablePerformanceInsights property is set internal bool IsSetEnablePerformanceInsights() { return this._enablePerformanceInsights.HasValue; } /// /// Gets and sets the property Engine. /// /// The name of the database engine to be used for this instance. /// /// /// /// Valid Values: neptune /// /// [AWSProperty(Required=true)] 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. /// /// The version number of the database engine to use. Currently, setting this parameter /// has no effect. /// /// 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 Iops. /// /// The amount of Provisioned IOPS (input/output operations per second) to be initially /// allocated for the DB instance. /// /// public int Iops { get { return this._iops.GetValueOrDefault(); } set { this._iops = value; } } // Check to see if Iops property is set internal bool IsSetIops() { return this._iops.HasValue; } /// /// Gets and sets the property KmsKeyId. /// /// The Amazon KMS key identifier for an encrypted DB instance. /// /// /// /// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. /// If you are creating a DB instance with the same Amazon account that owns the KMS encryption /// key used to encrypt the new DB instance, then you can use the KMS key alias instead /// of the ARN for the KM encryption key. /// /// /// /// Not applicable. The KMS key identifier is managed by the DB cluster. For more information, /// see CreateDBCluster. /// /// /// /// If the StorageEncrypted parameter is true, and you do not specify a value /// for the KmsKeyId parameter, then Amazon Neptune will use your default /// encryption key. Amazon KMS creates the default encryption key for your Amazon account. /// Your Amazon account has a different default encryption key for each Amazon Region. /// /// 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 LicenseModel. /// /// License model information for this DB instance. /// /// /// /// Valid values: license-included | bring-your-own-license /// | general-public-license /// /// public string LicenseModel { get { return this._licenseModel; } set { this._licenseModel = value; } } // Check to see if LicenseModel property is set internal bool IsSetLicenseModel() { return this._licenseModel != null; } /// /// 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 MasterUserPassword. /// /// Not supported by Neptune. /// /// public string MasterUserPassword { get { return this._masterUserPassword; } set { this._masterUserPassword = value; } } // Check to see if MasterUserPassword property is set internal bool IsSetMasterUserPassword() { return this._masterUserPassword != null; } /// /// Gets and sets the property MonitoringInterval. /// /// The interval, in seconds, between points when Enhanced Monitoring metrics are collected /// for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. /// The default is 0. /// /// /// /// If MonitoringRoleArn is specified, then you must also set MonitoringInterval /// to a value other than 0. /// /// /// /// Valid Values: 0, 1, 5, 10, 15, 30, 60 /// /// public int MonitoringInterval { get { return this._monitoringInterval.GetValueOrDefault(); } set { this._monitoringInterval = value; } } // Check to see if MonitoringInterval property is set internal bool IsSetMonitoringInterval() { return this._monitoringInterval.HasValue; } /// /// Gets and sets the property MonitoringRoleArn. /// /// The ARN for the IAM role that permits Neptune to send enhanced monitoring metrics /// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. /// /// /// /// If MonitoringInterval is set to a value other than 0, then you must supply /// a MonitoringRoleArn value. /// /// public string MonitoringRoleArn { get { return this._monitoringRoleArn; } set { this._monitoringRoleArn = value; } } // Check to see if MonitoringRoleArn property is set internal bool IsSetMonitoringRoleArn() { return this._monitoringRoleArn != null; } /// /// Gets and sets the property MultiAZ. /// /// Specifies if the DB instance is a Multi-AZ deployment. You can't set the AvailabilityZone /// parameter if the MultiAZ parameter is set to true. /// /// 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 OptionGroupName. /// /// (Not supported by Neptune) /// /// public string OptionGroupName { get { return this._optionGroupName; } set { this._optionGroupName = value; } } // Check to see if OptionGroupName property is set internal bool IsSetOptionGroupName() { return this._optionGroupName != null; } /// /// Gets and sets the property PerformanceInsightsKMSKeyId. /// /// (Not supported by Neptune) /// /// public string PerformanceInsightsKMSKeyId { get { return this._performanceInsightsKMSKeyId; } set { this._performanceInsightsKMSKeyId = value; } } // Check to see if PerformanceInsightsKMSKeyId property is set internal bool IsSetPerformanceInsightsKMSKeyId() { return this._performanceInsightsKMSKeyId != null; } /// /// Gets and sets the property Port. /// /// The port number on which the database accepts connections. /// /// /// /// Not applicable. The port is managed by the DB cluster. For more information, see CreateDBCluster. /// /// /// /// Default: 8182 /// /// /// /// Type: Integer /// /// 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. /// /// The daily time range during which automated backups are created. /// /// /// /// Not applicable. The daily time range for creating automated backups is managed by /// the DB cluster. For more information, see CreateDBCluster. /// /// 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. /// /// The time range each week during which system maintenance can occur, in Universal Coordinated /// Time (UTC). /// /// /// /// Format: ddd:hh24:mi-ddd:hh24:mi /// /// /// /// The default is a 30-minute window selected at random from an 8-hour block of time /// for each Amazon Region, occurring on a random day of the week. /// /// /// /// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. /// /// /// /// Constraints: Minimum 30-minute window. /// /// 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 PromotionTier. /// /// A value that specifies the order in which an Read Replica is promoted to the primary /// instance after a failure of the existing primary instance. /// /// /// /// Default: 1 /// /// /// /// Valid Values: 0 - 15 /// /// public int PromotionTier { get { return this._promotionTier.GetValueOrDefault(); } set { this._promotionTier = value; } } // Check to see if PromotionTier property is set internal bool IsSetPromotionTier() { return this._promotionTier.HasValue; } /// /// Gets and sets the property PubliclyAccessible. /// /// This flag should no longer be used. /// /// [Obsolete("This parameter is not supported")] public bool PubliclyAccessible { get { return this._publiclyAccessible.GetValueOrDefault(); } set { this._publiclyAccessible = value; } } // Check to see if PubliclyAccessible property is set internal bool IsSetPubliclyAccessible() { return this._publiclyAccessible.HasValue; } /// /// Gets and sets the property StorageEncrypted. /// /// Specifies whether the DB instance is encrypted. /// /// /// /// Not applicable. The encryption for DB instances is managed by the DB cluster. For /// more information, see CreateDBCluster. /// /// /// /// Default: false /// /// 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 StorageType. /// /// Specifies the storage type to be associated with the DB instance. /// /// /// /// Not applicable. Storage is managed by the DB Cluster. /// /// public string StorageType { get { return this._storageType; } set { this._storageType = value; } } // Check to see if StorageType property is set internal bool IsSetStorageType() { return this._storageType != null; } /// /// Gets and sets the property Tags. /// /// The tags to assign to the new instance. /// /// public List Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } /// /// Gets and sets the property TdeCredentialArn. /// /// The ARN from the key store with which to associate the instance for TDE encryption. /// /// public string TdeCredentialArn { get { return this._tdeCredentialArn; } set { this._tdeCredentialArn = value; } } // Check to see if TdeCredentialArn property is set internal bool IsSetTdeCredentialArn() { return this._tdeCredentialArn != null; } /// /// Gets and sets the property TdeCredentialPassword. /// /// The password for the given ARN from the key store in order to access the device. /// /// public string TdeCredentialPassword { get { return this._tdeCredentialPassword; } set { this._tdeCredentialPassword = value; } } // Check to see if TdeCredentialPassword property is set internal bool IsSetTdeCredentialPassword() { return this._tdeCredentialPassword != null; } /// /// Gets and sets the property Timezone. /// /// The time zone of the DB instance. /// /// public string Timezone { get { return this._timezone; } set { this._timezone = value; } } // Check to see if Timezone property is set internal bool IsSetTimezone() { return this._timezone != null; } /// /// Gets and sets the property VpcSecurityGroupIds. /// /// A list of EC2 VPC security groups to associate with this DB instance. /// /// /// /// Not applicable. The associated list of EC2 VPC security groups is managed by the DB /// cluster. For more information, see CreateDBCluster. /// /// /// /// Default: The default EC2 VPC security group for the DB subnet group's VPC. /// /// public List VpcSecurityGroupIds { get { return this._vpcSecurityGroupIds; } set { this._vpcSecurityGroupIds = value; } } // Check to see if VpcSecurityGroupIds property is set internal bool IsSetVpcSecurityGroupIds() { return this._vpcSecurityGroupIds != null && this._vpcSecurityGroupIds.Count > 0; } } }