Commit Graph

1373 Commits

Author SHA1 Message Date
Clint Shryock 0fbbd1195a provider/aws: Convert AWS Subnet to mainstream aws-sdk-go 2015-04-06 15:07:40 -05:00
Clint Shryock eb82f2bf2a provider/aws: Convert Key Pair to upstream aws-sdk-go 2015-04-06 12:22:57 -05:00
Clint 23c0fb7695 Merge pull request #1384 from hashicorp/b-aws-fix-route53-hosted-refresh
provider/aws: Fix refresh issue in Route 53 hosted zone
2015-04-06 11:11:07 -05:00
Clint fa2d41ef55 Merge pull request #1234 from hashicorp/b-fix-aws-subnet-map-public-change
provider/aws: Fix issue when changing map-public-ip in Subnets
2015-04-06 11:03:45 -05:00
Clint 008012b7a6 Merge pull request #1382 from hashicorp/f-aws-rds-updates
provider/aws: Support additional changes to RDS without forcing new
2015-04-06 10:59:57 -05:00
Paul Hinze 6726309947 Fix string typo 2015-04-06 10:51:30 -05:00
Paul Hinze c2b293d047 Fix comment typo 2015-04-06 10:45:02 -05:00
Clint Shryock c5eb16cfb1 provider/aws: Change Route 53 record to allow resource updates
This removes `ForceNew` from `records` and `ttl`, and introduces a
`resourceAwsRoute53RecordUpdate` function. The `resourceAwsRoute53RecordUpdate`
falls through to the `resourceAwsRoute53RecordCreate` function, which utilizes
AWS `UPSERT` behavior and diffs for us.

`Name` and `Type` are used by AWS in the `UPSERT`, so only records with matching
`name` and `type` can be updated. Others are created as new, so we leave the
`ForceNew` behavior here.
2015-04-06 10:16:23 -05:00
Clint Shryock f02de51d58 provider/aws: Fix refresh issue in Route 53 hosted zone
Change the error handling/detection to correctly determine no hosted zone
exists.
2015-04-03 13:59:34 -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 b0abb4ea49 Merge pull request #1379 from hashicorp/f-validate-forcenew-on-resources-without-update
helper/schema: ensure ForceNew set when Update is not
2015-04-03 12:53:55 -05:00
Clint Shryock 961a646b9a provider/aws: Support additional changes to RDS without forcing a new resource 2015-04-03 12:23:01 -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
Clint Shryock 268f935386 provider/aws: Fix issue finding db subnets
AWS seems to lower case DB Subnet Group names, causing a failure in TF if your
name isn't all lower case.
2015-04-03 09:34:04 -05:00
Paul Hinze cedfadc808 Merge pull request #1352 from hashicorp/b-rds-pointers
providers/aws: pass pointers directly to d.Set in RDS
2015-04-02 12:41:31 -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
Paul Hinze f8a699f3d8 Merge pull request #1079 from bobtfish/launch_configuration_computed_names
RFC for making launch configuration names computed.
2015-04-02 12:10:22 -05:00
Paul Hinze de1a58512a Merge pull request #1359 from hashicorp/b-do-ssh-key-test
providers/digitalocean: fix ssh key test
2015-04-02 11:34:34 -05:00
Paul Hinze ace47c1c5b providers/digitalocean: fix ssh key test
there's now validation on the public key field
2015-04-02 09:04:59 -05:00
Clint Shryock 87e1260fac update hash for aws security group test 2015-04-02 09:00:47 -05:00
Paul Hinze e0cdadfc55 Merge pull request #1347 from jtopjian/compute-network-refactor
provider/openstack Compute Network Refactor
2015-04-02 08:46:03 -05:00
Rui Zhang 94bb3ed513 Support for AWS Placement Group
- add placement_group for aws instance
- update test and document
2015-04-01 23:33:16 -07:00
Mitchell Hashimoto a2014fc846 Merge pull request #1185 from hashicorp/f-remote-resource
Feature: Remote Modules
2015-04-01 22:50:30 -07:00
Mitchell Hashimoto 478379b3b3 providers/terraform: name it terraform_remote_state 2015-04-01 22:49:05 -07:00
Joe Topjian 1693767922 Compute Instance basic acceptance test
A change was made to account for clouds with multiple networks.
2015-04-02 00:10:46 +00:00
Joe Topjian 7ca97f4bfc Updating Floating IP acceptance tests 2015-04-01 22:54:09 +00:00
Joe Topjian 99ac8b4410 Compute Floating IP Test Update
Changes the test to require a network UUID rather than a name.
2015-04-01 21:39:54 +00:00
Joe Topjian ef4e03a729 Workaround for missing tenant-network
This commit resolves an issue where the tenant-network api extension
does not exist. The caveat is that the user must either specify no
networks (single network environment) or can only specify UUIDs for
network configurations.
2015-04-01 21:31:55 +00:00
Clint Shryock c7282d6a94 provider/aws: Change AWS Subnet map ip on launch to default false, from computed 2015-04-01 16:27:12 -05:00
Clint Shryock 85c0910165 Merge remote-tracking branch 'upstream/master' into b-fix-aws-subnet-map-public-change
* upstream/master: (295 commits)
  Update CHANGELOG.md
  provider/aws: Allow DB Parameter group to change in RDS
  return error if failed to set tags on Route 53 zone
  core: [tests] fix order dependent test
  Fix hashcode for ASG test
  provider/aws: Fix issue with tainted ASG groups failing to re-create
  Don't error when reading s3 bucket with no tags
  Avoid panics when DBName is not set
  Add floating IP association in aceptance tests
  Use env var OS_POOL_NAME as default for pool attribute
  providers/heroku: Add heroku-postgres to example
  docs: resource addressing
  providers/heroku: Document environment variables
  providers/heroku: Add region to example
  Bugfix on floating IP assignment
  Update CHANGELOG.md
  update CHANGELOG
  website: note on docker
  core: formalize resource addressing
  core: fill out context tests for targeted ops
  ...
