Note: Local charms and uploading local file resources will not be implemented.
Support Table
Bundle | Terraform | ||
---|---|---|---|
Application | |||
bindings | yes | yes | |
charm name | yes | yes | |
charm base | yes | yes | |
charm channel | yes | yes | |
local charm | yes | no | |
charm revision | yes | yes | |
constraints | yes | yes | |
devices | yes | no | |
expose | yes | yes | |
exposed-endpoints expose-to-cidrs | yes | yes | |
exposed-endpoints expose-to-spaces | yes | yes | |
num_units/scale | yes | yes | |
options/config | yes | yes | |
resource by revision | yes | yes | |
resource by oci-image | yes | yes | |
resource by local file to upload | yes | no | |
series | deprecated | deprecated | |
storage | yes | yes | |
to (placement) | yes | yes* | |
trust | yes | yes | |
Offer | |||
acl | yes | planned | |
application name | yes | yes | |
endpoints | yes | yes | |
offer name | yes | yes | |
Machine | |||
annotations | yes | no | |
base | yes | yes | |
constraints | yes | yes | |
manual machine | no | yes | |
placement (lxd) | yes | yes* | |
series | deprecated | deprecated | |
Relation | |||
application name | yes | yes | |
application endpoint | yes | yes | |
offer url | yes | yes | |
SaaS | |||
url | yes | via offer data source |
Additional features of the Terraform Provider for Juju
The following features can be used via Terraform Resources.
- Add cloud credentials for existing clouds with the juju_credential resource.
- Add a Kubernetes cloud with the juju_kubernetes_cloud resource.
- Add a Juju user with the juju_user resource.
- Add a Juju model with the juju_model resource.
- Add a user secret with the juju_secret resource.
- Import ssh keys to a Juju model.
- Manage model access.
- Manage offer access - coming soon in v0.16.0.
- Manage secret access.
Using existing entities from your juju controller or model
Terraform datasources, reference information of existing entities, but do not allow for their modification.
- Machine:
E.g.
juju deploy <bundle> --map-machines=existing
, use a machine datasource. - Model: use a model datasource.
- Offer: use an offer datasource.
- Secret: use a secret datasource.
Bundle tags not supported by the Terraform Provider for Juju
Note: variables are implicitly supported by terraform
- bundle
- default-base (default base for charms defined in the bundle)
- description
- docs
- issues
- name (of bundle)
- series (default series for charms defined in the bundle)
- source
- tags
- type
- website
Footnotes
Placement
will be reimplemented in the near future as machines. One example of the issues to be fixed.