Commit Graph

56 Commits

Author SHA1 Message Date
Joshua Carp a8e68ab25e Add partition to remaining ARN builders. 2016-10-08 00:52:50 -04:00
stack72 b02a5c47ec
provider/aws: Support Import of aws_elasticache_cluster
Initial tests were failing as follows:

```
=== RUN   TestAccAWSElasticacheCluster_importBasic
--- FAIL: TestAccAWSElasticacheCluster_importBasic (362.66s)
        testing.go:265: Step 1 error: ImportStateVerify attributes not
        equivalent. Difference is shown below. Top is actual, bottom is
        expected.

        (map[string]string) {

        }

(map[string]string) (len=2) {
             (string) (len=20) "parameter_group_name": (string) (len=20)
             "default.memcached1.4",
                             (string) (len=22) "security_group_names.#":
                             (string) (len=1) "0"

}

FAIL
exit status 1
```

The import of ElastiCache clusters helped to point out 3 things:

1. Currently, we were trying to set the parameter_group_name as follows:

```
d.Set("parameter_group_name", c.CacheParameterGroup)
```

Unfortunately, c.CacheParameterGroup is a struct not a string. This was
causing the test import failure. So this had to be replaced as follows:

```
if c.CacheParameterGroup != nil {
      d.Set("parameter_group_name", c.CacheParameterGroup.CacheParameterGroupName)
}
```

2. We were trying to set the security_group_names as follows:

```
d.Set("security_group_names", c.CacheSecurityGroups)
```

The CacheSecurityGroups was actually a []* so had to be changed to work
as follows:

```
if len(c.CacheSecurityGroups) > 0 {
            d.Set("security_group_names",
            flattenElastiCacheSecurityGroupNames(c.CacheSecurityGroups))

}
```

3. We were trying to set the security_group_ids as follows:

```
d.Set("security_group_ids", c.SecurityGroups)
```

This is another []* and needs to be changed as follows:

```
if len(c.SecurityGroups) > 0 {
            d.Set("security_group_ids",
            flattenElastiCacheSecurityGroupIds(c.SecurityGroups))

}
```

