/*
* 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 ModifyDBCluster operation.
/// Modify a setting for a DB cluster. You can change one or more database configuration
/// parameters by specifying these parameters and the new values in the request.
///
public partial class ModifyDBClusterRequest : AmazonNeptuneRequest
{
private bool? _allowMajorVersionUpgrade;
private bool? _applyImmediately;
private int? _backupRetentionPeriod;
private CloudwatchLogsExportConfiguration _cloudwatchLogsExportConfiguration;
private bool? _copyTagsToSnapshot;
private string _dbClusterIdentifier;
private string _dbClusterParameterGroupName;
private string _dbInstanceParameterGroupName;
private bool? _deletionProtection;
private bool? _enableIAMDatabaseAuthentication;
private string _engineVersion;
private string _masterUserPassword;
private string _newDBClusterIdentifier;
private string _optionGroupName;
private int? _port;
private string _preferredBackupWindow;
private string _preferredMaintenanceWindow;
private ServerlessV2ScalingConfiguration _serverlessV2ScalingConfiguration;
private List _vpcSecurityGroupIds = new List();
///
/// Gets and sets the property AllowMajorVersionUpgrade.
///
/// A value that indicates whether upgrades between different major versions are allowed.
///
///
///
/// Constraints: You must set the allow-major-version-upgrade flag when providing an EngineVersion
/// parameter that uses a different major version than the DB cluster's current version.
///
///
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.
///
/// A value that 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 cluster. If this parameter is set to false
, changes
/// to the DB cluster are applied during the next maintenance window.
///
///
///
/// The ApplyImmediately
parameter only affects NewDBClusterIdentifier
/// values. If you set the ApplyImmediately
parameter value to false, then
/// changes to NewDBClusterIdentifier
values are applied during the next
/// maintenance window. All other changes are applied immediately, regardless of the value
/// of the ApplyImmediately
parameter.
///
///
///
/// 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 BackupRetentionPeriod.
///
/// The number of days for which automated backups are retained. You must specify a minimum
/// value of 1.
///
///
///
/// Default: 1
///
///
///
/// Constraints:
///
/// -
///
/// Must be a value from 1 to 35
///
///
///
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 CloudwatchLogsExportConfiguration.
///
/// The configuration setting for the log types to be enabled for export to CloudWatch
/// Logs for a specific 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.
///
/// 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 DBClusterIdentifier.
///
/// The DB cluster identifier for the cluster being modified. This parameter is not case-sensitive.
///
///
///
/// Constraints:
///
/// -
///
/// Must match the identifier of an existing DBCluster.
///
///
///
[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 DBClusterParameterGroupName.
///
/// The name of the DB cluster parameter group to use for the DB cluster.
///
///
public string DBClusterParameterGroupName
{
get { return this._dbClusterParameterGroupName; }
set { this._dbClusterParameterGroupName = value; }
}
// Check to see if DBClusterParameterGroupName property is set
internal bool IsSetDBClusterParameterGroupName()
{
return this._dbClusterParameterGroupName != null;
}
///
/// Gets and sets the property DBInstanceParameterGroupName.
///
/// The name of the DB parameter group to apply to all instances of the DB cluster.
///
///
///
/// When you apply a parameter group using DBInstanceParameterGroupName
,
/// parameter changes aren't applied during the next maintenance window but instead are
/// applied immediately.
///
///
///
/// Default: The existing name setting
///
///
///
/// Constraints:
///
/// -
///
/// The DB parameter group must be in the same DB parameter group family as the target
/// DB cluster version.
///
///
-
///
/// The
DBInstanceParameterGroupName
parameter is only valid in combination
/// with the AllowMajorVersionUpgrade
parameter.
///
///
///
public string DBInstanceParameterGroupName
{
get { return this._dbInstanceParameterGroupName; }
set { this._dbInstanceParameterGroupName = value; }
}
// Check to see if DBInstanceParameterGroupName property is set
internal bool IsSetDBInstanceParameterGroupName()
{
return this._dbInstanceParameterGroupName != null;
}
///
/// Gets and sets the property DeletionProtection.
///
/// A value that indicates whether the DB cluster has deletion protection enabled. The
/// database can't be deleted when deletion protection is enabled. By default, deletion
/// protection is disabled.
///
///
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 EnableIAMDatabaseAuthentication.
///
/// True to enable mapping of Amazon Identity and Access Management (IAM) accounts to
/// database accounts, and otherwise false.
///
///
///
/// 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 EngineVersion.
///
/// The version number of the database engine to which you want to upgrade. Changing this
/// parameter results in an outage. The change is applied during the next maintenance
/// window unless the ApplyImmediately
parameter is set to true.
///
///
///
/// For a list of valid engine versions, see Engine
/// Releases for Amazon Neptune, or call DescribeDBEngineVersions.
///
///
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 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 NewDBClusterIdentifier.
///
/// The new DB cluster identifier for the DB cluster when renaming a DB cluster. 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: my-cluster2
///
///
public string NewDBClusterIdentifier
{
get { return this._newDBClusterIdentifier; }
set { this._newDBClusterIdentifier = value; }
}
// Check to see if NewDBClusterIdentifier property is set
internal bool IsSetNewDBClusterIdentifier()
{
return this._newDBClusterIdentifier != 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 Port.
///
/// The port number on which the DB cluster accepts connections.
///
///
///
/// Constraints: Value must be 1150-65535
///
///
///
/// Default: The same port as the original DB cluster.
///
///
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 if automated backups
/// are enabled, using the BackupRetentionPeriod
parameter.
///
///
///
/// The default is a 30-minute window selected at random from an 8-hour block of time
/// for each Amazon Region.
///
///
///
/// Constraints:
///
/// -
///
/// Must be in the format
hh24:mi-hh24:mi
.
///
/// -
///
/// Must be in Universal Coordinated Time (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 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 ServerlessV2ScalingConfiguration.
///
public ServerlessV2ScalingConfiguration 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 VpcSecurityGroupIds.
///
/// A list of VPC security groups that the DB cluster will belong to.
///
///
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;
}
}
}