Commit Graph

142 Commits

Author SHA1 Message Date
Yukihiko SAWANOBORI 5a1f8097a0 Add params zone_id to cloudstack ipaddress resource (#11306)
* add option zone_id

- Ref: http://docs.idcf.jp/cloud/api/address/#listpublicipaddresses

* Exclusion of `network_id`, `vpc_id` and `zone_id`

* Revert "Exclusion of `network_id`, `vpc_id` and `zone_id`"

This reverts commit 9684c8b0b65b3353aea4e0bfbeaf21986282812b.

* remove zone_id from one of required option.
2017-03-21 12:02:38 +01:00
Sander van Harmelen 95bedaceaa Make the hash consistent again (#11546)
The existing hash function for set items cannot generate consistent hashes when using both `Optional` and `Computed` on a schema field.

I tried to add this use case to the existing code base, but came to the conclusion this would be quite an endeavor.

That together with the fact this is the only field in all sets used in all builtin providers/resources that would be using both options at the same time, made me decide to change this single resource instead.
2017-01-31 15:00:11 +01:00
Sander van Harmelen bad3a876ca provider/cloudstack: add support for multiple NICs with port forwards and set network_domain for networks (#10638)
* Add support for multiple NICs with port forwards

* Fix issue #9801
2016-12-12 10:06:42 +01:00
Sander van Harmelen a3c6fec4e6 Properly support secundary IP addresses (#10420)
And remove the deprecated `network_id` field.
2016-11-29 20:48:38 +01:00
Sander van Harmelen fbf27714e3 Remove the need for specifying a network ID (#10204)
When using the static NAT resource, you no longer have to specify a `network_id`. This can be inferred from the choosen `virtual_machine_id` and/or the `vm_guest_ip`.
2016-11-18 08:20:31 +01:00
ddegoede 2531ab024a Adding private gateway and static route resource to cloudstack provider (#9637)
* Adding private gateway and static route resource to cloudstack provider

Testing the private gateway and static route resource requires a ROOT
account in Cloudstack

* changes requested by reviewer
2016-10-27 21:06:39 +02:00
Sander van Harmelen 1619a8138f provider/cloudstack: enhance security groups and rules (#9645)
* govendor: update go-cloudstack dependency

* Separate security groups and rules

This commit separates the creation and management of security groups and security group rules.

It extends the `icmp` options so you can supply `icmp_type` and `icmp_code` to enbale more specific configs.

And it adds lifecycle management of security group rules, so that security groups do not have to be recreated when rules are added or removed.

This is particulary helpful since the `cloudstack_instance` cannot update a security group without having to recreate the instance.

In CloudStack >= 4.9.0 it is possible to update security groups of existing instances, but as that is just added to the latest version it seems a bit too soon to start using this (causing backwards incompatibility issues for people or service providers running older versions).

* Add and update documentation

* Add acceptance tests
2016-10-27 11:10:15 +02:00
Mickaël Canévet d030b62b0b Cloudstack security group (#9103)
* Add cloudstack_security_group resource

* Update github.com/xanzy/go-cloudstack/cloudstack

* Add support for security_group

* Add documentation for cloudstack_security_group
2016-10-26 09:29:37 +02:00
Mickaël Canévet 1521517068 network_id is computed (#9102) 2016-09-28 17:35:37 +02:00
Sander van Harmelen 968472a63e Support recreating clients and configuring Chef Vaults (#8577)
Fixes #3605 and adds the functionality suggested in PR #7440.

This PR is using a different appraoch that (IMHO) feels cleaner and (even more important) adds support for Windows at the same time.
2016-09-15 14:20:18 +02:00
Sander van Harmelen d2d27923df provider/cloudstack: fix vpc renaming (#8784)
* fixed vpc rename bug

* Tweak the suggested fix

There was an assertion error in the fix, and after discussing we felt it was better to split the two changes to make them independant.
2016-09-12 10:30:45 +02:00
Sander van Harmelen 1a85d06843 Fix the acceptance tests and some cosmetic tweaks (#8598) 2016-09-01 11:19:37 +02:00
Bart van der Schans 0835b64456 Add ability to manage cloudstack affinity groups (#8360)
Add documentation for cloudstack affinity group resource

Implement improvements from review by svanharmelen

Update to latest go-cloudstack v2.1.3
2016-09-01 10:48:49 +02:00
Sander van Harmelen 393863a5a9 Add project parameter to additional resources (#7828) 2016-07-27 17:30:18 +02:00
Sander van Harmelen ddc0f4cdb0 Fix dynamically determining if `ForceNew = true` (#7745)
The same instance of the resources’ `schema.Resource` is used for all resources of the same type.

So we need to set either `true` or `false` for every resource to make sure we get the correct value.
2016-07-21 15:23:58 +02:00
Sander van Harmelen 28543694de Fix refresing an IP when it’s no longer associated 2016-07-12 21:32:56 +02:00
Sander van Harmelen 29ce2df873 Fix refresing ACL rules when the ACL is deleted 2016-07-12 21:11:22 +02:00
Sander van Harmelen b55da4c3e7 Fix creating networks without specifying IP ranges 2016-07-12 21:11:22 +02:00
Sander van Harmelen bdb35006cd Fix several bugs in different resources
- Make sure attaching a disk or a NIC is tried a couple of times as this only works after the OS has fully booted;
- Stop using the device name instead of ID as the names differ depending on the hypervisor that you are using;
- VPC’s do not always have a source NAT IP;
2016-07-12 21:11:22 +02:00
Joakim Sernbrant 1b4c1ab83a provider/cloudstack: do not force a new resource when updating instance user_data 2016-06-30 14:23:43 +02:00
Sander van Harmelen 8bdec15649 Add a few explaining lines to the docs about ICMP types/codes 2016-06-27 11:52:22 +02:00
Sander van Harmelen c14aa6336e Delete all deprecated parameters before the 0.7 release
Updated the docs accordingly and also executed all the acceptance tests
after making the changes…
2016-06-27 11:13:48 +02:00
Mickaël Canévet 318310c019 Remove Computed flag 2016-06-27 10:35:40 +02:00
Mickaël Canévet b4c7a274fa Add provider/cloudstack: add security_group_ids 2016-06-27 10:35:40 +02:00
Mickaël Canévet d7e7a45ec6 provider/cloudstack: add security_group_names 2016-06-27 10:33:25 +02:00
Mickaël Canévet 3d9bdafb97 provider/cloudstack: add affinity_group_names 2016-06-27 09:55:34 +02:00
Sander van Harmelen e51fb92ab5 Merge pull request #7070 from serbaut/root_disk_size
provider/cloudstack: add root_disk_size
2016-06-25 19:47:48 +02:00
Sander van Harmelen b7c71382f6 Make ACL's swappable, unless you want to stop using an ACL
In CloudStack you can dynamically start using an ACL and once you use
an ACL you can dynamically swap ACL’s. But once your using an ACL, you
can no longer stop using an ACL without rebuilding the network.

This change makes the `ForceNew` value dynamic so that it only returns
`true` if you are reverting from using an ACL to not using an ACL
anymore, making this functionally inline with the behaviour CloudStack
offers.
2016-06-24 13:27:05 +02:00
Joakim Sernbrant dd5f121494 provider/cloudstack: add root_disk_size 2016-06-08 10:23:14 +02:00
Sander van Harmelen 23801b5507 Add the option to assign affinity groups to a VM 2016-05-27 09:46:59 +02:00
Sander van Harmelen b20744b133 Merge pull request #6741 from svanharmelen/f-swap-network-acl
provider/cloudstack: make replacing the ACL of a network update the network in place
2016-05-23 21:12:55 +02:00
Sander van Harmelen 6a08e893e3 Use the new option to list ACLs based on the ID and VPC ID 2016-05-18 14:43:21 +02:00
Sander van Harmelen ecb41d478a Make replacing the ACL of a network update the network in place
This prevents having to recreate the whole network and fixes #6630
2016-05-18 12:22:32 +02:00
Sander van Harmelen 5a65cc9cb6 Use the new functionality offered by the `go-cloudstack` package
The updated functionality offers a new means to work with projects.
This commit uses that new functionality for the `cloudstack_network`
resource.
2016-04-22 12:23:47 +02:00
Sander van Harmelen 41b99a4ebc Update to latest `go-cloudstack` package to fix issue #6101 2016-04-19 22:48:57 +02:00
Sander van Harmelen 55d4e3cda7 Merge branch 'cloudstack-group' of https://github.com/jefflaplante/terraform into f-cloustack-group 2016-04-18 22:32:55 +02:00
Jeff LaPlante f840f49fbb Added support to read and update group attribute from existing vm state. 2016-04-11 10:23:19 -07:00
Sander van Harmelen 815c8840a7 Refactor the use of names vs IDs for parameters referencing other TF resources
We have a curtesy function in place allowing you to specify both a
`name` of `ID`. But in order for the graph to be build correctly when
you recreate or taint stuff that other resources depend on, we need to
reference the `ID` and *not* the `name`.

So in order to enforce this and by that help people to not make this
mistake unknowingly, I deprecated all the parameters this allies to and
changed the logic, docs and tests accordingly.
2016-04-11 17:14:28 +02:00
Hany Fahim 3135706d1f Update to use setProjectid helper function 2016-04-11 08:22:01 -04:00
Hany Fahim 44fc1b5d80 Add project parameter to cloudstack_port_forward.
- Add parameter to resource.
- Modify read operation to pass in projectid if defined.
2016-04-09 11:58:57 -04:00
Jeff LaPlante ba4ec0097a fixed formatting 2016-04-05 09:21:23 -07:00
Jeff LaPlante cf607e8a58 Added Group attribute to cloudstack instance resource 2016-04-05 09:12:45 -07:00
Sander van Harmelen fddf3eccc6 Make the CloudStack provider more inline with the other provider
It turns out all other providers use `ip_address` where the CloudStack
provider uses `ipaddress`. To make this more consistent this PR
deprecates `ipaddress` and adds `ip_address` where needed…
2016-04-04 22:16:15 +02:00
Sander van Harmelen e5fecca7cc Add `cloudstack_static_nat` resource 2016-04-04 15:48:14 +02:00
Sander van Harmelen 5c1f410ebe Some minor updates and added a proper test 2016-03-25 16:59:03 +01:00
James Nugent 63008b857f Make name optional on cloudstack_instance resource
This commit matches the behaviour of the cloudstack_instance resource to
the documentation at [1], which indicates that the virtual machine name
is optional. This also changes the update logic to allow it to be
updated as described in [2].

[1] http://cloudstack.apache.org/api/apidocs-4.8/domain_admin/deployVirtualMachine.html
[2] http://cloudstack.apache.org/api/apidocs-4.8/domain_admin/updateVirtualMachine.html
2016-03-11 15:59:40 +00:00
Sander van Harmelen 5525772a74 provider/cloudstack: small doc update 2016-02-26 23:44:53 +01:00
Joakim Sernbrant 7d30423a61 provider/cloudstack: Improve ssh keypair handling
- adds support for projects

- adds support for public_key strings as well as filenames
2016-02-26 23:06:16 +01:00
Sander van Harmelen c0f1962f51 Policing up the new `tags` code from @Carles-Figuerola
Just some cosmetics and some cleaning up to make the code fit in a
little better with the existing code. Functionally no changes are made
and the existing tests still pass.
2016-01-22 12:13:26 +01:00
Carles Figuerola 755917db07 Add tests for Network Tags for provider/cloudstack and applied tips from PR#4742 2016-01-21 22:45:51 -06:00