Commit Graph

3281 Commits

Author SHA1 Message Date
Ian Duffy 47ac10d66b Change resource.StateChangeConf to use an array for target states
Signed-off-by: Ian Duffy <ian@ianduffy.ie>
2016-01-21 01:20:41 +00:00
James Nugent 53c23511ef provider/azurerm: Add `azurerm_storage_account`
This is an unusual resource (so far) in that it cannot be created in one
call, and instead must be created and the modified to set some of the
parameters.

We use the pollIndefinitelyWhileNeeded function which will continue to
poll Azure RM operation monitoring endpoints until an error is reported
or the operation meets one of the given status codes. The function was
originally part of this feature but was separated out in order to
unblock other work.

Currently there is no support for the "custom_domain" section of the
storage account API. This was originally present and was later taken out
of the scope of the storage account resource in order that the following
workflow can be used:

1. Create storage account
2. Create DNS CNAME entry once the account name is known
3. Create custom domain mapping
2016-01-20 19:47:23 -05:00
James Nugent fda9b0f1ed Merge pull request #4759 from stack72/azurerm-cdn-endpoint
provider/azurerm: add CDN Endpoint resource
2016-01-20 14:05:22 -05:00
stack72 d91c7080e0 Scaffold the AzureRM CDN Endpoint resource 2016-01-20 16:47:41 +00:00
James Nugent 644a52c473 Merge pull request #4757 from hashicorp/f-cloudinitconfig-update
provider/template: Allow update in `template_cloudinit_config`
2016-01-20 11:22:57 -05:00
James Nugent 734d5698d7 provider/azurerm: Poll indefinitely if no error
This adds a pollIndefinitelyWhileNeeded function which will continue to
poll Azure RM operation monitoring endpoints until an error is reported
or the operation meets one of the given status codes. This may need
revisiting at some point in the future.
2016-01-20 10:25:26 -05:00
James Nugent b0f9eb5c13 provider/template: Allow update in `template_cloudinit_config` 2016-01-20 09:58:20 -05:00
chris 9aa8bbda93 provider/google: Support named_port on instance_group_manager
This allows HTTP and HTTPs load-balancers to direct traffic to ports other than tcp/80 and tcp/443.
2016-01-20 09:15:30 -05:00
Paul Hinze 7d10d454e2 Merge pull request #4749 from hashicorp/b-1752
core: fix diff mismatch when RequiresNew field and list both change
2016-01-19 18:29:10 -06:00
Paul Hinze 4af2c5f5dd core: fix diff mismatch when RequiresNew field and list both change
fixes #1752

Includes AccTest reproducing example from the issue as well as a bunch
of explanatory comments in the tests and impls.
2016-01-19 15:38:04 -06:00
Carles Figuerola b18afaa5db Add taging shared module for cloudstack and implement it in resource_network 2016-01-19 11:41:18 -06:00
stack72 183eb248df Scaffold the Azure RM CDN Profile 2016-01-19 17:37:28 +00:00
James Nugent a4abb0e66c Merge pull request #4739 from hashicorp/b-azurerm-resource-id-parsing
provider/azurerm: Parse "resourcegroups" in IDs
2016-01-19 11:42:45 -05:00
James Nugent c3ce8b81ef provider/azurerm: Parse "resourcegroups" in IDs
When parsing resource IDs (probably incorrectly since they are URIs and
should therefore be opaque), we need to look for "resourcegroups" in
addition to "resourceGroups" because the Azure CDN resources return that
in their URIs.

Unfortunately the casing semantics of the rest of the string are not
clear, so downcasing the entire URI is probably best avoided. This is a
fix for a single case.
2016-01-19 11:32:16 -05:00
Clint 569e74c2e7 Merge pull request #4481 from ElliotG/feature/encryptedBlockDevice
provider/aws: Added support for the encryption flag on ebs_block_devices in launch configurations
2016-01-19 10:26:11 -06:00
James Nugent 7620381a4f provider/aws: Wait for NACL rule to be visible
Fixes #4721. It seems there may be some eventual consistency in the API
for network ACLs. This fix doesn't use resource.WaitForState() as there
the NACL is not something that can be looked up by ID and has a
property which determines if it is present.

