Neurotic Programmer Masquerade

    @pulumi/terraform
    TypeScript icon, indicating that this package has built-in type declarations

    5.6.6 • Public • Published

    Pulumi Terraform Provider

    The Terraform resource provider for Pulumi lets you consume the outputs contained in Terraform state files from your Pulumi programs. The package provides a RemoteStateReference resource which acts like a native Pulumi StackReference.

    To use this package, please install the Pulumi CLI first.

    Installing

    Node.js (JavaScript/TypeScript)

    To use from JavaScript or TypeScript in Node.js, install using either npm:

    $ npm install @pulumi/terraform
    

    or yarn:

    $ yarn add @pulumi/terraform
    

    Python

    To use from Python, install using pip:

    $ pip install pulumi-terraform
    

    Concepts

    The @pulumi/terraform package provides a resource named RemoteStateReference which is used to read outputs from a Terraform state file stored in one of the supported Terraform remote state backends.

    Examples

    S3

    The following program will read a Terraform state file stored in S3:

    import * as tf from "@pulumi/terraform";
    
    const remoteState = new tf.state.RemoteStateReference("s3state", {
        backendType: "s3",
        bucket: "pulumi-terraform-state-test",
        key: "test/terraform.tfstate",
        region: "us-west-2"
    });
    
    // Use the getOutput function on the resource to access root outputs
    const vpcId= remoteState.getOutput("vpc_id");

    Local file

    The following program will read a Terraform state file stored locally in the filesystem:

    import * as tf from "@pulumi/terraform";
    
    const remotestate = new tf.state.RemoteStateReference("localstate", {
       backendType: "local",
       path: path.join(__dirname, "terraform.tfstate"),
    });
    
    // Use the getOutput function on the resource to access root outputs
    const vpcId= remoteState.getOutput("vpc_id");

    Terraform Enterprise

    For state stored in Terraform Enterprise, the authentication token must be set via the Pulumi configuration system - for example, using:

    pulumi config set --secret terraformEnterpriseToken <value>
    

    The following program will read a Terraform state file stored in Terraform Enterprise, using the value of terraformEnterpriseToken from above:

    import * as pulumi from "@pulumi/pulumi";
    import * as tf from "@pulumi/terraform";
    
    const config = new pulumi.Config();
    
    const ref = new tf.state.RemoteStateReference("remote", {
        backendType: "remote",
        organization: "pulumi",
        token: config.requireSecret("terraformEnterpriseToken"),
        workspaces: {
            name: "test-state-file"
        }
    });
    
    // Use the getOutput function on the resource to access root outputs
    const vpcId= remoteState.getOutput("vpc_id");

    Install

    npm i @pulumi/terraform

    Homepage

    pulumi.com

    DownloadsWeekly Downloads

    894

    Version

    5.6.6

    License

    Apache-2.0

    Unpacked Size

    61.2 kB

    Total Files

    40

    Last publish

    Collaborators

    • joeduffy
    • pulumi-bot