1. Registry
  2. Packages
  3. Snowflake Provider
  4. API Docs
  5. Share
Viewing docs for Snowflake v2.23.0
published on Friday, Nov 6, 2026 by Pulumi
snowflake logo
Viewing docs for Snowflake v2.23.0
published on Friday, Nov 6, 2026 by Pulumi

    Caution: Preview Feature This feature is considered a preview feature in the provider, regardless of the state of the resource in Snowflake. We do not guarantee its stability. It will be reworked and marked as a stable feature in future releases. Breaking changes are expected, even without bumping the major version. To use this feature, add the relevant feature name to previewFeaturesEnabled field in the provider configuration. Please always refer to the Getting Help section in our Github repo to best determine how to get help for your questions.

    Note When accounts are added to a share that has no database granted yet (on create or on update), the provider creates a temporary database as a workaround for a Snowflake race condition: accounts cannot be added to a share until a database has been granted to it, but database grants depend on the share existing first. The provider automatically:

    1. Creates a temporary database (named TEMP_<share_name>_<timestamp>)
    2. Grants USAGE and REFERENCE_USAGE privileges on the temporary database to the share
    3. Adds the specified accounts to the share
    4. Revokes the privileges and drops the temporary database

    Shares with more than three accounts SHOW SHARES lists at most three accounts of a share. For a share with more than three accounts, the provider reads the full list from the SNOWFLAKE.ACCOUNT_USAGE.SHARES view. This requires a warehouse in the connection (set a DEFAULT_WAREHOUSE for the user or specify a warehouse in the provider configuration) and SELECT on that view for the role used by the provider (for example through IMPORTED PRIVILEGES on the SNOWFLAKE database). The view can be up to 3 hours behind, so for up to 3 hours after accounts are added or removed outside the three listed by SHOW SHARES, a plan can still show them as changes; applying it does not alter the share. Without the warehouse or the privilege, the provider reports a warning and only the listed accounts are known.

    Resource used to manage share objects. For more information, check share documentation.

    Example Usage

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

    import * as pulumi from "@pulumi/pulumi";
    import * as snowflake from "@pulumi/snowflake";
    
    // basic resource
    const basic = new snowflake.Share("basic", {name: "SHARE_NAME"});
    // complete resource
    const complete = new snowflake.Share("complete", {
        name: "SHARE_NAME",
        comment: "A share.",
        accounts: ["organizationName.accountName"],
        secureObjectsOnly: "false",
    });
    const example = new snowflake.Database("example", {name: "test"}, {
        dependsOn: [complete],
    });
    
    import pulumi
    import pulumi_snowflake as snowflake
    
    # basic resource
    basic = snowflake.Share("basic", name="SHARE_NAME")
    # complete resource
    complete = snowflake.Share("complete",
        name="SHARE_NAME",
        comment="A share.",
        accounts=["organizationName.accountName"],
        secure_objects_only="false")
    example = snowflake.Database("example", name="test",
    opts = pulumi.ResourceOptions(depends_on=[complete]))
    
    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 {
    		// basic resource
    		_, err := snowflake.NewShare(ctx, "basic", &snowflake.ShareArgs{
    			Name: pulumi.String("SHARE_NAME"),
    		})
    		if err != nil {
    			return err
    		}
    		// complete resource
    		complete, err := snowflake.NewShare(ctx, "complete", &snowflake.ShareArgs{
    			Name:    pulumi.String("SHARE_NAME"),
    			Comment: pulumi.String("A share."),
    			Accounts: pulumi.StringArray{
    				pulumi.String("organizationName.accountName"),
    			},
    			SecureObjectsOnly: pulumi.String("false"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = snowflake.NewDatabase(ctx, "example", &snowflake.DatabaseArgs{
    			Name: pulumi.String("test"),
    		}, pulumi.DependsOn([]pulumi.Resource{
    			complete,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Snowflake = Pulumi.Snowflake;
    
    return await Deployment.RunAsync(() => 
    {
        // basic resource
        var basic = new Snowflake.Share("basic", new()
        {
            Name = "SHARE_NAME",
        });
    
        // complete resource
        var complete = new Snowflake.Share("complete", new()
        {
            Name = "SHARE_NAME",
            Comment = "A share.",
            Accounts = new[]
            {
                "organizationName.accountName",
            },
            SecureObjectsOnly = "false",
        });
    
        var example = new Snowflake.Database("example", new()
        {
            Name = "test",
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                complete,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.snowflake.Share;
    import com.pulumi.snowflake.ShareArgs;
    import com.pulumi.snowflake.Database;
    import com.pulumi.snowflake.DatabaseArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.ArrayList;
    import java.util.Arrays;
    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) {
            // basic resource
            var basic = new Share("basic", ShareArgs.builder()
                .name("SHARE_NAME")
                .build());
    
            // complete resource
            var complete = new Share("complete", ShareArgs.builder()
                .name("SHARE_NAME")
                .comment("A share.")
                .accounts("organizationName.accountName")
                .secureObjectsOnly("false")
                .build());
    
            var example = new Database("example", DatabaseArgs.builder()
                .name("test")
                .build(), CustomResourceOptions.builder()
                    .dependsOn(complete)
                    .build());
    
        }
    }
    
    resources:
      # basic resource
      basic:
        type: snowflake:Share
        properties:
          name: SHARE_NAME
      # complete resource
      complete:
        type: snowflake:Share
        properties:
          name: SHARE_NAME
          comment: A share.
          accounts:
            - organizationName.accountName
          secureObjectsOnly: 'false'
      example:
        type: snowflake:Database
        properties:
          name: test
        options:
          dependsOn:
            - ${complete}
    
    terraform {
      required_providers {
        snowflake = {
          source = "pulumi/snowflake"
        }
      }
    }
    
    # basic resource
    resource "snowflake_share" "basic" {
      lifecycle {
        create_before_destroy = true
      }
      name = "SHARE_NAME"
    }
    # complete resource
    resource "snowflake_share" "complete" {
      lifecycle {
        create_before_destroy = true
      }
      name                = "SHARE_NAME"
      comment             = "A share."
      accounts            = ["organizationName.accountName"]
      secure_objects_only = "false"
    }
    resource "snowflake_database" "example" {
      depends_on = [snowflake_share.complete]
      lifecycle {
        create_before_destroy = true
      }
      name = "test"
    }
    

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

    Create Share Resource

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

    Constructor syntax

    new Share(name: string, args?: ShareArgs, opts?: CustomResourceOptions);
    @overload
    def Share(resource_name: str,
              args: Optional[ShareArgs] = None,
              opts: Optional[ResourceOptions] = None)
    
    @overload
    def Share(resource_name: str,
              opts: Optional[ResourceOptions] = None,
              accounts: Optional[Sequence[str]] = None,
              comment: Optional[str] = None,
              name: Optional[str] = None,
              secure_objects_only: Optional[str] = None)
    func NewShare(ctx *Context, name string, args *ShareArgs, opts ...ResourceOption) (*Share, error)
    public Share(string name, ShareArgs? args = null, CustomResourceOptions? opts = null)
    public Share(String name, ShareArgs args)
    public Share(String name, ShareArgs args, CustomResourceOptions options)
    
    type: snowflake:Share
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "snowflake_share" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args ShareArgs
    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 ShareArgs
    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 ShareArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ShareArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ShareArgs
    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 shareResource = new Snowflake.Share("shareResource", new()
    {
        Accounts = new[]
        {
            "string",
        },
        Comment = "string",
        Name = "string",
        SecureObjectsOnly = "string",
    });
    
    example, err := snowflake.NewShare(ctx, "shareResource", &snowflake.ShareArgs{
    	Accounts: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Comment:           pulumi.String("string"),
    	Name:              pulumi.String("string"),
    	SecureObjectsOnly: pulumi.String("string"),
    })
    
    resource "snowflake_share" "shareResource" {
      lifecycle {
        create_before_destroy = true
      }
      accounts            = ["string"]
      comment             = "string"
      name                = "string"
      secure_objects_only = "string"
    }
    
    var shareResource = new Share("shareResource", ShareArgs.builder()
        .accounts("string")
        .comment("string")
        .name("string")
        .secureObjectsOnly("string")
        .build());
    
    share_resource = snowflake.Share("shareResource",
        accounts=["string"],
        comment="string",
        name="string",
        secure_objects_only="string")
    
    const shareResource = new snowflake.Share("shareResource", {
        accounts: ["string"],
        comment: "string",
        name: "string",
        secureObjectsOnly: "string",
    });
    
    type: snowflake:Share
    properties:
        accounts:
            - string
        comment: string
        name: string
        secureObjectsOnly: string
    

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

    Accounts List<string>
    A set of accounts the share is available to, in the form organization_name.account_name (not the account locator). The provider reads the recipients from Snowflake, so accounts added outside of Terraform are removed on the next apply.
    Comment string
    Specifies a comment for the share.
    Name string
    Specifies the identifier for the share; must be unique for the account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    SecureObjectsOnly string
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies whether only secure objects can be added to the share. Once set to false, it cannot be set back to true. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    Accounts []string
    A set of accounts the share is available to, in the form organization_name.account_name (not the account locator). The provider reads the recipients from Snowflake, so accounts added outside of Terraform are removed on the next apply.
    Comment string
    Specifies a comment for the share.
    Name string
    Specifies the identifier for the share; must be unique for the account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    SecureObjectsOnly string
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies whether only secure objects can be added to the share. Once set to false, it cannot be set back to true. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    accounts list(string)
    A set of accounts the share is available to, in the form organization_name.account_name (not the account locator). The provider reads the recipients from Snowflake, so accounts added outside of Terraform are removed on the next apply.
    comment string
    Specifies a comment for the share.
    name string
    Specifies the identifier for the share; must be unique for the account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    secure_objects_only string
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies whether only secure objects can be added to the share. Once set to false, it cannot be set back to true. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    accounts List<String>
    A set of accounts the share is available to, in the form organization_name.account_name (not the account locator). The provider reads the recipients from Snowflake, so accounts added outside of Terraform are removed on the next apply.
    comment String
    Specifies a comment for the share.
    name String
    Specifies the identifier for the share; must be unique for the account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    secureObjectsOnly String
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies whether only secure objects can be added to the share. Once set to false, it cannot be set back to true. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    accounts string[]
    A set of accounts the share is available to, in the form organization_name.account_name (not the account locator). The provider reads the recipients from Snowflake, so accounts added outside of Terraform are removed on the next apply.
    comment string
    Specifies a comment for the share.
    name string
    Specifies the identifier for the share; must be unique for the account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    secureObjectsOnly string
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies whether only secure objects can be added to the share. Once set to false, it cannot be set back to true. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    accounts Sequence[str]
    A set of accounts the share is available to, in the form organization_name.account_name (not the account locator). The provider reads the recipients from Snowflake, so accounts added outside of Terraform are removed on the next apply.
    comment str
    Specifies a comment for the share.
    name str
    Specifies the identifier for the share; must be unique for the account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    secure_objects_only str
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies whether only secure objects can be added to the share. Once set to false, it cannot be set back to true. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    accounts List<String>
    A set of accounts the share is available to, in the form organization_name.account_name (not the account locator). The provider reads the recipients from Snowflake, so accounts added outside of Terraform are removed on the next apply.
    comment String
    Specifies a comment for the share.
    name String
    Specifies the identifier for the share; must be unique for the account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    secureObjectsOnly String
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies whether only secure objects can be added to the share. Once set to false, it cannot be set back to true. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.

    Outputs

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

    DescribeOutputs List<ShareDescribeOutput>
    Outputs the result of DESCRIBE SHARE for the given share. DESCRIBE SHARE returns a row for every object granted to the share, including the system objects that Snowflake adds to the shared database. In order to see the rows, the role must have a privilege on the share.
    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<ShareShowOutput>
    Outputs the result of SHOW SHARES for the given share.
    DescribeOutputs []ShareDescribeOutput
    Outputs the result of DESCRIBE SHARE for the given share. DESCRIBE SHARE returns a row for every object granted to the share, including the system objects that Snowflake adds to the shared database. In order to see the rows, the role must have a privilege on the share.
    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 []ShareShowOutput
    Outputs the result of SHOW SHARES for the given share.
    describe_outputs list(object)
    Outputs the result of DESCRIBE SHARE for the given share. DESCRIBE SHARE returns a row for every object granted to the share, including the system objects that Snowflake adds to the shared database. In order to see the rows, the role must have a privilege on the share.
    fully_qualified_name 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.
    show_outputs list(object)
    Outputs the result of SHOW SHARES for the given share.
    describeOutputs List<ShareDescribeOutput>
    Outputs the result of DESCRIBE SHARE for the given share. DESCRIBE SHARE returns a row for every object granted to the share, including the system objects that Snowflake adds to the shared database. In order to see the rows, the role must have a privilege on the share.
    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<ShareShowOutput>
    Outputs the result of SHOW SHARES for the given share.
    describeOutputs ShareDescribeOutput[]
    Outputs the result of DESCRIBE SHARE for the given share. DESCRIBE SHARE returns a row for every object granted to the share, including the system objects that Snowflake adds to the shared database. In order to see the rows, the role must have a privilege on the share.
    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 ShareShowOutput[]
    Outputs the result of SHOW SHARES for the given share.
    describe_outputs Sequence[ShareDescribeOutput]
    Outputs the result of DESCRIBE SHARE for the given share. DESCRIBE SHARE returns a row for every object granted to the share, including the system objects that Snowflake adds to the shared database. In order to see the rows, the role must have a privilege on the share.
    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[ShareShowOutput]
    Outputs the result of SHOW SHARES for the given share.
    describeOutputs List<Property Map>
    Outputs the result of DESCRIBE SHARE for the given share. DESCRIBE SHARE returns a row for every object granted to the share, including the system objects that Snowflake adds to the shared database. In order to see the rows, the role must have a privilege on the share.
    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 SHARES for the given share.

    Look up Existing Share Resource

    Get an existing Share 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?: ShareState, opts?: CustomResourceOptions): Share
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            accounts: Optional[Sequence[str]] = None,
            comment: Optional[str] = None,
            describe_outputs: Optional[Sequence[ShareDescribeOutputArgs]] = None,
            fully_qualified_name: Optional[str] = None,
            name: Optional[str] = None,
            secure_objects_only: Optional[str] = None,
            show_outputs: Optional[Sequence[ShareShowOutputArgs]] = None) -> Share
    func GetShare(ctx *Context, name string, id IDInput, state *ShareState, opts ...ResourceOption) (*Share, error)
    public static Share Get(string name, Input<string> id, ShareState? state, CustomResourceOptions? opts = null)
    public static Share get(String name, Output<String> id, ShareState state, CustomResourceOptions options)
    resources:  _:    type: snowflake:Share    get:      id: ${id}
    import {
      to = snowflake_share.example
      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:
    Accounts List<string>
    A set of accounts the share is available to, in the form organization_name.account_name (not the account locator). The provider reads the recipients from Snowflake, so accounts added outside of Terraform are removed on the next apply.
    Comment string
    Specifies a comment for the share.
    DescribeOutputs List<ShareDescribeOutput>
    Outputs the result of DESCRIBE SHARE for the given share. DESCRIBE SHARE returns a row for every object granted to the share, including the system objects that Snowflake adds to the shared database. In order to see the rows, the role must have a privilege on the share.
    FullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    Name string
    Specifies the identifier for the share; must be unique for the account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    SecureObjectsOnly string
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies whether only secure objects can be added to the share. Once set to false, it cannot be set back to true. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    ShowOutputs List<ShareShowOutput>
    Outputs the result of SHOW SHARES for the given share.
    Accounts []string
    A set of accounts the share is available to, in the form organization_name.account_name (not the account locator). The provider reads the recipients from Snowflake, so accounts added outside of Terraform are removed on the next apply.
    Comment string
    Specifies a comment for the share.
    DescribeOutputs []ShareDescribeOutputArgs
    Outputs the result of DESCRIBE SHARE for the given share. DESCRIBE SHARE returns a row for every object granted to the share, including the system objects that Snowflake adds to the shared database. In order to see the rows, the role must have a privilege on the share.
    FullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    Name string
    Specifies the identifier for the share; must be unique for the account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    SecureObjectsOnly string
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies whether only secure objects can be added to the share. Once set to false, it cannot be set back to true. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    ShowOutputs []ShareShowOutputArgs
    Outputs the result of SHOW SHARES for the given share.
    accounts list(string)
    A set of accounts the share is available to, in the form organization_name.account_name (not the account locator). The provider reads the recipients from Snowflake, so accounts added outside of Terraform are removed on the next apply.
    comment string
    Specifies a comment for the share.
    describe_outputs list(object)
    Outputs the result of DESCRIBE SHARE for the given share. DESCRIBE SHARE returns a row for every object granted to the share, including the system objects that Snowflake adds to the shared database. In order to see the rows, the role must have a privilege on the share.
    fully_qualified_name string
    Fully qualified name of the resource. For more information, see object name resolution.
    name string
    Specifies the identifier for the share; must be unique for the account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    secure_objects_only string
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies whether only secure objects can be added to the share. Once set to false, it cannot be set back to true. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    show_outputs list(object)
    Outputs the result of SHOW SHARES for the given share.
    accounts List<String>
    A set of accounts the share is available to, in the form organization_name.account_name (not the account locator). The provider reads the recipients from Snowflake, so accounts added outside of Terraform are removed on the next apply.
    comment String
    Specifies a comment for the share.
    describeOutputs List<ShareDescribeOutput>
    Outputs the result of DESCRIBE SHARE for the given share. DESCRIBE SHARE returns a row for every object granted to the share, including the system objects that Snowflake adds to the shared database. In order to see the rows, the role must have a privilege on the share.
    fullyQualifiedName String
    Fully qualified name of the resource. For more information, see object name resolution.
    name String
    Specifies the identifier for the share; must be unique for the account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    secureObjectsOnly String
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies whether only secure objects can be added to the share. Once set to false, it cannot be set back to true. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    showOutputs List<ShareShowOutput>
    Outputs the result of SHOW SHARES for the given share.
    accounts string[]
    A set of accounts the share is available to, in the form organization_name.account_name (not the account locator). The provider reads the recipients from Snowflake, so accounts added outside of Terraform are removed on the next apply.
    comment string
    Specifies a comment for the share.
    describeOutputs ShareDescribeOutput[]
    Outputs the result of DESCRIBE SHARE for the given share. DESCRIBE SHARE returns a row for every object granted to the share, including the system objects that Snowflake adds to the shared database. In order to see the rows, the role must have a privilege on the share.
    fullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    name string
    Specifies the identifier for the share; must be unique for the account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    secureObjectsOnly string
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies whether only secure objects can be added to the share. Once set to false, it cannot be set back to true. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    showOutputs ShareShowOutput[]
    Outputs the result of SHOW SHARES for the given share.
    accounts Sequence[str]
    A set of accounts the share is available to, in the form organization_name.account_name (not the account locator). The provider reads the recipients from Snowflake, so accounts added outside of Terraform are removed on the next apply.
    comment str
    Specifies a comment for the share.
    describe_outputs Sequence[ShareDescribeOutputArgs]
    Outputs the result of DESCRIBE SHARE for the given share. DESCRIBE SHARE returns a row for every object granted to the share, including the system objects that Snowflake adds to the shared database. In order to see the rows, the role must have a privilege on the share.
    fully_qualified_name str
    Fully qualified name of the resource. For more information, see object name resolution.
    name str
    Specifies the identifier for the share; must be unique for the account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    secure_objects_only str
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies whether only secure objects can be added to the share. Once set to false, it cannot be set back to true. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    show_outputs Sequence[ShareShowOutputArgs]
    Outputs the result of SHOW SHARES for the given share.
    accounts List<String>
    A set of accounts the share is available to, in the form organization_name.account_name (not the account locator). The provider reads the recipients from Snowflake, so accounts added outside of Terraform are removed on the next apply.
    comment String
    Specifies a comment for the share.
    describeOutputs List<Property Map>
    Outputs the result of DESCRIBE SHARE for the given share. DESCRIBE SHARE returns a row for every object granted to the share, including the system objects that Snowflake adds to the shared database. In order to see the rows, the role must have a privilege on the share.
    fullyQualifiedName String
    Fully qualified name of the resource. For more information, see object name resolution.
    name String
    Specifies the identifier for the share; must be unique for the account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    secureObjectsOnly String
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies whether only secure objects can be added to the share. Once set to false, it cannot be set back to true. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    showOutputs List<Property Map>
    Outputs the result of SHOW SHARES for the given share.

    Supporting Types

    ShareDescribeOutput, ShareDescribeOutputArgs

    Kind string
    Name string
    SharedOn string
    Kind string
    Name string
    SharedOn string
    kind string
    name string
    shared_on string
    kind String
    name String
    sharedOn String
    kind string
    name string
    sharedOn string
    kind str
    name str
    shared_on str
    kind String
    name String
    sharedOn String

    ShareShowOutput, ShareShowOutputArgs

    Comment string
    CreatedOn string
    DatabaseName string
    Kind string
    ListingGlobalName string
    Name string
    Owner string
    OwnerAccount string
    SecureObjectsOnly bool
    ToTotal int
    Tos List<string>
    Comment string
    CreatedOn string
    DatabaseName string
    Kind string
    ListingGlobalName string
    Name string
    Owner string
    OwnerAccount string
    SecureObjectsOnly bool
    ToTotal int
    Tos []string
    comment string
    created_on string
    database_name string
    kind string
    listing_global_name string
    name string
    owner string
    owner_account string
    secure_objects_only bool
    to_total number
    tos list(string)
    comment String
    createdOn String
    databaseName String
    kind String
    listingGlobalName String
    name String
    owner String
    ownerAccount String
    secureObjectsOnly Boolean
    toTotal Integer
    tos List<String>
    comment string
    createdOn string
    databaseName string
    kind string
    listingGlobalName string
    name string
    owner string
    ownerAccount string
    secureObjectsOnly boolean
    toTotal number
    tos string[]
    comment String
    createdOn String
    databaseName String
    kind String
    listingGlobalName String
    name String
    owner String
    ownerAccount String
    secureObjectsOnly Boolean
    toTotal Number
    tos List<String>

    Import

    $ pulumi import snowflake:index/share:Share example '"<share_name>"'
    

    Note Only a share created in your account (kind = OUTBOUND) can be imported; importing a share provided by another account (kind = INBOUND) fails. The import sets secureObjectsOnly to the value of the share. Because the field is ForceNew, a configuration that omits it while the share has secureObjectsOnly = true plans a replacement of the share after the import; set the field to the value of the share, or enable the IMPORT_PERMISSIVE_MODE experiment to get an empty plan.

    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.23.0
    published on Friday, Nov 6, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial