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
CI | Description |
---|---|
terraform.Module | This task lets you to set resources like input variables, secrets on target resources (deployable) |
Deployeds
CI | Description |
---|---|
terraform.ExecutedModule | This task lets you to set resources like input variables, secrets on target resources |
Containers
CI | Description |
---|---|
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 | avsc | json)
|
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 task | Parameter CI | Attributes | Description |
---|---|---|---|
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.
|