1. Packages
  2. dbt Cloud Provider
  3. API Docs
  4. SnowflakeSemanticLayerCredential
dbt Cloud v1.0.0 published on Wednesday, Jun 11, 2025 by Pulumi

dbtcloud.SnowflakeSemanticLayerCredential

Explore with Pulumi AI

dbtcloud logo
dbt Cloud v1.0.0 published on Wednesday, Jun 11, 2025 by Pulumi

    Snowflake credential resource. This resource is composed of a Snowflake credential and a Semantic Layer configuration. It is used to create a Snowflake credential for the Semantic Layer.

    Example Usage

    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    resources:
      # Example of Snowflake Semantic Layer Credential with password authentication
      passwordAuth:
        type: dbtcloud:SnowflakeSemanticLayerCredential
        name: password_auth
        properties:
          configuration:
            project_id: ${projectId}
            name: Snowflake SL Credential - Password Auth
            adapter_version: snowflake_v0
          credential:
            project_id: ${projectId}
            is_active: true
            auth_type: password
            database: ${database}
            schema: ${schema}
            warehouse: ${warehouse}
            role: ${role}
            user: ${user}
            password: ${password}
            num_threads: 4
            semantic_layer_credential: true
      # Example of Snowflake Semantic Layer Credential with key pair authentication
      keypairAuth:
        type: dbtcloud:SnowflakeSemanticLayerCredential
        name: keypair_auth
        properties:
          configuration:
            project_id: ${projectId}
            name: Snowflake SL Credential - Key Pair Auth
            adapter_version: snowflake_v0
          credential:
            project_id: ${projectId}
            is_active: true
            auth_type: keypair
            database: ${database}
            schema: ${schema}
            warehouse: ${warehouse}
            role: ${role}
            private_key: ${privateKey}
            private_key_passphrase: ${privateKeyPassphrase}
            num_threads: 4
            semantic_layer_credential: true
    

    Create SnowflakeSemanticLayerCredential Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new SnowflakeSemanticLayerCredential(name: string, args: SnowflakeSemanticLayerCredentialArgs, opts?: CustomResourceOptions);
    @overload
    def SnowflakeSemanticLayerCredential(resource_name: str,
                                         args: SnowflakeSemanticLayerCredentialArgs,
                                         opts: Optional[ResourceOptions] = None)
    
    @overload
    def SnowflakeSemanticLayerCredential(resource_name: str,
                                         opts: Optional[ResourceOptions] = None,
                                         configuration: Optional[SnowflakeSemanticLayerCredentialConfigurationArgs] = None,
                                         credential: Optional[SnowflakeSemanticLayerCredentialCredentialArgs] = None)
    func NewSnowflakeSemanticLayerCredential(ctx *Context, name string, args SnowflakeSemanticLayerCredentialArgs, opts ...ResourceOption) (*SnowflakeSemanticLayerCredential, error)
    public SnowflakeSemanticLayerCredential(string name, SnowflakeSemanticLayerCredentialArgs args, CustomResourceOptions? opts = null)
    public SnowflakeSemanticLayerCredential(String name, SnowflakeSemanticLayerCredentialArgs args)
    public SnowflakeSemanticLayerCredential(String name, SnowflakeSemanticLayerCredentialArgs args, CustomResourceOptions options)
    
    type: dbtcloud:SnowflakeSemanticLayerCredential
    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 SnowflakeSemanticLayerCredentialArgs
    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 SnowflakeSemanticLayerCredentialArgs
    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 SnowflakeSemanticLayerCredentialArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args SnowflakeSemanticLayerCredentialArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args SnowflakeSemanticLayerCredentialArgs
    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 snowflakeSemanticLayerCredentialResource = new DbtCloud.SnowflakeSemanticLayerCredential("snowflakeSemanticLayerCredentialResource", new()
    {
        Configuration = new DbtCloud.Inputs.SnowflakeSemanticLayerCredentialConfigurationArgs
        {
            AdapterVersion = "string",
            Name = "string",
            ProjectId = 0,
        },
        Credential = new DbtCloud.Inputs.SnowflakeSemanticLayerCredentialCredentialArgs
        {
            AuthType = "string",
            ProjectId = 0,
            NumThreads = 0,
            Id = "string",
            IsActive = false,
            Database = "string",
            Password = "string",
            PrivateKey = "string",
            PrivateKeyPassphrase = "string",
            CredentialId = 0,
            Role = "string",
            Schema = "string",
            SemanticLayerCredential = false,
            User = "string",
            Warehouse = "string",
        },
    });
    
    example, err := dbtcloud.NewSnowflakeSemanticLayerCredential(ctx, "snowflakeSemanticLayerCredentialResource", &dbtcloud.SnowflakeSemanticLayerCredentialArgs{
    	Configuration: &dbtcloud.SnowflakeSemanticLayerCredentialConfigurationArgs{
    		AdapterVersion: pulumi.String("string"),
    		Name:           pulumi.String("string"),
    		ProjectId:      pulumi.Int(0),
    	},
    	Credential: &dbtcloud.SnowflakeSemanticLayerCredentialCredentialArgs{
    		AuthType:                pulumi.String("string"),
    		ProjectId:               pulumi.Int(0),
    		NumThreads:              pulumi.Int(0),
    		Id:                      pulumi.String("string"),
    		IsActive:                pulumi.Bool(false),
    		Database:                pulumi.String("string"),
    		Password:                pulumi.String("string"),
    		PrivateKey:              pulumi.String("string"),
    		PrivateKeyPassphrase:    pulumi.String("string"),
    		CredentialId:            pulumi.Int(0),
    		Role:                    pulumi.String("string"),
    		Schema:                  pulumi.String("string"),
    		SemanticLayerCredential: pulumi.Bool(false),
    		User:                    pulumi.String("string"),
    		Warehouse:               pulumi.String("string"),
    	},
    })
    
    var snowflakeSemanticLayerCredentialResource = new SnowflakeSemanticLayerCredential("snowflakeSemanticLayerCredentialResource", SnowflakeSemanticLayerCredentialArgs.builder()
        .configuration(SnowflakeSemanticLayerCredentialConfigurationArgs.builder()
            .adapterVersion("string")
            .name("string")
            .projectId(0)
            .build())
        .credential(SnowflakeSemanticLayerCredentialCredentialArgs.builder()
            .authType("string")
            .projectId(0)
            .numThreads(0)
            .id("string")
            .isActive(false)
            .database("string")
            .password("string")
            .privateKey("string")
            .privateKeyPassphrase("string")
            .credentialId(0)
            .role("string")
            .schema("string")
            .semanticLayerCredential(false)
            .user("string")
            .warehouse("string")
            .build())
        .build());
    
    snowflake_semantic_layer_credential_resource = dbtcloud.SnowflakeSemanticLayerCredential("snowflakeSemanticLayerCredentialResource",
        configuration={
            "adapter_version": "string",
            "name": "string",
            "project_id": 0,
        },
        credential={
            "auth_type": "string",
            "project_id": 0,
            "num_threads": 0,
            "id": "string",
            "is_active": False,
            "database": "string",
            "password": "string",
            "private_key": "string",
            "private_key_passphrase": "string",
            "credential_id": 0,
            "role": "string",
            "schema": "string",
            "semantic_layer_credential": False,
            "user": "string",
            "warehouse": "string",
        })
    
    const snowflakeSemanticLayerCredentialResource = new dbtcloud.SnowflakeSemanticLayerCredential("snowflakeSemanticLayerCredentialResource", {
        configuration: {
            adapterVersion: "string",
            name: "string",
            projectId: 0,
        },
        credential: {
            authType: "string",
            projectId: 0,
            numThreads: 0,
            id: "string",
            isActive: false,
            database: "string",
            password: "string",
            privateKey: "string",
            privateKeyPassphrase: "string",
            credentialId: 0,
            role: "string",
            schema: "string",
            semanticLayerCredential: false,
            user: "string",
            warehouse: "string",
        },
    });
    
    type: dbtcloud:SnowflakeSemanticLayerCredential
    properties:
        configuration:
            adapterVersion: string
            name: string
            projectId: 0
        credential:
            authType: string
            credentialId: 0
            database: string
            id: string
            isActive: false
            numThreads: 0
            password: string
            privateKey: string
            privateKeyPassphrase: string
            projectId: 0
            role: string
            schema: string
            semanticLayerCredential: false
            user: string
            warehouse: string
    

    SnowflakeSemanticLayerCredential 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 SnowflakeSemanticLayerCredential resource accepts the following input properties:

    Configuration Pulumi.DbtCloud.Inputs.SnowflakeSemanticLayerCredentialConfiguration
    Semantic Layer credenttial configuration details.
    Credential Pulumi.DbtCloud.Inputs.SnowflakeSemanticLayerCredentialCredential
    Snowflake credential details, but used in the context of the Semantic Layer.
    Configuration SnowflakeSemanticLayerCredentialConfigurationArgs
    Semantic Layer credenttial configuration details.
    Credential SnowflakeSemanticLayerCredentialCredentialArgs
    Snowflake credential details, but used in the context of the Semantic Layer.
    configuration SnowflakeSemanticLayerCredentialConfiguration
    Semantic Layer credenttial configuration details.
    credential SnowflakeSemanticLayerCredentialCredential
    Snowflake credential details, but used in the context of the Semantic Layer.
    configuration SnowflakeSemanticLayerCredentialConfiguration
    Semantic Layer credenttial configuration details.
    credential SnowflakeSemanticLayerCredentialCredential
    Snowflake credential details, but used in the context of the Semantic Layer.
    configuration SnowflakeSemanticLayerCredentialConfigurationArgs
    Semantic Layer credenttial configuration details.
    credential SnowflakeSemanticLayerCredentialCredentialArgs
    Snowflake credential details, but used in the context of the Semantic Layer.
    configuration Property Map
    Semantic Layer credenttial configuration details.
    credential Property Map
    Snowflake credential details, but used in the context of the Semantic Layer.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the SnowflakeSemanticLayerCredential resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing SnowflakeSemanticLayerCredential Resource

    Get an existing SnowflakeSemanticLayerCredential 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?: SnowflakeSemanticLayerCredentialState, opts?: CustomResourceOptions): SnowflakeSemanticLayerCredential
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            configuration: Optional[SnowflakeSemanticLayerCredentialConfigurationArgs] = None,
            credential: Optional[SnowflakeSemanticLayerCredentialCredentialArgs] = None) -> SnowflakeSemanticLayerCredential
    func GetSnowflakeSemanticLayerCredential(ctx *Context, name string, id IDInput, state *SnowflakeSemanticLayerCredentialState, opts ...ResourceOption) (*SnowflakeSemanticLayerCredential, error)
    public static SnowflakeSemanticLayerCredential Get(string name, Input<string> id, SnowflakeSemanticLayerCredentialState? state, CustomResourceOptions? opts = null)
    public static SnowflakeSemanticLayerCredential get(String name, Output<String> id, SnowflakeSemanticLayerCredentialState state, CustomResourceOptions options)
    resources:  _:    type: dbtcloud:SnowflakeSemanticLayerCredential    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.
    The following state arguments are supported:
    Configuration Pulumi.DbtCloud.Inputs.SnowflakeSemanticLayerCredentialConfiguration
    Semantic Layer credenttial configuration details.
    Credential Pulumi.DbtCloud.Inputs.SnowflakeSemanticLayerCredentialCredential
    Snowflake credential details, but used in the context of the Semantic Layer.
    Configuration SnowflakeSemanticLayerCredentialConfigurationArgs
    Semantic Layer credenttial configuration details.
    Credential SnowflakeSemanticLayerCredentialCredentialArgs
    Snowflake credential details, but used in the context of the Semantic Layer.
    configuration SnowflakeSemanticLayerCredentialConfiguration
    Semantic Layer credenttial configuration details.
    credential SnowflakeSemanticLayerCredentialCredential
    Snowflake credential details, but used in the context of the Semantic Layer.
    configuration SnowflakeSemanticLayerCredentialConfiguration
    Semantic Layer credenttial configuration details.
    credential SnowflakeSemanticLayerCredentialCredential
    Snowflake credential details, but used in the context of the Semantic Layer.
    configuration SnowflakeSemanticLayerCredentialConfigurationArgs
    Semantic Layer credenttial configuration details.
    credential SnowflakeSemanticLayerCredentialCredentialArgs
    Snowflake credential details, but used in the context of the Semantic Layer.
    configuration Property Map
    Semantic Layer credenttial configuration details.
    credential Property Map
    Snowflake credential details, but used in the context of the Semantic Layer.

    Supporting Types

    SnowflakeSemanticLayerCredentialConfiguration, SnowflakeSemanticLayerCredentialConfigurationArgs

    AdapterVersion string
    The adapter version
    Name string
    The name of the configuration
    ProjectId int
    The ID of the project
    AdapterVersion string
    The adapter version
    Name string
    The name of the configuration
    ProjectId int
    The ID of the project
    adapterVersion String
    The adapter version
    name String
    The name of the configuration
    projectId Integer
    The ID of the project
    adapterVersion string
    The adapter version
    name string
    The name of the configuration
    projectId number
    The ID of the project
    adapter_version str
    The adapter version
    name str
    The name of the configuration
    project_id int
    The ID of the project
    adapterVersion String
    The adapter version
    name String
    The name of the configuration
    projectId Number
    The ID of the project

    SnowflakeSemanticLayerCredentialCredential, SnowflakeSemanticLayerCredentialCredentialArgs

    AuthType string
    The type of Snowflake credential ('password' or 'keypair')
    NumThreads int
    Number of threads to use
    ProjectId int
    Project ID to create the Snowflake credential in
    CredentialId int
    The internal credential ID
    Database string
    The catalog to connect use
    Id string
    The ID of this resource. Contains the project ID and the credential ID.
    IsActive bool
    Whether the Snowflake credential is active
    Password string
    The password for the Snowflake account
    PrivateKey string
    The private key for the Snowflake account
    PrivateKeyPassphrase string
    The passphrase for the private key
    Role string
    The role to assume
    Schema string
    The schema where to create models. This is an optional field ONLY if the credential is used for Semantic Layer configuration, otherwise it is required.
    SemanticLayerCredential bool
    This field indicates that the credential is used as part of the Semantic Layer configuration. It is used to create a Snowflake credential for the Semantic Layer.
    User string
    The username for the Snowflake account. This is an optional field ONLY if the credential is used for Semantic Layer configuration, otherwise it is required.
    Warehouse string
    The warehouse to use
    AuthType string
    The type of Snowflake credential ('password' or 'keypair')
    NumThreads int
    Number of threads to use
    ProjectId int
    Project ID to create the Snowflake credential in
    CredentialId int
    The internal credential ID
    Database string
    The catalog to connect use
    Id string
    The ID of this resource. Contains the project ID and the credential ID.
    IsActive bool
    Whether the Snowflake credential is active
    Password string
    The password for the Snowflake account
    PrivateKey string
    The private key for the Snowflake account
    PrivateKeyPassphrase string
    The passphrase for the private key
    Role string
    The role to assume
    Schema string
    The schema where to create models. This is an optional field ONLY if the credential is used for Semantic Layer configuration, otherwise it is required.
    SemanticLayerCredential bool
    This field indicates that the credential is used as part of the Semantic Layer configuration. It is used to create a Snowflake credential for the Semantic Layer.
    User string
    The username for the Snowflake account. This is an optional field ONLY if the credential is used for Semantic Layer configuration, otherwise it is required.
    Warehouse string
    The warehouse to use
    authType String
    The type of Snowflake credential ('password' or 'keypair')
    numThreads Integer
    Number of threads to use
    projectId Integer
    Project ID to create the Snowflake credential in
    credentialId Integer
    The internal credential ID
    database String
    The catalog to connect use
    id String
    The ID of this resource. Contains the project ID and the credential ID.
    isActive Boolean
    Whether the Snowflake credential is active
    password String
    The password for the Snowflake account
    privateKey String
    The private key for the Snowflake account
    privateKeyPassphrase String
    The passphrase for the private key
    role String
    The role to assume
    schema String
    The schema where to create models. This is an optional field ONLY if the credential is used for Semantic Layer configuration, otherwise it is required.
    semanticLayerCredential Boolean
    This field indicates that the credential is used as part of the Semantic Layer configuration. It is used to create a Snowflake credential for the Semantic Layer.
    user String
    The username for the Snowflake account. This is an optional field ONLY if the credential is used for Semantic Layer configuration, otherwise it is required.
    warehouse String
    The warehouse to use
    authType string
    The type of Snowflake credential ('password' or 'keypair')
    numThreads number
    Number of threads to use
    projectId number
    Project ID to create the Snowflake credential in
    credentialId number
    The internal credential ID
    database string
    The catalog to connect use
    id string
    The ID of this resource. Contains the project ID and the credential ID.
    isActive boolean
    Whether the Snowflake credential is active
    password string
    The password for the Snowflake account
    privateKey string
    The private key for the Snowflake account
    privateKeyPassphrase string
    The passphrase for the private key
    role string
    The role to assume
    schema string
    The schema where to create models. This is an optional field ONLY if the credential is used for Semantic Layer configuration, otherwise it is required.
    semanticLayerCredential boolean
    This field indicates that the credential is used as part of the Semantic Layer configuration. It is used to create a Snowflake credential for the Semantic Layer.
    user string
    The username for the Snowflake account. This is an optional field ONLY if the credential is used for Semantic Layer configuration, otherwise it is required.
    warehouse string
    The warehouse to use
    auth_type str
    The type of Snowflake credential ('password' or 'keypair')
    num_threads int
    Number of threads to use
    project_id int
    Project ID to create the Snowflake credential in
    credential_id int
    The internal credential ID
    database str
    The catalog to connect use
    id str
    The ID of this resource. Contains the project ID and the credential ID.
    is_active bool
    Whether the Snowflake credential is active
    password str
    The password for the Snowflake account
    private_key str
    The private key for the Snowflake account
    private_key_passphrase str
    The passphrase for the private key
    role str
    The role to assume
    schema str
    The schema where to create models. This is an optional field ONLY if the credential is used for Semantic Layer configuration, otherwise it is required.
    semantic_layer_credential bool
    This field indicates that the credential is used as part of the Semantic Layer configuration. It is used to create a Snowflake credential for the Semantic Layer.
    user str
    The username for the Snowflake account. This is an optional field ONLY if the credential is used for Semantic Layer configuration, otherwise it is required.
    warehouse str
    The warehouse to use
    authType String
    The type of Snowflake credential ('password' or 'keypair')
    numThreads Number
    Number of threads to use
    projectId Number
    Project ID to create the Snowflake credential in
    credentialId Number
    The internal credential ID
    database String
    The catalog to connect use
    id String
    The ID of this resource. Contains the project ID and the credential ID.
    isActive Boolean
    Whether the Snowflake credential is active
    password String
    The password for the Snowflake account
    privateKey String
    The private key for the Snowflake account
    privateKeyPassphrase String
    The passphrase for the private key
    role String
    The role to assume
    schema String
    The schema where to create models. This is an optional field ONLY if the credential is used for Semantic Layer configuration, otherwise it is required.
    semanticLayerCredential Boolean
    This field indicates that the credential is used as part of the Semantic Layer configuration. It is used to create a Snowflake credential for the Semantic Layer.
    user String
    The username for the Snowflake account. This is an optional field ONLY if the credential is used for Semantic Layer configuration, otherwise it is required.
    warehouse String
    The warehouse to use

    Import

    using import blocks (requires Terraform >= 1.5)

    import {

    to = dbtcloud_snowflake_semantic_layer_credential.example

    id = “credential_id”

    }

    import {

    to = dbtcloud_snowflake_semantic_layer_credential.example

    id = “12345”

    }

    using the older import command

    $ pulumi import dbtcloud:index/snowflakeSemanticLayerCredential:SnowflakeSemanticLayerCredential example "credential_id"
    
    $ pulumi import dbtcloud:index/snowflakeSemanticLayerCredential:SnowflakeSemanticLayerCredential example 12345
    

    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 v1.0.0 published on Wednesday, Jun 11, 2025 by Pulumi