The CloudStack provider is used to interact with the many resources supported by CloudStack. The provider needs to be configured with a URL pointing to a running CloudStack API and the proper credentials before it can be used.
In order to provide the required configuration options you can either
supply values for the api_url
, api_key
and secret_key
fields, or
for the config
and profile
fields. A combination of both is not
allowed and will not work.
Use the navigation to the left to read about the available resources.
# Configure the CloudStack Provider
provider "cloudstack" {
api_url = "${var.cloudstack_api_url}"
api_key = "${var.cloudstack_api_key}"
secret_key = "${var.cloudstack_secret_key}"
}
# Create a web server
resource "cloudstack_instance" "web" {
# ...
}
The following arguments are supported:
-
api_url
- (Optional) This is the CloudStack API URL. It can also be sourced from theCLOUDSTACK_API_URL
environment variable. -
api_key
- (Optional) This is the CloudStack API key. It can also be sourced from theCLOUDSTACK_API_KEY
environment variable. -
secret_key
- (Optional) This is the CloudStack secret key. It can also be sourced from theCLOUDSTACK_SECRET_KEY
environment variable. -
config
- (Optional) The path to aCloudMonkey
config file. If set the API URL, key and secret will be retrieved from this file. -
profile
- (Optional) Used together with theconfig
option. Specifies whichCloudMonkey
profile in the config file to use. -
http_get_only
- (Optional) Some cloud providers only allow HTTP GET calls to their CloudStack API. If using such a provider, you need to set this totrue
in order for the provider to only make GET calls and no POST calls. It can also be sourced from theCLOUDSTACK_HTTP_GET_ONLY
environment variable. -
timeout
- (Optional) A value in seconds. This is the time allowed for Cloudstack to complete each asynchronous job triggered. If unset, this can be sourced from theCLOUDSTACK_TIMEOUT
environment variable. Otherwise, this will default to 300 seconds.
- instance
- ipaddress
- network_offering
- service_offering
- ssh_keypair
- template
- user
- volume
- vpc
- vpn_connection
- zone
- account
- affinity_group
- autoscale_vm_profile
- disk
- disk_offering
- domain
- egress_firewall
- firewall
- instance
- ipaddress
- kubernetes_cluster
- kubernetes_version
- loadbalancer_rule
- network
- network_acl
- network_acl_rule
- network_offering
- nic
- port_forward
- private_gateway
- secondary_ipaddress
- security_group
- security_group_rule
- service_offering
- ssh_keypair
- static_nat
- static_route
- template
- user
- volume
- vpc
- vpn_connection
- vpn_customer_gateway
- vpn_gateway
- zone