Terraform Plugin Reference 23.3.x

The XL Deploy Terraform plugin adds capability for building, changing, and versioning infrastructure. The plugin uses the Terraform client to apply or destroy the Terraform configuration. For more information about the plugin features, see Introduction to the XL Deploy Terraform plugin.

Requirements

  • XL Deploy 9.0.3 or later
  • Terraform 0.11.4 or Terraform 0.12.5 or Terraform 0.12.29 or Terraform 0.13.2

CI Reference

Configuration Item Overview

Deployables

CIDescription
terraform.Module This task lets you to set resources like input variables, secrets on target resources (deployable)

Deployeds

CIDescription
terraform.ExecutedModule This task lets you to set resources like input variables, secrets on target resources

Containers

CIDescription
terraform.TerraformClient This task let you to config Terraform client

Configuration Item Details

terraform.ExecutedModule

Type Hierarchy udm.BaseDeployedInfrastructureAsCode >> udm.BaseDeployedArtifact >> udm.BaseDeployed >> udm.BaseConfigurationItem
Interfaces udm.Artifact, udm.Deployed, udm.DerivedArtifact, udm.EmbeddedDeployedContainer

This task lets you to set resources like input variables, secrets on target resources

  Parent
 
 
container: CI<udm.Container>
The container on which this deployed runs.
  Public properties
 
 
automaticDictionary: BOOLEAN = true
If true, XL Deploy will automatically create a dictionary containing the output variables and add it to the environment.
 
 
boundConfigurationItems: SET_OF_CI<udm.BaseConfigurationItem>
The set of created CIs.
 
 
deployable: CI<udm.Deployable>
The deployable that this deployed is derived from.
 
 
dictionaryPath: STRING
Path to the dictionary containing the output variables. If empty, the dictionary name will be the name of the template concatenated with -dictionary. If you specify a dictionary name, it will be created in the same folder as the target environment or in the folder specified for the new environment. You can also specify a full path starting with 'Environments/'.
 
 
environmentPath: STRING
Path to the new environment. If empty, the generated CIs will be added to the target environment. If you specify an environment name, the new environment will be created in the same folder as the target environment. If you specify a folder and an environment name, they will be created in the same folder as the target environment. You can also specify a full path starting with 'Environments/'.
 
 
excludeFileTypes: LIST_OF_STRING = [avsc, terraform-version, tfvars, ps1]
Exclude file types for transformation.
 
 
generateCIsFromResources: BOOLEAN = true
If true, XL Deploy will automatically create CIs based on resources that are deployed.
 
 
generatedConfigurationItems: SET_OF_CI<udm.ConfigurationItem>
Set of infrastructure resources mapped to configuration items.
 
 
initParameters: STRING
Terraform init Parameters
 
 
inputVariables: MAP_STRING_STRING
Input variables to be used in the Terraform configuration.
 
 
outputVariables: MAP_STRING_STRING
Output variables captured in deployed. Key is the alias name and value is the terraform output property value for a given resource.
 
 
parallelism: INTEGER = 10
Limit the number of parallel resource operations.
 
 
placeholders: MAP_STRING_STRING
A Map containing all the placeholders mapped to their values. Special values are <ignore> or <empty>
 
 
secretInitParameters: STRING
Terraform secret init Parameters
 
 
secretInputVariables: MAP_STRING_STRING
Secret input variables to be used in the Terraform configuration.
 
 
targets: LIST_OF_STRING
Resources to target. Operation will be limited to these resources and their dependencies.

terraform.Module

Type Hierarchy udm.BaseDeployableFolderArtifact >> udm.BaseDeployableArtifact >> udm.BaseDeployable >> udm.BaseConfigurationItem
Interfaces udm.Artifact, udm.Deployable, udm.DeployableArtifact, udm.FolderArtifact, udm.SourceArtifact, udm.Taggable

This task lets you to set resources like input variables, secrets on target resources (deployable)

  Public properties
 
 
