Commit Graph

19005 Commits

Author SHA1 Message Date
Paul Stack 0a645294a0 provider/aws: ForceNew aws_launch_config when root_block_device changes (#14507)
Fixes: #14503

Changes to root_block_device were not picked up as we had a hash func to
return 0. We changed from set -> list as we only allow 1 value and
immediately we can get changes propagating

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSLaunchConfiguration_updateRootBlockDevice'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/05/15 19:27:39 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSLaunchConfiguration_updateRootBlockDevice -timeout 120m
=== RUN   TestAccAWSLaunchConfiguration_updateRootBlockDevice
--- PASS: TestAccAWSLaunchConfiguration_updateRootBlockDevice (51.12s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	51.140s
```
2017-05-15 20:18:40 +03:00
Paul Stack bb1559e041 Update CHANGELOG.md 2017-05-15 20:17:57 +03:00
Paul Stack 2276e981ee provider/aws: Add new aws_db_snapshot data source (#10291)
* provider/aws: Add ability to create AWS DB Snapshots

* provider/aws: Add AWS DB Snapshot resource acceptance tests

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSDBSnapshot_
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2016/11/22 18:24:05 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSDBSnapshot_ -timeout 120m
=== RUN   TestAccAWSDBSnapshot_basic
--- PASS: TestAccAWSDBSnapshot_basic (892.75s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	892.773s
```

* provider/aws: Add new aws_db_snapshot data source

* docs/aws: Add documentation for aws_db_snapshot resource

* provider/aws: Add datasource for aws_db_snapshot acceptance tests

```
% make testacc TEST=./builtin/providers/aws
% TESTARGS='-run=TestAccAWSDbSnapshotDataSource_'     2 ↵ ✭
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2016/11/22 18:55:08 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v
-run=TestAccAWSDbSnapshotDataSource_ -timeout 120m
=== RUN   TestAccAWSDbSnapshotDataSource_basic
--- PASS: TestAccAWSDbSnapshotDataSource_basic (966.68s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws966.699s
```

* docs/aws: Adding documentation for aws_db_snapshot datasource
2017-05-15 20:17:26 +03:00
Annie Hedgpeth 11ea5a46c6 provider/azurerm: Add example of vm custom image w/new storage account (#14468)
* initial commit - 101-vm-from-user-image

* changed branch name

* not deploying - storage problems

* provisions vm but image not properly prepared

* storage not correct

* provisions properly

* changed main.tf to azuredeploy.tf

* added tfvars and info for README

* tfvars ignored and corrected file ext

* added CI config; added sane defaults for variables; updated deployment script, added mac specific deployment for local testing

* deploy.sh to be executable

* executable deploy files

* added CI files; changed vars

* prep for PR

* removal of old folder

* prep for PR

* wrong args for travis

* more PR prep

* updated README

* commented out variables in terraform.tfvars

* Topic 101 vm from user image (#2)

* initial commit - 101-vm-from-user-image
* added tfvars and info for README
* added CI config; added sane defaults for variables; updated deployment script, added mac specific deployment for local testing
* prep for PR

* added new template

* oops, left off master

* prep for PR

* correct repository for destination

* renamed scripts to be more intuitive; added check for docker

* merge vm simple; vm from image

* initial commit

* deploys locally

* updated deploy

* consolidated deploy and after_deploy into a single script; simplified ci process; added os_profile_linux_config

* added terraform show

* changed to allow http & https (like ARM tmplt)

* changed host_name & host_name variable desc

* added az cli check

* on this branch, only build test_dir; master will aggregate all the examples

* merge master

* added new constructs/naming for deploy scripts, etc.

* suppress az login output

* suppress az login output

* forgot about line breaks

* breaking build as an example

* fixing broken build example

* merge of CI config

* fixed grammar in readme

* prep for PR

* took out armviz button and minor README changes

* changed host_name

* fixed merge conflicts

* changed host_name variable

* updating Hashicorp's changes to merged simple linux branch

* updating files to merge w/master and prep for Hashicorp pr

* Revert "updating files to merge w/master and prep for Hashicorp pr"

This reverts commit b850cd5d2a858eff073fc5a1097a6813d0f8b362.

* Revert "updating Hashicorp's changes to merged simple linux branch"

This reverts commit dbaf8d14a9cdfcef0281919671357f6171ebd4e6.

* removing vm from user image example from this branch

* removed old branch

* azure-2-vms-loadbalancer-lbrules (#13)

* initial commit

* need to change lb_rule & nic

* deploys locally

* updated README

* updated travis and deploy scripts for Hari's repo

* renamed deploy script

* clean up

* prep for PR

* updated readme

* fixing conflict in .travis.yml

* add CI build tag

* initial commit; in progress

* in progress

* undoing change to readme

* in progress

* in progress

* doesn't winrm

* deploys locally

* added vars to deploy scripts; removed nsg

* chmod

* https typo

* deploy cleanup

* deploys locally

* targeting resources for destroy

* added graph

* removing unmerged example

* reverting to Hashicorp's travis.yml

* reverting to branch travis.yml before branching to pr to Hashi

* reverting to Hashicorp's .travis.yml

* clean up
2017-05-15 20:03:09 +03:00
Annie Hedgpeth 9fac441ae2 provider/azurerm: Add example of vm specialized vhd existing vnet (#14412)
* merge master

* added new constructs/naming for deploy scripts, etc.

* suppress az login output

* merge of CI config

* initial commit; not working yet

* initial commit - added files - draft

* troubleshooting image uri

* null_resource added

* updating simple linux with Hashicorp's master

* in progress

* small README edit

* in progress

* adding graph to README of azure-vnet-two-subnets

* added graph to azure-vm-simple-linux-managed-disk

* cleanup

* chmod on deploy.ci.sh

* in progress; changed uri variables

* adding variables to deploy scripts

* chmod deploy.mac.sh

* in progress; troubleshooting variables

* deploys locally successfully

* returning cleanup to deploy

* typo on deploy.ci.sh

* added graph to README

* changed the subnet_id variable in ci

* reverting to Hashicorp's travis.yml
2017-05-15 19:41:06 +03:00
Paul Stack 583c38a088 Update CHANGELOG.md 2017-05-15 19:39:08 +03:00
emily 2ad2af0c09 Make google resource storage bucket importable (#14455) 2017-05-15 19:38:32 +03:00
clint shryock 6d0786cccb provider/aws: Improve Checkdestroy to not fail if the ami is not found (it's deleted afterall) and improve tagging 2017-05-15 10:24:43 -05:00
Clint 5f724fc8a1 Update CHANGELOG.md 2017-05-15 09:13:15 -05:00
cmorent 589febdc26 providers/heroku: import heroku_pipeline resource (#14486) 2017-05-15 09:12:29 -05:00
Jake Champlin 5a3cf7c89e Merge pull request #14473 from realflash/master
Document AWS IPv6 address access
2017-05-15 09:33:06 -04:00
Radek Simko 65af35fb25 Merge pull request #14460 from hashicorp/b-github-test-repo
provider/github: Randomize acceptance tests
2017-05-15 14:54:49 +02:00
Paul Stack 7b392920d3 Update CHANGELOG.md 2017-05-15 15:52:12 +03:00
Paul Stack d5bb844684 provider/aws: Allow Internet Gateway IPv6 routes (#14484)
Fixes: #14006
Fixes: #14464

IPv6 wasn't supported for adding routes to the internet gateway.
Resulted in a message as follows:

```
Error creating route: MissingParameter: The request must contain the parameter destinationCidrBlock or destinationIpv6CidrBlock
```

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSRoute_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/05/15 11:50:43 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSRoute_ -timeout 120m
=== RUN   TestAccAWSRoute_basic
--- PASS: TestAccAWSRoute_basic (67.27s)
=== RUN   TestAccAWSRoute_ipv6Support
--- PASS: TestAccAWSRoute_ipv6Support (59.35s)
=== RUN   TestAccAWSRoute_ipv6ToInternetGateway
--- PASS: TestAccAWSRoute_ipv6ToInternetGateway (67.39s)
=== RUN   TestAccAWSRoute_changeCidr
--- PASS: TestAccAWSRoute_changeCidr (103.68s)
=== RUN   TestAccAWSRoute_noopdiff
--- PASS: TestAccAWSRoute_noopdiff (194.32s)
=== RUN   TestAccAWSRoute_doesNotCrashWithVPCEndpoint
--- PASS: TestAccAWSRoute_doesNotCrashWithVPCEndpoint (71.36s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	563.397s
```
2017-05-15 15:48:38 +03:00
Jake Champlin ef4914e300 Merge pull request #14492 from hashicorp/f-update-dynamodb-docs
provider/aws: Update documentation for dynamodb
2017-05-15 08:45:08 -04:00
Patrick Decat 392166faea Typo: now => no (#14493)
> This validation checks that there are now splat variables referencing ourself. This currently is not allowed.

=> 

> This validation checks that there are no splat variables referencing ourself. This currently is not allowed.
2017-05-15 15:39:55 +03:00
Patrick Decat d27c511689 Typo: resotred => restored (#14494) 2017-05-15 14:35:18 +02:00
Jake Champlin ccd001f426
provider/aws: fix documentation for dynamodb 2017-05-15 08:31:43 -04:00
Jake Champlin c9044365bd
provider/aws: Update documentation for dynamodb 2017-05-15 08:17:49 -04:00
Paul Stack d608e8bcac Update CHANGELOG.md 2017-05-15 14:53:12 +03:00
Malte Brodersen 994284f535 Allow Windows Docker containers to map volumes (#13584)
* fix regex for windows path

* Fix escaping

* move validate function out and create test
2017-05-15 13:09:50 +03:00
Aleksejs Sinicins 0e0c61bbd8 Fix typo in ignition documentation (#14469) 2017-05-15 13:08:24 +03:00
Paul Stack dd2bc1edbd Update CHANGELOG.md 2017-05-15 11:56:38 +03:00
Paul Stack 59955a7523 provider/aws: Override spot_instance_requests volume_tags schema (#14481)
The acceptance tests for spot_instance_requests were showing falures as
follows:

```
------- Stdout: -------
=== RUN   TestAccAWSSpotInstanceRequest_basic
--- FAIL: TestAccAWSSpotInstanceRequest_basic (100.40s)
    testing.go:280: Step 0 error: After applying this step, the plan was not empty:

        DIFF:

        UPDATE: aws_spot_instance_request.foo
          volume_tags.%: "" => "<computed>"
```

This was because we were setting volume_tags as computed and thus the
diff. We needed to override the schema to make sure that it was not
being computed - it's only aws_instance that needs computed tags because
of EBS volumes

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSSpotInstanceRequest_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/05/15 10:41:36 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSSpotInstanceRequest_ -timeout 120m
=== RUN   TestAccAWSSpotInstanceRequest_basic
--- PASS: TestAccAWSSpotInstanceRequest_basic (86.93s)
=== RUN   TestAccAWSSpotInstanceRequest_withBlockDuration
--- PASS: TestAccAWSSpotInstanceRequest_withBlockDuration (97.47s)
=== RUN   TestAccAWSSpotInstanceRequest_vpc
--- PASS: TestAccAWSSpotInstanceRequest_vpc (234.56s)
=== RUN   TestAccAWSSpotInstanceRequest_SubnetAndSG
--- PASS: TestAccAWSSpotInstanceRequest_SubnetAndSG (146.16s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	565.131s
```
2017-05-15 11:55:56 +03:00
Radek Simko 551e284ffa Update CHANGELOG.md 2017-05-15 10:31:36 +02:00
Radek Simko 2964f7bc78 provider/aws: Show state reason when EC2 instance fails to launch (#14479) 2017-05-15 10:31:12 +02:00
Radek Simko feb16dfdcc Update CHANGELOG.md 2017-05-15 10:30:56 +02:00
Radek Simko 9c2a3d6248 provider/aws: Show last scaling activity when ASG creation/update fails (#14480) 2017-05-15 10:30:10 +02:00
Joe Topjian d34bbbc389 Update CHANGELOG.md 2017-05-14 22:34:54 -06:00
Joe Topjian 0d930618ad Merge pull request #14307 from takaishi/support-to-create-seccgorup-rule-with-protocol-name
provider/openstack: Add to support protocols for resourceNetworkingSecGroupRuleV2
2017-05-14 22:33:30 -06:00
Ian Gibbs a4784e4d2a Document the data attribute that allows you to get at an instance's IPv6 address(es) 2017-05-14 21:42:18 +01:00
Tom Harvey b17cfdebe6 Updating to include #14265 2017-05-14 19:31:22 +01:00
Jay Wang 6ca50dd81d [MS] provider/azurerm: New resource - Express Route Circuit (#14265)
* Adds ExpressRoute circuit documentation

* Adds tests and doc improvements

* Code for basic Express Route Circuit support

* Use the built-in validation helper

* Added ignoreCaseDiffSuppressFunc to a few fields

* Added more information to docs

* Touchup

* Moving SKU properties into a set.

* Updates doc

* A bit more tweaks

* Switch to Sprintf for test string

* Updating the acceptance test name for consistency
2017-05-14 19:30:14 +01:00
r_takaishi 773d7bf4f0 fix test and const name 2017-05-14 21:00:36 +09:00
r_takaishi 848176588c add test 2017-05-14 20:59:18 +09:00
r_takaishi 7ec662b243 provider/openstack: Add to support protocols for resourceNetworkingSecGroupRuleV2 2017-05-14 20:59:18 +09:00
r_takaishi 58ccbbeca1 vendor: Updating Gophercloud for OpenStack Provider 2017-05-14 20:58:37 +09:00
Radek Simko 11e386993b Update CHANGELOG.md 2017-05-13 22:02:40 +02:00
Yusuke Goto 3b14fc90d9 provider/aws: AWS WAF Regional IPSet + ByteMatchSet support (#13705)
* provider/aws: AWS WAF Regional ByteMatchSet support

* providor/aws: AWS WAF Regional IPSet support

* fix typo

* Nested ByteMatchTuples of WAF Regional support

* fix name byte_match_tuple singular WAF Regional

* update wafregional_byte_match_set doc

* fix wafregional ipset to look descriptor

* Add wafregional_byte_match_set test

* fix wafregional_ipset_descriptor to be singular

* fix newWafRegionalRetryer to receive region

* fix updateSetWR argument

* fix wafregional_ipset_descriptor doc

* Separate out logic into flatteners

* Fix failing test
2017-05-13 22:01:27 +02:00
Radek Simko 4041db698c
provider/github: Randomize repository collaborator acc tests 2017-05-13 11:11:41 +02:00
Radek Simko 23bb27e5f5
provider/github: Randomize team repository acc tests 2017-05-13 11:11:39 +02:00
Radek Simko af47810e30
provider/github: Randomize issue label acc tests 2017-05-13 11:11:38 +02:00
Radek Simko b6edff80d8
provider/github: Randomize branch protection acc tests 2017-05-13 11:08:51 +02:00
Martin Atkins 5367f2607e Update CHANGELOG.md 2017-05-12 15:49:29 -07:00
Martin Atkins 87e98d6b1a Merge #14098: correctly handle new/removed instances from count during refresh 2017-05-12 15:48:07 -07:00
Chris Marchesi 11b4794612 core: Test for new refresh graph behaviour
Tests on DynamicExpand for both resources and data sources, cover scale
in/out scenarios, and also a verification for the behaviour of config
orphans.
2017-05-12 15:45:06 -07:00
Chris Marchesi f63ad1dbd1 providers/test: Add count resource <-> data source dep count scale tests
These tests cover the new refresh behaviour and would fail with "index
out of range" if the refresh graph is not expanded to take new resources
into account as well (scale out), or if it does not with expanded count
orphans in a way that makes sure they don't get interpolated when walked
(scale in).
2017-05-12 15:45:06 -07:00
Chris Marchesi 7b1618efde core: Fix destroy factory in data source refresh expander 2017-05-12 15:45:06 -07:00
Chris Marchesi b807505d55 core: New refresh graph building behaviour
Currently, the refresh graph uses the resources from state as a base,
with data sources then layered on. Config is not consulted for resources
and hence new resources that are added with count (or any new resource
from config, for that matter) do not get added to the graph during
refresh.

This is leading to issues with scale in and scale out when the same
value for count is used in both resources, and data sources that may
depend on that resource (and possibly vice versa). While the resources
exist in config and can be used, the fact that ConfigTransformer for
resources is missing means that they don't get added into the graph,
leading to "index out of range" errors and what not.

Further to that, if we add these new resources to the graph for scale
out, considerations need to be taken for scale in as well, which are not
being caught 100% by the current implementation of
NodeRefreshableDataResource. Scale-in resources should be treated as
orphans, which according to the instance-form NodeRefreshableResource
node, should be NodeDestroyableDataResource nodes, but this this logic
is currently not rolled into NodeRefreshableDataResource. This causes
issues on scale-in in the form of race-ish "index out of range" errors
again.

This commit updates the refresh graph so that StateTransformer is no
longer used as the base of the graph. Instead, we add resources from the
state and config in a hybrid fashion:

 * First off, resource nodes are added from config, but only if
   resources currently exist in state.  NodeRefreshableManagedResource
   is a new expandable resource node that will expand count and add
   orphans from state. Any count-expanded node that has config but no
   state is also transformed into a plannable resource, via a new
   ResourceRefreshPlannableTransformer.
 * The NodeRefreshableDataResource node type will now add count orphans
   as NodeDestroyableDataResource nodes. This achieves the same effect
   as if the data sources were added by StateTransformer, but ensures
   there are no races in the dependency chain, with the added benefit of
   directing these nodes straight to the proper
   NodeDestroyableDataResource node.
 * Finally, config orphans (nodes that don't exist in config anymore
   period) are then added, to complete the graph.

This should ensure as much as possible that there is a refresh graph
that best represents both the current state and config with updated
variables and counts.
2017-05-12 15:45:06 -07:00
Chris Marchesi dfb5be2413 Rename NodeRefreshableResource to NodeRefreshableResourceInstance
In prep for NodeRefreshableResource becoming an
NodeAbstractCountResource and implementing GraphNodeDynamicExpandable.
2017-05-12 15:40:13 -07:00