Commit Graph

20049 Commits

Author SHA1 Message Date
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
Kit Ewbank f7b8fe82bc Nothing to update in cloudformation should not result in errors. 2017-05-13 17:08:08 -04: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
Martin Atkins 89b4d0784c Update CHANGELOG.md 2017-05-12 15:26:01 -07:00
Martin Atkins 3c0f5b203e Update HIL vendor for conditional type checking fix
hashicorp/hil#53 addresses a regression with type checking of unknown
values in the HIL conditional operator.

This fixes #14399.
2017-05-12 15:23:12 -07:00
Paul Stack 116d52b328 Update CHANGELOG.md 2017-05-13 01:14:54 +03:00
Paul Stack f383167712 provider/vault: Prevent panic when no secret found (#14435)
Fixes: #14408

Just a simple guard clause that returns an error if no
secret found
2017-05-13 01:14:14 +03:00
Clint 291ad1690c Update CHANGELOG.md 2017-05-12 15:14:07 -05:00
Clint c159c48f5e provider/heroku: Correct issue with setting CName in heroku_domain (#14443) 2017-05-12 15:13:21 -05:00
Paul Stack cb15a5d0a7 Update CHANGELOG.md 2017-05-12 16:14:56 +03:00
Andres Koetsier 3266da055a Do not fail on non-existent pipeline (#14431) 2017-05-12 16:14:07 +03:00
Paul Stack 6c5af927ac Update CHANGELOG.md 2017-05-12 16:13:14 +03:00
Roman Laguta cb590e516d Added new evaluation_delay parameter (#14433)
* Added new evaluation_delay field

Added new evaluation_delay parameter to pass it through the datadog monitor api

* Changed tests for new evaluation_delay field

* changed documentation
2017-05-12 16:12:21 +03:00
Paul Stack e6ae7853c5 Update CHANGELOG.md 2017-05-12 15:59:54 +03:00
Paul Stack 7f6477e762 Update CHANGELOG.md 2017-05-12 15:59:11 +03:00
Sertaç Özercan e0cd380814 [MS] provider/azurerm: Virtual Machine Scale Sets with managed disk support (#13717)
* added vmss with managed disk support

* Update vmss docs

* update vmss test

* added vmss managed disk import test

* update vmss tests

* remove unused test resources

* reverting breaking changes on storage_os_disk and storage_image_reference

* updated vmss tests and documentation

* updated vmss flatten osdisk

* updated vmss resource and import test

* update name in vmss osdisk

* update vmss test to include a blank name

* update vmss test to include a blank name
2017-05-12 15:58:00 +03:00
Bryan Burgers 7fac1ab1f6 provider/aws: Allow IPv6/IPv4 addresses to coexist
Fix an issue when trying to get a public IPv4 address and a public IPv6
address that results in the following error:

    Error launching source instance: InvalidParameterCombination:
    Network interfaces and an instance-level IPv6 address count may not
    be specified on the same request

To fix, in situations where we want a IPv6 addresses AND we need to
manually specify network interfaces on the instance, create the IPv6
addresses on the network interface that we're creating rather than on
the instance itself.

Fixes #13250
2017-05-12 07:00:55 -05:00
Paul Stack 15a5a84cd1 Update CHANGELOG.md 2017-05-12 13:38:20 +03:00
Dan Thagard 0a37f35865 Allowed method on aggregator is `avg` ! `average` (#14414)
* Allowed method on aggregator is `avg` ! `average`

While Datadog will accept the value of `average` when creating the query graph, the resultant graph will be empty. Passing the value of `avg` instead correctly renders the graph.

* Fixed gofmt

* Updated test to match new aggregator method
2017-05-12 13:37:32 +03:00
Joe Topjian a27e142625 provider/openstack: Add documentation about user_data (#14411) 2017-05-12 13:36:01 +03:00
Seth Vargo 5c39f5b2d2 Embed webinar video (#14419) 2017-05-12 13:32:43 +03:00
PaulAtkins deda15ace0 Correct argument description for targets (#14428)
Correct `targets` argument description to show the allowed keys are `InstanceIds` or `WindowTargetIds`
2017-05-12 13:32:11 +03:00
Andy Chan 5449e7731f Adding the missed Timeout related documentation (#14410) 2017-05-11 22:37:54 +03:00
Martin Atkins 6dea052f0e Update CHANGELOG.md 2017-05-11 11:59:18 -07:00
Martin Atkins 7bdf4a925d core: Allow downstream targeting of certain node types
The previous behavior of targets was that targeting a particular node
would implicitly target everything it depends on. This makes sense when
the dependencies in question are between resources, since we need to
make sure all of a resource's dependencies are in place before we can
create or update it.

However, it had the undesirable side-effect that targeting a resource
would _exclude_ any outputs referring to it, since the dependency edge
goes from output to resource. This then causes the output to be "stale",
which is problematic when outputs are being consumed by downstream
configs using terraform_remote_state.

GraphNodeTargetDownstream allows nodes to opt-in to a new behavior where
they can be targeted by _inverted_ dependency edges. That is, it allows
outputs to be considered targeted if anything they directly depend on
is targeted.

This is different than the implied targeting behavior in the other
direction because transitive dependencies are not considered unless the
intermediate nodes themselves have TargetDownstream. This means that
an output1→output2→resource chain can implicitly target both outputs, but
an output→resource1→resource2 chain _won't_ target the output if only
resource2 is targeted.

This behavior creates a scenario where an output can be visited before
all of its dependencies are ready, since it may have a mixture of both
targeted and untargeted dependencies. This is fine for outputs because
they silently ignore any errors encountered during interpolation anyway,
but other hypothetical future implementers of this interface may need to
be more careful.

This fixes #14186.
2017-05-11 11:57:46 -07:00