db_parameter_groups
Creates, updates, deletes or gets a db_parameter_group resource or lists db_parameter_groups in a region
Overview
| Name | db_parameter_groups |
| Type | Resource |
| Description | The ``AWS::RDS::DBParameterGroup`` resource creates a custom parameter group for an RDS database family. This type can be declared in a template and referenced in the ``DBParameterGroupName`` property of an ``AWS::RDS::DBInstance`` resource. For information about configuring parameters for Amazon RDS DB instances, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html) in the *Amazon RDS User Guide*. For information about configuring parameters for Amazon Aurora DB instances, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide*. Applying a parameter group to a DB instance may require the DB instance to reboot, resulting in a database outage for the duration of the reboot. |
| Id | awscc.rds.db_parameter_groups |
Fields
- get (all properties)
- list (identifiers only)
| Name | Datatype | Description |
|---|---|---|
db_parameter_group_name | string | The name of the DB parameter group.<br />Constraints:<br />+ Must be 1 to 255 letters, numbers, or hyphens.<br />+ First character must be a letter<br />+ Can't end with a hyphen or contain two consecutive hyphens<br /><br />If you don't specify a value for ``DBParameterGroupName`` property, a name is automatically created for the DB parameter group.<br />This value is stored as a lowercase string. |
description | string | Provides the customer-specified description for this DB parameter group. |
family | string | The DB parameter group family name. A DB parameter group can be associated with one and only one DB parameter group family, and can be applied only to a DB instance running a database engine and engine version compatible with that DB parameter group family.<br />To list all of the available parameter group families for a DB engine, use the following command:<br />``aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily" --engine <engine>`` <br />For example, to list all of the available parameter group families for the MySQL DB engine, use the following command:<br />``aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily" --engine mysql`` <br />The output contains duplicates.<br />The following are the valid DB engine values:<br />+ ``aurora-mysql`` <br />+ ``aurora-postgresql`` <br />+ ``db2-ae`` <br />+ ``db2-se`` <br />+ ``mysql`` <br />+ ``oracle-ee`` <br />+ ``oracle-ee-cdb`` <br />+ ``oracle-se2`` <br />+ ``oracle-se2-cdb`` <br />+ ``postgres`` <br />+ ``sqlserver-ee`` <br />+ ``sqlserver-se`` <br />+ ``sqlserver-ex`` <br />+ ``sqlserver-web`` |
parameters | object | A mapping of parameter names and values for the parameter update. You must specify at least one parameter name and value.<br />For more information about parameter groups, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html) in the *Amazon RDS User Guide*, or [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide*.<br />AWS CloudFormation doesn't support specifying an apply method for each individual parameter. The default apply method for each parameter is used. |
tags | array | Tags to assign to the DB parameter group. |
region | string | AWS region. |
| Name | Datatype | Description |
|---|---|---|
db_parameter_group_name | string | The name of the DB parameter group.<br />Constraints:<br />+ Must be 1 to 255 letters, numbers, or hyphens.<br />+ First character must be a letter<br />+ Can't end with a hyphen or contain two consecutive hyphens<br /><br />If you don't specify a value for ``DBParameterGroupName`` property, a name is automatically created for the DB parameter group.<br />This value is stored as a lowercase string. |
region | string | AWS region. |
For more information, see AWS::RDS::DBParameterGroup.
Methods
| Name | Resource | Accessible by | Required Params |
|---|---|---|---|
create_resource | db_parameter_groups | INSERT | Family, Description, region |
delete_resource | db_parameter_groups | DELETE | Identifier, region |
update_resource | db_parameter_groups | UPDATE | Identifier, PatchDocument, region |
list_resources | db_parameter_groups_list_only | SELECT | region |
get_resource | db_parameter_groups | SELECT | Identifier, region |
SELECT examples
- get (all properties)
- list (identifiers only)
Gets all properties from an individual db_parameter_group.
SELECT
region,
db_parameter_group_name,
description,
family,
parameters,
tags
FROM awscc.rds.db_parameter_groups
WHERE
region = 'us-east-1' AND
Identifier = '{{ db_parameter_group_name }}';
Lists all db_parameter_groups in a region.
SELECT
region,
db_parameter_group_name
FROM awscc.rds.db_parameter_groups_list_only
WHERE
region = 'us-east-1';
INSERT example
Use the following StackQL query and manifest file to create a new db_parameter_group resource, using stack-deploy.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO awscc.rds.db_parameter_groups (
Description,
Family,
region
)
SELECT
'{{ description }}',
'{{ family }}',
'{{ region }}';
/*+ create */
INSERT INTO awscc.rds.db_parameter_groups (
DBParameterGroupName,
Description,
Family,
Parameters,
Tags,
region
)
SELECT
'{{ db_parameter_group_name }}',
'{{ description }}',
'{{ family }}',
'{{ parameters }}',
'{{ tags }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: db_parameter_group
props:
- name: db_parameter_group_name
value: '{{ db_parameter_group_name }}'
- name: description
value: '{{ description }}'
- name: family
value: '{{ family }}'
- name: parameters
value: {}
- name: tags
value:
- key: '{{ key }}'
value: '{{ value }}'
UPDATE example
Use the following StackQL query and manifest file to update a db_parameter_group resource, using stack-deploy.
/*+ update */
UPDATE awscc.rds.db_parameter_groups
SET PatchDocument = string('{{ {
"Parameters": parameters,
"Tags": tags
} | generate_patch_document }}')
WHERE
region = '{{ region }}' AND
Identifier = '{{ db_parameter_group_name }}';
DELETE example
/*+ delete */
DELETE FROM awscc.rds.db_parameter_groups
WHERE
Identifier = '{{ db_parameter_group_name }}' AND
region = 'us-east-1';
Permissions
To operate on the db_parameter_groups resource, the following permissions are required:
- Create
- Read
- Update
- Delete
- List
iam:CreateServiceLinkedRole,
rds:AddTagsToResource,
rds:CreateDBParameterGroup,
rds:DescribeDBParameterGroups,
rds:DescribeDBParameters,
rds:DescribeEngineDefaultParameters,
rds:ListTagsForResource,
rds:ModifyDBParameterGroup,
rds:RemoveTagsFromResource
rds:DescribeDBParameterGroups,
rds:DescribeDBParameters,
rds:ListTagsForResource
rds:AddTagsToResource,
rds:DescribeDBParameterGroups,
rds:DescribeDBParameters,
rds:DescribeEngineDefaultParameters,
rds:ListTagsForResource,
rds:ModifyDBParameterGroup,
rds:ResetDBParameterGroup,
rds:RemoveTagsFromResource
rds:DeleteDBParameterGroup
rds:DescribeDBParameterGroups