2015-04-01 16:24:38 -05:00
Clint Shryock b31a69fe43 provider/aws: Allow DB Parameter group to change in RDS 2015-04-01 16:05:19 -05:00
Clint Shryock 261faaf3d2 Merge branch 'master' into f-rds-update
* master: (167 commits)
  return error if failed to set tags on Route 53 zone
  core: [tests] fix order dependent test
  Fix hashcode for ASG test
  provider/aws: Fix issue with tainted ASG groups failing to re-create
  Don't error when reading s3 bucket with no tags
  Avoid panics when DBName is not set
  Add floating IP association in aceptance tests
  Use env var OS_POOL_NAME as default for pool attribute
  providers/heroku: Add heroku-postgres to example
  docs: resource addressing
  providers/heroku: Document environment variables
  providers/heroku: Add region to example
  Bugfix on floating IP assignment
  Update CHANGELOG.md
  update CHANGELOG
  website: note on docker
  core: formalize resource addressing
  core: fill out context tests for targeted ops
  core: docs for targeted operations
  core: targeted operations
  ...
2015-04-01 15:28:35 -05:00
Clint Shryock 6be66612b5 Merge remote-tracking branch 'upstream/master' into f-aws-rds-tags
* upstream/master:
  return error if failed to set tags on Route 53 zone
  cleanups
  provider/aws: Finish Tag support for Route 53 zone
  provider/aws: Add tags to Route53 hosted zones
2015-04-01 14:58:04 -05:00
Clint Shryock 815b79753a return error if failed to set tags on Route 53 zone 2015-04-01 14:49:50 -05:00
Clint Shryock a4f72dc8ee Merge branch 'master' into f-aws-route53zone-tags
* master: (172 commits)
  core: [tests] fix order dependent test
  Fix hashcode for ASG test
  provider/aws: Fix issue with tainted ASG groups failing to re-create
  Don't error when reading s3 bucket with no tags
  Avoid panics when DBName is not set
  Add floating IP association in aceptance tests
  Use env var OS_POOL_NAME as default for pool attribute
  providers/heroku: Add heroku-postgres to example
  docs: resource addressing
  providers/heroku: Document environment variables
  providers/heroku: Add region to example
  Bugfix on floating IP assignment
  Update CHANGELOG.md
  update CHANGELOG
  website: note on docker
  core: formalize resource addressing
  core: fill out context tests for targeted ops
  core: docs for targeted operations
  core: targeted operations
  user_data support
  ...
2015-04-01 14:23:32 -05:00
Clint Shryock d16492a962 Merge branch 'master' into f-aws-rds-tags
* master: (172 commits)
  core: [tests] fix order dependent test
  Fix hashcode for ASG test
  provider/aws: Fix issue with tainted ASG groups failing to re-create
  Don't error when reading s3 bucket with no tags
  Avoid panics when DBName is not set
  Add floating IP association in aceptance tests
  Use env var OS_POOL_NAME as default for pool attribute
  providers/heroku: Add heroku-postgres to example
  docs: resource addressing
  providers/heroku: Document environment variables
  providers/heroku: Add region to example
  Bugfix on floating IP assignment
  Update CHANGELOG.md
  update CHANGELOG
  website: note on docker
  core: formalize resource addressing
  core: fill out context tests for targeted ops
  core: docs for targeted operations
  core: targeted operations
  user_data support
  ...
2015-04-01 14:21:57 -05:00
Paul Hinze 78963fc3d9 providers/aws: fix/improve RDS pointers handling
* d.Set has a pointer nil check we can lean on
* need to be a bit more conservative about nil checks on nested structs;
  (this fixes the RDS acceptance tests)

/cc @fanhaf
2015-04-01 11:32:17 -05:00
Benjamin Vickers 909fb66f5b template resource for cloudstack 2015-04-01 17:27:45 +01:00
Joe Topjian 4244d0947e Making the network resource computable
This allows the obtained network information to be successfully stored
for environments that do not require a network resource to be specified.
2015-04-01 16:06:47 +00:00
Clint Shryock 3f5829dc78 Merge branch 'f-aws-asg-fix-drain-delete'
* f-aws-asg-fix-drain-delete:
  Fix hashcode for ASG test
2015-04-01 10:47:09 -05:00
Clint Shryock 84e448de1a Fix hashcode for ASG test 2015-04-01 10:42:53 -05:00
Joe Topjian 67e33a7ac9 Updated compute_instance acceptance tests for floating IPs 2015-04-01 15:39:36 +00:00
Joe Topjian bb81228205 typo with netname when no networks are specified 2015-04-01 15:39:36 +00:00
Joe Topjian 30b0fc7489 Only attempt to get the MAC address if it exists. 2015-04-01 15:39:36 +00:00
Joe Topjian 0d77232196 Fixing computed parameters 2015-04-01 15:39:36 +00:00
Joe Topjian ccba698370 Network Read changes
This commit changes how the network info is read from OpenStack.
It pulls all relevant information from server.Addresses and merges
it with the available information from the networks parameters.
The access_v4, access_v6, and floating IP information is then
determined from the result.

