import { Value } from '../../cloudformation/Value';
import { ParameterProps } from './clusterparametergroup/ParameterProps';
import { Tag } from '../Tag';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
/**
  Describes a parameter group.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clusterparametergroup.html">the AWS Docs</a>
*/
export type ClusterParameterGroup = AwsResource<'AWS::Redshift::ClusterParameterGroup', ClusterParameterGroupProperties>;
export declare function clusterParameterGroup(clusterParameterGroupProps: ClusterParameterGroupProperties): ClusterParameterGroup;
/**
  Describes a parameter group.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clusterparametergroup.html">the AWS Docs</a>
*/
export interface ClusterParameterGroupProperties {
    /** <code>Description</code>  <a name="cfn-redshift-clusterparametergroup-description"></a>
  The description of the parameter group.<br />
  
  Required: Yes<br />
  
  Maximum: <code>2147483647</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    description: Value<string>;
    /** <code>Parameters</code>  <a name="cfn-redshift-clusterparametergroup-parameters"></a>
  An array of parameters to be modified. A maximum of 20 parameters can be modified in a single request.<br />
  For each parameter to be modified, you must supply at least the parameter name and parameter value; other name-value pairs of the parameter are optional.<br />
  For the workload management (WLM) configuration, you must supply all the name-value pairs in the wlm_json_configuration parameter.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    parameters?: ParameterProps[];
    /** <code>ParameterGroupName</code>  <a name="cfn-redshift-clusterparametergroup-parametergroupname"></a>
  The name of the cluster parameter group.<br />
  
  Required: No<br />
  
  Maximum: <code>2147483647</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    parameterGroupName?: Value<string>;
    /** <code>ParameterGroupFamily</code>  <a name="cfn-redshift-clusterparametergroup-parametergroupfamily"></a>
  The name of the cluster parameter group family that this cluster parameter group is compatible with. You can create a custom parameter group and then associate your cluster with it. For more information, see <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html">Amazon Redshift parameter groups</a>.<br />
  
  Required: Yes<br />
  
  Maximum: <code>2147483647</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    parameterGroupFamily: Value<string>;
    /** <code>Tags</code>  <a name="cfn-redshift-clusterparametergroup-tags"></a>
  The list of tags for the cluster parameter group.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    tags?: Tag[];
}
