diff --git a/builtin/providers/aws/import_aws_elasticache_cluster_test.go b/builtin/providers/aws/import_aws_elasticache_cluster_test.go new file mode 100644 index 000000000..f1e951bc1 --- /dev/null +++ b/builtin/providers/aws/import_aws_elasticache_cluster_test.go @@ -0,0 +1,33 @@ +package aws + +import ( + "os" + "testing" + + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccAWSElasticacheCluster_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_elasticache_cluster.bar" + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckAWSElasticacheClusterDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: testAccAWSElasticacheClusterConfig, + }, + + resource.TestStep{ + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} diff --git a/builtin/providers/aws/resource_aws_elasticache_cluster.go b/builtin/providers/aws/resource_aws_elasticache_cluster.go index f62f2ea84..831424020 100644 --- a/builtin/providers/aws/resource_aws_elasticache_cluster.go +++ b/builtin/providers/aws/resource_aws_elasticache_cluster.go @@ -210,6 +210,9 @@ func resourceAwsElasticacheCluster() *schema.Resource { Read: resourceAwsElasticacheClusterRead, Update: resourceAwsElasticacheClusterUpdate, Delete: resourceAwsElasticacheClusterDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, Schema: resourceSchema, } diff --git a/website/source/docs/import/importability.html.md b/website/source/docs/import/importability.html.md index f0a297370..d08fb6b67 100644 --- a/website/source/docs/import/importability.html.md +++ b/website/source/docs/import/importability.html.md @@ -48,6 +48,7 @@ To make a resource importable, please see the * aws_eip * aws_elastic_beanstalk_application * aws_elastic_beanstalk_environment +* aws_elasticache_cluster * aws_elasticache_parameter_group * aws_elasticache_subnet_group * aws_elb @@ -149,4 +150,3 @@ To make a resource importable, please see the * triton_key * triton_machine * triton_vlan - diff --git a/website/source/docs/providers/aws/r/elasticache_cluster.html.markdown b/website/source/docs/providers/aws/r/elasticache_cluster.html.markdown index f3dcd3354..7709dedce 100644 --- a/website/source/docs/providers/aws/r/elasticache_cluster.html.markdown +++ b/website/source/docs/providers/aws/r/elasticache_cluster.html.markdown @@ -122,3 +122,12 @@ The following attributes are exported: [1]: https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheCluster.html [2]: https://docs.aws.amazon.com/fr_fr/AmazonElastiCache/latest/UserGuide/Clusters.Modify.html + + +## Import + +ElastiCache Clusters can be imported using the `cluster_id`, e.g. + +``` +$ terraform import aws_elasticache_cluster.my_cluster my_cluster +```