A MAC address parameter is also added since that information is
available in server.Addresses.
2015-04-01 15:39:36 +00:00
Joe Topjian b160654cb3 Allow networks to be specified by name
This commit allows the user to specify a network by name rather than
just uuid. This is done via the os-tenant-networks api extension.
This works for both neutron and nova-network.
2015-04-01 15:39:36 +00:00
Joe Topjian b90a6152c5 Renamed fixed_ip to fixed_ip_v4 and added fixed_ip_v6 2015-04-01 15:39:36 +00:00
Joe Topjian d768a01cab Removes check for a "public" network
This is only possible if the OpenStack cloud explicitly has a network
called "public".
2015-04-01 15:39:36 +00:00
Joe Topjian 141b40189e os-floating-ips support
This commit causes the resource to manage floating IPs by way of the
os-floating-ips API.

At the moment, it works with both nova-network and Neutron environments,
but if you use multiple Neutron networks, the network that supports the
floating IP must be listed first.
2015-04-01 15:39:18 +00:00
Clint 9d91c806fc Merge pull request #1353 from hashicorp/f-aws-asg-fix-drain-delete
provider/aws: Fix issue with tainted ASG groups failing to re-create
2015-04-01 10:20:58 -05:00
Clint Shryock 3d65998282 provider/aws: Fix issue with tainted ASG groups failing to re-create 2015-04-01 09:24:26 -05:00
Paul Hinze 0b84f4b097 Merge pull request #1342 from ggiamarchi/openstack-bugfix-floating-ip
OpenStack provider - Bugfix on floating IP assignment
2015-04-01 09:09:11 -05:00
Paul Hinze 85c89c3ec6 Merge pull request #1350 from fanhaf/panic_DBName_null
Provider/AWS: RDS - Avoid panics when DBName is not set
2015-04-01 09:02:52 -05:00
Phil Frost 27f0873de7 Don't error when reading s3 bucket with no tags
s3.GetBucketTagging returns an error if there are no tags associated
with a bucket. Consequently, any configuration with a tagless s3 bucket
would fail with an error, "the TagSet does not exist".

Handle that error more appropriately, interpreting it as an empty set of
tags.
2015-04-01 08:57:50 -04:00
Michał Guminiak dc67b043fa Avoid panics when DBName is not set
provider/aws: The DBName in RDS instance is optional and when
not set, the Read function return null.
2015-04-01 14:43:05 +02:00
Guillaume Giamarchi 56aa764b94 Add floating IP association in aceptance tests 2015-04-01 11:27:56 +02:00
Guillaume Giamarchi c0b85d4939 Use env var OS_POOL_NAME as default for pool attribute
To have the same behaviour for openstack_networking_floatingip_v2
and openstack_compute_foatingip_v2.
2015-04-01 11:24:54 +02:00
Guillaume Giamarchi a90b9db397 Bugfix on floating IP assignment
The `getFirstNetworkID` does not work correctly because the first
network is not always the private network of the instance.

As long as the `GET /networks` gives a list containing also public
networks we don't have any guarantee that the first network is the
one we want. Furthermore, with a loop over the network list we are
not able to determine which network is the one we want.

Instead of retrieving the network ID and then finding the port ID,
it's better to basically take the first port ID of the instance.
2015-04-01 00:14:56 +02:00
Paul Hinze 08814a51ba Merge pull request #924 from jrperritt/openstack-gophercloud-v1.0
OpenStack Provider
2015-03-31 16:58:21 -05:00
Mitchell Hashimoto 3a167c0216 Merge pull request #1329 from hashicorp/f-docker
Docker provider
2015-03-31 14:50:08 -07:00
Chris Buben 0092946f74 user_data support
Mostly stolen from: https://github.com/jtopjian/terraform-provider-openstack/blob/master/openstack/resource_openstack_instance.go
2015-03-31 09:54:50 -06:00
Julien Vey 2e37784065 Fix general comments by @phinze 2015-03-31 09:54:50 -06:00
Joe Topjian f011462e30 Volume Pending States
This commit adds pending states for volume attachment, detachment,
and deletion.
2015-03-31 09:54:50 -06:00
Joe Topjian f5feb7fbbb Allows "self" to be discovered and recorded correctly. 2015-03-31 09:54:50 -06:00
Guillaume Giamarchi ba880b136b Code clean-up 2015-03-31 09:54:50 -06:00
Guillaume Giamarchi 83160acf69 Return Read call result in Create & Update 2015-03-31 09:54:50 -06:00
Guillaume Giamarchi bdeca31731 remove boilerplate code using CheckDeleted 2015-03-31 09:54:50 -06:00
Guillaume Giamarchi 16a963313f FWaaS version is actually v1 not v2
Rename files and methods.

Confusion have been made between neutron
version and FWaaS extension version.
2015-03-31 09:54:50 -06:00
Guillaume Giamarchi 1efaaeeca6 Use d.GetOk to populate data in read operations 2015-03-31 09:54:50 -06:00
Guillaume Giamarchi ed31588b84 Unassociate firewall rule from policy before delete 2015-03-31 09:54:49 -06:00
Guillaume Giamarchi 54174dcc05 Fix firewall policies tests 2015-03-31 09:54:49 -06:00
Guillaume Giamarchi c5e861c049 Remove useless code 2015-03-31 09:54:49 -06:00
Guillaume Giamarchi 1c981d6f30 Fix race conditions on firewall state transition 2015-03-31 09:54:49 -06:00
Guillaume Giamarchi d6733fb379 Fix code regarding to the latest gophercloud code 2015-03-31 09:54:49 -06:00
Guillaume Giamarchi cfd3329e00 Add tenant_id attribute on FWaaS resources 2015-03-31 09:54:49 -06:00
Guillaume Giamarchi 0ab06af410 Add FWaaS firewall acceptance test 2015-03-31 09:54:49 -06:00
Guillaume Giamarchi 06826fb677 Add FWaaS policy acceptance test 2015-03-31 09:54:49 -06:00
Guillaume Giamarchi 88a55a5d58 Enable FWaaS resources 2015-03-31 09:54:49 -06:00
Guillaume Giamarchi 3d1001d8fe Add FWaaS rule acceptance test 2015-03-31 09:54:49 -06:00
Guillaume Giamarchi 5d42242d4b Add FWaaS firewall resource 2015-03-31 09:54:49 -06:00
Guillaume Giamarchi f829427151 Add FWaaS policy resource 2015-03-31 09:54:49 -06:00
Guillaume Giamarchi 552b0af201 Add FWaaS rule resource 2015-03-31 09:54:49 -06:00
Joe Topjian 102848525f Added CheckDelete to handle bad Gets. Also removed unneeded Get
from Delete.
2015-03-31 09:54:49 -06:00
Joe Topjian b7091414fe Volume Safe Delete
This commit ensures that a volume is detached from all instances
before it is deleted.

