published on Friday, May 8, 2026 by Pulumi
published on Friday, May 8, 2026 by Pulumi
Setup lineage integration for dbt Cloud to automatically fetch lineage from external BI tools in dbt Explorer. Currently supports Tableau.
This resource requires having an environment tagged as production already created for you project.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as dbtcloud from "@pulumi/dbtcloud";
// the resource can only be configured when a Prod environment has been set
// so, you might want to explicitly set the dependency on your Prod environment resource
// Using the classic sensitive attribute (stored in state)
const myLineage = new dbtcloud.LineageIntegration("my_lineage", {
projectId: myProject.id,
host: "my.host.com",
siteId: "mysiteid",
tokenName: "my-token-name",
token: "my-sensitive-token",
}, {
dependsOn: [myProdEnv],
});
const config = new pulumi.Config();
const lineageToken = config.require("lineageToken");
const myLineageWo = new dbtcloud.LineageIntegration("my_lineage_wo", {
projectId: myProject.id,
host: "my.host.com",
siteId: "mysiteid",
tokenName: "my-token-name",
tokenWo: lineageToken,
tokenWoVersion: 1,
}, {
dependsOn: [myProdEnv],
});
import pulumi
import pulumi_dbtcloud as dbtcloud
# the resource can only be configured when a Prod environment has been set
# so, you might want to explicitly set the dependency on your Prod environment resource
# Using the classic sensitive attribute (stored in state)
my_lineage = dbtcloud.LineageIntegration("my_lineage",
project_id=my_project["id"],
host="my.host.com",
site_id="mysiteid",
token_name="my-token-name",
token="my-sensitive-token",
opts = pulumi.ResourceOptions(depends_on=[my_prod_env]))
config = pulumi.Config()
lineage_token = config.require("lineageToken")
my_lineage_wo = dbtcloud.LineageIntegration("my_lineage_wo",
project_id=my_project["id"],
host="my.host.com",
site_id="mysiteid",
token_name="my-token-name",
token_wo=lineage_token,
token_wo_version=1,
opts = pulumi.ResourceOptions(depends_on=[my_prod_env]))
package main
import (
"github.com/pulumi/pulumi-dbtcloud/sdk/go/dbtcloud"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// the resource can only be configured when a Prod environment has been set
// so, you might want to explicitly set the dependency on your Prod environment resource
// Using the classic sensitive attribute (stored in state)
_, err := dbtcloud.NewLineageIntegration(ctx, "my_lineage", &dbtcloud.LineageIntegrationArgs{
ProjectId: pulumi.Any(myProject.Id),
Host: pulumi.String("my.host.com"),
SiteId: pulumi.String("mysiteid"),
TokenName: pulumi.String("my-token-name"),
Token: pulumi.String("my-sensitive-token"),
}, pulumi.DependsOn([]pulumi.Resource{
myProdEnv,
}))
if err != nil {
return err
}
cfg := config.New(ctx, "")
lineageToken := cfg.Require("lineageToken")
_, err = dbtcloud.NewLineageIntegration(ctx, "my_lineage_wo", &dbtcloud.LineageIntegrationArgs{
ProjectId: pulumi.Any(myProject.Id),
Host: pulumi.String("my.host.com"),
SiteId: pulumi.String("mysiteid"),
TokenName: pulumi.String("my-token-name"),
TokenWo: pulumi.String(pulumi.String(lineageToken)),
TokenWoVersion: pulumi.Int(1),
}, pulumi.DependsOn([]pulumi.Resource{
myProdEnv,
}))
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using DbtCloud = Pulumi.DbtCloud;
return await Deployment.RunAsync(() =>
{
// the resource can only be configured when a Prod environment has been set
// so, you might want to explicitly set the dependency on your Prod environment resource
// Using the classic sensitive attribute (stored in state)
var myLineage = new DbtCloud.Index.LineageIntegration("my_lineage", new()
{
ProjectId = myProject.Id,
Host = "my.host.com",
SiteId = "mysiteid",
TokenName = "my-token-name",
Token = "my-sensitive-token",
}, new CustomResourceOptions
{
DependsOn =
{
myProdEnv,
},
});
var config = new Config();
var lineageToken = config.Require("lineageToken");
var myLineageWo = new DbtCloud.Index.LineageIntegration("my_lineage_wo", new()
{
ProjectId = myProject.Id,
Host = "my.host.com",
SiteId = "mysiteid",
TokenName = "my-token-name",
TokenWo = lineageToken,
TokenWoVersion = 1,
}, new CustomResourceOptions
{
DependsOn =
{
myProdEnv,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.dbtcloud.LineageIntegration;
import com.pulumi.dbtcloud.LineageIntegrationArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var config = ctx.config();
// the resource can only be configured when a Prod environment has been set
// so, you might want to explicitly set the dependency on your Prod environment resource
// Using the classic sensitive attribute (stored in state)
var myLineage = new LineageIntegration("myLineage", LineageIntegrationArgs.builder()
.projectId(myProject.id())
.host("my.host.com")
.siteId("mysiteid")
.tokenName("my-token-name")
.token("my-sensitive-token")
.build(), CustomResourceOptions.builder()
.dependsOn(myProdEnv)
.build());
final var lineageToken = config.require("lineageToken");
var myLineageWo = new LineageIntegration("myLineageWo", LineageIntegrationArgs.builder()
.projectId(myProject.id())
.host("my.host.com")
.siteId("mysiteid")
.tokenName("my-token-name")
.tokenWo(lineageToken)
.tokenWoVersion(1)
.build(), CustomResourceOptions.builder()
.dependsOn(myProdEnv)
.build());
}
}
configuration:
# Using write-only attributes (not stored in state, requires Terraform >= 1.11)
# //
# // The token_wo value is never persisted in the Terraform state file.
# // Use token_wo_version to trigger an update when the token changes.
lineageToken:
type: string
resources:
# the resource can only be configured when a Prod environment has been set
# // so, you might want to explicitly set the dependency on your Prod environment resource
# // Using the classic sensitive attribute (stored in state)
myLineage:
type: dbtcloud:LineageIntegration
name: my_lineage
properties:
projectId: ${myProject.id}
host: my.host.com
siteId: mysiteid
tokenName: my-token-name
token: my-sensitive-token
options:
dependsOn:
- ${myProdEnv}
myLineageWo:
type: dbtcloud:LineageIntegration
name: my_lineage_wo
properties:
projectId: ${myProject.id}
host: my.host.com
siteId: mysiteid
tokenName: my-token-name
tokenWo: ${lineageToken}
tokenWoVersion: 1
options:
dependsOn:
- ${myProdEnv}
Create LineageIntegration Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new LineageIntegration(name: string, args: LineageIntegrationArgs, opts?: CustomResourceOptions);@overload
def LineageIntegration(resource_name: str,
args: LineageIntegrationArgs,
opts: Optional[ResourceOptions] = None)
@overload
def LineageIntegration(resource_name: str,
opts: Optional[ResourceOptions] = None,
host: Optional[str] = None,
project_id: Optional[int] = None,
site_id: Optional[str] = None,
token_name: Optional[str] = None,
token: Optional[str] = None,
token_wo: Optional[str] = None,
token_wo_version: Optional[int] = None)func NewLineageIntegration(ctx *Context, name string, args LineageIntegrationArgs, opts ...ResourceOption) (*LineageIntegration, error)public LineageIntegration(string name, LineageIntegrationArgs args, CustomResourceOptions? opts = null)
public LineageIntegration(String name, LineageIntegrationArgs args)
public LineageIntegration(String name, LineageIntegrationArgs args, CustomResourceOptions options)
type: dbtcloud:LineageIntegration
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args LineageIntegrationArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args LineageIntegrationArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args LineageIntegrationArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args LineageIntegrationArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args LineageIntegrationArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var lineageIntegrationResource = new DbtCloud.LineageIntegration("lineageIntegrationResource", new()
{
Host = "string",
ProjectId = 0,
SiteId = "string",
TokenName = "string",
Token = "string",
TokenWo = "string",
TokenWoVersion = 0,
});
example, err := dbtcloud.NewLineageIntegration(ctx, "lineageIntegrationResource", &dbtcloud.LineageIntegrationArgs{
Host: pulumi.String("string"),
ProjectId: pulumi.Int(0),
SiteId: pulumi.String("string"),
TokenName: pulumi.String("string"),
Token: pulumi.String("string"),
TokenWo: pulumi.String("string"),
TokenWoVersion: pulumi.Int(0),
})
var lineageIntegrationResource = new LineageIntegration("lineageIntegrationResource", LineageIntegrationArgs.builder()
.host("string")
.projectId(0)
.siteId("string")
.tokenName("string")
.token("string")
.tokenWo("string")
.tokenWoVersion(0)
.build());
lineage_integration_resource = dbtcloud.LineageIntegration("lineageIntegrationResource",
host="string",
project_id=0,
site_id="string",
token_name="string",
token="string",
token_wo="string",
token_wo_version=0)
const lineageIntegrationResource = new dbtcloud.LineageIntegration("lineageIntegrationResource", {
host: "string",
projectId: 0,
siteId: "string",
tokenName: "string",
token: "string",
tokenWo: "string",
tokenWoVersion: 0,
});
type: dbtcloud:LineageIntegration
properties:
host: string
projectId: 0
siteId: string
token: string
tokenName: string
tokenWo: string
tokenWoVersion: 0
LineageIntegration Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The LineageIntegration resource accepts the following input properties:
- Host string
- The URL of the BI server (see docs for more details)
- Project
Id int - The dbt Cloud project ID for the integration
- Site
Id string - The sitename for the collections of dashboards (see docs for more details)
- Token
Name string - The token to use to authenticate to the BI server
- Token string
- The secret token value to use to authenticate to the BI server. Consider using
tokenWoinstead, which is not stored in state. - Token
Wo string - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Write-only alternative to
token. The value is not stored in state. RequirestokenWoVersionto trigger updates. - Token
Wo intVersion - Version number for
tokenWo. Increment this value to trigger an update of the token when usingtokenWo.
- Host string
- The URL of the BI server (see docs for more details)
- Project
Id int - The dbt Cloud project ID for the integration
- Site
Id string - The sitename for the collections of dashboards (see docs for more details)
- Token
Name string - The token to use to authenticate to the BI server
- Token string
- The secret token value to use to authenticate to the BI server. Consider using
tokenWoinstead, which is not stored in state. - Token
Wo string - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Write-only alternative to
token. The value is not stored in state. RequirestokenWoVersionto trigger updates. - Token
Wo intVersion - Version number for
tokenWo. Increment this value to trigger an update of the token when usingtokenWo.
- host String
- The URL of the BI server (see docs for more details)
- project
Id Integer - The dbt Cloud project ID for the integration
- site
Id String - The sitename for the collections of dashboards (see docs for more details)
- token
Name String - The token to use to authenticate to the BI server
- token String
- The secret token value to use to authenticate to the BI server. Consider using
tokenWoinstead, which is not stored in state. - token
Wo String - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Write-only alternative to
token. The value is not stored in state. RequirestokenWoVersionto trigger updates. - token
Wo IntegerVersion - Version number for
tokenWo. Increment this value to trigger an update of the token when usingtokenWo.
- host string
- The URL of the BI server (see docs for more details)
- project
Id number - The dbt Cloud project ID for the integration
- site
Id string - The sitename for the collections of dashboards (see docs for more details)
- token
Name string - The token to use to authenticate to the BI server
- token string
- The secret token value to use to authenticate to the BI server. Consider using
tokenWoinstead, which is not stored in state. - token
Wo string - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Write-only alternative to
token. The value is not stored in state. RequirestokenWoVersionto trigger updates. - token
Wo numberVersion - Version number for
tokenWo. Increment this value to trigger an update of the token when usingtokenWo.
- host str
- The URL of the BI server (see docs for more details)
- project_
id int - The dbt Cloud project ID for the integration
- site_
id str - The sitename for the collections of dashboards (see docs for more details)
- token_
name str - The token to use to authenticate to the BI server
- token str
- The secret token value to use to authenticate to the BI server. Consider using
tokenWoinstead, which is not stored in state. - token_
wo str - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Write-only alternative to
token. The value is not stored in state. RequirestokenWoVersionto trigger updates. - token_
wo_ intversion - Version number for
tokenWo. Increment this value to trigger an update of the token when usingtokenWo.
- host String
- The URL of the BI server (see docs for more details)
- project
Id Number - The dbt Cloud project ID for the integration
- site
Id String - The sitename for the collections of dashboards (see docs for more details)
- token
Name String - The token to use to authenticate to the BI server
- token String
- The secret token value to use to authenticate to the BI server. Consider using
tokenWoinstead, which is not stored in state. - token
Wo String - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Write-only alternative to
token. The value is not stored in state. RequirestokenWoVersionto trigger updates. - token
Wo NumberVersion - Version number for
tokenWo. Increment this value to trigger an update of the token when usingtokenWo.
Outputs
All input properties are implicitly available as output properties. Additionally, the LineageIntegration resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Lineage
Integration intId - The ID of the lineage integration
- Name string
- The integration type. Today only 'tableau' is supported
- Id string
- The provider-assigned unique ID for this managed resource.
- Lineage
Integration intId - The ID of the lineage integration
- Name string
- The integration type. Today only 'tableau' is supported
- id String
- The provider-assigned unique ID for this managed resource.
- lineage
Integration IntegerId - The ID of the lineage integration
- name String
- The integration type. Today only 'tableau' is supported
- id string
- The provider-assigned unique ID for this managed resource.
- lineage
Integration numberId - The ID of the lineage integration
- name string
- The integration type. Today only 'tableau' is supported
- id str
- The provider-assigned unique ID for this managed resource.
- lineage_
integration_ intid - The ID of the lineage integration
- name str
- The integration type. Today only 'tableau' is supported
- id String
- The provider-assigned unique ID for this managed resource.
- lineage
Integration NumberId - The ID of the lineage integration
- name String
- The integration type. Today only 'tableau' is supported
Look up Existing LineageIntegration Resource
Get an existing LineageIntegration resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: LineageIntegrationState, opts?: CustomResourceOptions): LineageIntegration@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
host: Optional[str] = None,
lineage_integration_id: Optional[int] = None,
name: Optional[str] = None,
project_id: Optional[int] = None,
site_id: Optional[str] = None,
token: Optional[str] = None,
token_name: Optional[str] = None,
token_wo: Optional[str] = None,
token_wo_version: Optional[int] = None) -> LineageIntegrationfunc GetLineageIntegration(ctx *Context, name string, id IDInput, state *LineageIntegrationState, opts ...ResourceOption) (*LineageIntegration, error)public static LineageIntegration Get(string name, Input<string> id, LineageIntegrationState? state, CustomResourceOptions? opts = null)public static LineageIntegration get(String name, Output<String> id, LineageIntegrationState state, CustomResourceOptions options)resources: _: type: dbtcloud:LineageIntegration get: id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Host string
- The URL of the BI server (see docs for more details)
- Lineage
Integration intId - The ID of the lineage integration
- Name string
- The integration type. Today only 'tableau' is supported
- Project
Id int - The dbt Cloud project ID for the integration
- Site
Id string - The sitename for the collections of dashboards (see docs for more details)
- Token string
- The secret token value to use to authenticate to the BI server. Consider using
tokenWoinstead, which is not stored in state. - Token
Name string - The token to use to authenticate to the BI server
- Token
Wo string - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Write-only alternative to
token. The value is not stored in state. RequirestokenWoVersionto trigger updates. - Token
Wo intVersion - Version number for
tokenWo. Increment this value to trigger an update of the token when usingtokenWo.
- Host string
- The URL of the BI server (see docs for more details)
- Lineage
Integration intId - The ID of the lineage integration
- Name string
- The integration type. Today only 'tableau' is supported
- Project
Id int - The dbt Cloud project ID for the integration
- Site
Id string - The sitename for the collections of dashboards (see docs for more details)
- Token string
- The secret token value to use to authenticate to the BI server. Consider using
tokenWoinstead, which is not stored in state. - Token
Name string - The token to use to authenticate to the BI server
- Token
Wo string - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Write-only alternative to
token. The value is not stored in state. RequirestokenWoVersionto trigger updates. - Token
Wo intVersion - Version number for
tokenWo. Increment this value to trigger an update of the token when usingtokenWo.
- host String
- The URL of the BI server (see docs for more details)
- lineage
Integration IntegerId - The ID of the lineage integration
- name String
- The integration type. Today only 'tableau' is supported
- project
Id Integer - The dbt Cloud project ID for the integration
- site
Id String - The sitename for the collections of dashboards (see docs for more details)
- token String
- The secret token value to use to authenticate to the BI server. Consider using
tokenWoinstead, which is not stored in state. - token
Name String - The token to use to authenticate to the BI server
- token
Wo String - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Write-only alternative to
token. The value is not stored in state. RequirestokenWoVersionto trigger updates. - token
Wo IntegerVersion - Version number for
tokenWo. Increment this value to trigger an update of the token when usingtokenWo.
- host string
- The URL of the BI server (see docs for more details)
- lineage
Integration numberId - The ID of the lineage integration
- name string
- The integration type. Today only 'tableau' is supported
- project
Id number - The dbt Cloud project ID for the integration
- site
Id string - The sitename for the collections of dashboards (see docs for more details)
- token string
- The secret token value to use to authenticate to the BI server. Consider using
tokenWoinstead, which is not stored in state. - token
Name string - The token to use to authenticate to the BI server
- token
Wo string - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Write-only alternative to
token. The value is not stored in state. RequirestokenWoVersionto trigger updates. - token
Wo numberVersion - Version number for
tokenWo. Increment this value to trigger an update of the token when usingtokenWo.
- host str
- The URL of the BI server (see docs for more details)
- lineage_
integration_ intid - The ID of the lineage integration
- name str
- The integration type. Today only 'tableau' is supported
- project_
id int - The dbt Cloud project ID for the integration
- site_
id str - The sitename for the collections of dashboards (see docs for more details)
- token str
- The secret token value to use to authenticate to the BI server. Consider using
tokenWoinstead, which is not stored in state. - token_
name str - The token to use to authenticate to the BI server
- token_
wo str - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Write-only alternative to
token. The value is not stored in state. RequirestokenWoVersionto trigger updates. - token_
wo_ intversion - Version number for
tokenWo. Increment this value to trigger an update of the token when usingtokenWo.
- host String
- The URL of the BI server (see docs for more details)
- lineage
Integration NumberId - The ID of the lineage integration
- name String
- The integration type. Today only 'tableau' is supported
- project
Id Number - The dbt Cloud project ID for the integration
- site
Id String - The sitename for the collections of dashboards (see docs for more details)
- token String
- The secret token value to use to authenticate to the BI server. Consider using
tokenWoinstead, which is not stored in state. - token
Name String - The token to use to authenticate to the BI server
- token
Wo String - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Write-only alternative to
token. The value is not stored in state. RequirestokenWoVersionto trigger updates. - token
Wo NumberVersion - Version number for
tokenWo. Increment this value to trigger an update of the token when usingtokenWo.
Import
using import blocks (requires Terraform >= 1.5) import { to = dbtcloud_lineage_integration.my_lineage_integration id = “projet_id:lineage_integration_id” }
import { to = dbtcloud_lineage_integration.my_lineage_integration id = “123:4567” }
using the older import command
$ pulumi import dbtcloud:index/lineageIntegration:LineageIntegration my_lineage_integration "projet_id:lineage_integration_id"
$ pulumi import dbtcloud:index/lineageIntegration:LineageIntegration my_lineage_integration 123:4567
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- dbtcloud pulumi/pulumi-dbtcloud
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
dbtcloudTerraform Provider.
published on Friday, May 8, 2026 by Pulumi
