dbtcloud.LineageIntegration
Explore with Pulumi AI
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
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],
});
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
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]))
package main
import (
"github.com/pulumi/pulumi-dbtcloud/sdk/go/dbtcloud"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
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
_, 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
}
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
var myLineage = new DbtCloud.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,
},
});
});
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) {
// 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
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());
}
}
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
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}
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: Optional[str] = None,
token_name: Optional[str] = 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",
Token = "string",
TokenName = "string",
});
example, err := dbtcloud.NewLineageIntegration(ctx, "lineageIntegrationResource", &dbtcloud.LineageIntegrationArgs{
Host: pulumi.String("string"),
ProjectId: pulumi.Int(0),
SiteId: pulumi.String("string"),
Token: pulumi.String("string"),
TokenName: pulumi.String("string"),
})
var lineageIntegrationResource = new LineageIntegration("lineageIntegrationResource", LineageIntegrationArgs.builder()
.host("string")
.projectId(0)
.siteId("string")
.token("string")
.tokenName("string")
.build());
lineage_integration_resource = dbtcloud.LineageIntegration("lineageIntegrationResource",
host="string",
project_id=0,
site_id="string",
token="string",
token_name="string")
const lineageIntegrationResource = new dbtcloud.LineageIntegration("lineageIntegrationResource", {
host: "string",
projectId: 0,
siteId: "string",
token: "string",
tokenName: "string",
});
type: dbtcloud:LineageIntegration
properties:
host: string
projectId: 0
siteId: string
token: string
tokenName: string
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 string
- The secret token value to use to authenticate to the BI server
- Token
Name string - The token to use to authenticate to the BI server
- 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 string
- The secret token value to use to authenticate to the BI server
- Token
Name string - The token to use to authenticate to the BI server
- 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 String
- The secret token value to use to authenticate to the BI server
- token
Name String - The token to use to authenticate to the BI server
- 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 string
- The secret token value to use to authenticate to the BI server
- token
Name string - The token to use to authenticate to the BI server
- 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 str
- The secret token value to use to authenticate to the BI server
- token_
name str - The token to use to authenticate to the BI server
- 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 String
- The secret token value to use to authenticate to the BI server
- token
Name String - The token to use to authenticate to the BI server
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) -> LineageIntegration
func 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)
Resource lookup is not supported in YAML
- 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
- Token
Name string - The token to use to authenticate to the BI server
- 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
- Token
Name string - The token to use to authenticate to the BI server
- 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
- token
Name String - The token to use to authenticate to the BI server
- 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
- token
Name string - The token to use to authenticate to the BI server
- 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
- token_
name str - The token to use to authenticate to the BI server
- 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
- token
Name String - The token to use to authenticate to the BI server
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
dbtcloud
Terraform Provider.