It also adds in an `attachment` exported parameter that shows details
of the volume's attachment(s).
2015-03-31 09:54:49 -06:00
Joe Topjian c3c4840baf openstack_compute_floatingip_v2
This commit adds a resource that allows the user to allocate,
deallocate, associate, and disassociate floating IPs through the
nova api.
2015-03-31 09:54:49 -06:00
Eric Bellemon d03b420e62 Replace perigee.UnexpectedResponseCodeError with gophercloud.UnexpectedResponseCodeError 2015-03-31 09:54:49 -06:00
Long Nguyen 42fb14f19a Added self option to security groups 2015-03-31 09:54:49 -06:00
Joe Topjian 79e5c419c3 Fixing rule/rules and re-arranged order for schema consistency 2015-03-31 09:54:49 -06:00
Joe Topjian 4c9a44b69f Added access_ip_v6 support
This commit populates access_ip_v6 by either the AccessIPv6 attribute
or by finding the first available IPv6 address.

This commit retains the original feature of setting the default ssh
connection to the IPv4 address unless one is not found. IPv6 access
can still be enabled by explicitly setting it in the resource paramters.

This commit also removes d.Set("host") in favor of SetConnInfo
2015-03-31 09:54:49 -06:00
Jon Perritt 633e98dffe security group rule fix; still not exporting rule ID 2015-03-31 09:54:49 -06:00
Joe Topjian 4df32aebed Changing how security groups are read for compute instances 2015-03-31 09:54:49 -06:00
Jon Perritt 64d53009a0 typeset->typelist 2015-03-31 09:54:49 -06:00
Jon Perritt bb6969a4c5 resize server on flavor_id or flavor_name change 2015-03-31 09:54:49 -06:00
Jon Perritt 49b01a4f0a update compute instance security group Read operation 2015-03-31 09:54:49 -06:00
Joe Topjian e5f2315bfe Instance volume attach
This commit adds the ability for instances to attach volumes from within their resource.
2015-03-31 09:54:48 -06:00
Joe Topjian 16ea14e8c9 Grammar fix 2015-03-31 09:54:48 -06:00
Joe Topjian b3438d07d6 This commit enables both the image_id and the image_name to be
computed, so that specifying one will populate the other.
2015-03-31 09:54:48 -06:00
Joe Topjian 768292c069 Support for flavor_name
This commit renames flavor_ref to flavor_id and adds the flavor_name
parameter. Users can now specify either a flavor ID or name when launching
instances.
2015-03-31 09:54:48 -06:00
Joe Topjian 74482abc5b Refactoring multiple results 2015-03-31 09:54:48 -06:00
Joe Topjian bad2c9f18d Accounting for multiple results of an image name
If multiple results are found, an error will be returned to the user.
2015-03-31 09:54:48 -06:00
Joe Topjian f51a53000f Support for image_name
This commit renames image_ref to image_id and adds the image_name
parameter. Users can now specify either an image UUID or image name
when launching instances.

