The XL Deploy Terraform plugin supports:
- Applying Terraform resources
- Destroying Terraform resources
For more information about the XL Deploy Terraform plugin requirements and the configuration items (CIs) that the plugin supports, see the Terraform Plugin Reference.
The XL Deploy Terraform plugin can create and destroy Terraform resources using Terraform client. To use the plugin:
- Download the XL Deploy Terraform plugin ZIP from the distribution site.
- Unpack the plugin inside the
- Restart XL Deploy.
To create a Terraform client in XL Deploy:
- Under Infrastructure create an
overthere.LocalHostCI, depending on the location of the Terraform client.
Under the host, create a
terraform.TerraformClientCI. Specify the following properties:
path: The path where the Terraform client executable is available.
pluginDirectory: The path where Terraform’s pre-installed plugins are available. This is an optional property. If not provided, the required plugins will be downloaded by
workingDirectory: The path where Terraform maintains its state for incremental deployments. This is an optional property.
To configure Terraform resources:
- Under Applications, create an application (
udm.Application) and a deployment package (
Under the deployment package, create a
terraform.ModuleCI. Specify the following properties:
file: The ZIP file that contains Terraform template files. Terraform does not support a nested directory structure for these files, so all files must be placed at the root of the ZIP file.
targets: The list of resource names that you want to create or modify. It will skip other resources defined in Terraform template files.
inputVariables: The map of name and value of input variables whose values will be resolved in Terraform template files.
outputVariables: The map of name and value of output variables. This will be populated with the outputs defined in Terraform template files after the deployment.