Instead we reuse the findNetworkAclRule function which the Read function
exhibiting the problem uses, and retry over a 3 minute period, returning
an error message informing the user that running `terraform apply` again
will likely allow them to continue.
2016-01-19 08:12:20 -05:00
stack72 a9afb489f6 Adds the ability to tag more of the Azure RM Network resources 2016-01-18 20:55:28 +00:00
stack72 2ebe2c01f1 Add acceptance tests and docs update to allow the tagging of AzureRM resource & 2016-01-18 18:35:41 +00:00
James Nugent 2ff0c65c3c provider/azurerm: Support tagging `azurerm_resource_group` 2016-01-18 13:13:28 -05:00
James Nugent d5e3db9deb provider/azurerm: Add tags to `azurerm_virtual_network` 2016-01-18 13:13:28 -05:00
stack72 d7a7eb4644 Adds an acceptance test to the ARM Availability Set to show that tagging
and updating of tags work as expected

Also updated the documentation for azure rm availability set to
demonstrate this
2016-01-18 17:47:37 +00:00
James Nugent a640ef9f16 provider/azurerm: Add tests for tag scaffolding 2016-01-18 12:28:04 -05:00
James Nugent f374ca77e7 provider/azurerm: Add scaffolding to tags 2016-01-18 11:48:01 -05:00
Martin Atkins 25bd43d6f4 Export public keys from tls_private_key
In most cases private keys are used to produce certs and cert requests,
but there are some less-common cases where the PEM-formatted keypair is
used alone. The public_key_pem attribute supports such cases.

This also includes a public_key_openssh attribute, which allows this
resource to be used to generate temporary OpenSSH credentials, so that
e.g. a Terraform configuration could generate its own keypair to use
with the aws_key_pair resource. This has the same caveats as all cases
where we generate private keys in Terraform, but could be useful for
temporary/throwaway environments where the state either doesn't live for
long or is stored securely.

This builds on work started by Simarpreet Singh in #4441 .
2016-01-16 17:30:48 -08:00
Paul Hinze 475c0c8549 Merge pull request #4694 from hashicorp/phinze/template-func-race
provider/template: fix race causing panic in template_file
2016-01-16 12:43:57 -05:00
stack72 acabd4d407 Change ASG Lifecycle Default Result to be computed and added a test to record what the default value is 2016-01-15 22:34:16 +00:00
James Nugent 4b7a98584a provider/docker: Mount named volumes in containers
This adds support for specifying named volumes for mounting in a
`docker_container` resource.
2016-01-15 21:59:33 +00:00
Paul Hinze 0739cf2348 provider/template: fix race causing panic in template_file
The render code path in `template_file` was doing unsynchronized access
to a shared mapping of functions in `config.Func`.

This caused a race condition that was most often triggered when a
`template_file` had a `count` of more than one, and expressed itself as
a panic in the plugin followed by a cascade of "unexpected EOF" errors
through the plugin system.

