/*
* 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 ModifyDBInstance operation.
/// Modifies settings for a DB instance. You can change one or more database configuration
/// parameters by specifying these parameters and the new values in the request. To learn
/// what modifications you can make to your DB instance, call DescribeValidDBInstanceModifications
/// before you call ModifyDBInstance.
///
public partial class ModifyDBInstanceRequest : AmazonNeptuneRequest
{
private int? _allocatedStorage;
private bool? _allowMajorVersionUpgrade;
private bool? _applyImmediately;
private bool? _autoMinorVersionUpgrade;
private int? _backupRetentionPeriod;
private string _caCertificateIdentifier;
private CloudwatchLogsExportConfiguration _cloudwatchLogsExportConfiguration;
private bool? _copyTagsToSnapshot;
private string _dbInstanceClass;
private string _dbInstanceIdentifier;
private string _dbParameterGroupName;
private int? _dbPortNumber;
private List _dbSecurityGroups = new List();
private string _dbSubnetGroupName;
private bool? _deletionProtection;
private string _domain;
private string _domainIAMRoleName;
private bool? _enableIAMDatabaseAuthentication;
private bool? _enablePerformanceInsights;
private string _engineVersion;
private int? _iops;
private string _licenseModel;
private string _masterUserPassword;
private int? _monitoringInterval;
private string _monitoringRoleArn;
private bool? _multiAZ;
private string _newDBInstanceIdentifier;
private string _optionGroupName;
private string _performanceInsightsKMSKeyId;
private string _preferredBackupWindow;
private string _preferredMaintenanceWindow;
private int? _promotionTier;
private bool? _publiclyAccessible;
private string _storageType;
private string _tdeCredentialArn;
private string _tdeCredentialPassword;
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 AllowMajorVersionUpgrade.
///
/// Indicates that major version upgrades are allowed. Changing this parameter doesn't
/// result in an outage and the change is asynchronously applied as soon as possible.
///
///
public bool AllowMajorVersionUpgrade
{
get { return this._allowMajorVersionUpgrade.GetValueOrDefault(); }
set { this._allowMajorVersionUpgrade = value; }
}
// Check to see if AllowMajorVersionUpgrade property is set
internal bool IsSetAllowMajorVersionUpgrade()
{
return this._allowMajorVersionUpgrade.HasValue;
}
///
/// Gets and sets the property ApplyImmediately.
///
/// Specifies whether the modifications in this request and any pending modifications
/// are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow
/// setting for the DB instance.
///
///
///
/// If this parameter is set to false
, changes to the DB instance are applied
/// during the next maintenance window. Some parameter changes can cause an outage and
/// are applied on the next call to RebootDBInstance, or the next failure reboot.
///
///
///
/// Default: false
///
///
public bool ApplyImmediately
{
get { return this._applyImmediately.GetValueOrDefault(); }
set { this._applyImmediately = value; }
}
// Check to see if ApplyImmediately property is set
internal bool IsSetApplyImmediately()
{
return this._applyImmediately.HasValue;
}
///
/// Gets and sets the property AutoMinorVersionUpgrade.
///
/// Indicates that minor version upgrades are applied automatically to the DB instance
/// during the maintenance window. Changing this parameter doesn't result in an outage
/// except in the following case and the change is asynchronously applied as soon as possible.
/// An outage will result if this parameter is set to true
during the maintenance
/// window, and a newer minor version is available, and Neptune has enabled auto patching
/// for that engine version.
///
///
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 BackupRetentionPeriod.
///
/// Not applicable. The retention period for automated backups is managed by the DB cluster.
/// For more information, see ModifyDBCluster.
///
///
///
/// Default: Uses existing setting
///
///
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 CACertificateIdentifier.
///
/// Indicates the certificate that needs to be associated with the instance.
///
///
public string CACertificateIdentifier
{
get { return this._caCertificateIdentifier; }
set { this._caCertificateIdentifier = value; }
}
// Check to see if CACertificateIdentifier property is set
internal bool IsSetCACertificateIdentifier()
{
return this._caCertificateIdentifier != null;
}
///
/// Gets and sets the property CloudwatchLogsExportConfiguration.
///
/// The configuration setting for the log types to be enabled for export to CloudWatch
/// Logs for a specific DB instance or DB cluster.
///
///
public CloudwatchLogsExportConfiguration CloudwatchLogsExportConfiguration
{
get { return this._cloudwatchLogsExportConfiguration; }
set { this._cloudwatchLogsExportConfiguration = value; }
}
// Check to see if CloudwatchLogsExportConfiguration property is set
internal bool IsSetCloudwatchLogsExportConfiguration()
{
return this._cloudwatchLogsExportConfiguration != 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 DBInstanceClass.
///
/// The new compute and memory capacity of the DB instance, for example, db.m4.large
.
/// Not all DB instance classes are available in all Amazon Regions.
///
///
///
/// If you modify the DB instance class, an outage occurs during the change. The change
/// is applied during the next maintenance window, unless ApplyImmediately
/// is specified as true
for this request.
///
///
///
/// Default: Uses existing setting
///
///
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 value is stored as a lowercase string.
///
///
///
/// Constraints:
///
/// -
///
/// Must match the identifier of an existing DBInstance.
///
///
///
[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 DBParameterGroupName.
///
/// The name of the DB parameter group to apply to the DB instance. Changing this setting
/// doesn't result in an outage. The parameter group name itself is changed immediately,
/// but the actual parameter changes are not applied until you reboot the instance without
/// failover. The db instance will NOT be rebooted automatically and the parameter changes
/// will NOT be applied during the next maintenance window.
///
///
///
/// Default: Uses existing setting
///
///
///
/// Constraints: The DB parameter group must be in the same DB parameter group family
/// as this DB instance.
///
///
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 DBPortNumber.
///
/// The port number on which the database accepts connections.
///
///
///
/// The value of the DBPortNumber
parameter must not match any of the port
/// values specified for options in the option group for the DB instance.
///
///
///
/// Your database will restart when you change the DBPortNumber
value regardless
/// of the value of the ApplyImmediately
parameter.
///
///
///
/// Default: 8182
///
///
public int DBPortNumber
{
get { return this._dbPortNumber.GetValueOrDefault(); }
set { this._dbPortNumber = value; }
}
// Check to see if DBPortNumber property is set
internal bool IsSetDBPortNumber()
{
return this._dbPortNumber.HasValue;
}
///
/// Gets and sets the property DBSecurityGroups.
///
/// A list of DB security groups to authorize on this DB instance. Changing this setting
/// doesn't result in an outage and the change is asynchronously applied as soon as possible.
///
///
///
/// Constraints:
///
/// -
///
/// If supplied, must match existing DBSecurityGroups.
///
///
///
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.
///
/// The new DB subnet group for the DB instance. You can use this parameter to move your
/// DB instance to a different VPC.
///
///
///
/// Changing the subnet group causes an outage during the change. The change is applied
/// during the next maintenance window, unless you specify true
for the ApplyImmediately
/// parameter.
///
///
///
/// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
///
///
///
/// Example: mySubnetGroup
///
///
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.
///
///
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.
///
/// Not supported.
///
///
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.
///
/// Not supported
///
///
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 EnableIAMDatabaseAuthentication.
///
/// True to enable mapping of Amazon Identity and Access Management (IAM) accounts to
/// database accounts, and otherwise false.
///
///
///
/// You can enable IAM database authentication for the following database engines
///
///
///
/// Not applicable. Mapping Amazon IAM accounts to database accounts is managed by the
/// DB cluster. For more information, see ModifyDBCluster.
///
///
///
/// Default: false
///
///
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 EngineVersion.
///
/// The version number of the database engine to upgrade to. Currently, setting this parameter
/// has no effect. To upgrade your database engine to the most recent release, use the
/// ApplyPendingMaintenanceAction API.
///
///
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 new Provisioned IOPS (I/O operations per second) value for the instance.
///
///
///
/// Changing this setting doesn't result in an outage and the change is applied during
/// the next maintenance window unless the ApplyImmediately
parameter is
/// set to true
for this request.
///
///
///
/// Default: Uses existing setting
///
///
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 LicenseModel.
///
/// Not supported by Neptune.
///
///
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 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. Changing this parameter doesn't
/// result in an outage and the change is applied during the next maintenance window unless
/// the ApplyImmediately
parameter is set to true
for this request.
///
///
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 NewDBInstanceIdentifier.
///
/// The new DB instance identifier for the DB instance when renaming a DB instance. When
/// you change the DB instance identifier, an instance reboot will occur immediately if
/// you set Apply Immediately
to true, or will occur during the next maintenance
/// window if Apply Immediately
to false. This value is stored as a lowercase
/// string.
///
///
///
/// Constraints:
///
/// -
///
/// Must contain from 1 to 63 letters, numbers, or hyphens.
///
///
-
///
/// The first character must be a letter.
///
///
-
///
/// Cannot end with a hyphen or contain two consecutive hyphens.
///
///
///
/// Example: mydbinstance
///
///
public string NewDBInstanceIdentifier
{
get { return this._newDBInstanceIdentifier; }
set { this._newDBInstanceIdentifier = value; }
}
// Check to see if NewDBInstanceIdentifier property is set
internal bool IsSetNewDBInstanceIdentifier()
{
return this._newDBInstanceIdentifier != null;
}
///
/// 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 PreferredBackupWindow.
///
/// The daily time range during which automated backups are created if automated backups
/// are enabled.
///
///
///
/// Not applicable. The daily time range for creating automated backups is managed by
/// the DB cluster. For more information, see ModifyDBCluster.
///
///
///
/// Constraints:
///
/// -
///
/// Must be in the format hh24:mi-hh24:mi
///
///
-
///
/// Must be in Universal Time Coordinated (UTC)
///
///
-
///
/// Must not conflict with the preferred maintenance window
///
///
-
///
/// Must be at least 30 minutes
///
///
///
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 weekly time range (in UTC) during which system maintenance can occur, which might
/// result in an outage. Changing this parameter doesn't result in an outage, except in
/// the following situation, and the change is asynchronously applied as soon as possible.
/// If there are pending actions that cause a reboot, and the maintenance window is changed
/// to include the current time, then changing this parameter will cause a reboot of the
/// DB instance. If moving this window to the current time, there must be at least 30
/// minutes between the current time and end of the window to ensure pending changes are
/// applied.
///
///
///
/// Default: Uses existing setting
///
///
///
/// Format: ddd:hh24:mi-ddd:hh24:mi
///
///
///
/// Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
///
///
///
/// Constraints: Must be at least 30 minutes
///
///
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 a 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 StorageType.
///
/// Not supported.
///
///
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 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 VpcSecurityGroupIds.
///
/// A list of EC2 VPC security groups to authorize on this DB instance. This change is
/// asynchronously applied as soon as possible.
///
///
///
/// Not applicable. The associated list of EC2 VPC security groups is managed by the DB
/// cluster. For more information, see ModifyDBCluster.
///
///
///
/// Constraints:
///
/// -
///
/// If supplied, must match existing VpcSecurityGroupIds.
///
///
///
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;
}
}
}