image_name is preferrable as deployers/sysadmins generally regularly
deprecate/remove outdated and insecure images. Using a consistent
naming scheme allows end-users to always retrieve a working image.
2015-03-31 09:54:48 -06:00
Jon Perritt fafa946871 handle 404 (Not Found) in Get operations 2015-03-31 09:54:48 -06:00
Eric Bellemon 9b30ef4eb2 Remove region properties on acceptance tests 2015-03-31 09:54:48 -06:00
Eric Bellemon e9abf04e4b Add router interface resource 2015-03-31 09:54:48 -06:00
Eric Bellemon 32d0e36709 Add router resource 2015-03-31 09:54:48 -06:00
Julien Vey 132d5acb33 Make pool name configurable in tests 2015-03-31 09:54:48 -06:00
Julien Vey 760e03856e Manage floating IP in compute instances 2015-03-31 09:54:48 -06:00
Julien Vey 9aa9c90248 Add floating IP resource 2015-03-31 09:54:48 -06:00
Julien Vey aae87816f6 add ACTIVE as pending state when deleting instance 2015-03-31 09:54:48 -06:00
Julien Vey 8e9c6787dd Just try the first IP available if none found before
Some cloud don't implement correctly IP addresses.
Instead of failing during the provisionning, we just take the
first IP available and try with this one.
2015-03-31 09:54:48 -06:00
Jon Perritt ccd51ae3ab added ok codes to gophercloud -> update ServerV2StateRefreshFunc 2015-03-31 09:54:48 -06:00
Jon Perritt e2634562a4 define block_device schema 2015-03-31 09:54:48 -06:00
Jon Perritt 436ef9e53b boot from volume ops and docs 2015-03-31 09:54:48 -06:00
Jon Perritt 761d58df2f add container and volume resources 2015-03-31 09:54:48 -06:00
Jon Perritt a85067062d object storage v1 acceptance tests 2015-03-31 09:54:47 -06:00
Jon Perritt d2169e0e96 block storage v1 acceptance tests 2015-03-31 09:54:47 -06:00
Jon Perritt acd5a033f0 fix typo in client variable name 2015-03-31 09:54:47 -06:00
Jon Perritt f1ac6dbfec block storage volume v1 ops 2015-03-31 09:54:47 -06:00
Jon Perritt a5147f472b update metadata before actual Update op 2015-03-31 09:54:47 -06:00
Jon Perritt 43564d1c5c object storage container v1 ops 2015-03-31 09:54:47 -06:00
Jon Perritt 08672e697e networking subnets acceptance tests 2015-03-31 09:54:47 -06:00
Jon Perritt e040934077 networking networks acceptance tests 2015-03-31 09:54:47 -06:00
Jon Perritt d46d9a6540 lb vips acceptance tests 2015-03-31 09:54:47 -06:00
Jon Perritt e7a69d0a6c lb pools acceptance tests 2015-03-31 09:54:47 -06:00
Jon Perritt e08e97304f lb monitors acceptance tests 2015-03-31 09:54:47 -06:00
Jon Perritt 66129632b3 security groups acceptance tests 2015-03-31 09:54:47 -06:00
Jon Perritt fa15d41d45 UpdateOpts not optional 2015-03-31 09:54:47 -06:00
Jon Perritt b9395b36d2 update client methods 2015-03-31 09:54:47 -06:00
Jon Perritt 6b2f2df042 'rules' -> 'rule' 2015-03-31 09:54:47 -06:00
Jon Perritt 33d62bbdbf 'networks' -> 'network' 2015-03-31 09:54:47 -06:00
Jon Perritt 777c34cf7c move lb member ops into lb pool file 2015-03-31 09:54:47 -06:00
Jon Perritt 1aba665ad7 refactor service clients to *Config 2015-03-31 09:54:47 -06:00
Jon Perritt 3627368fc0 remove security group rule option from provider 2015-03-31 09:54:47 -06:00
Jon Perritt a2d2f92741 remove security group rule file 2015-03-31 09:54:47 -06:00
Jon Perritt c233c7f7f0 fix typo in comment 2015-03-31 09:54:47 -06:00
Jon Perritt ea7c075273 add security group rules ops to security groups file 2015-03-31 09:54:47 -06:00
Jon Perritt 3a6107d0ab keypairs v2 acceptance tests 2015-03-31 09:54:47 -06:00
Jon Perritt 17b137c972 go fmt 2015-03-31 09:54:47 -06:00
Jon Perritt a707f8414c compute instance v2 acceptance tests 2015-03-31 09:54:46 -06:00
Jon Perritt e278f852b3 add image_ref and flavor_ref checks 2015-03-31 09:54:46 -06:00
Jon Perritt 59b5efc25a add defaultFuncs; fix bug with server createOpts 2015-03-31 09:54:46 -06:00
Jon Perritt e6f3a19284 add defaultFunc for 'tenant_name' 2015-03-31 09:54:46 -06:00
Jon Perritt d86cb6be1c fix diff bug in 'Read' functions 2015-03-31 09:54:46 -06:00
Jon Perritt 5d2fe153c0 go fmt 2015-03-31 09:54:46 -06:00
Jon Perritt d51ee3111e always need both name and description when updating 2015-03-31 09:54:46 -06:00
Jon Perritt 2214331b3c export 'region' from 'Read' operations 2015-03-31 09:54:46 -06:00
Jon Perritt 46a7949c9d fix bug in SessionPersistence logic 2015-03-31 09:54:46 -06:00
Jon Perritt 9b54c569cc use 'Default' to forgo prompt 2015-03-31 09:54:46 -06:00
Jon Perritt dc99dd1f05 add versioning to files 2015-03-31 09:54:46 -06:00
Jon Perritt 8579c8693a make 'region' resource-specific; create new client for each crud operation 2015-03-31 09:54:46 -06:00
Jon Perritt bfe492d407 add options for openstack identity v3 2015-03-31 09:54:46 -06:00
Jon Perritt b0e8cd5dd3 a more general way of generating provider clients 2015-03-31 09:54:46 -06:00
Jon Perritt b1b693e461 region is resource-specific; doesn't belong with auth 2015-03-31 09:54:46 -06:00
Jon Perritt cc1445d760 if update func called, there's something to update 2015-03-31 09:54:46 -06:00
Jon Perritt dd4155fa80 set host in read function 2015-03-31 09:54:46 -06:00
Jon Perritt 8e6e7909cb neutron subnet operations 2015-03-31 09:54:46 -06:00
Jon Perritt ef3ee11045 neutron network operations 2015-03-31 09:54:46 -06:00
Jon Perritt c2230a8aaa lb vip operations 2015-03-31 09:54:46 -06:00
Jon Perritt 7132b02a84 lb pool operations 2015-03-31 09:54:45 -06:00
Jon Perritt 966c8420d1 lb monitor operations 2015-03-31 09:54:45 -06:00
Jon Perritt 9077b66045 lb member operations 2015-03-31 09:54:45 -06:00
Jon Perritt ac79c76b13 add lb resources 2015-03-31 09:54:45 -06:00
Jon Perritt 4424828d25 crud for neutron subnets 2015-03-31 09:54:45 -06:00
Jon Perritt 4761075790 crud for neutron networks 2015-03-31 09:54:45 -06:00
Jon Perritt 45c4868f90 fix comment 2015-03-31 09:54:45 -06:00
Jon Perritt 457bbe661a resource_compute_secgroup -> resource_openstack_compute_secgroup 2015-03-31 09:54:45 -06:00
Jon Perritt d7560de2dd remove errant comment 2015-03-31 09:54:45 -06:00
Jon Perritt 23d425072c add/delete security groups and rules 2015-03-31 09:54:45 -06:00
Jon Perritt 01e41646d3 add/get/delete keypairs 2015-03-31 09:54:45 -06:00
Jon Perritt 47955b1d44 remove unneeded variables during server creation 2015-03-31 09:54:45 -06:00
Jon Perritt edc280a8dc add/update admin pass on server; change key pair format from map to string 2015-03-31 09:54:45 -06:00
Jon Perritt 04a9d47bca add/update/remove sec groups from server 2015-03-31 09:54:45 -06:00
Jon Perritt f17649e9dc server resizing 2015-03-31 09:54:45 -06:00
Jon Perritt 0bb0dad58c provider test 2015-03-31 09:54:45 -06:00
Jon Perritt 48e92f8173 OS_REGION -> OS_REGION_NAME (thank you @hartzell) 2015-03-31 09:54:45 -06:00
Jon Perritt 3112103acf server keypair 2015-03-31 09:54:45 -06:00
Jon Perritt cc9ee787ac update openstack server metadata 2015-03-31 09:54:45 -06:00
Jon Perritt f9fa748024 crud for openstack servers v2 2015-03-31 09:54:45 -06:00
Clint Shryock e485767694 provider/aws: Add non-destructive updates to AWS RDS
This introduces non-destructive, in-place upgrades to MultiAZ and Engine Version
attributes of AWS RDS instances.
2015-03-31 09:41:37 -05:00
Clint Shryock a897b5208e Merge branch 'f-aws-rds-tags' into f-rds-update
* f-aws-rds-tags:
  fix index out of range error
  fix formatting
  upgrade VPC Ids and DB Subnet to be optionally computed
  fix typo
  provider/aws: Introduce IAM connection
