1. Packages
  2. Dbtcloud Provider
  3. API Docs
  4. LineageIntegration
dbt Cloud v0.1.25 published on Friday, Nov 8, 2024 by Pulumi

dbtcloud.LineageIntegration

Explore with Pulumi AI

dbtcloud logo
dbt Cloud v0.1.25 published on Friday, Nov 8, 2024 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
    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)
    ProjectId int
    The dbt Cloud project ID for the integration
    SiteId 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
    TokenName string
    The token to use to authenticate to the BI server
    Host string
    The URL of the BI server (see docs for more details)
    ProjectId int
    The dbt Cloud project ID for the integration
    SiteId 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
    TokenName string
    The token to use to authenticate to the BI server
    host String
    The URL of the BI server (see docs for more details)
    projectId Integer
    The dbt Cloud project ID for the integration
    siteId 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
    tokenName String
    The token to use to authenticate to the BI server
    host string
    The URL of the BI server (see docs for more details)
    projectId number
    The dbt Cloud project ID for the integration
    siteId 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
    tokenName 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)
    projectId Number
    The dbt Cloud project ID for the integration
    siteId 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
    tokenName 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.
    LineageIntegrationId int
    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.
    LineageIntegrationId int
    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.
    lineageIntegrationId Integer
    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.
    lineageIntegrationId number
    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_id int
    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.
    lineageIntegrationId Number
    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.
    The following state arguments are supported:
    Host string
    The URL of the BI server (see docs for more details)
    LineageIntegrationId int
    The ID of the lineage integration
    Name string
    The integration type. Today only 'tableau' is supported
    ProjectId int
    The dbt Cloud project ID for the integration
    SiteId 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
    TokenName string
    The token to use to authenticate to the BI server
    Host string
    The URL of the BI server (see docs for more details)
    LineageIntegrationId int
    The ID of the lineage integration
    Name string
    The integration type. Today only 'tableau' is supported
    ProjectId int
    The dbt Cloud project ID for the integration
    SiteId 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
    TokenName string
    The token to use to authenticate to the BI server
    host String
    The URL of the BI server (see docs for more details)
    lineageIntegrationId Integer
    The ID of the lineage integration
    name String
    The integration type. Today only 'tableau' is supported
    projectId Integer
    The dbt Cloud project ID for the integration
    siteId 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
    tokenName String
    The token to use to authenticate to the BI server
    host string
    The URL of the BI server (see docs for more details)
    lineageIntegrationId number
    The ID of the lineage integration
    name string
    The integration type. Today only 'tableau' is supported
    projectId number
    The dbt Cloud project ID for the integration
    siteId 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
    tokenName 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_id int
    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)
    lineageIntegrationId Number
    The ID of the lineage integration
    name String
    The integration type. Today only 'tableau' is supported
    projectId Number
    The dbt Cloud project ID for the integration
    siteId 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
    tokenName 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.
    dbtcloud logo
    dbt Cloud v0.1.25 published on Friday, Nov 8, 2024 by Pulumi