/*
* 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 rds-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.RDS.Model
{
///
/// Container for the parameters to the CreateDBClusterParameterGroup operation.
/// Creates a new DB cluster parameter group.
///
///
///
/// Parameters in a DB cluster parameter group apply to all of the instances in a DB cluster.
///
///
///
/// A DB cluster parameter group is initially created with the default parameters for
/// the database engine used by instances in the DB cluster. To provide custom values
/// for any of the parameters, you must modify the group after creating it using ModifyDBClusterParameterGroup
.
/// Once you've created a DB cluster parameter group, you need to associate it with your
/// DB cluster using ModifyDBCluster
.
///
///
///
/// When you associate a new DB cluster parameter group with a running Aurora DB cluster,
/// reboot the DB instances in the DB cluster without failover for the new DB cluster
/// parameter group and associated settings to take effect.
///
///
///
/// When you associate a new DB cluster parameter group with a running Multi-AZ DB cluster,
/// reboot the DB cluster without failover for the new DB cluster parameter group and
/// associated settings to take effect.
///
///
///
/// After you create a DB cluster parameter group, you should wait at least 5 minutes
/// before creating your first DB cluster that uses that DB cluster parameter group as
/// the default parameter group. This allows Amazon RDS to fully complete the create action
/// before the DB cluster parameter group is used as the default for a new DB cluster.
/// This is especially important for parameters that are critical when creating the default
/// database for a DB cluster, such as the character set for the default database defined
/// by the character_set_database
parameter. You can use the Parameter
/// Groups option of the Amazon RDS
/// console or the DescribeDBClusterParameters
operation to verify that
/// your DB cluster parameter group has been created or modified.
///
///
///
/// For more information on Amazon Aurora, 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.
///
///
public partial class CreateDBClusterParameterGroupRequest : AmazonRDSRequest
{
private string _dbClusterParameterGroupName;
private string _dbParameterGroupFamily;
private string _description;
private List _tags = new List();
///
/// Gets and sets the property DBClusterParameterGroupName.
///
/// The name of the DB cluster parameter group.
///
///
///
/// Constraints:
///
/// -
///
/// Must not match the name of an existing DB cluster parameter group.
///
///
///
/// This value is stored as a lowercase string.
///
///
///
[AWSProperty(Required=true)]
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 DBParameterGroupFamily.
///
/// The DB cluster parameter group family name. A DB cluster parameter group can be associated
/// with one and only one DB cluster parameter group family, and can be applied only to
/// a DB cluster running a database engine and engine version compatible with that DB
/// cluster parameter group family.
///
///
///
/// Aurora MySQL
///
///
///
/// Example: aurora-mysql5.7
, aurora-mysql8.0
///
///
///
/// Aurora PostgreSQL
///
///
///
/// Example: aurora-postgresql14
///
///
///
/// RDS for MySQL
///
///
///
/// Example: mysql8.0
///
///
///
/// RDS for PostgreSQL
///
///
///
/// Example: postgres12
///
///
///
/// To list all of the available parameter group families for a DB engine, use the following
/// command:
///
///
///
/// aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"
/// --engine <engine>
///
///
///
/// For example, to list all of the available parameter group families for the Aurora
/// PostgreSQL DB engine, use the following command:
///
///
///
/// aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"
/// --engine aurora-postgresql
///
///
///
/// The output contains duplicates.
///
///
///
/// The following are the valid DB engine values:
///
/// -
///
///
aurora-mysql
///
/// -
///
///
aurora-postgresql
///
/// -
///
///
mysql
///
/// -
///
///
postgres
///
///
///
[AWSProperty(Required=true)]
public string DBParameterGroupFamily
{
get { return this._dbParameterGroupFamily; }
set { this._dbParameterGroupFamily = value; }
}
// Check to see if DBParameterGroupFamily property is set
internal bool IsSetDBParameterGroupFamily()
{
return this._dbParameterGroupFamily != null;
}
///
/// Gets and sets the property Description.
///
/// The description for the DB cluster parameter group.
///
///
[AWSProperty(Required=true)]
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property Tags.
///
/// Tags to assign to the DB cluster parameter group.
///
///
public List Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
}
}