Commit Graph

57 Commits

Author SHA1 Message Date
Sargurunathan Mohan a5825f907b Fix launch_configuration error when using ebs which is encrypted 2016-05-03 16:19:54 -05:00
Paul Hinze 6c2b511152 provider/aws: Fix launch_config waiting for IAM instance profile
AWS changed their error message, which was being used for detection of
the specific error that indicates we need to wait for IAM propagation.

Behavior is covered by a test now.

Fixes #5862
2016-03-25 13:10:10 -05:00
Paul Hinze 108ccf0007 builtin: Refactor resource.Retry to clarify return
Change the `RetryFunc` from a plain `error` return type to a
specialized `RetryError` which must decide whether it is
retryable or not.

Add `RetryableError` / `NonRetryableError` factory functions that
callers are meant to use to build up these errors.

This makes it eminently clear whether or not a given error is
retryable from inside the client code.

Goal here is to _not_ change any behavior, simply reflect the
existing behavior with the new, clearer, API.
2016-03-09 17:37:56 -06:00
Paul Hinze de656942ae provider/aws: Fix all pointer RetryError returns
All of these RetryErrors were meant to fail right away, but instead
caused retry looping because the typecheck in the implementation of
`resource.Retry()` only catches the value type, and not the pointer
type.

Refs #5537
2016-03-09 14:59:55 -06:00
Elliot Graebert 2112f763ee Added support for the encryption flag on ebs_block_devices in launch configurations 2016-01-01 15:47:36 -08:00
clint shryock e4dba86098 provider/aws: Fix missing AMI issue with Launch Configurations 2015-12-09 16:39:03 -06:00
Paul Forman 4d640c6528 providers/aws: add name_prefix option to launch config
See #2911.

This adds a `name_prefix` option to `aws_launch_configuration` resources.

When specified, it is used instead of `terraform-` as the prefix for the
launch configuration.  It conflicts with `name`, so existing
functionality is unchanged.  `name` still sets the name explicitly.

Added an acceptance test, and updated the site documentation.
2015-11-07 01:29:16 -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 579ccbefea provider/aws: Update source to comply with upstream breaking change 2015-07-28 15:29:46 -05:00
Clint Shryock b720387449 provider/aws: Clean up externally removed Launch Configurations
Handle Launch Configurations that are not found more gracefully, but tolerating
an additional API error indicating the LC no longer exists.
2015-07-21 11:13:41 -05:00
Clint Shryock 1091884735 provider/aws: Fix issue with Launch Configurations and enable_monitoring
Can now set this value to false. Fixes #2734
2015-07-15 10:42:39 -05:00
Radek Simko 36fee9a2f5 provider/aws: Add validation for aws_launch_configuration 2015-06-26 15:40:28 +01:00
Radek Simko dc26f06b5f Merge pull request #2410 from TimeIncOSS/f-aws-lc-monitoring
provider/aws: Add aws_launch_configuration.enable_monitoring
2015-06-25 07:02:56 +01:00
zollie 579b33b8a2 Retry aws_launch_configuration Create on 'Invalid IamInstanceProfile' error only 2015-06-24 17:11:46 -04:00
zollie 079a26a655 Wrapped Create in a resource.Retry to wait for IAM instance profile propagation 2015-06-23 22:14:53 -04:00
Radek Simko cbddab8a69 provider/aws: Add aws_launch_configuration.enable_monitoring 2015-06-20 23:40:29 +01: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
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
Mitchell Hashimoto e7c6cb22c5 provider/aws: bad AMI won't block LC refresh [GH-1901] 2015-05-13 20:28:36 -07:00
Phil Frost 33183c078b Implement a hash function for string sets
Sets of strings are pretty common. Let's not duplicate the function
necessary to create a set of strings in so many places.
2015-05-05 12:47:18 -04:00
Paul Hinze 94f703692c provider/aws: switch to helper for LC names 2015-04-22 12:53:47 -05:00
Clint Shryock 3e6822ce08 more cleans ups of SDK reference 2015-04-16 15:28:18 -05:00
Clint Shryock ba43b7c963 mass search-replace of ec2SDKconn 2015-04-16 15:05:55 -05:00
Clint Shryock a5b2437dcf provider/aws: Convert Instance to use upstream library 2015-04-16 12:01:10 -05:00
Clint Shryock 7a99dd48b2 provider/aws: Convert Launch Configuration over to upstream
- removes extra ASG connection
2015-04-16 07:10:17 -05:00
Mitchell Hashimoto 783d912b7c providers/aws: set id outside if/esle 2015-04-14 08:23:16 -07:00
Mitchell Hashimoto f7a2f2a2e7 providers/aws: set ID after creation 2015-04-13 17:03:13 -07:00
Paul Hinze 4363ac4970 Merge pull request #1444 from hashicorp/b-launch-config-bugs
providers/aws: fix a few more bugs in launch configs
2015-04-09 10:24:18 -05:00
Paul Hinze 34c7bbcf4d providers/aws: reduce scope of block_device set hashcodes
Fixes #1409