2015-03-30 15:19:35 -05:00
Clint Shryock 755f8d0f44 provider/aws: Fix acceptance test checks for AWS Security Group 2015-03-30 14:54:03 -05:00
Paul Hinze f2968b045c Merge pull request #1316 from hashicorp/b-empty-instancestate-state-migrate-crash
providers/aws: handle empty instancestate in state migration
2015-03-29 08:53:04 -05:00
Mitchell Hashimoto 118a5b9dfd providers/docker: ping docker server on startup 2015-03-28 19:06:48 -07:00
Mitchell Hashimoto a7a5d2e564 providers/docker: make container test better 2015-03-28 18:45:36 -07:00
Mitchell Hashimoto 09333e5e76 providres/docker: cache client 2015-03-28 18:37:20 -07:00
Mitchell Hashimoto 7c253155c1 providers/docker: container acceptance tests 2015-03-27 15:33:17 -07:00
Mitchell Hashimoto 3601e9f5ee providers/docker: docker_image acceptance test 2015-03-27 15:22:33 -07:00
Mitchell Hashimoto d6303c91ad providers/docker: support DOCKER_CERT_PATH 2015-03-27 15:18:52 -07:00
Clint Shryock ce8ec26d08 cleanups 2015-03-27 16:05:54 -05:00
Mitchell Hashimoto b7c88f0038 Merge branch 'master' of https://github.com/jefferai/terraform into jefferai-master 2015-03-27 13:44:40 -07:00
Clint Shryock 12585b1963 provider/aws: Finish Tag support for Route 53 zone 2015-03-27 15:41:42 -05:00
Mitchell Hashimoto 7d846cb97e Merge pull request #1315 from hashicorp/b-heroku-config-vars-2
providers/heroku: empty config vars block shouldn't panic [GH-1211]
2015-03-27 12:17:27 -07:00
Clint Shryock 3ce5b6cd70 Merge branch 'master' into f-aws-route53zone-tags
* master:
  provider/aws: Fix dependency violation when deleting Internet Gateways
  command/remote-config: failing tests
  update CHANGELOG
  command/remote-config: do a pull with `terraform remote config`
  command/remote-{pull,push}: colorize and show success output
  command/remote-config: lowercase the type so that Atlas works, for example
  command/remote-config: show flag parse errors
  command/remote-config: remove weird error case that shows no error message
  command: when setting up state, only write back if local is newer
2015-03-27 13:57:33 -05:00
Clint Shryock 38c386487b Merge branch 'master' into f-aws-rds-tags
* master: (66 commits)
  provider/aws: Fix dependency violation when deleting Internet Gateways
  command/remote-config: failing tests
  update CHANGELOG
  command/remote-config: do a pull with `terraform remote config`
  command/remote-{pull,push}: colorize and show success output
  command/remote-config: lowercase the type so that Atlas works, for example
  command/remote-config: show flag parse errors
  command/remote-config: remove weird error case that shows no error message
  command: when setting up state, only write back if local is newer
  minor code cleanups to get acceptance tests passing
  update CHANGELOG
  providers/digitalocean: add dot in GET response
  providers/digitalocean: force fqdn in dns rr value
  update CHANGELOG
  small code cleanup
  Add proper reading/updating of tags for S3
  provider/aws: Add tags to S3
  Documentation for ASG Tags added
  Tags support added for AWS ASG
  command/output: don't panic if no root module in state [GH-1263]
  ...
