1. Packages
  2. Snowflake Provider
  3. API Docs
  4. DatabaseRole
Viewing docs for Snowflake v2.13.0
published on Thursday, Feb 26, 2026 by Pulumi
snowflake logo
Viewing docs for Snowflake v2.13.0
published on Thursday, Feb 26, 2026 by Pulumi

    Resource used to manage database roles. For more information, check database roles documentation.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as snowflake from "@pulumi/snowflake";
    
    const testDatabase = new snowflake.Database("test_database", {name: "database_name"});
    const testDatabaseRole = new snowflake.DatabaseRole("test_database_role", {
        database: testDatabase.fullyQualifiedName,
        name: "database_role_name",
        comment: "my database role",
    });
    
    import pulumi
    import pulumi_snowflake as snowflake
    
    test_database = snowflake.Database("test_database", name="database_name")
    test_database_role = snowflake.DatabaseRole("test_database_role",
        database=test_database.fully_qualified_name,
        name="database_role_name",
        comment="my database role")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-snowflake/sdk/v2/go/snowflake"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		testDatabase, err := snowflake.NewDatabase(ctx, "test_database", &snowflake.DatabaseArgs{
    			Name: pulumi.String("database_name"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = snowflake.NewDatabaseRole(ctx, "test_database_role", &snowflake.DatabaseRoleArgs{
    			Database: testDatabase.FullyQualifiedName,
    			Name:     pulumi.String("database_role_name"),
    			Comment:  pulumi.String("my database role"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Snowflake = Pulumi.Snowflake;
    
    return await Deployment.RunAsync(() => 
    {
        var testDatabase = new Snowflake.Database("test_database", new()
        {
            Name = "database_name",
        });
    
        var testDatabaseRole = new Snowflake.DatabaseRole("test_database_role", new()
        {
            Database = testDatabase.FullyQualifiedName,
            Name = "database_role_name",
            Comment = "my database role",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.snowflake.Database;
    import com.pulumi.snowflake.DatabaseArgs;
    import com.pulumi.snowflake.DatabaseRole;
    import com.pulumi.snowflake.DatabaseRoleArgs;
    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) {
            var testDatabase = new Database("testDatabase", DatabaseArgs.builder()
                .name("database_name")
                .build());
    
            var testDatabaseRole = new DatabaseRole("testDatabaseRole", DatabaseRoleArgs.builder()
                .database(testDatabase.fullyQualifiedName())
                .name("database_role_name")
                .comment("my database role")
                .build());
    
        }
    }
    
    resources:
      testDatabase:
        type: snowflake:Database
        name: test_database
        properties:
          name: database_name
      testDatabaseRole:
        type: snowflake:DatabaseRole
        name: test_database_role
        properties:
          database: ${testDatabase.fullyQualifiedName}
          name: database_role_name
          comment: my database role
    

    Note Instead of using fully_qualified_name, you can reference objects managed outside Terraform by constructing a correct ID, consult identifiers guide.

    Note If a field has a default value, it is shown next to the type in the schema.

    Create DatabaseRole Resource

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

    Constructor syntax

    new DatabaseRole(name: string, args: DatabaseRoleArgs, opts?: CustomResourceOptions);
    @overload
    def DatabaseRole(resource_name: str,
                     args: DatabaseRoleArgs,
                     opts: Optional[ResourceOptions] = None)
    
    @overload
    def DatabaseRole(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     database: Optional[str] = None,
                     comment: Optional[str] = None,
                     name: Optional[str] = None)
    func NewDatabaseRole(ctx *Context, name string, args DatabaseRoleArgs, opts ...ResourceOption) (*DatabaseRole, error)
    public DatabaseRole(string name, DatabaseRoleArgs args, CustomResourceOptions? opts = null)
    public DatabaseRole(String name, DatabaseRoleArgs args)
    public DatabaseRole(String name, DatabaseRoleArgs args, CustomResourceOptions options)
    
    type: snowflake:DatabaseRole
    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 DatabaseRoleArgs
    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 DatabaseRoleArgs
    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 DatabaseRoleArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args DatabaseRoleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args DatabaseRoleArgs
    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 databaseRoleResource = new Snowflake.DatabaseRole("databaseRoleResource", new()
    {
        Database = "string",
        Comment = "string",
        Name = "string",
    });
    
    example, err := snowflake.NewDatabaseRole(ctx, "databaseRoleResource", &snowflake.DatabaseRoleArgs{
    	Database: pulumi.String("string"),
    	Comment:  pulumi.String("string"),
    	Name:     pulumi.String("string"),
    })
    
    var databaseRoleResource = new DatabaseRole("databaseRoleResource", DatabaseRoleArgs.builder()
        .database("string")
        .comment("string")
        .name("string")
        .build());
    
    database_role_resource = snowflake.DatabaseRole("databaseRoleResource",
        database="string",
        comment="string",
        name="string")
    
    const databaseRoleResource = new snowflake.DatabaseRole("databaseRoleResource", {
        database: "string",
        comment: "string",
        name: "string",
    });
    
    type: snowflake:DatabaseRole
    properties:
        comment: string
        database: string
        name: string
    

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

    Database string
    The database in which to create the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    Comment string
    Specifies a comment for the database role.
    Name string
    Specifies the identifier for the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    Database string
    The database in which to create the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    Comment string
    Specifies a comment for the database role.
    Name string
    Specifies the identifier for the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    database String
    The database in which to create the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    comment String
    Specifies a comment for the database role.
    name String
    Specifies the identifier for the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    database string
    The database in which to create the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    comment string
    Specifies a comment for the database role.
    name string
    Specifies the identifier for the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    database str
    The database in which to create the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    comment str
    Specifies a comment for the database role.
    name str
    Specifies the identifier for the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    database String
    The database in which to create the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    comment String
    Specifies a comment for the database role.
    name String
    Specifies the identifier for the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".

    Outputs

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

    FullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    Id string
    The provider-assigned unique ID for this managed resource.
    ShowOutputs List<DatabaseRoleShowOutput>
    Outputs the result of SHOW DATABASE ROLES for the given database role. Note that this value will be only recomputed whenever comment field changes.
    FullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    Id string
    The provider-assigned unique ID for this managed resource.
    ShowOutputs []DatabaseRoleShowOutput
    Outputs the result of SHOW DATABASE ROLES for the given database role. Note that this value will be only recomputed whenever comment field changes.
    fullyQualifiedName String
    Fully qualified name of the resource. For more information, see object name resolution.
    id String
    The provider-assigned unique ID for this managed resource.
    showOutputs List<DatabaseRoleShowOutput>
    Outputs the result of SHOW DATABASE ROLES for the given database role. Note that this value will be only recomputed whenever comment field changes.
    fullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    id string
    The provider-assigned unique ID for this managed resource.
    showOutputs DatabaseRoleShowOutput[]
    Outputs the result of SHOW DATABASE ROLES for the given database role. Note that this value will be only recomputed whenever comment field changes.
    fully_qualified_name str
    Fully qualified name of the resource. For more information, see object name resolution.
    id str
    The provider-assigned unique ID for this managed resource.
    show_outputs Sequence[DatabaseRoleShowOutput]
    Outputs the result of SHOW DATABASE ROLES for the given database role. Note that this value will be only recomputed whenever comment field changes.
    fullyQualifiedName String
    Fully qualified name of the resource. For more information, see object name resolution.
    id String
    The provider-assigned unique ID for this managed resource.
    showOutputs List<Property Map>
    Outputs the result of SHOW DATABASE ROLES for the given database role. Note that this value will be only recomputed whenever comment field changes.

    Look up Existing DatabaseRole Resource

    Get an existing DatabaseRole 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?: DatabaseRoleState, opts?: CustomResourceOptions): DatabaseRole
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            comment: Optional[str] = None,
            database: Optional[str] = None,
            fully_qualified_name: Optional[str] = None,
            name: Optional[str] = None,
            show_outputs: Optional[Sequence[DatabaseRoleShowOutputArgs]] = None) -> DatabaseRole
    func GetDatabaseRole(ctx *Context, name string, id IDInput, state *DatabaseRoleState, opts ...ResourceOption) (*DatabaseRole, error)
    public static DatabaseRole Get(string name, Input<string> id, DatabaseRoleState? state, CustomResourceOptions? opts = null)
    public static DatabaseRole get(String name, Output<String> id, DatabaseRoleState state, CustomResourceOptions options)
    resources:  _:    type: snowflake:DatabaseRole    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:
    Comment string
    Specifies a comment for the database role.
    Database string
    The database in which to create the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    FullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    Name string
    Specifies the identifier for the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    ShowOutputs List<DatabaseRoleShowOutput>
    Outputs the result of SHOW DATABASE ROLES for the given database role. Note that this value will be only recomputed whenever comment field changes.
    Comment string
    Specifies a comment for the database role.
    Database string
    The database in which to create the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    FullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    Name string
    Specifies the identifier for the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    ShowOutputs []DatabaseRoleShowOutputArgs
    Outputs the result of SHOW DATABASE ROLES for the given database role. Note that this value will be only recomputed whenever comment field changes.
    comment String
    Specifies a comment for the database role.
    database String
    The database in which to create the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    fullyQualifiedName String
    Fully qualified name of the resource. For more information, see object name resolution.
    name String
    Specifies the identifier for the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    showOutputs List<DatabaseRoleShowOutput>
    Outputs the result of SHOW DATABASE ROLES for the given database role. Note that this value will be only recomputed whenever comment field changes.
    comment string
    Specifies a comment for the database role.
    database string
    The database in which to create the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    fullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    name string
    Specifies the identifier for the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    showOutputs DatabaseRoleShowOutput[]
    Outputs the result of SHOW DATABASE ROLES for the given database role. Note that this value will be only recomputed whenever comment field changes.
    comment str
    Specifies a comment for the database role.
    database str
    The database in which to create the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    fully_qualified_name str
    Fully qualified name of the resource. For more information, see object name resolution.
    name str
    Specifies the identifier for the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    show_outputs Sequence[DatabaseRoleShowOutputArgs]
    Outputs the result of SHOW DATABASE ROLES for the given database role. Note that this value will be only recomputed whenever comment field changes.
    comment String
    Specifies a comment for the database role.
    database String
    The database in which to create the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    fullyQualifiedName String
    Fully qualified name of the resource. For more information, see object name resolution.
    name String
    Specifies the identifier for the database role. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    showOutputs List<Property Map>
    Outputs the result of SHOW DATABASE ROLES for the given database role. Note that this value will be only recomputed whenever comment field changes.

    Supporting Types

    DatabaseRoleShowOutput, DatabaseRoleShowOutputArgs

    comment String
    createdOn String
    databaseName String
    grantedDatabaseRoles Integer
    grantedToDatabaseRoles Integer
    grantedToRoles Integer
    isCurrent Boolean
    isDefault Boolean
    isInherited Boolean
    name String
    owner String
    ownerRoleType String

    Import

    $ pulumi import snowflake:index/databaseRole:DatabaseRole example '"<database_name>"."<database_role_name>"'
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Snowflake pulumi/pulumi-snowflake
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the snowflake Terraform Provider.
    snowflake logo
    Viewing docs for Snowflake v2.13.0
    published on Thursday, Feb 26, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.