Terraform Plugin Reference 24.4.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 | 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.

    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.