provider/aws: Support Import `aws_rds_cluster` (#7366)
``` make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSRDSCluster_importBasic' ==> Checking that code complies with gofmt requirements... go generate $(go list ./... | grep -v /vendor/) TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSRDSCluster_importBasic -timeout 120m === RUN TestAccAWSRDSCluster_importBasic --- FAIL: TestAccAWSRDSCluster_importBasic (122.71s) testing.go:255: Step 1 error: ImportStateVerify attributes not equivalent. Difference is shown below. Top is actual, bottom is expected. (map[string]string) { } (map[string]string) (len=1) { (string) (len=19) "skip_final_snapshot": (string) (len=4) "true" } FAIL exit status 1 FAIL github.com/hashicorp/terraform/builtin/providers/aws 122.733s make: *** [testacc] Error 1 ```
This commit is contained in:
parent
7879450cf3
commit
b4fa54e3c0
|
@ -0,0 +1,32 @@
|
|||
package aws
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/acctest"
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccAWSRDSCluster_importBasic(t *testing.T) {
|
||||
resourceName := "aws_rds_cluster.default"
|
||||
ri := acctest.RandInt()
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckAWSClusterDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccAWSClusterConfig(ri),
|
||||
},
|
||||
|
||||
resource.TestStep{
|
||||
ResourceName: resourceName,
|
||||
ImportState: true,
|
||||
ImportStateVerify: true,
|
||||
ImportStateVerifyIgnore: []string{
|
||||
"master_password", "skip_final_snapshot"},
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
|
@ -20,6 +20,9 @@ func resourceAwsRDSCluster() *schema.Resource {
|
|||
Read: resourceAwsRDSClusterRead,
|
||||
Update: resourceAwsRDSClusterUpdate,
|
||||
Delete: resourceAwsRDSClusterDelete,
|
||||
Importer: &schema.ResourceImporter{
|
||||
State: resourceAwsRdsClusterImport,
|
||||
},
|
||||
|
||||
Schema: map[string]*schema.Schema{
|
||||
|
||||
|
@ -198,6 +201,15 @@ func resourceAwsRDSCluster() *schema.Resource {
|
|||
}
|
||||
}
|
||||
|
||||
func resourceAwsRdsClusterImport(
|
||||
d *schema.ResourceData, meta interface{}) ([]*schema.ResourceData, error) {
|
||||
// Neither skip_final_snapshot nor final_snapshot_identifier can be fetched
|
||||
// from any API call, so we need to default skip_final_snapshot to true so
|
||||
// that final_snapshot_identifier is not required
|
||||
d.Set("skip_final_snapshot", true)
|
||||
return []*schema.ResourceData{d}, nil
|
||||
}
|
||||
|
||||
func resourceAwsRDSClusterCreate(d *schema.ResourceData, meta interface{}) error {
|
||||
conn := meta.(*AWSClient).rdsconn
|
||||
tags := tagsFromMapRDS(d.Get("tags").(map[string]interface{}))
|
||||
|
@ -407,6 +419,7 @@ func resourceAwsRDSClusterRead(d *schema.ResourceData, meta interface{}) error {
|
|||
d.Set("database_name", dbc.DatabaseName)
|
||||
}
|
||||
|
||||
d.Set("cluster_identifier", dbc.DBClusterIdentifier)
|
||||
d.Set("db_subnet_group_name", dbc.DBSubnetGroup)
|
||||
d.Set("parameter_group_name", dbc.DBClusterParameterGroup)
|
||||
d.Set("db_cluster_parameter_group_name", dbc.DBClusterParameterGroup)
|
||||
|
|
Loading…
Reference in New Issue