From 5252623656431d73107da41c1e62ff73981fb035 Mon Sep 17 00:00:00 2001 From: Clint Shryock Date: Wed, 25 Feb 2015 10:44:10 -0600 Subject: [PATCH] provider/aws: Remove sentinel value default for RDS instance; default 1 to match API --- .../providers/aws/resource_aws_db_instance.go | 16 +++------------- .../aws/resource_aws_db_instance_test.go | 8 ++++++-- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/builtin/providers/aws/resource_aws_db_instance.go b/builtin/providers/aws/resource_aws_db_instance.go index 86c39f8c4..535797582 100644 --- a/builtin/providers/aws/resource_aws_db_instance.go +++ b/builtin/providers/aws/resource_aws_db_instance.go @@ -13,12 +13,6 @@ import ( "github.com/hashicorp/terraform/helper/schema" ) -// Establish a sentinel value to allow Backup Rention to 0, disabling backups of -// the RDS Instance. This is needed to distinguish between a zero value in the -// configuration, or no value provided. The default on AWS is 1 (one day). -// See http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html -const backupRetentionPeriodUnset = -1 - func resourceAwsDbInstance() *schema.Resource { return &schema.Resource{ Create: resourceAwsDbInstanceCreate, @@ -91,9 +85,8 @@ func resourceAwsDbInstance() *schema.Resource { "backup_retention_period": &schema.Schema{ Type: schema.TypeInt, Optional: true, - Computed: true, ForceNew: true, - Default: backupRetentionPeriodUnset, + Default: 1, }, "backup_window": &schema.Schema{ @@ -208,11 +201,8 @@ func resourceAwsDbInstanceCreate(d *schema.ResourceData, meta interface{}) error opts.StorageType = aws.String(attr.(string)) } - // Compare the backup_retention_period value to the Default. This allows a - // zero value for backup_retention_period, disabling backups. - brp := d.Get("backup_retention_period") - if brp != backupRetentionPeriodUnset { - opts.BackupRetentionPeriod = aws.Integer(brp.(int)) + if attr, ok := d.GetOk("backup_retention_period"); ok { + opts.BackupRetentionPeriod = aws.Integer(attr.(int)) } if attr, ok := d.GetOk("iops"); ok { diff --git a/builtin/providers/aws/resource_aws_db_instance_test.go b/builtin/providers/aws/resource_aws_db_instance_test.go index 831c929af..a75fdf5b4 100644 --- a/builtin/providers/aws/resource_aws_db_instance_test.go +++ b/builtin/providers/aws/resource_aws_db_instance_test.go @@ -84,11 +84,15 @@ func testAccCheckAWSDBInstanceAttributes(v *rds.DBInstance) resource.TestCheckFu return func(s *terraform.State) error { if *v.Engine != "mysql" { - return fmt.Errorf("bad engine: %#v", v.Engine) + return fmt.Errorf("bad engine: %#v", *v.Engine) } if *v.EngineVersion != "5.6.21" { - return fmt.Errorf("bad engine_version: %#v", v.EngineVersion) + return fmt.Errorf("bad engine_version: %#v", *v.EngineVersion) + } + + if *v.BackupRetentionPeriod != 0 { + return fmt.Errorf("bad backup_retention_period: %#v", *v.BackupRetentionPeriod) } return nil