This then allows the import test to pass as expected:

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSElasticacheCluster_importBasic'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2016/09/23 10:59:01 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v
-run=TestAccAWSElasticacheCluster_importBasic -timeout 120m
=== RUN   TestAccAWSElasticacheCluster_importBasic
--- PASS: TestAccAWSElasticacheCluster_importBasic (351.96s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    351.981s
```

As a final test, I ran the basic ElastiCache cluster creation to make
sure all passed as expected:

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSElasticacheCluster_basic'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2016/09/23 11:05:51 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v
-run=TestAccAWSElasticacheCluster_basic -timeout 120m
=== RUN   TestAccAWSElasticacheCluster_basic
--- PASS: TestAccAWSElasticacheCluster_basic (809.25s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    809.267s
```
2016-09-28 12:29:20 +01:00
stack72 cea685099e
Merge branch 'elasticache-cluster-import' of https://github.com/AMeng/terraform into AMeng-elasticache-cluster-import 2016-09-23 10:04:57 +01:00
A-Gordon de8b02e6e5 Added a cluster_address attribute to aws elasticache.
Added the cluster address as a separate attribute to the configuration endpoint. When using the configuration endpoint in conjunction with route 53 it was appending the cluster address with the port and invalidating the route 53 record.
2016-09-20 14:27:53 +01:00
Paul Stack eec7b342c8 provider/aws: Support `snapshot_name` for ElastiCache Cluster and (#8419)
Replication Groups

In order to be able to restore a named snapshot as ElastiCache Cluster
or a Replication Group, the `snapshot_name` parameter was needed to be
passed. Changing the `snapshot_name` will force a new resource to be
created

```

```
2016-08-24 10:55:20 +01:00
AMeng eff11efff3 provider/aws: Support Import aws_elasticache_cluster 2016-08-19 11:10:57 -06:00
Paul Stack 51f216306f provider/aws: Implement the `aws_elasticache_replication_group` resource (#8275) 2016-08-18 19:42:29 +01:00
Paul Stack 5c0662f0eb provider/aws: Change the way ARNs are built (#7151)
ARNs used to be build using the iamconn.GetUser func call. This wouldn't
work on some scenarios and was changed so that we can expose the
AccountId and Region via meta

This commit just changes the build ARN funcs to use this new way of
doing things
2016-08-07 17:36:00 +10:00
Paul Stack 5f874c9487 provider/aws: Extends the `aws_elasticache_cluster` validation (#6332)
The validation as part of #6330 was only for length. This PR adds the
rules for alphanumeric, not having -- within, not ending with a - and
that the id must start with a letter.

The PR also adds tests for these rules
2016-04-25 21:44:55 +01:00
lian a443144c89 provider-aws: validate cluster_id length for aws_elasticache_cluster (#6330) 2016-04-25 20:53:31 +01:00
Trevor Pounds 0cd0ff0f8e Use built-in schema.HashString. 2016-02-07 16:29:34 -08:00
clint shryock 52f3e9b8db update provider test and extend the delete timelimit 2016-02-04 15:48:54 -06:00
Ian Duffy 47ac10d66b Change resource.StateChangeConf to use an array for target states
Signed-off-by: Ian Duffy <ian@ianduffy.ie>
2016-01-21 01:20:41 +00:00
wata_mac bfcff6b068 Add az_mode and availability_zones parameters
Signed-off-by: wata727 <watassbass@gmail.com>
2016-01-11 23:45:07 +09:00
wata_mac df56ef44f7 Add availability_zone parameter.
Signed-off-by: wata727 <watassbass@gmail.com>
2016-01-11 23:33:21 +09:00
stack72 2882d01904 Work to allow reducing the Number of Cache Nodes in an ElastiCache Cluster 2015-12-02 21:07:50 +00:00
stack72 150e997a96 Changing the AWS ElastiCache cluster maintenance_window to enforce lowercase 2015-11-23 12:54:56 +00:00
clint shryock 0aedb7eae6 mark snapshots as computed for ElastiCache clusters 2015-11-19 16:19:53 -06:00
clint shryock ccd37796ec Merge branch 'pr-3707'
* pr-3707:
  config updates for ElastiCache test
  Removing the instance_type check in the ElastiCache cluster creation. We now allow the error to bubble up to the userr when the wrong instance type is used. The limitation for t2 instance types now allowing snapshotting is also now documented
  Making the changes to the snapshotting for Elasticache Redis as per @catsby's findings
  Added an extra test for the Elasticache Cluster to show that updates work. Also added some debugging to show that the API returns the Elasticache retention period info
  When I was setting the update parameters for the Snapshotting, I didn't update the copy/pasted params
  Adding the ability to specify a snapshot window and retention limit for Redis ElastiCache clusters
2015-11-06 16:55:16 -06:00
stack72 350f91ec06 Removing the instance_type check in the ElastiCache cluster creation. We now allow the error to bubble up to the userr when the wrong instance type is used. The limitation for t2 instance types now allowing snapshotting is also now documented 2015-11-06 11:16:51 +00:00
stack72 9cee18b3de ElastiCache cluster read tolerates removed cluster.
Previously it would fail if a Terraform-managed ElastiCache cluster were
deleted outside of Terraform. Now it marks it as deleted in the state so that
Terraform can know it doesn't need to be destroyed, and can potentially
recreate it if asked.
2015-11-05 08:55:35 -08:00
stack72 ca2ea80af3 Making the changes to the snapshotting for Elasticache Redis as per @catsby's findings 2015-11-05 12:23:07 +00:00
stack72 707bfd739a Added an extra test for the Elasticache Cluster to show that updates work. Also added some debugging to show that the API returns the Elasticache retention period info 2015-11-03 12:35:24 +00:00
stack72 4f05df6cad When I was setting the update parameters for the Snapshotting, I didn't update the copy/pasted params 2015-11-02 20:57:04 +00:00
stack72 7dd15469a5 Adding the ability to specify a snapshot window and retention limit for Redis ElastiCache clusters 2015-10-31 00:09:20 +00:00
clint shryock 9aeb04909c Merge branch 'master' into pr-2836
* master: (335 commits)
  Update CHANGELOG.md
  config: return to the go1.5 generated lang/y.go
  Update CHANGELOG.md
  Allow cluster name, not only ARN for aws_ecs_service
  Update CHANGELOG.md
  Add check errors on reading CORS rules
  Update CHANGELOG.md
  website: docs for null_resource
  dag: use hashcodes to as map key to edge sets
  Update CHANGELOG.md
  Update CHANGELOG.md
  Update CHANGELOG.md
  Use hc-releases
  provider/google: Added scheduling block to compute_instance
  Use vendored fastly logo
  Use releases for releases
  Update CHANGELOG.md
  Update CHANGELOG.md
  Update vpn.tf
  Update CHANGELOG.md
  ...
2015-10-28 13:20:10 -05:00
Martin Atkins 1896d71d59 Merge #3235: elasticache cluster name to lowercase 2015-10-03 15:53:54 -07:00
Jason Gedge 3c6faf068f Allow setting the notification topic ARN for ElastiCache clusters. 2015-09-22 15:49:59 -04:00
stack72 68c187c01e Changing the ElastiCache Cluster configuration_engine to be on the cluster, not on the cache nodes 2015-09-16 17:15:31 +01:00
stack72 029f1fa572 Adding configuration endpoint to the elasticache cluster nodes 2015-09-16 13:06:54 +01:00
thrashr888 55f3c8c764 provider/aws: aws_elasticache_cluster normalizes name to lowercase 2015-09-14 16:50:53 -07:00
Anthony Scalisi 198e1a5186 remove various typos 2015-09-11 11:56:20 -07:00
Clint Shryock 0c2f189d08 provider/aws: Update to aws-sdk 0.9.0 rc1 2015-08-17 13:27:16 -05:00
Clint Shryock d3b93d54fb use d.Id() 2015-07-29 11:13:19 -05:00
Clint Shryock 0aafacf3c3 Merge branch 'master' into aws-elasticache-debug
* master: (33 commits)
  Update CHANGELOG.md
  Update CHANGELOG.md
  scripts: change website_push to push from HEAD
  update analytics
  provider/aws: Update source to comply with upstream breaking change
  Update CHANGELOG.
  provider/aws: Fix issue with IAM Server Certificates and Chains
  Increase timeout, IGM delete can be slow
  Make failure of "basic" test not interfere with success of "update" test
  Update CHANGELOG.md
  Use new autoscaler / instance group manager APIs.
  Compute private ip addresses of ENIs if they are not specified
  Update CHANGELOG.md
  Update CHANGELOG.md
  provider/aws: Error when unable to find a Root Block Device name
  Update CHANGELOG.md
  aws_db_instance: Add mixed-case engine test to ensure StateFunc works.
  aws_db_instance: Only write lowercase engines to the state file.
  Update CHANGELOG.md
  Split AWS provider topics by service.
  ...
2015-07-29 11:07:01 -05:00
Clint Shryock 579ccbefea provider/aws: Update source to comply with upstream breaking change 2015-07-28 15:29:46 -05:00
Clint Shryock 8ac28c12f3 provider/aws: Fix issue with checking for ElastiCache cluster status 2015-07-24 11:43:28 -05:00
Clint Shryock ef28007988 merge master 2015-07-08 13:05:33 -06:00
Clint Shryock 49a01ee787 provider/aws: Add maintenance window to ElastiCache cluster
Implements #2612
2015-07-07 10:41:46 -06:00
Clint Shryock edf8948d52 provider/aws: Add support for restoring from Redis backup stored in S3
Fixes #2377
2015-07-06 16:19:15 -06:00
Clint Shryock 2e23210e58 poll ElastiCache cluster status on update 2015-06-25 11:10:02 -05:00
Clint Shryock 93a577880b provider/aws: Allow in-place updates for ElastiCache cluster 2015-06-25 11:09:29 -05:00
Mitchell Hashimoto 8748a86e60 Merge pull request #2160 from grubernaut/elasticache_port_required
provider/aws: Set AWS Elasticache Port Number to be required
2015-06-07 22:27:59 -07:00
Paul Hinze b71fa3d0ae provider/aws: handle upstream aws-sdk-go repo move
`awslabs/aws-sdk-go => aws/aws-sdk-go`

Congrats to upstream on the promotion. :)
2015-06-03 13:36:57 -05:00
Jake Champlin b236cdf918 Set AWS Elasticache Port Number to be required
Set Elasticache Port number to not be set by default, and require
Elasticache Port number to be specified.

Also updated acceptance tests to supply port number upon resource
declaration

Fixes #2084
2015-05-31 18:01:07 -04:00
Clint Shryock c95557af27 Check node length to match expected node count 2015-05-29 10:09:54 -05:00
Clint Shryock 8a4cbcb5a2 provider/aws: Check ElastiCache node status before returning 2015-05-28 17:36:21 -05:00
Paul Hinze 31258e06c6 provider/aws: fix breakages from awserr refactor
This landed in aws-sdk-go yesterday, breaking the AWS provider in many places:

3c259c9586

Here, with much sedding, grepping, and manual massaging, we attempt to
catch Terraform up to the new `awserr.Error` interface world.
2015-05-20 06:21:23 -05:00
Clint Shryock 2809280e98 cleanup 2015-05-14 11:51:08 -05:00
Clint Shryock d8f3783d09 provider/aws: Add tag support to ElastiCache 2015-05-14 11:44:24 -05:00