|
|
|
|
@ -11,8 +11,8 @@ import (
|
|
|
|
|
"github.com/hashicorp/terraform/helper/resource"
|
|
|
|
|
"github.com/hashicorp/terraform/helper/schema"
|
|
|
|
|
|
|
|
|
|
"github.com/awslabs/aws-sdk-go/aws"
|
|
|
|
|
"github.com/awslabs/aws-sdk-go/service/rds"
|
|
|
|
|
"github.com/awslabs/aws-sdk-go/aws"
|
|
|
|
|
"github.com/awslabs/aws-sdk-go/service/rds"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func resourceAwsDbParameterGroup() *schema.Resource {
|
|
|
|
|
@ -75,7 +75,7 @@ func resourceAwsDbParameterGroup() *schema.Resource {
|
|
|
|
|
func resourceAwsDbParameterGroupCreate(d *schema.ResourceData, meta interface{}) error {
|
|
|
|
|
rdsconn := meta.(*AWSClient).rdsconn
|
|
|
|
|
|
|
|
|
|
createOpts := rds.CreateDBParameterGroupInput{
|
|
|
|
|
createOpts := rds.CreateDBParameterGroupInput{
|
|
|
|
|
DBParameterGroupName: aws.String(d.Get("name").(string)),
|
|
|
|
|
DBParameterGroupFamily: aws.String(d.Get("family").(string)),
|
|
|
|
|
Description: aws.String(d.Get("description").(string)),
|
|
|
|
|
@ -102,7 +102,7 @@ func resourceAwsDbParameterGroupCreate(d *schema.ResourceData, meta interface{})
|
|
|
|
|
func resourceAwsDbParameterGroupRead(d *schema.ResourceData, meta interface{}) error {
|
|
|
|
|
rdsconn := meta.(*AWSClient).rdsconn
|
|
|
|
|
|
|
|
|
|
describeOpts := rds.DescribeDBParameterGroupsInput{
|
|
|
|
|
describeOpts := rds.DescribeDBParameterGroupsInput{
|
|
|
|
|
DBParameterGroupName: aws.String(d.Id()),
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -121,7 +121,7 @@ func resourceAwsDbParameterGroupRead(d *schema.ResourceData, meta interface{}) e
|
|
|
|
|
d.Set("description", describeResp.DBParameterGroups[0].Description)
|
|
|
|
|
|
|
|
|
|
// Only include user customized parameters as there's hundreds of system/default ones
|
|
|
|
|
describeParametersOpts := rds.DescribeDBParametersInput{
|
|
|
|
|
describeParametersOpts := rds.DescribeDBParametersInput{
|
|
|
|
|
DBParameterGroupName: aws.String(d.Id()),
|
|
|
|
|
Source: aws.String("user"),
|
|
|
|
|
}
|
|
|
|
|
@ -131,7 +131,7 @@ func resourceAwsDbParameterGroupRead(d *schema.ResourceData, meta interface{}) e
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
d.Set("parameter", flattenParametersSDK(describeParametersResp.Parameters))
|
|
|
|
|
d.Set("parameter", flattenParametersSDK(describeParametersResp.Parameters))
|
|
|
|
|
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
@ -154,13 +154,13 @@ func resourceAwsDbParameterGroupUpdate(d *schema.ResourceData, meta interface{})
|
|
|
|
|
ns := n.(*schema.Set)
|
|
|
|
|
|
|
|
|
|
// Expand the "parameter" set to aws-sdk-go compat []rds.Parameter
|
|
|
|
|
parameters, err := expandParametersSDK(ns.Difference(os).List())
|
|
|
|
|
parameters, err := expandParametersSDK(ns.Difference(os).List())
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if len(parameters) > 0 {
|
|
|
|
|
modifyOpts := rds.ModifyDBParameterGroupInput{
|
|
|
|
|
modifyOpts := rds.ModifyDBParameterGroupInput{
|
|
|
|
|
DBParameterGroupName: aws.String(d.Get("name").(string)),
|
|
|
|
|
Parameters: parameters,
|
|
|
|
|
}
|
|
|
|
|
@ -198,11 +198,11 @@ func resourceAwsDbParameterGroupDeleteRefreshFunc(
|
|
|
|
|
|
|
|
|
|
return func() (interface{}, string, error) {
|
|
|
|
|
|
|
|
|
|
deleteOpts := rds.DeleteDBParameterGroupInput{
|
|
|
|
|
deleteOpts := rds.DeleteDBParameterGroupInput{
|
|
|
|
|
DBParameterGroupName: aws.String(d.Id()),
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if _, err := rdsconn.DeleteDBParameterGroup(&deleteOpts); err != nil {
|
|
|
|
|
if _, err := rdsconn.DeleteDBParameterGroup(&deleteOpts); err != nil {
|
|
|
|
|
rdserr, ok := err.(aws.APIError)
|
|
|
|
|
if !ok {
|
|
|
|
|
return d, "error", err
|
|
|
|
|
|