Resource set hash calculation is a bit of a devil's bargain when it
comes to optional, computed attributes.

If you omit the optional, computed attribute from the hash function,
changing it in an existing config is not properly detected.

If you include the optional, computed attribute in the hash and do not
specify a value for it in the config, then you'll end up with a
perpetual, unresolvable diff.

We'll need to think about how to get the best of both worlds, here, but
for now I'm switching us to the latter and documenting the fact that
changing these attributes requires manual `terraform taint` to apply.
2015-04-09 08:53:09 -05:00
Paul Hinze 8fccd9cec4 providers/aws: fix a few more bugs in launch configs
These bugs were found by additional check added in #1443

 * Reversed nil err check meant that block devices were broken :(
 * Fixing the err check revealed a few missed pointer derefs
 * Unlike instances, ephemeral block devices do come back in
   `BlockDeviceMappings` from `DescribeLaunchConfigurations` calls, so
   we need to recognize them and filter them properly. Even though
   they're not set as computed, I'm doing a `d.Set` since it doesn't
   hurt and it gives us the benefit of basic drift detection.
2015-04-09 08:36:18 -05:00
Paul Hinze ee7ccb7908 providers/aws: fix LCs being invalid in classic
Turns out AssociatePublicIPAddress was always being set, but the AWS
APIs don't like that when you're launching into EC2 Classic and return a
validation error at ASG launch time.

Fixes #1410
2015-04-07 13:08:09 -05:00
Paul Hinze 9a91e1021a providers/aws: don't force update for existing launch configs
These changes should fix #1367:

 * `ebs_optimized` gets `Computed: true` and set from `Read`
 * `ephemeral_block_device` loses `Computed: true`
 * explicitly set `root_block_device` to empty from `Read`

While I was in there (tm):

 * Send pointers to `d.Set` so we can use its internal nil check.
2015-04-03 12:58:49 -05:00
Paul Hinze 66dbf91ffd helper/schema: ensure ForceNew set when Update is not
If a given resource does not define an `Update` function, then all of
its attributes must be specified as `ForceNew`, lest Applys fail with
"doesn't support update" like #1367.

This is something we can detect automatically, so this adds a check for
it when we validate provider implementations.
2015-04-03 09:57:30 -05:00
Jason Waldrip f77250f17d block device support for launch configurations
- mimics block device support from AWS instance
 - splits the acceptance tests out so they all pass, handling a FIXME
   from #1079
2015-04-02 12:34:13 -05:00
Tomas Doran 09f5935993 Allow launch configuration names to be computed
This allows you to set lifecycle create_before_destroy = true
and fixes #532 as then we'll make a new launch config, change
the launch config on the ASG, and *then* delete the old launch
config.

Also tried adding tests which unfortunately don't seem to fail...
2015-02-27 10:51:33 -08:00
Clint Shryock f3ba181861 Swap awslabs/aws-sdk-go for hashicorp fork
A temporary change to prevent upstream break while awslabs continues to
refactor.
2015-02-25 15:29:11 -06:00
Clint Shryock 92bf85925b providers/aws: Convert Launch Configurations to awslabs/aws-sdk-go 2015-02-24 21:02:01 -06:00
Graham Floyd c9a0627f13 Add spot_price parameter to aws_launch_configuration resource 2015-01-21 22:48:04 -06:00
Armon Dadgar ccf7f40711 Merge pull request #596 from svanharmelen/f-refactor-aws-provider
provider/aws: refactor to use the schema.Provider approach
2014-11-24 16:30:41 -08:00
Sander van Harmelen eccd5ad308 Refactored about 90%
Still need to update 2 resources and check the acceptance tests, but
overall we’re nearly there 😃
2014-11-21 17:58:34 +01:00
Tomotaka Sakuma 1170111c7e support associate_public_ip_address for aws_launch_configuration 2014-11-06 21:00:48 +09:00
Mitchell Hashimoto 1912e9655d providers/aws: if LC not found, delete it [GH-421] 2014-10-17 20:21:18 -07:00
Mitchell Hashimoto 1a2afdaa37 providers/aws: launch config and autoscale group load is correct
[GH-423]
2014-10-16 16:39:58 -07:00
Mitchell Hashimoto d7786473df fmt 2014-10-11 12:57:06 -07:00
Mitchell Hashimoto bd0cf94e89 providers/aws: wait for LC to exist [GH-302] 2014-10-11 12:27:23 -07:00
Mitchell Hashimoto b43cfa3bb0 providers/aws: launch configuration in helper/schema 2014-10-10 14:50:23 -07:00
Xu Wang df37e82f5b Add optional param iam_instance_profile to resource_aws_launch_configuration to support role based AC 2014-10-06 20:46:25 -07:00
Mitchell Hashimoto 9b2b3a963f ResourceDiff => InstanceDiff 2014-09-17 16:33:24 -07:00
Mitchell Hashimoto c5d6df692d providers/aws: tests passing, compiles 2014-09-16 17:49:24 -07:00
Mitchell Hashimoto 56cf1e6faa Fix go vet complaints 2014-08-24 21:50:35 -07:00