/*
* 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 redshift-2012-12-01.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.Redshift.Model
{
///
/// Container for the parameters to the CreateClusterParameterGroup operation.
/// Creates an Amazon Redshift parameter group.
///
///
///
/// Creating parameter groups is independent of creating clusters. You can associate a
/// cluster with a parameter group when you create the cluster. You can also associate
/// an existing cluster with a parameter group after the cluster is created by using ModifyCluster.
///
///
///
///
/// Parameters in the parameter group define specific behavior that applies to the databases
/// you create on the cluster. For more information about parameters and parameter groups,
/// go to Amazon
/// Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.
///
///
public partial class CreateClusterParameterGroupRequest : AmazonRedshiftRequest
{
private string _description;
private string _parameterGroupFamily;
private string _parameterGroupName;
private List _tags = new List();
///
/// Gets and sets the property Description.
///
/// A description of the parameter group.
///
///
[AWSProperty(Required=true, Max=2147483647)]
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 ParameterGroupFamily.
///
/// The Amazon Redshift engine version to which the cluster parameter group applies. The
/// cluster engine version determines the set of parameters.
///
///
///
/// To get a list of valid parameter group family names, you can call DescribeClusterParameterGroups.
/// By default, Amazon Redshift returns a list of all the parameter groups that are owned
/// by your Amazon Web Services account, including the default parameter groups for each
/// Amazon Redshift engine version. The parameter group family names associated with the
/// default parameter groups provide you the valid values. For example, a valid family
/// name is "redshift-1.0".
///
///
[AWSProperty(Required=true, Max=2147483647)]
public string ParameterGroupFamily
{
get { return this._parameterGroupFamily; }
set { this._parameterGroupFamily = value; }
}
// Check to see if ParameterGroupFamily property is set
internal bool IsSetParameterGroupFamily()
{
return this._parameterGroupFamily != null;
}
///
/// Gets and sets the property ParameterGroupName.
///
/// The name of the cluster parameter group.
///
///
///
/// Constraints:
///
/// -
///
/// Must be 1 to 255 alphanumeric characters or hyphens
///
///
-
///
/// First character must be a letter.
///
///
-
///
/// Cannot end with a hyphen or contain two consecutive hyphens.
///
///
-
///
/// Must be unique withing your Amazon Web Services account.
///
///
///
/// This value is stored as a lower-case string.
///
///
///
[AWSProperty(Required=true, Max=2147483647)]
public string ParameterGroupName
{
get { return this._parameterGroupName; }
set { this._parameterGroupName = value; }
}
// Check to see if ParameterGroupName property is set
internal bool IsSetParameterGroupName()
{
return this._parameterGroupName != null;
}
///
/// Gets and sets the property Tags.
///
/// A list of tag instances.
///
///
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;
}
}
}