/*******************************************************************************
* Copyright 2012-2019 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.
* *****************************************************************************
*
* AWS Tools for Windows (TM) PowerShell (TM)
*
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Management.Automation;
using System.Text;
using Amazon.PowerShell.Common;
using Amazon.Runtime;
using Amazon.RDS;
using Amazon.RDS.Model;
namespace Amazon.PowerShell.Cmdlets.RDS
{
///
/// Modifies the settings of an Amazon Aurora DB cluster or a Multi-AZ DB cluster. You
/// can change one or more settings by specifying these parameters and the new values
/// in the request.
///
///
///
/// For more information on Amazon Aurora DB clusters, see
/// What is Amazon Aurora? in the Amazon Aurora User Guide.
///
/// For more information on Multi-AZ DB clusters, see
/// Multi-AZ DB cluster deployments in the Amazon RDS User Guide.
///
///
[Cmdlet("Edit", "RDSDBCluster", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)]
[OutputType("Amazon.RDS.Model.DBCluster")]
[AWSCmdlet("Calls the Amazon Relational Database Service ModifyDBCluster API operation.", Operation = new[] {"ModifyDBCluster"}, SelectReturnType = typeof(Amazon.RDS.Model.ModifyDBClusterResponse))]
[AWSCmdletOutput("Amazon.RDS.Model.DBCluster or Amazon.RDS.Model.ModifyDBClusterResponse",
"This cmdlet returns an Amazon.RDS.Model.DBCluster object.",
"The service call response (type Amazon.RDS.Model.ModifyDBClusterResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack."
)]
public partial class EditRDSDBClusterCmdlet : AmazonRDSClientCmdlet, IExecutor
{
#region Parameter AllocatedStorage
///
///
/// The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ
/// DB cluster.Valid for Cluster Type: Multi-AZ DB clusters only
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Int32? AllocatedStorage { get; set; }
#endregion
#region Parameter AllowEngineModeChange
///
///
/// Specifies whether engine mode changes from serverless
to provisioned
/// are allowed.Valid for Cluster Type: Aurora Serverless v1 DB clusters onlyConstraints:- You must allow engine mode changes when specifying a different value for the
EngineMode
/// parameter from the DB cluster's current engine mode.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Boolean? AllowEngineModeChange { get; set; }
#endregion
#region Parameter AllowMajorVersionUpgrade
///
///
/// Specifies whether major version upgrades are allowed.Valid for Cluster Type: Aurora DB clusters onlyConstraints:- You must allow major version upgrades when specifying a value for the
EngineVersion
/// parameter that is a different major version than the DB cluster's current version.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Boolean? AllowMajorVersionUpgrade { get; set; }
#endregion
#region Parameter 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 cluster. If this parameter is disabled, changes to the DB cluster
/// are applied during the next maintenance window.Most modifications can be applied immediately or during the next scheduled maintenance
/// window. Some modifications, such as turning on deletion protection and changing the
/// master password, are applied immediately—regardless of when you choose to apply them.By default, this parameter is disabled.Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Boolean? ApplyImmediately { get; set; }
#endregion
#region Parameter AutoMinorVersionUpgrade
///
///
/// Specifies whether minor engine upgrades are applied automatically to the DB cluster
/// during the maintenance window. By default, minor engine upgrades are applied automatically.Valid for Cluster Type: Multi-AZ DB clusters only
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Boolean? AutoMinorVersionUpgrade { get; set; }
#endregion
#region Parameter ScalingConfiguration_AutoPause
///
///
/// A value that indicates whether to allow or disallow automatic pause for an Aurora
/// DB cluster in serverless
DB engine mode. A DB cluster can be paused only
/// when it's idle (it has no connections).If a DB cluster is paused for more than seven days, the DB cluster might be backed
/// up with a snapshot. In this case, the DB cluster is restored when there is a request
/// to connect to it.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Boolean? ScalingConfiguration_AutoPause { get; set; }
#endregion
#region Parameter BacktrackWindow
///
///
/// The target backtrack window, in seconds. To disable backtracking, set this value to
/// 0
.Valid for Cluster Type: Aurora MySQL DB clusters onlyDefault: 0
Constraints:- If specified, this value must be set to a number from 0 to 259,200 (72 hours).
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Int64? BacktrackWindow { get; set; }
#endregion
#region Parameter BackupRetentionPeriod
///
///
/// The number of days for which automated backups are retained. Specify a minimum value
/// of 1
.Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clustersDefault: 1
Constraints:- Must be a value from 1 to 35.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Int32? BackupRetentionPeriod { get; set; }
#endregion
#region Parameter CopyTagsToSnapshot
///
///
/// Specifies whether to copy all tags from the DB cluster to snapshots of the DB cluster.
/// The default is not to copy them.Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Boolean? CopyTagsToSnapshot { get; set; }
#endregion
#region Parameter DBClusterIdentifier
///
///
/// The DB cluster identifier for the cluster being modified. This parameter isn't case-sensitive.Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clustersConstraints:- Must match the identifier of an existing DB cluster.
///
///
#if !MODULAR
[System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)]
#else
[System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)]
[System.Management.Automation.AllowEmptyString]
[System.Management.Automation.AllowNull]
#endif
[Amazon.PowerShell.Common.AWSRequiredParameter]
public System.String DBClusterIdentifier { get; set; }
#endregion
#region Parameter DBClusterInstanceClass
///
///
/// The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for
/// example db.m6gd.xlarge
. Not all DB instance classes are available in
/// all Amazon Web Services Regions, or for all database engines.For the full list of DB instance classes and availability for your engine, see
/// DB Instance Class in the Amazon RDS User Guide.Valid for Cluster Type: Multi-AZ DB clusters only
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String DBClusterInstanceClass { get; set; }
#endregion
#region Parameter DBClusterParameterGroupName
///
///
/// The name of the DB cluster parameter group to use for the DB cluster.Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String DBClusterParameterGroupName { get; set; }
#endregion
#region Parameter DBInstanceParameterGroupName
///
///
/// The name of the DB parameter group to apply to all instances of the DB cluster.When you apply a parameter group using the DBInstanceParameterGroupName
/// parameter, the DB cluster isn't rebooted automatically. Also, parameter changes are
/// applied immediately rather than during the next maintenance window.Valid for Cluster Type: Aurora DB clusters onlyDefault: The existing name settingConstraints:- The DB parameter group must be in the same DB parameter group family as this DB cluster.
- The
DBInstanceParameterGroupName
parameter is valid in combination with
/// the AllowMajorVersionUpgrade
parameter for a major version upgrade only.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String DBInstanceParameterGroupName { get; set; }
#endregion
#region Parameter DeletionProtection
///
///
/// Specifies whether the DB cluster has deletion protection enabled. The database can't
/// be deleted when deletion protection is enabled. By default, deletion protection isn't
/// enabled.Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Boolean? DeletionProtection { get; set; }
#endregion
#region Parameter CloudwatchLogsExportConfiguration_DisableLogType
///
///
/// The list of log types to disable.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("CloudwatchLogsExportConfiguration_DisableLogTypes")]
public System.String[] CloudwatchLogsExportConfiguration_DisableLogType { get; set; }
#endregion
#region Parameter Domain
///
///
/// The Active Directory directory ID to move the DB cluster to. Specify none
/// to remove the cluster from its current domain. The domain must be created prior to
/// this operation.For more information, see Kerberos
/// Authentication in the Amazon Aurora User Guide.Valid for Cluster Type: Aurora DB clusters only
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String Domain { get; set; }
#endregion
#region Parameter DomainIAMRoleName
///
///
/// The name of the IAM role to use when making API calls to the Directory Service.Valid for Cluster Type: Aurora DB clusters only
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String DomainIAMRoleName { get; set; }
#endregion
#region Parameter EnableGlobalWriteForwarding
///
///
/// Specifies whether to enable this DB cluster to forward write operations to the primary
/// cluster of a global cluster (Aurora global database). By default, write operations
/// are not allowed on Aurora DB clusters that are secondary clusters in an Aurora global
/// database.You can set this value only on Aurora DB clusters that are members of an Aurora global
/// database. With this parameter enabled, a secondary cluster can forward writes to the
/// current primary cluster, and the resulting changes are replicated back to this cluster.
/// For the primary DB cluster of an Aurora global database, this value is used immediately
/// if the primary is demoted by a global cluster API operation, but it does nothing until
/// then.Valid for Cluster Type: Aurora DB clusters only
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Boolean? EnableGlobalWriteForwarding { get; set; }
#endregion
#region Parameter EnableHttpEndpoint
///
///
/// Specifies whether to enable the HTTP endpoint for an Aurora Serverless v1 DB cluster.
/// By default, the HTTP endpoint is disabled.When enabled, the HTTP endpoint provides a connectionless web service API for running
/// SQL queries on the Aurora Serverless v1 DB cluster. You can also query your database
/// from inside the RDS console with the query editor.For more information, see Using
/// the Data API for Aurora Serverless v1 in the Amazon Aurora User Guide.Valid for Cluster Type: Aurora DB clusters only
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Boolean? EnableHttpEndpoint { get; set; }
#endregion
#region Parameter EnableIAMDatabaseAuthentication
///
///
/// Specifies whether to enable mapping of Amazon Web Services Identity and Access Management
/// (IAM) accounts to database accounts. By default, mapping isn't enabled.For more information, see
/// IAM Database Authentication in the Amazon Aurora User Guide.Valid for Cluster Type: Aurora DB clusters only
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Boolean? EnableIAMDatabaseAuthentication { get; set; }
#endregion
#region Parameter CloudwatchLogsExportConfiguration_EnableLogType
///
///
/// The list of log types to enable.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("CloudwatchLogsExportConfiguration_EnableLogTypes")]
public System.String[] CloudwatchLogsExportConfiguration_EnableLogType { get; set; }
#endregion
#region Parameter EnablePerformanceInsight
///
///
/// Specifies whether to turn on Performance Insights for the DB cluster.For more information, see
/// Using Amazon Performance Insights in the Amazon RDS User Guide.Valid for Cluster Type: Multi-AZ DB clusters only
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("EnablePerformanceInsights")]
public System.Boolean? EnablePerformanceInsight { get; set; }
#endregion
#region Parameter EngineMode
///
///
/// The DB engine mode of the DB cluster, either provisioned
or serverless
.The DB engine mode can be modified only from serverless
to provisioned
.For more information, see
/// CreateDBCluster.Valid for Cluster Type: Aurora DB clusters only
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String EngineMode { get; set; }
#endregion
#region Parameter 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 ApplyImmediately
is enabled.If the cluster that you're modifying has one or more read replicas, all replicas must
/// be running an engine version that's the same or later than the version you specify.To list all of the available engine versions for Aurora MySQL, use the following command:aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
To list all of the available engine versions for Aurora PostgreSQL, use the following
/// command:aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
To list all of the available engine versions for RDS for MySQL, use the following
/// command:aws rds describe-db-engine-versions --engine mysql --query "DBEngineVersions[].EngineVersion"
To list all of the available engine versions for RDS for PostgreSQL, use the following
/// command:aws rds describe-db-engine-versions --engine postgres --query "DBEngineVersions[].EngineVersion"
Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String EngineVersion { get; set; }
#endregion
#region Parameter Iops
///
///
/// The amount of Provisioned IOPS (input/output operations per second) to be initially
/// allocated for each DB instance in the Multi-AZ DB cluster.For information about valid IOPS values, see Amazon
/// RDS Provisioned IOPS storage in the Amazon RDS User Guide.Valid for Cluster Type: Multi-AZ DB clusters onlyConstraints:- Must be a multiple between .5 and 50 of the storage amount for the DB cluster.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Int32? Iops { get; set; }
#endregion
#region Parameter ManageMasterUserPassword
///
///
/// Specifies whether to manage the master user password with Amazon Web Services Secrets
/// Manager.If the DB cluster doesn't manage the master user password with Amazon Web Services
/// Secrets Manager, you can turn on this management. In this case, you can't specify
/// MasterUserPassword
.If the DB cluster already manages the master user password with Amazon Web Services
/// Secrets Manager, and you specify that the master user password is not managed with
/// Amazon Web Services Secrets Manager, then you must specify MasterUserPassword
.
/// In this case, RDS deletes the secret and uses the new password for the master user
/// specified by MasterUserPassword
.For more information, see Password
/// management with Amazon Web Services Secrets Manager in the Amazon RDS User
/// Guide and Password
/// management with Amazon Web Services Secrets Manager in the Amazon Aurora User
/// Guide.Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Boolean? ManageMasterUserPassword { get; set; }
#endregion
#region Parameter MasterUserPassword
///
///
/// The new password for the master database user.Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clustersConstraints:- Must contain from 8 to 41 characters.
- Can contain any printable ASCII character except "/", """, or "@".
- Can't be specified if
ManageMasterUserPassword
is turned on.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String MasterUserPassword { get; set; }
#endregion
#region Parameter MasterUserSecretKmsKeyId
///
///
/// The Amazon Web Services KMS key identifier to encrypt a secret that is automatically
/// generated and managed in Amazon Web Services Secrets Manager.This setting is valid only if both of the following conditions are met:- The DB cluster doesn't manage the master user password in Amazon Web Services Secrets
/// Manager.If the DB cluster already manages the master user password in Amazon Web Services
/// Secrets Manager, you can't change the KMS key that is used to encrypt the secret.
- You are turning on
ManageMasterUserPassword
to manage the master user
/// password in Amazon Web Services Secrets Manager.If you are turning on ManageMasterUserPassword
and don't specify MasterUserSecretKmsKeyId
,
/// then the aws/secretsmanager
KMS key is used to encrypt the secret. If
/// the secret is in a different Amazon Web Services account, then you can't use the aws/secretsmanager
/// KMS key to encrypt the secret, and you must use a customer managed KMS key.
The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias
/// name for the KMS key. To use a KMS key in a different Amazon Web Services account,
/// specify the key ARN or alias ARN.There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services
/// account has a different default KMS key for each Amazon Web Services Region.Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String MasterUserSecretKmsKeyId { get; set; }
#endregion
#region Parameter ScalingConfiguration_MaxCapacity
///
///
/// The maximum capacity for an Aurora DB cluster in serverless
DB engine
/// mode.For Aurora MySQL, valid capacity values are 1
, 2
, 4
,
/// 8
, 16
, 32
, 64
, 128
,
/// and 256
.For Aurora PostgreSQL, valid capacity values are 2
, 4
, 8
,
/// 16
, 32
, 64
, 192
, and 384
.The maximum capacity must be greater than or equal to the minimum capacity.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Int32? ScalingConfiguration_MaxCapacity { get; set; }
#endregion
#region Parameter ServerlessV2ScalingConfiguration_MaxCapacity
///
///
/// The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora
/// Serverless v2 cluster. You can specify ACU values in half-step increments, such as
/// 40, 40.5, 41, and so on. The largest value that you can use is 128.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Double? ServerlessV2ScalingConfiguration_MaxCapacity { get; set; }
#endregion
#region Parameter ScalingConfiguration_MinCapacity
///
///
/// The minimum capacity for an Aurora DB cluster in serverless
DB engine
/// mode.For Aurora MySQL, valid capacity values are 1
, 2
, 4
,
/// 8
, 16
, 32
, 64
, 128
,
/// and 256
.For Aurora PostgreSQL, valid capacity values are 2
, 4
, 8
,
/// 16
, 32
, 64
, 192
, and 384
.The minimum capacity must be less than or equal to the maximum capacity.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Int32? ScalingConfiguration_MinCapacity { get; set; }
#endregion
#region Parameter ServerlessV2ScalingConfiguration_MinCapacity
///
///
/// The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora
/// Serverless v2 cluster. You can specify ACU values in half-step increments, such as
/// 8, 8.5, 9, and so on. The smallest value that you can use is 0.5.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Double? ServerlessV2ScalingConfiguration_MinCapacity { get; set; }
#endregion
#region Parameter MonitoringInterval
///
///
/// The interval, in seconds, between points when Enhanced Monitoring metrics are collected
/// for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify 0
.If MonitoringRoleArn
is specified, also set MonitoringInterval
/// to a value other than 0
.Valid for Cluster Type: Multi-AZ DB clusters onlyValid Values: 0 | 1 | 5 | 10 | 15 | 30 | 60
Default: 0
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Int32? MonitoringInterval { get; set; }
#endregion
#region Parameter MonitoringRoleArn
///
///
/// The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced
/// Monitoring metrics to Amazon CloudWatch Logs. An example is arn:aws:iam:123456789012:role/emaccess
.
/// For information on creating a monitoring role, see To
/// create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User
/// Guide.If MonitoringInterval
is set to a value other than 0
, supply
/// a MonitoringRoleArn
value.Valid for Cluster Type: Multi-AZ DB clusters only
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String MonitoringRoleArn { get; set; }
#endregion
#region Parameter NetworkType
///
///
/// The network type of the DB cluster.The network type is determined by the DBSubnetGroup
specified for the
/// DB cluster. A DBSubnetGroup
can support only the IPv4 protocol or the
/// IPv4 and the IPv6 protocols (DUAL
).For more information, see
/// Working with a DB instance in a VPC in the Amazon Aurora User Guide.Valid for Cluster Type: Aurora DB clusters onlyValid Values: IPV4 | DUAL
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String NetworkType { get; set; }
#endregion
#region Parameter NewDBClusterIdentifier
///
///
/// The new DB cluster identifier for the DB cluster when renaming a DB cluster. This
/// value is stored as a lowercase string.Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clustersConstraints:- Must contain from 1 to 63 letters, numbers, or hyphens.
- The first character must be a letter.
- Can't end with a hyphen or contain two consecutive hyphens.
Example: my-cluster2
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String NewDBClusterIdentifier { get; set; }
#endregion
#region Parameter OptionGroupName
///
///
/// The option group to associate the DB cluster with.DB clusters are associated with a default option group that can't be modified.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String OptionGroupName { get; set; }
#endregion
#region Parameter PerformanceInsightsKMSKeyId
///
///
/// The Amazon Web Services KMS key identifier for encryption of Performance Insights
/// data.The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias
/// name for the KMS key.If you don't specify a value for PerformanceInsightsKMSKeyId
, then Amazon
/// RDS uses your default KMS key. There is a default KMS key for your Amazon Web Services
/// account. Your Amazon Web Services account has a different default KMS key for each
/// Amazon Web Services Region.Valid for Cluster Type: Multi-AZ DB clusters only
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String PerformanceInsightsKMSKeyId { get; set; }
#endregion
#region Parameter PerformanceInsightsRetentionPeriod
///
///
/// The number of days to retain Performance Insights data.Valid for Cluster Type: Multi-AZ DB clusters onlyValid Values:7
- month * 31, where month is a number of months from 1-23. Examples:
///
93
(3 months * 31), 341
(11 months * 31), 589
/// (19 months * 31) 731
Default: 7
daysIf you specify a retention period that isn't valid, such as 94
, Amazon
/// RDS issues an error.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Int32? PerformanceInsightsRetentionPeriod { get; set; }
#endregion
#region Parameter Port
///
///
/// The port number on which the DB cluster accepts connections.Valid for Cluster Type: Aurora DB clusters onlyValid Values: 1150-65535
Default: The same port as the original DB cluster.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Int32? Port { get; set; }
#endregion
#region Parameter 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 Web Services Region. To view the time blocks available, see
/// Backup window in the Amazon Aurora User Guide.Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clustersConstraints:- 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.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String PreferredBackupWindow { get; set; }
#endregion
#region Parameter PreferredMaintenanceWindow
///
///
/// The weekly time range during which system maintenance can occur, in Universal Coordinated
/// Time (UTC).Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clustersThe default is a 30-minute window selected at random from an 8-hour block of time
/// for each Amazon Web Services Region, occurring on a random day of the week. To see
/// the time blocks available, see
/// Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora
/// User Guide.Constraints:- Must be in the format
ddd:hh24:mi-ddd:hh24:mi
. - Days must be one of
Mon | Tue | Wed | Thu | Fri | Sat | Sun
. - Must be in Universal Coordinated Time (UTC).
- Must be at least 30 minutes.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String PreferredMaintenanceWindow { get; set; }
#endregion
#region Parameter RotateMasterUserPassword
///
///
/// Specifies whether to rotate the secret managed by Amazon Web Services Secrets Manager
/// for the master user password.This setting is valid only if the master user password is managed by RDS in Amazon
/// Web Services Secrets Manager for the DB cluster. The secret value contains the updated
/// password.For more information, see Password
/// management with Amazon Web Services Secrets Manager in the Amazon RDS User
/// Guide and Password
/// management with Amazon Web Services Secrets Manager in the Amazon Aurora User
/// Guide.Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clustersConstraints:- You must apply the change immediately when rotating the master user password.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Boolean? RotateMasterUserPassword { get; set; }
#endregion
#region Parameter ScalingConfiguration_SecondsBeforeTimeout
///
///
/// The amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling
/// point to perform seamless scaling before enforcing the timeout action. The default
/// is 300.Specify a value between 60 and 600 seconds.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Int32? ScalingConfiguration_SecondsBeforeTimeout { get; set; }
#endregion
#region Parameter ScalingConfiguration_SecondsUntilAutoPause
///
///
/// The time, in seconds, before an Aurora DB cluster in serverless
mode
/// is paused.Specify a value between 300 and 86,400 seconds.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Int32? ScalingConfiguration_SecondsUntilAutoPause { get; set; }
#endregion
#region Parameter StorageType
///
///
/// The storage type to associate with the DB cluster.For information on storage types for Aurora DB clusters, see Storage
/// configurations for Amazon Aurora DB clusters. For information on storage types
/// for Multi-AZ DB clusters, see Settings
/// for creating Multi-AZ DB clusters.When specified for a Multi-AZ DB cluster, a value for the Iops
parameter
/// is required.Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clustersValid Values:- Aurora DB clusters -
aurora | aurora-iopt1
- Multi-AZ DB clusters -
io1
Default:- Aurora DB clusters -
aurora
- Multi-AZ DB clusters -
io1
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String StorageType { get; set; }
#endregion
#region Parameter ScalingConfiguration_TimeoutAction
///
///
/// The action to take when the timeout is reached, either ForceApplyCapacityChange
/// or RollbackCapacityChange
.ForceApplyCapacityChange
sets the capacity to the specified value as
/// soon as possible.RollbackCapacityChange
, the default, ignores the capacity change if
/// a scaling point isn't found in the timeout period.If you specify ForceApplyCapacityChange
, connections that prevent Aurora
/// Serverless v1 from finding a scaling point might be dropped.For more information, see
/// Autoscaling for Aurora Serverless v1 in the Amazon Aurora User Guide.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String ScalingConfiguration_TimeoutAction { get; set; }
#endregion
#region Parameter VpcSecurityGroupId
///
///
/// A list of EC2 VPC security groups to associate with this DB cluster.Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("VpcSecurityGroupIds")]
public System.String[] VpcSecurityGroupId { get; set; }
#endregion
#region Parameter Select
///
/// Use the -Select parameter to control the cmdlet output. The default value is 'DBCluster'.
/// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.RDS.Model.ModifyDBClusterResponse).
/// Specifying the name of a property of type Amazon.RDS.Model.ModifyDBClusterResponse will result in that property being returned.
/// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value.
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public string Select { get; set; } = "DBCluster";
#endregion
#region Parameter PassThru
///
/// Changes the cmdlet behavior to return the value passed to the DBClusterIdentifier parameter.
/// The -PassThru parameter is deprecated, use -Select '^DBClusterIdentifier' instead. This parameter will be removed in a future version.
///
[System.Obsolete("The -PassThru parameter is deprecated, use -Select '^DBClusterIdentifier' instead. This parameter will be removed in a future version.")]
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public SwitchParameter PassThru { get; set; }
#endregion
#region Parameter Force
///
/// This parameter overrides confirmation prompts to force
/// the cmdlet to continue its operation. This parameter should always
/// be used with caution.
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public SwitchParameter Force { get; set; }
#endregion
protected override void ProcessRecord()
{
this._AWSSignerType = "v4";
base.ProcessRecord();
var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.DBClusterIdentifier), MyInvocation.BoundParameters);
if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Edit-RDSDBCluster (ModifyDBCluster)"))
{
return;
}
var context = new CmdletContext();
// allow for manipulation of parameters prior to loading into context
PreExecutionContextLoad(context);
#pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute
if (ParameterWasBound(nameof(this.Select)))
{
context.Select = CreateSelectDelegate(Select) ??
throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select));
if (this.PassThru.IsPresent)
{
throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select));
}
}
else if (this.PassThru.IsPresent)
{
context.Select = (response, cmdlet) => this.DBClusterIdentifier;
}
#pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute
context.AllocatedStorage = this.AllocatedStorage;
context.AllowEngineModeChange = this.AllowEngineModeChange;
context.AllowMajorVersionUpgrade = this.AllowMajorVersionUpgrade;
context.ApplyImmediately = this.ApplyImmediately;
context.AutoMinorVersionUpgrade = this.AutoMinorVersionUpgrade;
context.BacktrackWindow = this.BacktrackWindow;
context.BackupRetentionPeriod = this.BackupRetentionPeriod;
if (this.CloudwatchLogsExportConfiguration_DisableLogType != null)
{
context.CloudwatchLogsExportConfiguration_DisableLogType = new List(this.CloudwatchLogsExportConfiguration_DisableLogType);
}
if (this.CloudwatchLogsExportConfiguration_EnableLogType != null)
{
context.CloudwatchLogsExportConfiguration_EnableLogType = new List(this.CloudwatchLogsExportConfiguration_EnableLogType);
}
context.CopyTagsToSnapshot = this.CopyTagsToSnapshot;
context.DBClusterIdentifier = this.DBClusterIdentifier;
#if MODULAR
if (this.DBClusterIdentifier == null && ParameterWasBound(nameof(this.DBClusterIdentifier)))
{
WriteWarning("You are passing $null as a value for parameter DBClusterIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues.");
}
#endif
context.DBClusterInstanceClass = this.DBClusterInstanceClass;
context.DBClusterParameterGroupName = this.DBClusterParameterGroupName;
context.DBInstanceParameterGroupName = this.DBInstanceParameterGroupName;
context.DeletionProtection = this.DeletionProtection;
context.Domain = this.Domain;
context.DomainIAMRoleName = this.DomainIAMRoleName;
context.EnableGlobalWriteForwarding = this.EnableGlobalWriteForwarding;
context.EnableHttpEndpoint = this.EnableHttpEndpoint;
context.EnableIAMDatabaseAuthentication = this.EnableIAMDatabaseAuthentication;
context.EnablePerformanceInsight = this.EnablePerformanceInsight;
context.EngineMode = this.EngineMode;
context.EngineVersion = this.EngineVersion;
context.Iops = this.Iops;
context.ManageMasterUserPassword = this.ManageMasterUserPassword;
context.MasterUserPassword = this.MasterUserPassword;
context.MasterUserSecretKmsKeyId = this.MasterUserSecretKmsKeyId;
context.MonitoringInterval = this.MonitoringInterval;
context.MonitoringRoleArn = this.MonitoringRoleArn;
context.NetworkType = this.NetworkType;
context.NewDBClusterIdentifier = this.NewDBClusterIdentifier;
context.OptionGroupName = this.OptionGroupName;
context.PerformanceInsightsKMSKeyId = this.PerformanceInsightsKMSKeyId;
context.PerformanceInsightsRetentionPeriod = this.PerformanceInsightsRetentionPeriod;
context.Port = this.Port;
context.PreferredBackupWindow = this.PreferredBackupWindow;
context.PreferredMaintenanceWindow = this.PreferredMaintenanceWindow;
context.RotateMasterUserPassword = this.RotateMasterUserPassword;
context.ScalingConfiguration_AutoPause = this.ScalingConfiguration_AutoPause;
context.ScalingConfiguration_MaxCapacity = this.ScalingConfiguration_MaxCapacity;
context.ScalingConfiguration_MinCapacity = this.ScalingConfiguration_MinCapacity;
context.ScalingConfiguration_SecondsBeforeTimeout = this.ScalingConfiguration_SecondsBeforeTimeout;
context.ScalingConfiguration_SecondsUntilAutoPause = this.ScalingConfiguration_SecondsUntilAutoPause;
context.ScalingConfiguration_TimeoutAction = this.ScalingConfiguration_TimeoutAction;
context.ServerlessV2ScalingConfiguration_MaxCapacity = this.ServerlessV2ScalingConfiguration_MaxCapacity;
context.ServerlessV2ScalingConfiguration_MinCapacity = this.ServerlessV2ScalingConfiguration_MinCapacity;
context.StorageType = this.StorageType;
if (this.VpcSecurityGroupId != null)
{
context.VpcSecurityGroupId = new List(this.VpcSecurityGroupId);
}
// allow further manipulation of loaded context prior to processing
PostExecutionContextLoad(context);
var output = Execute(context) as CmdletOutput;
ProcessOutput(output);
}
#region IExecutor Members
public object Execute(ExecutorContext context)
{
var cmdletContext = context as CmdletContext;
// create request
var request = new Amazon.RDS.Model.ModifyDBClusterRequest();
if (cmdletContext.AllocatedStorage != null)
{
request.AllocatedStorage = cmdletContext.AllocatedStorage.Value;
}
if (cmdletContext.AllowEngineModeChange != null)
{
request.AllowEngineModeChange = cmdletContext.AllowEngineModeChange.Value;
}
if (cmdletContext.AllowMajorVersionUpgrade != null)
{
request.AllowMajorVersionUpgrade = cmdletContext.AllowMajorVersionUpgrade.Value;
}
if (cmdletContext.ApplyImmediately != null)
{
request.ApplyImmediately = cmdletContext.ApplyImmediately.Value;
}
if (cmdletContext.AutoMinorVersionUpgrade != null)
{
request.AutoMinorVersionUpgrade = cmdletContext.AutoMinorVersionUpgrade.Value;
}
if (cmdletContext.BacktrackWindow != null)
{
request.BacktrackWindow = cmdletContext.BacktrackWindow.Value;
}
if (cmdletContext.BackupRetentionPeriod != null)
{
request.BackupRetentionPeriod = cmdletContext.BackupRetentionPeriod.Value;
}
// populate CloudwatchLogsExportConfiguration
var requestCloudwatchLogsExportConfigurationIsNull = true;
request.CloudwatchLogsExportConfiguration = new Amazon.RDS.Model.CloudwatchLogsExportConfiguration();
List requestCloudwatchLogsExportConfiguration_cloudwatchLogsExportConfiguration_DisableLogType = null;
if (cmdletContext.CloudwatchLogsExportConfiguration_DisableLogType != null)
{
requestCloudwatchLogsExportConfiguration_cloudwatchLogsExportConfiguration_DisableLogType = cmdletContext.CloudwatchLogsExportConfiguration_DisableLogType;
}
if (requestCloudwatchLogsExportConfiguration_cloudwatchLogsExportConfiguration_DisableLogType != null)
{
request.CloudwatchLogsExportConfiguration.DisableLogTypes = requestCloudwatchLogsExportConfiguration_cloudwatchLogsExportConfiguration_DisableLogType;
requestCloudwatchLogsExportConfigurationIsNull = false;
}
List requestCloudwatchLogsExportConfiguration_cloudwatchLogsExportConfiguration_EnableLogType = null;
if (cmdletContext.CloudwatchLogsExportConfiguration_EnableLogType != null)
{
requestCloudwatchLogsExportConfiguration_cloudwatchLogsExportConfiguration_EnableLogType = cmdletContext.CloudwatchLogsExportConfiguration_EnableLogType;
}
if (requestCloudwatchLogsExportConfiguration_cloudwatchLogsExportConfiguration_EnableLogType != null)
{
request.CloudwatchLogsExportConfiguration.EnableLogTypes = requestCloudwatchLogsExportConfiguration_cloudwatchLogsExportConfiguration_EnableLogType;
requestCloudwatchLogsExportConfigurationIsNull = false;
}
// determine if request.CloudwatchLogsExportConfiguration should be set to null
if (requestCloudwatchLogsExportConfigurationIsNull)
{
request.CloudwatchLogsExportConfiguration = null;
}
if (cmdletContext.CopyTagsToSnapshot != null)
{
request.CopyTagsToSnapshot = cmdletContext.CopyTagsToSnapshot.Value;
}
if (cmdletContext.DBClusterIdentifier != null)
{
request.DBClusterIdentifier = cmdletContext.DBClusterIdentifier;
}
if (cmdletContext.DBClusterInstanceClass != null)
{
request.DBClusterInstanceClass = cmdletContext.DBClusterInstanceClass;
}
if (cmdletContext.DBClusterParameterGroupName != null)
{
request.DBClusterParameterGroupName = cmdletContext.DBClusterParameterGroupName;
}
if (cmdletContext.DBInstanceParameterGroupName != null)
{
request.DBInstanceParameterGroupName = cmdletContext.DBInstanceParameterGroupName;
}
if (cmdletContext.DeletionProtection != null)
{
request.DeletionProtection = cmdletContext.DeletionProtection.Value;
}
if (cmdletContext.Domain != null)
{
request.Domain = cmdletContext.Domain;
}
if (cmdletContext.DomainIAMRoleName != null)
{
request.DomainIAMRoleName = cmdletContext.DomainIAMRoleName;
}
if (cmdletContext.EnableGlobalWriteForwarding != null)
{
request.EnableGlobalWriteForwarding = cmdletContext.EnableGlobalWriteForwarding.Value;
}
if (cmdletContext.EnableHttpEndpoint != null)
{
request.EnableHttpEndpoint = cmdletContext.EnableHttpEndpoint.Value;
}
if (cmdletContext.EnableIAMDatabaseAuthentication != null)
{
request.EnableIAMDatabaseAuthentication = cmdletContext.EnableIAMDatabaseAuthentication.Value;
}
if (cmdletContext.EnablePerformanceInsight != null)
{
request.EnablePerformanceInsights = cmdletContext.EnablePerformanceInsight.Value;
}
if (cmdletContext.EngineMode != null)
{
request.EngineMode = cmdletContext.EngineMode;
}
if (cmdletContext.EngineVersion != null)
{
request.EngineVersion = cmdletContext.EngineVersion;
}
if (cmdletContext.Iops != null)
{
request.Iops = cmdletContext.Iops.Value;
}
if (cmdletContext.ManageMasterUserPassword != null)
{
request.ManageMasterUserPassword = cmdletContext.ManageMasterUserPassword.Value;
}
if (cmdletContext.MasterUserPassword != null)
{
request.MasterUserPassword = cmdletContext.MasterUserPassword;
}
if (cmdletContext.MasterUserSecretKmsKeyId != null)
{
request.MasterUserSecretKmsKeyId = cmdletContext.MasterUserSecretKmsKeyId;
}
if (cmdletContext.MonitoringInterval != null)
{
request.MonitoringInterval = cmdletContext.MonitoringInterval.Value;
}
if (cmdletContext.MonitoringRoleArn != null)
{
request.MonitoringRoleArn = cmdletContext.MonitoringRoleArn;
}
if (cmdletContext.NetworkType != null)
{
request.NetworkType = cmdletContext.NetworkType;
}
if (cmdletContext.NewDBClusterIdentifier != null)
{
request.NewDBClusterIdentifier = cmdletContext.NewDBClusterIdentifier;
}
if (cmdletContext.OptionGroupName != null)
{
request.OptionGroupName = cmdletContext.OptionGroupName;
}
if (cmdletContext.PerformanceInsightsKMSKeyId != null)
{
request.PerformanceInsightsKMSKeyId = cmdletContext.PerformanceInsightsKMSKeyId;
}
if (cmdletContext.PerformanceInsightsRetentionPeriod != null)
{
request.PerformanceInsightsRetentionPeriod = cmdletContext.PerformanceInsightsRetentionPeriod.Value;
}
if (cmdletContext.Port != null)
{
request.Port = cmdletContext.Port.Value;
}
if (cmdletContext.PreferredBackupWindow != null)
{
request.PreferredBackupWindow = cmdletContext.PreferredBackupWindow;
}
if (cmdletContext.PreferredMaintenanceWindow != null)
{
request.PreferredMaintenanceWindow = cmdletContext.PreferredMaintenanceWindow;
}
if (cmdletContext.RotateMasterUserPassword != null)
{
request.RotateMasterUserPassword = cmdletContext.RotateMasterUserPassword.Value;
}
// populate ScalingConfiguration
var requestScalingConfigurationIsNull = true;
request.ScalingConfiguration = new Amazon.RDS.Model.ScalingConfiguration();
System.Boolean? requestScalingConfiguration_scalingConfiguration_AutoPause = null;
if (cmdletContext.ScalingConfiguration_AutoPause != null)
{
requestScalingConfiguration_scalingConfiguration_AutoPause = cmdletContext.ScalingConfiguration_AutoPause.Value;
}
if (requestScalingConfiguration_scalingConfiguration_AutoPause != null)
{
request.ScalingConfiguration.AutoPause = requestScalingConfiguration_scalingConfiguration_AutoPause.Value;
requestScalingConfigurationIsNull = false;
}
System.Int32? requestScalingConfiguration_scalingConfiguration_MaxCapacity = null;
if (cmdletContext.ScalingConfiguration_MaxCapacity != null)
{
requestScalingConfiguration_scalingConfiguration_MaxCapacity = cmdletContext.ScalingConfiguration_MaxCapacity.Value;
}
if (requestScalingConfiguration_scalingConfiguration_MaxCapacity != null)
{
request.ScalingConfiguration.MaxCapacity = requestScalingConfiguration_scalingConfiguration_MaxCapacity.Value;
requestScalingConfigurationIsNull = false;
}
System.Int32? requestScalingConfiguration_scalingConfiguration_MinCapacity = null;
if (cmdletContext.ScalingConfiguration_MinCapacity != null)
{
requestScalingConfiguration_scalingConfiguration_MinCapacity = cmdletContext.ScalingConfiguration_MinCapacity.Value;
}
if (requestScalingConfiguration_scalingConfiguration_MinCapacity != null)
{
request.ScalingConfiguration.MinCapacity = requestScalingConfiguration_scalingConfiguration_MinCapacity.Value;
requestScalingConfigurationIsNull = false;
}
System.Int32? requestScalingConfiguration_scalingConfiguration_SecondsBeforeTimeout = null;
if (cmdletContext.ScalingConfiguration_SecondsBeforeTimeout != null)
{
requestScalingConfiguration_scalingConfiguration_SecondsBeforeTimeout = cmdletContext.ScalingConfiguration_SecondsBeforeTimeout.Value;
}
if (requestScalingConfiguration_scalingConfiguration_SecondsBeforeTimeout != null)
{
request.ScalingConfiguration.SecondsBeforeTimeout = requestScalingConfiguration_scalingConfiguration_SecondsBeforeTimeout.Value;
requestScalingConfigurationIsNull = false;
}
System.Int32? requestScalingConfiguration_scalingConfiguration_SecondsUntilAutoPause = null;
if (cmdletContext.ScalingConfiguration_SecondsUntilAutoPause != null)
{
requestScalingConfiguration_scalingConfiguration_SecondsUntilAutoPause = cmdletContext.ScalingConfiguration_SecondsUntilAutoPause.Value;
}
if (requestScalingConfiguration_scalingConfiguration_SecondsUntilAutoPause != null)
{
request.ScalingConfiguration.SecondsUntilAutoPause = requestScalingConfiguration_scalingConfiguration_SecondsUntilAutoPause.Value;
requestScalingConfigurationIsNull = false;
}
System.String requestScalingConfiguration_scalingConfiguration_TimeoutAction = null;
if (cmdletContext.ScalingConfiguration_TimeoutAction != null)
{
requestScalingConfiguration_scalingConfiguration_TimeoutAction = cmdletContext.ScalingConfiguration_TimeoutAction;
}
if (requestScalingConfiguration_scalingConfiguration_TimeoutAction != null)
{
request.ScalingConfiguration.TimeoutAction = requestScalingConfiguration_scalingConfiguration_TimeoutAction;
requestScalingConfigurationIsNull = false;
}
// determine if request.ScalingConfiguration should be set to null
if (requestScalingConfigurationIsNull)
{
request.ScalingConfiguration = null;
}
// populate ServerlessV2ScalingConfiguration
var requestServerlessV2ScalingConfigurationIsNull = true;
request.ServerlessV2ScalingConfiguration = new Amazon.RDS.Model.ServerlessV2ScalingConfiguration();
System.Double? requestServerlessV2ScalingConfiguration_serverlessV2ScalingConfiguration_MaxCapacity = null;
if (cmdletContext.ServerlessV2ScalingConfiguration_MaxCapacity != null)
{
requestServerlessV2ScalingConfiguration_serverlessV2ScalingConfiguration_MaxCapacity = cmdletContext.ServerlessV2ScalingConfiguration_MaxCapacity.Value;
}
if (requestServerlessV2ScalingConfiguration_serverlessV2ScalingConfiguration_MaxCapacity != null)
{
request.ServerlessV2ScalingConfiguration.MaxCapacity = requestServerlessV2ScalingConfiguration_serverlessV2ScalingConfiguration_MaxCapacity.Value;
requestServerlessV2ScalingConfigurationIsNull = false;
}
System.Double? requestServerlessV2ScalingConfiguration_serverlessV2ScalingConfiguration_MinCapacity = null;
if (cmdletContext.ServerlessV2ScalingConfiguration_MinCapacity != null)
{
requestServerlessV2ScalingConfiguration_serverlessV2ScalingConfiguration_MinCapacity = cmdletContext.ServerlessV2ScalingConfiguration_MinCapacity.Value;
}
if (requestServerlessV2ScalingConfiguration_serverlessV2ScalingConfiguration_MinCapacity != null)
{
request.ServerlessV2ScalingConfiguration.MinCapacity = requestServerlessV2ScalingConfiguration_serverlessV2ScalingConfiguration_MinCapacity.Value;
requestServerlessV2ScalingConfigurationIsNull = false;
}
// determine if request.ServerlessV2ScalingConfiguration should be set to null
if (requestServerlessV2ScalingConfigurationIsNull)
{
request.ServerlessV2ScalingConfiguration = null;
}
if (cmdletContext.StorageType != null)
{
request.StorageType = cmdletContext.StorageType;
}
if (cmdletContext.VpcSecurityGroupId != null)
{
request.VpcSecurityGroupIds = cmdletContext.VpcSecurityGroupId;
}
CmdletOutput output;
// issue call
var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint);
try
{
var response = CallAWSServiceOperation(client, request);
object pipelineOutput = null;
pipelineOutput = cmdletContext.Select(response, this);
output = new CmdletOutput
{
PipelineOutput = pipelineOutput,
ServiceResponse = response
};
}
catch (Exception e)
{
output = new CmdletOutput { ErrorResponse = e };
}
return output;
}
public ExecutorContext CreateContext()
{
return new CmdletContext();
}
#endregion
#region AWS Service Operation Call
private Amazon.RDS.Model.ModifyDBClusterResponse CallAWSServiceOperation(IAmazonRDS client, Amazon.RDS.Model.ModifyDBClusterRequest request)
{
Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Relational Database Service", "ModifyDBCluster");
try
{
#if DESKTOP
return client.ModifyDBCluster(request);
#elif CORECLR
return client.ModifyDBClusterAsync(request).GetAwaiter().GetResult();
#else
#error "Unknown build edition"
#endif
}
catch (AmazonServiceException exc)
{
var webException = exc.InnerException as System.Net.WebException;
if (webException != null)
{
throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException);
}
throw;
}
}
#endregion
internal partial class CmdletContext : ExecutorContext
{
public System.Int32? AllocatedStorage { get; set; }
public System.Boolean? AllowEngineModeChange { get; set; }
public System.Boolean? AllowMajorVersionUpgrade { get; set; }
public System.Boolean? ApplyImmediately { get; set; }
public System.Boolean? AutoMinorVersionUpgrade { get; set; }
public System.Int64? BacktrackWindow { get; set; }
public System.Int32? BackupRetentionPeriod { get; set; }
public List CloudwatchLogsExportConfiguration_DisableLogType { get; set; }
public List CloudwatchLogsExportConfiguration_EnableLogType { get; set; }
public System.Boolean? CopyTagsToSnapshot { get; set; }
public System.String DBClusterIdentifier { get; set; }
public System.String DBClusterInstanceClass { get; set; }
public System.String DBClusterParameterGroupName { get; set; }
public System.String DBInstanceParameterGroupName { get; set; }
public System.Boolean? DeletionProtection { get; set; }
public System.String Domain { get; set; }
public System.String DomainIAMRoleName { get; set; }
public System.Boolean? EnableGlobalWriteForwarding { get; set; }
public System.Boolean? EnableHttpEndpoint { get; set; }
public System.Boolean? EnableIAMDatabaseAuthentication { get; set; }
public System.Boolean? EnablePerformanceInsight { get; set; }
public System.String EngineMode { get; set; }
public System.String EngineVersion { get; set; }
public System.Int32? Iops { get; set; }
public System.Boolean? ManageMasterUserPassword { get; set; }
public System.String MasterUserPassword { get; set; }
public System.String MasterUserSecretKmsKeyId { get; set; }
public System.Int32? MonitoringInterval { get; set; }
public System.String MonitoringRoleArn { get; set; }
public System.String NetworkType { get; set; }
public System.String NewDBClusterIdentifier { get; set; }
public System.String OptionGroupName { get; set; }
public System.String PerformanceInsightsKMSKeyId { get; set; }
public System.Int32? PerformanceInsightsRetentionPeriod { get; set; }
public System.Int32? Port { get; set; }
public System.String PreferredBackupWindow { get; set; }
public System.String PreferredMaintenanceWindow { get; set; }
public System.Boolean? RotateMasterUserPassword { get; set; }
public System.Boolean? ScalingConfiguration_AutoPause { get; set; }
public System.Int32? ScalingConfiguration_MaxCapacity { get; set; }
public System.Int32? ScalingConfiguration_MinCapacity { get; set; }
public System.Int32? ScalingConfiguration_SecondsBeforeTimeout { get; set; }
public System.Int32? ScalingConfiguration_SecondsUntilAutoPause { get; set; }
public System.String ScalingConfiguration_TimeoutAction { get; set; }
public System.Double? ServerlessV2ScalingConfiguration_MaxCapacity { get; set; }
public System.Double? ServerlessV2ScalingConfiguration_MinCapacity { get; set; }
public System.String StorageType { get; set; }
public List VpcSecurityGroupId { get; set; }
public System.Func Select { get; set; } =
(response, cmdlet) => response.DBCluster;
}
}
}