From 8bb7e619b59153e4734aaf9d4fe9deb21a673f0c Mon Sep 17 00:00:00 2001 From: stack72 Date: Tue, 2 Aug 2016 02:01:20 +1000 Subject: [PATCH] provider/aws: Support Import of `aws_redshift_security_group` ``` % make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSRedshiftSecurityGroup_' ==> Checking that code complies with gofmt requirements... go generate $(go list ./... | grep -v /terraform/vendor/) TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSRedshiftSecurityGroup_ -timeout 120m === RUN TestAccAWSRedshiftSecurityGroup_importBasic --- PASS: TestAccAWSRedshiftSecurityGroup_importBasic (30.87s) === RUN TestAccAWSRedshiftSecurityGroup_ingressCidr --- PASS: TestAccAWSRedshiftSecurityGroup_ingressCidr (30.45s) === RUN TestAccAWSRedshiftSecurityGroup_updateIngressCidr --- PASS: TestAccAWSRedshiftSecurityGroup_updateIngressCidr (72.78s) === RUN TestAccAWSRedshiftSecurityGroup_ingressSecurityGroup --- PASS: TestAccAWSRedshiftSecurityGroup_ingressSecurityGroup (49.73s) === RUN TestAccAWSRedshiftSecurityGroup_updateIngressSecurityGroup --- PASS: TestAccAWSRedshiftSecurityGroup_updateIngressSecurityGroup (92.44s) PASS ok github.com/hashicorp/terraform/builtin/providers/aws 276.291s ``` --- ...import_aws_redshift_security_group_test.go | 33 +++++++++++++++++++ .../resource_aws_redshift_security_group.go | 3 ++ .../r/redshift_security_group.html.markdown | 7 ++++ 3 files changed, 43 insertions(+) create mode 100644 builtin/providers/aws/import_aws_redshift_security_group_test.go diff --git a/builtin/providers/aws/import_aws_redshift_security_group_test.go b/builtin/providers/aws/import_aws_redshift_security_group_test.go new file mode 100644 index 000000000..1d304b5b6 --- /dev/null +++ b/builtin/providers/aws/import_aws_redshift_security_group_test.go @@ -0,0 +1,33 @@ +package aws + +import ( + "os" + "testing" + + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccAWSRedshiftSecurityGroup_importBasic(t *testing.T) { + oldvar := os.Getenv("AWS_DEFAULT_REGION") + os.Setenv("AWS_DEFAULT_REGION", "us-east-1") + defer os.Setenv("AWS_DEFAULT_REGION", oldvar) + + resourceName := "aws_redshift_security_group.bar" + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckAWSRedshiftSecurityGroupDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: testAccAWSRedshiftSecurityGroupConfig_ingressCidr, + }, + + resource.TestStep{ + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} diff --git a/builtin/providers/aws/resource_aws_redshift_security_group.go b/builtin/providers/aws/resource_aws_redshift_security_group.go index 81195c164..84de59669 100644 --- a/builtin/providers/aws/resource_aws_redshift_security_group.go +++ b/builtin/providers/aws/resource_aws_redshift_security_group.go @@ -22,6 +22,9 @@ func resourceAwsRedshiftSecurityGroup() *schema.Resource { Read: resourceAwsRedshiftSecurityGroupRead, Update: resourceAwsRedshiftSecurityGroupUpdate, Delete: resourceAwsRedshiftSecurityGroupDelete, + Importer: &schema.ResourceImporter{ + State: resourceAwsRedshiftClusterImport, + }, Schema: map[string]*schema.Schema{ "name": &schema.Schema{ diff --git a/website/source/docs/providers/aws/r/redshift_security_group.html.markdown b/website/source/docs/providers/aws/r/redshift_security_group.html.markdown index 79918c632..d3a83c4ce 100644 --- a/website/source/docs/providers/aws/r/redshift_security_group.html.markdown +++ b/website/source/docs/providers/aws/r/redshift_security_group.html.markdown @@ -43,3 +43,10 @@ The following attributes are exported: * `id` - The Redshift security group ID. +## Import + +Redshift security groups can be imported using the `name`, e.g. + +``` +$ terraform import aws_redshift_security_group.testgroup1 redshift_test_group +```