2015-03-27 13:49:05 -05:00
Clint Shryock 043a4848ee provider/aws: Fix dependency violation when deleting Internet Gateways 2015-03-27 11:39:07 -05:00
Clint Shryock b64a919d83 provider/aws: Add tags to Route53 hosted zones 2015-03-26 16:45:23 -05:00
Clint 340863b6cc Merge pull request #1312 from hashicorp/f-aws-s3-tags
provider/aws: Add tags to S3
2015-03-26 15:15:54 -05:00
Clint 1b22f206fb Merge pull request #1279 from hashicorp/b-route53-record-fixes
provider/aws: Cleanup Route 53 subdomain name handling
2015-03-26 15:15:31 -05:00
Clint Shryock deda59b50e minor code cleanups to get acceptance tests passing 2015-03-26 14:49:15 -05:00
Clint Shryock 877eb902a0 Merge branch 'master' into time-asg-tags-support
* master:
  update CHANGELOG
  providers/digitalocean: add dot in GET response
  providers/digitalocean: force fqdn in dns rr value
  update CHANGELOG
  Add disk size to google_compute_instance disk blocks.
  'project' should be set to the project's ID, not its name.
  Don't error when enabling DNS hostnames in a VPC
  Correct AWS VPC or route table read functions
  Updates to GCE Instances and Instance Templates to allow for false values to be set for the auto_delete setting.
  Update GCE Instance Template tests now that existing disk must exist prior to template creation.
  Update Google API import to point to the new location.
  add network field to the network_interface
2015-03-26 13:47:46 -05:00
Paul Hinze f51fb5e127 providers/aws: handle empty instancestate in state migration
fixes #1309
2015-03-26 13:07:04 -05:00
Anton Tereshchenkov 6f76340192 providers/digitalocean: add dot in GET response
Added tests for relative and external CNAME values.
2015-03-26 10:57:46 -07:00
Anton Tereshchenkov 3565ae034e providers/digitalocean: force fqdn in dns rr value
Fixes a bug that forces DNS record to be recreated when dealing with
records that have domain values (CNAME, MX, NS, etc.)
2015-03-26 10:57:46 -07:00
Mitchell Hashimoto 5e7007e38f Merge pull request #1239 from BashtonLtd/gce_fix_false_bools
providers/google: Updates to GCE Instances and Instance Templates to allow for false bools.
2015-03-26 10:20:52 -07:00
Mitchell Hashimoto 591376f88d Merge pull request #1238 from BashtonLtd/gce_update_instance_template_disk_tests
providers/google: Update GCE Instance Template tests now that existing disk must exist first.
2015-03-26 10:20:29 -07:00
Mitchell Hashimoto 266670c1a1 Merge pull request #1154 from stuntgoat/gce-add-network
providers/google: add network field to the network_interface
2015-03-26 10:19:00 -07:00
Mitchell Hashimoto 944ff16d4e Merge branch 'vpc_missing' of https://github.com/bitglue/terraform into bitglue-vpc_missing
Conflicts:
	builtin/providers/aws/resource_aws_vpc.go
2015-03-26 10:17:14 -07:00
Mitchell Hashimoto d21c112593 Merge pull request #1236 from BashtonLtd/gce_update_imports
Update Google API import to point to the new location.
2015-03-26 10:14:33 -07:00
Mitchell Hashimoto deb5052454 Merge pull request #1284 from ndarilek/add-size-to-instance-disk
Add size option to disk blocks under google_compute_instance
2015-03-26 10:13:11 -07:00
Clint Shryock 1b699aae7d small code cleanup 2015-03-26 11:58:20 -05:00
Mitchell Hashimoto e5a375ae58 providers/heroku: empty config vars block shouldn't panic [GH-1211] 2015-03-26 09:45:37 -07:00
Clint Shryock be60d39b24 Add proper reading/updating of tags for S3 2015-03-26 11:45:16 -05:00
Clint Shryock c6d832333b provider/aws: Add tags to S3 2015-03-26 11:19:42 -05:00
Radek Simko fff05e2aad Tags support added for AWS ASG 2015-03-26 07:35:15 +00:00
Sander van Harmelen 26fa9b6daa Merge pull request #1305 from svanharmelen/b-provider/cloudstack-template
provider/cloudstack: some small fixes, needed to work with bigger templates
2015-03-25 22:56:37 +01:00
Sander van Harmelen 041cce36b4 Some small fixes, needed to work with bigger templates 2015-03-25 22:48:44 +01:00
Paul Hinze 396b082c20 Merge pull request #1304 from hashicorp/b-aws-vpc-modify-attr-req
providers/aws: fix DNS options on VPC
2015-03-25 16:24:13 -05:00
Paul Hinze cddb057f40 providers/aws: fix DNS options on VPC
One typo on a `d.Get` and reuse of the request object was making it sad.

Now it is happy!

fixes #1301
2015-03-25 15:15:32 -05:00
Paul Hinze 6b02cfb700 Merge pull request #1277 from hashicorp/f-aws-derive-root-device-name
providers/aws: derive instance root_block_device name
2015-03-25 15:15:05 -05:00
Clint Shryock 89854b0af5 fix index out of range error 2015-03-25 11:10:12 -05:00
Clint Shryock 398f4564c4 fix formatting 2015-03-25 10:32:54 -05:00
Clint Shryock 65ff5b327d upgrade VPC Ids and DB Subnet to be optionally computed 2015-03-25 10:14:45 -05:00
Clint Shryock 676f3c5bab fix typo 2015-03-25 10:05:15 -05:00
Clint Shryock 87907e24ba provider/aws: Introduce IAM connection 2015-03-24 15:47:22 -05:00
Clint Shryock ef094e2cfe provider/aws: Add tag support to ELB 2015-03-24 13:37:42 -05:00
Nolan Darilek 9d75fa72ab Add disk size to google_compute_instance disk blocks. 2015-03-24 11:45:20 -05:00
Clint Shryock 32eebf4e15 provider/aws: Cleanup Route 53 subdomain name handling 2015-03-23 15:01:53 -05:00
Paul Hinze a4e80b6313 providers/aws: derive instance root_block_device name
I was working on building a validation to check the user-provided
"device_name" for "root_block_device" on AWS Instances, when I realized
that if I can check it, I might as well just derive it automatically!