automaticDictionary: STRING
If true, XL Deploy will automatically create a dictionary containing the output variables and add it to the environment. (boolean) default(true)
 
 
boundTemplates: SET_OF_CI<udm.Template>
The set of CI templates.
 
 
checksum: STRING
The checksum used to detect differences on the artifact. If not provided, it will be calculated by XL Deploy.
 
 
credentials: CI<credentials.Credentials>
Credentials of the URI.
 
 
dictionaryPath: STRING
Path to the dictionary containing the output variables. If empty, the dictionary name will be the name of the template concatenated with -dictionary. If you specify a dictionary name, it will be created in the same folder as the target environment or in the folder specified for the new environment. You can also specify a full path starting with 'Environments/'. (string) default()
 
 
environmentPath: STRING
Path to the new environment. If empty, the generated CIs will be added to the target environment. If you specify an environment name, the new environment will be created in the same folder as the target environment. If you specify a folder and an environment name, they will be created in the same folder as the target environment. You can also specify a full path starting with 'Environments/'. (string) default()
 
 
excludeFileNamesRegex: STRING
Regular expression that matches file names that must be excluded from scanning
 
 
excludeFileTypes: LIST_OF_STRING
Exclude file types for transformation. (list_of_string)
 
 
fileEncodings: MAP_STRING_STRING = { .+\.properties=ISO-8859-1 }
A map that maps regular expressions matching the full path of file(s) in the artifact to character set encodings
 
 
fileUri: STRING
The URI pointing to the (remote) location of the file this artifact represents
 
 
generateCIsFromResources: STRING
If true, XL Deploy will automatically create CIs based on resources that are deployed. (boolean) default(true)
 
 
initParameters: STRING
Terraform init Parameters (string)
 
 
inputVariables: MAP_STRING_STRING
Input variables to be used in the Terraform configuration. (map_string_string)
 
 
isRescanned: BOOLEAN
Indicates if the artifact has been rescanned
 
 
parallelism: STRING
Limit the number of parallel resource operations. (integer) default(10)
 
 
placeholders: SET_OF_STRING
Placeholders detected in this artifact
 
 
preScannedPlaceholders: BOOLEAN
Whether this artifact has been pre-scanned by the packager (ie. scanned for placeholders and checksum is set)
 
 
proxySettings: CI<credentials.ProxySettings>
Proxy Settings for artifact location
 
 
scanPlaceholders: BOOLEAN = true
Whether to scan this artifact to replace placeholders when it is imported
 
 
secretInitParameters: STRING
Terraform secret init Parameters (string)
 
 
secretInputVariables: MAP_STRING_STRING
Secret input variables to be used in the Terraform configuration. (map_string_string)
 
 
tags: SET_OF_STRING
If set, this deployable will only be mapped automatically to containers with the same tag.
 
 
targets: LIST_OF_STRING
Resources to target. Operation will be limited to these resources and their dependencies. (list_of_string)
  Hidden properties
 
 
textFileNamesRegex: STRING = .+\.(cfg | conf | config | ini | properties | props | txt | asp | aspx | htm | html | jsf | jsp | xht | xhtml | sql | xml | xsd | xsl | xslt | tf)
Regular expression that matches file names of text files
 
 
delimiters: STRING = {{ }}
The delimiters used indicate placeholders, defaults to '{{ }}'. This is a 5 character string with a space in the middle, the first two are the leading delimiter, the last two are the closing delimiter
 
 
outputVariables: MAP_STRING_STRING
Output variables captured in deployed. Key is the alias name and value is the terraform output property value for a given resource.
Control taskParameter CIAttributesDescription
rescanArtifacts

delegate = rescanArtifact

No description.


terraform.TerraformClient

Type Hierarchy udm.BaseContainer >> udm.BaseConfigurationItem
Interfaces udm.Container, udm.Taggable

This task let you to config Terraform client

  Parent
 
 
host: CI<overthere.Host>
Host
  Public properties
 
 
cpCommand: STRING = cp -R
Copy command for UNIX systems.
 
 
path: STRING = /usr/local/bin
Terraform client installation path.
 
 
workingDirectory: STRING
Terraform working directory. The Terraform state file and downloaded plugins will reside in a sub directory with the name of the deployed CI
 
 
deleteTerraformState: BOOLEAN
Deletes the Terraform State file before Init.
 
 
enableStitch: BOOLEAN = true
Enables stitch rules application to terraform module files deployed.
 
 
initParameters: STRING
Terraform init Parameters
 
 
pluginDirectory: STRING
Terraform client plugins directory.
 
 
secretInitParameters: STRING
Terraform secret init Parameters
 
 
tags: SET_OF_STRING
If set, only deployables with the same tag will be automatically mapped to this container.