Here, we simply turn the FuncMap from shared state into a generated
value, which avoids the race. We do more re-initialization of the data
structure, but the performance implications are minimal, and we can
always revisit with a perf pass later now that the race is fixed.
2016-01-15 16:34:46 -05:00
Carles Figuerola fab9b16de5 Move tests to ParseCIDR in resource_cloudstack_network and add items in read section 2016-01-15 14:24:18 -06:00
Sander van Harmelen 52d1e214fb Merge pull request #4661 from jason-riddle/patch-1
Add ENV['no_proxy'] to chef provisioner if no_proxy is detected
2016-01-15 20:32:48 +01:00
Colin Hebert e887ac2523 provider/docker: Add `docker_volume` resource 2016-01-15 17:34:53 +00:00
Carles Figuerola c80ddccc12 Add vlan, startip, endip and gateway for network creation 2016-01-14 22:59:04 -06:00
James Nugent 5834e65db9 Merge branch 'paulbellamy-docker-extra-hosts' 2016-01-15 03:05:25 +00:00
James Nugent 3380f08e5a provider/docker: Tweak and test `host_entry`
This adds acceptance tests for specifying extra hosts on Docker
containers. It also renames the repeating block from `hosts` to `host`,
which reads more naturally in the schema when multiple instances of the
block are declared.
2016-01-15 03:02:20 +00:00
Clint 79c32ddbe9 Merge pull request #4627 from ColinHebert/patch-1
provider/aws: EBS optimised to force new resource
2016-01-14 14:57:13 -06:00
Clint 8e6fba43ef Merge pull request #4564 from hashicorp/pr-3741
provider/aws: Supporting New AWS Route53 HealthCheck additions (supersedes #3741)
2016-01-14 14:41:19 -06:00
Jason Riddle ca39512fa7 Fix the failing chef provisioner test 2016-01-14 13:51:23 -05:00
James Nugent 6acc7a14e4 Merge pull request #4632 from hashicorp/f-aws-profile
provider/aws: Add profile to provider config
2016-01-14 17:08:04 +00:00
Andrew Hodges a1935a135d Handle external state changes for Packet resources gracefully.
When a Packet provision exceeds our time limit, we move the device to an
internal project for Packet staff to investigate. When this happens, the
original user no longer has access to the device, and they get a 403.

These changes make that and other external state changes more pleasant for
users of Terraform.
2016-01-14 10:50:15 -05:00
James Nugent 35c21cb808 Merge branch 'docker-extra-hosts' of https://github.com/paulbellamy/terraform into paulbellamy-docker-extra-hosts 2016-01-14 15:48:51 +00:00
James Nugent ace215481a provider/aws: Add profile to provider config
This allows specification of the profile for the shared credentials
provider for AWS to be specified in Terraform configuration. This is
useful if defining providers with aliases, or if you don't want to set
environment variables. Example:

$ aws configure --profile this_is_dog
... enter keys

$ cat main.tf
provider "aws" {
    profile = "this_is_dog"

    # Optionally also specify the path to the credentials file
    shared_credentials_file = "/tmp/credentials"
}

This is equivalent to specifying AWS_PROFILE or
AWS_SHARED_CREDENTIALS_FILE in the environment.
2016-01-14 15:39:35 +00:00
James Nugent ea4595840c Merge pull request #4674 from stack72/carl-youngblood/master
Fix recurrence on `aws_autoscaling_schedule` resource
2016-01-14 12:22:43 +00:00
Carl Youngblood 5c68858c5b Bug fixes for aws_autoscaling_schedule resource
- Fix typo s/recurrance/recurrence
- Fix missing nil check on EndTime that was crashing
2016-01-14 10:08:37 +00:00
James Nugent 65b071d1af provider/docker: Fix flaky integration tests
Asserting on the value of `latest` on an image is prone to failing
because of new images being pushed upstream. Instead of asserting on a
hash, we assert that the value matches a regular expression for the
format of an image hash.
2016-01-14 09:12:05 +00:00
James Nugent ee7553f076 Merge branch 'docker_network' of https://github.com/ColinHebert/terraform into ColinHebert-docker_network 2016-01-14 07:01:03 +00:00
James Nugent ea9e01cc78 Merge pull request #4669 from lwander/f-gcp-sql-user
provider/google: SQL user resource, documentation & tests
2016-01-14 06:51:17 +00:00
clint shryock 8181a4ea24 minor clean ups after #3862 2016-01-13 16:58:07 -06:00
Clint 7f6624e926 Merge pull request #3862 from stack72/aws-redshift
provider/aws: AWS Redshift
2016-01-13 16:52:47 -06:00
Lars Wander 7245a63077 Merge pull request #3893 from lwander/b-gcp-bucket-content
provider/google: Content field for bucket objects
2016-01-13 17:14:53 -05:00
Lars Wander 504bc87ec6 Merge pull request #4265 from lwander/gcp-assigned-nat-ip
provider/google: provide assigned_nat_ip as well as nat_ip
2016-01-13 17:13:16 -05:00
Lars Wander b8c66dc5e5 provider/google: Content field for bucket objects 2016-01-13 17:06:58 -05:00
Lars Wander 456ec4d151 provider/google: SQL user resource, documentation & tests 2016-01-13 16:33:08 -05:00
Clint 64f44c53c6 Merge pull request #4597 from tpounds/support-aws-elb-az-and-subnet-updates
provider/aws: Support updating ELB availability zones and subnets
2016-01-13 15:30:44 -06:00
Clint eed2a2a0f6 Merge pull request #3139 from koendc/b-rds-snapshots-required-fields
provider/aws: aws_db_instance: make some fields optional
2016-01-13 15:15:09 -06:00
Clint 921f6eb806 Merge pull request #4388 from jszwedko/add-support-for-aws-directory-service-microsoft-active-directory
Add support for creating Managed Microsoft Active Directory and Directory Connectors in AWS
2016-01-13 13:39:29 -06:00
Paul Hinze 395b61825d Merge pull request #4654 from hashicorp/gofmts
Go fmt updates
2016-01-13 12:55:36 -06:00
Clint c9231a73ec Merge pull request #4240 from hashicorp/b-aws-catch-sg-name-id-error
provider/aws: Trap Instance error from mismatched SG IDs and Names
2016-01-13 11:57:58 -06:00
clint shryock f084871fad move the 'color' assignment 2016-01-13 11:16:36 -06:00
clint shryock aa7ba9ab9b provider/aws: OpsWorks updates
- add UseOpsworksSecurityGroups to the Create ops
- toggle waiting on said membership of groups
2016-01-13 11:13:09 -06:00
aibou 5e9c17d008 Implement some lacking parameters and stop waiting when in vpc and un-use opsworks default SG 2016-01-13 10:45:32 -06:00
clint shryock 73064bcb87 formatting 2016-01-13 10:10:15 -06:00
Johannes Boyne df7ac2d51b Add AWS lambda alias support and documentation 2016-01-13 10:05:32 -06:00
Jason Riddle 5cb4b70e7e Add ENV['no_proxy'] to chef provisioner 2016-01-13 09:51:08 -05:00
Koen De Causmaecker 45ef11e59f provider/aws: aws_db_instance: unrequire fields
When spinning up from a snapshot or a read replica, these fields are
now optional:
* allocated_storage
* engine
* password
* username

Some validation logic is added to make these fields required when
starting a database from scratch.
The documentation is updated accordingly.
2016-01-13 15:40:15 +01:00
Joe Topjian 7b4e17708a Merge pull request #4623 from jtopjian/openstack-instance-personality
provider/openstack: Add Instance Personality
2016-01-12 22:04:14 -07:00
Clint 5c3b88a0a7 Merge pull request #4140 from hashicorp/b-empty-element-sg
provider/aws: error with empty list item on security group
2016-01-12 17:03:02 -06:00
clint shryock 57b9097015 provider/aws: Default false for VPC Classic Link 2016-01-12 16:49:51 -06:00
Clint 90e5f5f655 Merge pull request #3994 from Pryz/master
Add AWS Classiclink for AWS VPC resource
2016-01-12 16:48:23 -06:00
clint shryock 317ab83743 Go fmt updates 2016-01-12 16:07:26 -06:00
Clint a5f8c39ddd Merge pull request #3332 from ross/aws-instance-migrate-nil-attr
Avoid nil map assign in aws instance migrateStateV0toV1
2016-01-12 15:55:16 -06:00
Clint 4f8e9713cf Merge pull request #3261 from fatih/show-instance-state
aws: store and read instance state
2016-01-12 11:06:30 -06:00
clint shryock ac60d6b959 provider/aws: Limit SNS Topic Subscription protocols
- update the ARN with the new ID
2016-01-12 09:57:09 -06:00
Lars Wander 5e1b05e2cb Merge pull request #4577 from lwander/b-gcp-sql-instance-unique-name
provider/google: Clarify SQL database name cannot be reused
2016-01-11 18:25:49 -05:00
Clint a69df4b77c Merge pull request #4637 from discogestalt/aws-ap-northeast-2
provider/aws: Allow ap-northeast-2 (Seoul) as valid region
2016-01-11 16:50:55 -06:00
Mark Troyer b396bbb3e4 provider/aws: Allow ap-northeast-2 (Seoul) as valid region 2016-01-11 13:46:53 -08:00
Clint f0ef2c1a72 Merge pull request #4631 from wata727/add_new_parameter_elasticache
provider/aws: Add new parameter az_mode and availabiliy_zone(s) in ElastiCache
2016-01-11 15:46:04 -06:00
Paul Hinze 771fba4913 provider/aws: use random cert name in ELB test 2016-01-11 14:23:33 -06:00
wata_mac bfcff6b068 Add az_mode and availability_zones parameters
Signed-off-by: wata727 <watassbass@gmail.com>
2016-01-11 23:45:07 +09:00
wata_mac df56ef44f7 Add availability_zone parameter.
Signed-off-by: wata727 <watassbass@gmail.com>
2016-01-11 23:33:21 +09:00
Colin Hebert 2948d3678d provider/aws: EBS optimised to force new resource
EBS optimised can't be changed without re-creating the instance. Apply forcenew.
2016-01-11 08:16:49 +01:00
Joe Topjian 4a4f2ad9e5 provider/openstack: Add Instance Personality
This commit adds the "personality" attribute which is used to provision
destination files on the instance.
2016-01-11 03:53:30 +00:00
Joe Topjian f1b55de7c8 Merge pull request #4617 from ebsco/master
Fix to not put fixed_ip in request if not defined
2016-01-10 19:39:21 -07:00
Joe Topjian f17849a432 Merge pull request #4466 from jtopjian/openstack-secgroup-valid-attributes
provider/openstack: Ensure valid Security Group Rule attribute combination
2016-01-10 15:20:19 -07:00
stack72 b1c8c30df3 Scaffold the Azure RM Route Resource 2016-01-10 15:02:48 +00:00
stack72 c1fa8392e3 Scaffold Azure RM Route Table resource 2016-01-10 02:47:20 +00:00
stack72 53714542f8 Scaffold the Azure RM Network Interface resource 2016-01-10 01:23:46 +00:00
Trevor Pounds 76e23a3b2e Fix ELB security groups read logic. 2016-01-09 16:09:14 -08:00
Trevor Pounds 6dd4578e7c Add ELB availability zones acceptance test. 2016-01-09 15:40:21 -08:00
Trevor Pounds c34c2249e7 Support updating ELB availability zones. 2016-01-09 15:40:21 -08:00
Trevor Pounds f75c3168d7 Support updating ELB subnets. 2016-01-09 15:40:21 -08:00
Trevor Pounds 9541c37ef4 Fix ELB availability zones and subnets read logic. 2016-01-09 15:40:21 -08:00
James Nugent e7e58df96c Merge pull request #4595 from stack72/azurerm-network-subnet
provider/azurerm: add subnet resource
2016-01-09 10:34:27 -08:00
stack72 55ba179046 Scaffold the Azure RM Subnet resource 2016-01-09 18:09:46 +00:00
Kazunori Kojima f2ce28ed46 Add support for S3 logging. 2016-01-09 10:09:23 -08:00
Sander van Harmelen 05d7f2ebe0 Merge pull request #4592 from svanharmelen/b-fix-chef-install
provisioner/chef: fixes #4262
2016-01-09 16:02:51 +01:00
Sander van Harmelen 986245c553 provisioner/chef: fixes #4262
This small tweak fixes #4262 by making sure files can be uploaded
correctly.
2016-01-09 15:56:49 +01:00
James Nugent a33ffaba2a Merge pull request #4586 from stack72/azurerm-network-security-rule
provider/azurerm: add network security rule
2016-01-08 16:20:18 -08:00
stack72 719f3ad2ce Scaffold the Azure RM Network Security Rule resource 2016-01-09 00:06:58 +00:00
Sander van Harmelen 71ffb6caa0 Add the option to add arbitrary `client.rb` options
Fixes #3630
2016-01-09 00:42:02 +01:00
Paul Hinze f4e138f2db Merge pull request #4583 from hashicorp/b-fix-azurerm
provider/azurerm: Additional fixes for upstream breaking changes
2016-01-08 14:54:42 -06:00