Commit Graph

10669 Commits

Author SHA1 Message Date
Mitchell Hashimoto f6692e66ac add command/state show 2016-05-10 14:14:47 -04:00
Mitchell Hashimoto a754723561 terraform: fix some issues around filtering single counts 2016-05-10 14:14:47 -04:00
Mitchell Hashimoto d1b46e99bd Add `terraform state list` command
This introduces the terraform state list command to list the resources
within a state. This is the first of many state management commands to
come into 0.7.

This is the first command of many to come that is considered a
"plumbing" command within Terraform (see "plumbing vs porcelain":
http://git.661346.n2.nabble.com/what-are-plumbing-and-porcelain-td2190639.html).
As such, this PR also introduces a bunch of groundwork to support
plumbing commands.

The main changes:

- Main command output is changed to split "common" and "uncommon"
  commands.

- mitchellh/cli is updated to support nested subcommands, since
  terraform state list is a nested subcommand.

- terraform.StateFilter is introduced as a way in core to filter/search
  the state files. This is very basic currently but I expect to make it
  more advanced as time goes on.

- terraform state list command is introduced to list resources in a
  state. This can take a series of arguments to filter this down.

Known issues, or things that aren't done in this PR on purpose:

- Unit tests for terraform state list are on the way. Unit tests for the
  core changes are all there.
2016-05-10 14:14:47 -04:00
James Nugent 8e4da4e2a1 deps: Vendor github.com/hashicorp/go-plugin 2016-05-10 14:14:47 -04:00
Mitchell Hashimoto 84214437b3 Use hashicorp/go-plugin for plugin system
This replaces this plugin system with the extracted hashicorp/go-plugin
library.

This doesn't introduce any new features such as binary flattening but
opens us up to that a lot more easily and removes a lot of code from TF
in favor of the upstream lib.

This will introduce a protocol change that will cause all existing
plugins to have to be recompiled to work properly. There is no actual
API changes so they just have to recompile, but it is technically
backwards incompatible.
2016-05-10 14:14:47 -04:00
Bill Fumerola 7dcb4974a1 Correct error messages in google provider test library 2016-05-10 10:59:11 -07:00
Albert Choi feb9cbe175 update CHANGELOG.md 2016-05-10 10:38:57 -07:00
Albert Choi 94a7c69153 [clc] additional server types + docs 2016-05-10 10:36:52 -07:00
Albert Choi 8ab63c2d52 [clc] add packages to server at create 2016-05-10 10:36:52 -07:00
Albert Choi c93bc5ccb5 [clc] pull latest sdk 2016-05-10 10:36:52 -07:00
Albert Choi eb4963a853 [clc] password now computed+optional 2016-05-10 10:36:49 -07:00
clint shryock 42ee519a31 provider/aws: Update Route53 Record to schema v1, normalizing name
The `name` attribute will always be normalized to a FQDN, with a trailing "dot"
at the end when returned from the API.

We store the name as it's provided in the configuration, so "www" stays as "www"
and "www.terraformtesting.io." stays as "www.terraformtesting.io.".

The problem here is that if we use a full name as above, and the configuraiton
does *not* include the trailing dot, the API will return a version that does,
and we'll have a conflict.

This is particularly bad when we have a lifecycle block with
`create_before_destroy`; the record will get an update posted (which ends up
being a no-op on AWS's side), but then we'll delete the same record immediately
after, resulting in no record at all.

This PR addresses that by trimming the trailing dot from the `name` when saving
to state. We migrate existing state to match, to avoid false-positive diffs.
2016-05-10 11:17:02 -05:00
Martin Atkins f310400e21 Merge pull request #6584 from samber/fix-makefile
fix(Makefile): remove 'updatedeps' from .PHONY
2016-05-10 07:13:11 -07:00
Poney baker 03c64b9ba5 fix(Makefile): remove 'updatedeps' from .PHONY 2016-05-10 14:30:31 +02:00
Kirill Shirinkin e24550bb6c Reassociate FIP on network changes 2016-05-10 11:12:19 +02:00
f440 e66e4a3c37 Update CHANGELOG.md 2016-05-10 16:38:03 +09:00
James Nugent 8d7e1af28f release: clean up after v0.6.16 2016-05-09 21:10:58 +00:00
James Nugent 6e586c8939
v0.6.16 2016-05-09 20:31:07 +00:00
James Nugent b62f6af158 core: Add support for marking outputs as sensitive (#6559)
* core: Add support for marking outputs as sensitive

This commit allows an output to be marked "sensitive", in which case the
value is redacted in the post-refresh and post-apply list of outputs.

For example, the configuration:

```
variable "input" {
    default = "Hello world"
}

output "notsensitive" {
    value = "${var.input}"
}

output "sensitive" {
    sensitive = true
    value = "${var.input}"
}
```

Would result in the output:

```
terraform apply

Apply complete! Resources: 0 added, 0 changed, 0 destroyed.

Outputs:

  notsensitive = Hello world
  sensitive    = <sensitive>
```

The `terraform output` command continues to display the value as before.

Limitations: Note that sensitivity is not tracked internally, so if the
output is interpolated in another module into a resource, the value will
be displayed. The value is still present in the state.
2016-05-09 15:46:07 -04:00
Kraig Amador dc4dd764e6 Adding option_settings to aws_db_option_group 2016-05-09 12:40:38 -07:00
Paul Stack 5e4edf81f2 Update CHANGELOG.md 2016-05-09 19:24:08 +01:00
Kevin DeJong 0cec1c19d7 Add support for the Base URL endpoint so the GitHub provider can support GitHub Enterprise (#6434) 2016-05-09 19:22:53 +01:00
James Nugent 02d4458ec2 Update CHANGELOG.md 2016-05-09 14:14:03 -04:00
Clint 3eee40cd98 provider/fastly: Add support for Conditions for Fastly Services (#6481)
* provider/fastly: Add support for Conditions for Fastly Services

Docs here:

- https://docs.fastly.com/guides/conditions/

Also Bump go-fastly version for domain support in S3 Logging
2016-05-09 14:08:13 -04:00
Paul Stack dbdf9f6c84 Update CHANGELOG.md 2016-05-09 18:52:29 +01:00
Antoine Rouaze a105de19c0 [azurerm] Add os_type and image_uri in azurerm_virtual_machine (#6553)
Fix #6372

Partial fix of #6526
2016-05-09 18:51:19 +01:00
Paul Stack b2cb8d27f6 Update CHANGELOG.md 2016-05-09 18:42:00 +01:00
Paul Stack af29a61748 provider/aws: Change `aws_elastic_ip_association` to have computed parameters (#6552)
* New top level AWS resource aws_eip_association

* Add documentation for aws_eip_association

* Add tests for aws_eip_association

* provider/aws: Change `aws_elastic_ip_association` to have computed
parameters

The AWS API was send ing more parameters than we had set. Therefore,
Terraform was showing constant changes when plans were being formed
2016-05-09 18:40:45 +01:00
James Nugent eb7fee57d2 Update CHANGELOG.md 2016-05-09 13:34:34 -04:00
James Nugent 2d19957d8b Merge pull request #6558 from hashicorp/b-aws-db-option-group-name
provider/aws: Update paramter for DB Option Group
2016-05-09 13:33:25 -04:00
James Nugent 061a34c16f Merge pull request #6557 from hashicorp/phinze/destroy-interpolation-error-fix
core: Fix interp error msgs on module vars during destroy
2016-05-09 13:30:49 -04:00
Paul Hinze fe210e6da4
core: Fix interp error msgs on module vars during destroy
Wow this one was tricky!

This bug presents itself only when using planfiles, because when doing a
straight `terraform apply` the interpolations are left in place from the
Plan graph walk and paper over the issue. (This detail is what made it
so hard to reproduce initially.)

Basically, graph nodes for module variables are visited during the apply
walk and attempt to interpolate. During a destroy walk, no attributes
are interpolated from resource nodes, so these interpolations fail.

This scenario is supposed to be handled by the `PruneNoopTransformer` -
in fact it's described as the example use case in the comment above it!

So the bug had to do with the actual behavor of the Noop transformer.
The resource nodes were not properly reporting themselves as Noops
during a destroy, so they were being left in the graph.

This in turn triggered the module variable nodes to see that they had
another node depending on them, so they also reported that they could
not be pruned.

Therefore we had two nodes in the graph that were effectively noops but
were being visited anyways. The module variable nodes were already graph
leaves, which is why this error presented itself as just stray messages
instead of actual failure to destroy.

Fixes #5440
Fixes #5708
Fixes #4988
Fixes #3268
2016-05-09 12:18:57 -05:00
clint shryock f8d59b9e97 provider/aws: Update paramter for DB Option Group 2016-05-09 12:16:26 -05:00
Paul Stack de7f558aba Update CHANGELOG.md 2016-05-09 18:14:55 +01:00
Paul Stack d3939db0a1 provider/azurerm: Adding support for `tags` to `azurerm_virtual_machine` (#6556)
provider/azurerm: Adding support for `tags` to `azurerm_virtual_machine`
2016-05-09 18:14:02 +01:00
Clint 4d66f1ca94 provider/aws: Opsworks Agent has a default, needs to be computed (#6555) 2016-05-09 11:26:16 -05:00
Paul Stack 357d97cdd7 Update CHANGELOG.md 2016-05-09 15:22:26 +01:00
Felivel Camilo 156d2916d8 Adding private ip address reference to azurerm network interface (#6538)
* Adding private ip address reference

* adding private ip address reference
* Updating the docs.

* Removing optional attrib from private_ip_address

Removing optional attribute from private_ip_address, this element is only being used in the read.

* Selecting the first element instead of using a loop for now.
Change this to a loop when https://github.com/Azure/azure-sdk-for-go/issues/259 is fixed
2016-05-09 15:21:15 +01:00
Paul Stack 35c4daf494 Update CHANGELOG.md 2016-05-09 11:43:28 +01:00
Michael D Roach 465a838f91 Digital Ocean Example.
* Added Readme for this example.

* Base Terraform Digital Ocean Files

* Update Readme to read better

*  Changes to be committed:
	modified:   README.md
2016-05-09 08:04:51 +01:00
James Nugent fe6fff3a20 Update CHANGELOG.md 2016-05-08 19:56:33 -04:00
James Nugent a3d1e9d9b7 Merge pull request #6543 from hashicorp/arm-vm-data_disk
provider/azurerm: Error creating `azurerm_virtual_machine` data_disk
2016-05-08 19:55:19 -04:00
stack72 8dc47ac799 provider/azurerm: Error creating `azurerm_virtual_machine` data_disk
The `storage_data_disk` was trying to use vhd_url rather than vhd_uri.
This was causing an error on creating a new data_disk as part of a VM

Also added validation as data_disks can only be 1 - 1023 GB in size
2016-05-09 00:48:01 +01:00
James Nugent eb4aab76cf Update CHANGELOG.md 2016-05-08 19:47:25 -04:00
James Nugent affd2b3f3b Merge pull request #6505 from hashicorp/b-cloudfront-cookies
provider/aws: Require cookies for Cloudfront Distributions
2016-05-08 19:45:37 -04:00
Paul Stack 43ae8ee5e8 Update CHANGELOG.md 2016-05-09 00:45:27 +01:00
James Nugent 1913769227 Update CHANGELOG.md 2016-05-08 19:41:25 -04:00
Chris Marchesi 84cd31cece provider/aws: Add CloudFront hosted_zone_id attribute (#6530)
Added the hosted_zone_id attribute, which aliases to the Route 53
zone ID that can be used to route Alias Resource Record Sets to.

This fixes hashicorp/terraform#6489.
2016-05-09 00:40:30 +01:00
James Nugent 92f9fab734 Merge pull request #6499 from hashicorp/b-6005
helper/schema: Normalize bools to "true"/"false" in diffs
2016-05-08 19:40:09 -04:00
James Nugent 3900c3f086 docs: Clarify wording of which variables prompt 2016-05-08 19:38:35 -04:00