So that's what we do here - when you customize the details of the root
block device, device name is just comes from the selected AMI.
2015-03-23 11:58:45 -05:00
Clint 55d682482a Merge pull request #1274 from TimeIncOSS/modifiers-fix
Fix fmt modifiers for bool to be actually bool, not integer
2015-03-23 10:56:23 -05:00
Radek Simko bbda2d6733 Fix fmt modifiers for bool to be actually bool, not integer 2015-03-22 13:33:17 +00:00
Phil Frost b49fba6b61 Don't error when enabling DNS hostnames in a VPC
The AWS API call ModifyVpcAttribute will allow only one attribute to be
modified at a time. Modifying both results in the error:

    Fields for multiple attribute types specified: enableDnsHostnames, enableDnsSupport

Retructure the provider to honor this restriction.

Also, enable DNS support before attempting to enable DNS hostnames,
since the former is a prerequisite of the latter.

Additionally, fix what must have been a copy&paste error, setting
enable_dns_support to the value of enable_dns_hostnames.
2015-03-20 14:49:50 -04:00
Phil Frost 9545f26fa0 Correct AWS VPC or route table read functions
If the state file contained a VPC or a route table which no longer
exists, Terraform would fail to create the correct plan, which is to
recreate them.

In the case of VPCs, this was due to incorrect error handling. The AWS
SDK returns a aws.APIError, not a *aws.APIError on error.  When the VPC
no longer exists, upon attempting to refresh state Terraform would
simply exit with an error.

For route tables, the provider would recognize that the route table no
longer existed, but would not make the appropriate call to update the
state as such. Thus there'd be no crash, but also no plan to re-create
the route table.
2015-03-20 13:38:41 -04:00
Clint Shryock f97343dea1 provider/aws: Fix issue in AWS AutoScaling Group where health_check_type is not set correctly 2015-03-20 10:11:12 -05:00
Clint Shryock c48a5bf42b provider/aws: Fix DB Subnet refresh issue 2015-03-19 16:45:07 -05:00
Clint bb4dd8ae77 Merge pull request #1137 from deverton/aws-go-vpn
provider/aws: Add Support For AWS VPN Gateways using aws-sdk-go
2015-03-19 16:12:17 -05:00
Clint Shryock 1ccfcb5e3d Merge remote-tracking branch 'upstream/master'
* upstream/master:
  provider/aws: Fix dependency violation with subnets and security groups
2015-03-19 16:01:15 -05:00
Clint Shryock a8c80a447e Merge branch 'b-fix-route53-txt-records'
* b-fix-route53-txt-records:
  provider/aws: Fix issue with Route53 and TXT records
  provider/aws: Add test for TXT route53 record
2015-03-19 15:47:20 -05:00
Clint 3cbc8899b5 Merge pull request #1252 from hashicorp/fix-subnet-sg-dependency-violation
provider/aws: Fix dependency violation with subnets and security groups
2015-03-19 15:39:57 -05:00
Clint Shryock 3d8005729d provider/aws: Fix dependency violation with subnets and security groups
Though not directly connected, trying to delete a subnet and security group in
parallel can cause a dependency violation from the subnet, claiming there are
dependencies.

This commit fixes that by allowing subnet deletion to tolerate failure with a
retry / refresh function.

Fixes #934
2015-03-19 15:10:49 -05:00
Paul Hinze 5e1de9d930 Merge pull request #1250 from hashicorp/b-block-devices
providers/aws: fix bug w/ empty block dev mapping
2015-03-19 13:21:08 -05:00
Paul Hinze 6c62e23829 providers/aws: fix bug w/ empty block dev mapping
fixes #1249
2015-03-19 13:14:31 -05:00
Paul Hinze f990c3b02b providers/aws: fix blockdevices acceptance test
hashcodes just needed updating from latest hash func tweaks
2015-03-19 11:40:48 -05:00
Clint 21fa3d1fc9 Merge pull request #1210 from hashicorp/b-add-guards-aws-instance
provider/aws: Add additional guards for Tenancy, SourceDestCheck
2015-03-19 11:20:14 -05:00
Clint Shryock a063ebe992 provider/aws: Update tag support in AWS Elastic Network Interfaces 2015-03-19 11:07:01 -05:00
Clint df514c9003 Merge pull request #1149 from peterbeams/master
Support AWS Elastic Network Interfaces (ENI)
2015-03-19 11:04:30 -05:00
Clint Shryock c1ccbb5c7d provider/aws: Add VPC guards for Tenancy, SourceDestCheck 2015-03-19 10:07:46 -05:00
Paul Hinze 5fca25ae5e providers/aws: remove commented code
oopsie!
2015-03-19 09:19:10 -05:00
Paul Hinze 46b63074e0 Merge pull request #1045 from hashicorp/f-block-devices
providers/aws: rework instance block devices
2015-03-19 09:09:45 -05:00
Paul Hinze 2b23c402ee providers/aws: rework instance block devices
Instance block devices are now managed by three distinct sub-resources:

 * `root_block_device` - introduced previously
 * `ebs_block_device` - all additional ebs-backed volumes
 * `ephemeral_block_device` - instance store / ephemeral devices

The AWS API support around BlockDeviceMapping is pretty confusing. It's
a single collection type that supports these three members each of which
has different fields and different behavior.

My biggest hiccup came from the fact that Instance Store volumes do not
show up in any response BlockDeviceMapping for any EC2 `Describe*` API
calls. They're only available from the instance meta-data service as
queried from inside the node.

This removes `block_device` altogether for a clean break from old
configs. New configs will need to sort their `block_device`
declarations into the three new types. The field has been marked
`Removed` to indicate this to users.

With the new block device format being introduced, we need to ensure
Terraform is able to properly read statefiles written in the old format.
So we use the new `helper/schema` facility of "state migrations" to
transform statefiles in the old format to something that the current
version of the schema can use.

Fixes #858
2015-03-19 09:03:41 -05:00