1. Packages
  2. Packages
  3. Snowflake Provider
  4. API Docs
  5. Tag
Viewing docs for Snowflake v2.15.0
published on Saturday, May 9, 2026 by Pulumi
snowflake logo
Viewing docs for Snowflake v2.15.0
published on Saturday, May 9, 2026 by Pulumi

    Required warehouse For this resource, the provider now uses tag references to get information about masking policies attached to tags. This function requires a warehouse in the connection. Please, make sure you have either set a DEFAULT_WAREHOUSE for the user, or specified a warehouse in the provider configuration.

    Deprecation notice The allowedValues field (unordered set) is deprecated and will be removed in the next major version. Use orderedAllowedValues (ordered list) instead. orderedAllowedValues preserves the order you specify, which is required when using on_conflict.allowed_values_sequence for tag propagation conflict resolution. See the migration guide for details.

    Note A new TAGS_ALLOW_EMPTY_ALLOWED_VALUES experimental feature is available for this resource. When enabled, it improves how allowedValues / orderedAllowedValues are handled — removing the field from the configuration correctly reverts the tag to accepting any value, and a new noAllowedValues field allows you to explicitly block any value from being set on the tag (note that sometimes to enter this state, the provider may temporarily add and drop SNOWFLAKE_TERRAFORM_TEMP_TAG_ALLOWED_VALUE value). Without the flag, the behavior is unchanged from previous versions and the noAllowedValues field has no effect. To enable it, add TAGS_ALLOW_EMPTY_ALLOWED_VALUES to the experimentalFeaturesEnabled provider field. See the migration guide for more details.

    Resource used to manage tags. For more information, check tag documentation. For assigning tags to Snowflake objects, see tagAssociation resource.

    Create Tag Resource

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

    Constructor syntax

    new Tag(name: string, args: TagArgs, opts?: CustomResourceOptions);
    @overload
    def Tag(resource_name: str,
            args: TagArgs,
            opts: Optional[ResourceOptions] = None)
    
    @overload
    def Tag(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            database: Optional[str] = None,
            schema: Optional[str] = None,
            allowed_values: Optional[Sequence[str]] = None,
            comment: Optional[str] = None,
            masking_policies: Optional[Sequence[str]] = None,
            name: Optional[str] = None,
            no_allowed_values: Optional[bool] = None,
            on_conflict: Optional[TagOnConflictArgs] = None,
            ordered_allowed_values: Optional[Sequence[str]] = None,
            propagate: Optional[str] = None)
    func NewTag(ctx *Context, name string, args TagArgs, opts ...ResourceOption) (*Tag, error)
    public Tag(string name, TagArgs args, CustomResourceOptions? opts = null)
    public Tag(String name, TagArgs args)
    public Tag(String name, TagArgs args, CustomResourceOptions options)
    
    type: snowflake:Tag
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "snowflake_tag" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args TagArgs
    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 TagArgs
    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 TagArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args TagArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args TagArgs
    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 tagResource = new Snowflake.Tag("tagResource", new()
    {
        Database = "string",
        Schema = "string",
        Comment = "string",
        MaskingPolicies = new[]
        {
            "string",
        },
        Name = "string",
        NoAllowedValues = false,
        OnConflict = new Snowflake.Inputs.TagOnConflictArgs
        {
            AllowedValuesSequence = false,
            CustomValue = "string",
        },
        OrderedAllowedValues = new[]
        {
            "string",
        },
        Propagate = "string",
    });
    
    example, err := snowflake.NewTag(ctx, "tagResource", &snowflake.TagArgs{
    	Database: pulumi.String("string"),
    	Schema:   pulumi.String("string"),
    	Comment:  pulumi.String("string"),
    	MaskingPolicies: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Name:            pulumi.String("string"),
    	NoAllowedValues: pulumi.Bool(false),
    	OnConflict: &snowflake.TagOnConflictArgs{
    		AllowedValuesSequence: pulumi.Bool(false),
    		CustomValue:           pulumi.String("string"),
    	},
    	OrderedAllowedValues: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Propagate: pulumi.String("string"),
    })
    
    resource "snowflake_tag" "tagResource" {
      database          = "string"
      schema            = "string"
      comment           = "string"
      masking_policies  = ["string"]
      name              = "string"
      no_allowed_values = false
      on_conflict = {
        allowed_values_sequence = false
        custom_value            = "string"
      }
      ordered_allowed_values = ["string"]
      propagate              = "string"
    }
    
    var tagResource = new Tag("tagResource", TagArgs.builder()
        .database("string")
        .schema("string")
        .comment("string")
        .maskingPolicies("string")
        .name("string")
        .noAllowedValues(false)
        .onConflict(TagOnConflictArgs.builder()
            .allowedValuesSequence(false)
            .customValue("string")
            .build())
        .orderedAllowedValues("string")
        .propagate("string")
        .build());
    
    tag_resource = snowflake.Tag("tagResource",
        database="string",
        schema="string",
        comment="string",
        masking_policies=["string"],
        name="string",
        no_allowed_values=False,
        on_conflict={
            "allowed_values_sequence": False,
            "custom_value": "string",
        },
        ordered_allowed_values=["string"],
        propagate="string")
    
    const tagResource = new snowflake.Tag("tagResource", {
        database: "string",
        schema: "string",
        comment: "string",
        maskingPolicies: ["string"],
        name: "string",
        noAllowedValues: false,
        onConflict: {
            allowedValuesSequence: false,
            customValue: "string",
        },
        orderedAllowedValues: ["string"],
        propagate: "string",
    });
    
    type: snowflake:Tag
    properties:
        comment: string
        database: string
        maskingPolicies:
            - string
        name: string
        noAllowedValues: false
        onConflict:
            allowedValuesSequence: false
            customValue: string
        orderedAllowedValues:
            - string
        propagate: string
        schema: string
    

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

    Database string
    The database in which to create the tag. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    Schema string
    The schema in which to create the tag. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    AllowedValues List<string>
    Set of allowed values for the tag (unordered). When specified, only these values can be assigned. When the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled, removing this field from the configuration reverts the tag to accepting any value. Conflicts with noAllowedValues and orderedAllowedValues.

    Deprecated: This field is deprecated and will be removed in the next major version. Use orderedAllowedValues instead.

    Comment string
    Specifies a comment for the tag.
    MaskingPolicies List<string>
    Set of masking policies for the tag. A tag can support one masking policy for each data type. If masking policies are assigned to the tag, before dropping the tag, the provider automatically unassigns them. For more information about this resource, see docs.
    Name string
    Specifies the identifier for the tag; must be unique for the database in which the tag is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    NoAllowedValues bool
    When set to true, the tag explicitly disallows any value from being assigned. This is different from omitting allowedValues, which means any value is accepted. Available only when the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled. Conflicts with allowedValues and orderedAllowedValues.
    OnConflict TagOnConflict
    Specifies what happens when there is a conflict between the values of propagated tags. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    OrderedAllowedValues List<string>
    Ordered list of allowed values for the tag. The order is preserved in Snowflake and is significant when on_conflict.allowed_values_sequence is used — the first matching value in the sequence wins. Use this instead of allowedValues when order matters. Conflicts with allowedValues and noAllowedValues.
    Propagate string
    Specifies that the tag will be automatically propagated from source objects to target objects. See more about tag propagation in the official documentation. Valid options are: NONE | ON_DEPENDENCY | ON_DATA_MOVEMENT | ON_DEPENDENCY_AND_DATA_MOVEMENT
    Database string
    The database in which to create the tag. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    Schema string
    The schema in which to create the tag. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    AllowedValues []string
    Set of allowed values for the tag (unordered). When specified, only these values can be assigned. When the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled, removing this field from the configuration reverts the tag to accepting any value. Conflicts with noAllowedValues and orderedAllowedValues.

    Deprecated: This field is deprecated and will be removed in the next major version. Use orderedAllowedValues instead.

    Comment string
    Specifies a comment for the tag.
    MaskingPolicies []string
    Set of masking policies for the tag. A tag can support one masking policy for each data type. If masking policies are assigned to the tag, before dropping the tag, the provider automatically unassigns them. For more information about this resource, see docs.
    Name string
    Specifies the identifier for the tag; must be unique for the database in which the tag is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    NoAllowedValues bool
    When set to true, the tag explicitly disallows any value from being assigned. This is different from omitting allowedValues, which means any value is accepted. Available only when the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled. Conflicts with allowedValues and orderedAllowedValues.
    OnConflict TagOnConflictArgs
    Specifies what happens when there is a conflict between the values of propagated tags. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    OrderedAllowedValues []string
    Ordered list of allowed values for the tag. The order is preserved in Snowflake and is significant when on_conflict.allowed_values_sequence is used — the first matching value in the sequence wins. Use this instead of allowedValues when order matters. Conflicts with allowedValues and noAllowedValues.
    Propagate string
    Specifies that the tag will be automatically propagated from source objects to target objects. See more about tag propagation in the official documentation. Valid options are: NONE | ON_DEPENDENCY | ON_DATA_MOVEMENT | ON_DEPENDENCY_AND_DATA_MOVEMENT
    database string
    The database in which to create the tag. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    schema string
    The schema in which to create the tag. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    allowed_values list(string)
    Set of allowed values for the tag (unordered). When specified, only these values can be assigned. When the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled, removing this field from the configuration reverts the tag to accepting any value. Conflicts with noAllowedValues and orderedAllowedValues.

    Deprecated: This field is deprecated and will be removed in the next major version. Use orderedAllowedValues instead.

    comment string
    Specifies a comment for the tag.
    masking_policies list(string)
    Set of masking policies for the tag. A tag can support one masking policy for each data type. If masking policies are assigned to the tag, before dropping the tag, the provider automatically unassigns them. For more information about this resource, see docs.
    name string
    Specifies the identifier for the tag; must be unique for the database in which the tag is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    no_allowed_values bool
    When set to true, the tag explicitly disallows any value from being assigned. This is different from omitting allowedValues, which means any value is accepted. Available only when the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled. Conflicts with allowedValues and orderedAllowedValues.
    on_conflict object
    Specifies what happens when there is a conflict between the values of propagated tags. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    ordered_allowed_values list(string)
    Ordered list of allowed values for the tag. The order is preserved in Snowflake and is significant when on_conflict.allowed_values_sequence is used — the first matching value in the sequence wins. Use this instead of allowedValues when order matters. Conflicts with allowedValues and noAllowedValues.
    propagate string
    Specifies that the tag will be automatically propagated from source objects to target objects. See more about tag propagation in the official documentation. Valid options are: NONE | ON_DEPENDENCY | ON_DATA_MOVEMENT | ON_DEPENDENCY_AND_DATA_MOVEMENT
    database String
    The database in which to create the tag. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    schema String
    The schema in which to create the tag. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    allowedValues List<String>
    Set of allowed values for the tag (unordered). When specified, only these values can be assigned. When the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled, removing this field from the configuration reverts the tag to accepting any value. Conflicts with noAllowedValues and orderedAllowedValues.

    Deprecated: This field is deprecated and will be removed in the next major version. Use orderedAllowedValues instead.

    comment String
    Specifies a comment for the tag.
    maskingPolicies List<String>
    Set of masking policies for the tag. A tag can support one masking policy for each data type. If masking policies are assigned to the tag, before dropping the tag, the provider automatically unassigns them. For more information about this resource, see docs.
    name String
    Specifies the identifier for the tag; must be unique for the database in which the tag is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    noAllowedValues Boolean
    When set to true, the tag explicitly disallows any value from being assigned. This is different from omitting allowedValues, which means any value is accepted. Available only when the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled. Conflicts with allowedValues and orderedAllowedValues.
    onConflict TagOnConflict
    Specifies what happens when there is a conflict between the values of propagated tags. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    orderedAllowedValues List<String>
    Ordered list of allowed values for the tag. The order is preserved in Snowflake and is significant when on_conflict.allowed_values_sequence is used — the first matching value in the sequence wins. Use this instead of allowedValues when order matters. Conflicts with allowedValues and noAllowedValues.
    propagate String
    Specifies that the tag will be automatically propagated from source objects to target objects. See more about tag propagation in the official documentation. Valid options are: NONE | ON_DEPENDENCY | ON_DATA_MOVEMENT | ON_DEPENDENCY_AND_DATA_MOVEMENT
    database string
    The database in which to create the tag. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    schema string
    The schema in which to create the tag. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    allowedValues string[]
    Set of allowed values for the tag (unordered). When specified, only these values can be assigned. When the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled, removing this field from the configuration reverts the tag to accepting any value. Conflicts with noAllowedValues and orderedAllowedValues.

    Deprecated: This field is deprecated and will be removed in the next major version. Use orderedAllowedValues instead.

    comment string
    Specifies a comment for the tag.
    maskingPolicies string[]
    Set of masking policies for the tag. A tag can support one masking policy for each data type. If masking policies are assigned to the tag, before dropping the tag, the provider automatically unassigns them. For more information about this resource, see docs.
    name string
    Specifies the identifier for the tag; must be unique for the database in which the tag is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    noAllowedValues boolean
    When set to true, the tag explicitly disallows any value from being assigned. This is different from omitting allowedValues, which means any value is accepted. Available only when the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled. Conflicts with allowedValues and orderedAllowedValues.
    onConflict TagOnConflict
    Specifies what happens when there is a conflict between the values of propagated tags. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    orderedAllowedValues string[]
    Ordered list of allowed values for the tag. The order is preserved in Snowflake and is significant when on_conflict.allowed_values_sequence is used — the first matching value in the sequence wins. Use this instead of allowedValues when order matters. Conflicts with allowedValues and noAllowedValues.
    propagate string
    Specifies that the tag will be automatically propagated from source objects to target objects. See more about tag propagation in the official documentation. Valid options are: NONE | ON_DEPENDENCY | ON_DATA_MOVEMENT | ON_DEPENDENCY_AND_DATA_MOVEMENT
    database str
    The database in which to create the tag. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    schema str
    The schema in which to create the tag. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    allowed_values Sequence[str]
    Set of allowed values for the tag (unordered). When specified, only these values can be assigned. When the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled, removing this field from the configuration reverts the tag to accepting any value. Conflicts with noAllowedValues and orderedAllowedValues.

    Deprecated: This field is deprecated and will be removed in the next major version. Use orderedAllowedValues instead.

    comment str
    Specifies a comment for the tag.
    masking_policies Sequence[str]
    Set of masking policies for the tag. A tag can support one masking policy for each data type. If masking policies are assigned to the tag, before dropping the tag, the provider automatically unassigns them. For more information about this resource, see docs.
    name str
    Specifies the identifier for the tag; must be unique for the database in which the tag is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    no_allowed_values bool
    When set to true, the tag explicitly disallows any value from being assigned. This is different from omitting allowedValues, which means any value is accepted. Available only when the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled. Conflicts with allowedValues and orderedAllowedValues.
    on_conflict TagOnConflictArgs
    Specifies what happens when there is a conflict between the values of propagated tags. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    ordered_allowed_values Sequence[str]
    Ordered list of allowed values for the tag. The order is preserved in Snowflake and is significant when on_conflict.allowed_values_sequence is used — the first matching value in the sequence wins. Use this instead of allowedValues when order matters. Conflicts with allowedValues and noAllowedValues.
    propagate str
    Specifies that the tag will be automatically propagated from source objects to target objects. See more about tag propagation in the official documentation. Valid options are: NONE | ON_DEPENDENCY | ON_DATA_MOVEMENT | ON_DEPENDENCY_AND_DATA_MOVEMENT
    database String
    The database in which to create the tag. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    schema String
    The schema in which to create the tag. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    allowedValues List<String>
    Set of allowed values for the tag (unordered). When specified, only these values can be assigned. When the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled, removing this field from the configuration reverts the tag to accepting any value. Conflicts with noAllowedValues and orderedAllowedValues.

    Deprecated: This field is deprecated and will be removed in the next major version. Use orderedAllowedValues instead.

    comment String
    Specifies a comment for the tag.
    maskingPolicies List<String>
    Set of masking policies for the tag. A tag can support one masking policy for each data type. If masking policies are assigned to the tag, before dropping the tag, the provider automatically unassigns them. For more information about this resource, see docs.
    name String
    Specifies the identifier for the tag; must be unique for the database in which the tag is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    noAllowedValues Boolean
    When set to true, the tag explicitly disallows any value from being assigned. This is different from omitting allowedValues, which means any value is accepted. Available only when the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled. Conflicts with allowedValues and orderedAllowedValues.
    onConflict Property Map
    Specifies what happens when there is a conflict between the values of propagated tags. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    orderedAllowedValues List<String>
    Ordered list of allowed values for the tag. The order is preserved in Snowflake and is significant when on_conflict.allowed_values_sequence is used — the first matching value in the sequence wins. Use this instead of allowedValues when order matters. Conflicts with allowedValues and noAllowedValues.
    propagate String
    Specifies that the tag will be automatically propagated from source objects to target objects. See more about tag propagation in the official documentation. Valid options are: NONE | ON_DEPENDENCY | ON_DATA_MOVEMENT | ON_DEPENDENCY_AND_DATA_MOVEMENT

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Tag 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<TagShowOutput>
    Outputs the result of SHOW TAGS for the given tag.
    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 []TagShowOutput
    Outputs the result of SHOW TAGS for the given tag.
    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 TAGS for the given tag.
    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<TagShowOutput>
    Outputs the result of SHOW TAGS for the given tag.
    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 TagShowOutput[]
    Outputs the result of SHOW TAGS for the given tag.
    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[TagShowOutput]
    Outputs the result of SHOW TAGS for the given tag.
    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 TAGS for the given tag.

    Look up Existing Tag Resource

    Get an existing Tag 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?: TagState, opts?: CustomResourceOptions): Tag
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            allowed_values: Optional[Sequence[str]] = None,
            comment: Optional[str] = None,
            database: Optional[str] = None,
            fully_qualified_name: Optional[str] = None,
            masking_policies: Optional[Sequence[str]] = None,
            name: Optional[str] = None,
            no_allowed_values: Optional[bool] = None,
            on_conflict: Optional[TagOnConflictArgs] = None,
            ordered_allowed_values: Optional[Sequence[str]] = None,
            propagate: Optional[str] = None,
            schema: Optional[str] = None,
            show_outputs: Optional[Sequence[TagShowOutputArgs]] = None) -> Tag
    func GetTag(ctx *Context, name string, id IDInput, state *TagState, opts ...ResourceOption) (*Tag, error)
    public static Tag Get(string name, Input<string> id, TagState? state, CustomResourceOptions? opts = null)
    public static Tag get(String name, Output<String> id, TagState state, CustomResourceOptions options)
    resources:  _:    type: snowflake:Tag    get:      id: ${id}
    import {
      to = snowflake_tag.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:
    AllowedValues List<string>
    Set of allowed values for the tag (unordered). When specified, only these values can be assigned. When the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled, removing this field from the configuration reverts the tag to accepting any value. Conflicts with noAllowedValues and orderedAllowedValues.

    Deprecated: This field is deprecated and will be removed in the next major version. Use orderedAllowedValues instead.

    Comment string
    Specifies a comment for the tag.
    Database string
    The database in which to create the tag. 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.
    MaskingPolicies List<string>
    Set of masking policies for the tag. A tag can support one masking policy for each data type. If masking policies are assigned to the tag, before dropping the tag, the provider automatically unassigns them. For more information about this resource, see docs.
    Name string
    Specifies the identifier for the tag; must be unique for the database in which the tag is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    NoAllowedValues bool
    When set to true, the tag explicitly disallows any value from being assigned. This is different from omitting allowedValues, which means any value is accepted. Available only when the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled. Conflicts with allowedValues and orderedAllowedValues.
    OnConflict TagOnConflict
    Specifies what happens when there is a conflict between the values of propagated tags. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    OrderedAllowedValues List<string>
    Ordered list of allowed values for the tag. The order is preserved in Snowflake and is significant when on_conflict.allowed_values_sequence is used — the first matching value in the sequence wins. Use this instead of allowedValues when order matters. Conflicts with allowedValues and noAllowedValues.
    Propagate string
    Specifies that the tag will be automatically propagated from source objects to target objects. See more about tag propagation in the official documentation. Valid options are: NONE | ON_DEPENDENCY | ON_DATA_MOVEMENT | ON_DEPENDENCY_AND_DATA_MOVEMENT
    Schema string
    The schema in which to create the tag. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    ShowOutputs List<TagShowOutput>
    Outputs the result of SHOW TAGS for the given tag.
    AllowedValues []string
    Set of allowed values for the tag (unordered). When specified, only these values can be assigned. When the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled, removing this field from the configuration reverts the tag to accepting any value. Conflicts with noAllowedValues and orderedAllowedValues.

    Deprecated: This field is deprecated and will be removed in the next major version. Use orderedAllowedValues instead.

    Comment string
    Specifies a comment for the tag.
    Database string
    The database in which to create the tag. 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.
    MaskingPolicies []string
    Set of masking policies for the tag. A tag can support one masking policy for each data type. If masking policies are assigned to the tag, before dropping the tag, the provider automatically unassigns them. For more information about this resource, see docs.
    Name string
    Specifies the identifier for the tag; must be unique for the database in which the tag is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    NoAllowedValues bool
    When set to true, the tag explicitly disallows any value from being assigned. This is different from omitting allowedValues, which means any value is accepted. Available only when the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled. Conflicts with allowedValues and orderedAllowedValues.
    OnConflict TagOnConflictArgs
    Specifies what happens when there is a conflict between the values of propagated tags. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    OrderedAllowedValues []string
    Ordered list of allowed values for the tag. The order is preserved in Snowflake and is significant when on_conflict.allowed_values_sequence is used — the first matching value in the sequence wins. Use this instead of allowedValues when order matters. Conflicts with allowedValues and noAllowedValues.
    Propagate string
    Specifies that the tag will be automatically propagated from source objects to target objects. See more about tag propagation in the official documentation. Valid options are: NONE | ON_DEPENDENCY | ON_DATA_MOVEMENT | ON_DEPENDENCY_AND_DATA_MOVEMENT
    Schema string
    The schema in which to create the tag. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    ShowOutputs []TagShowOutputArgs
    Outputs the result of SHOW TAGS for the given tag.
    allowed_values list(string)
    Set of allowed values for the tag (unordered). When specified, only these values can be assigned. When the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled, removing this field from the configuration reverts the tag to accepting any value. Conflicts with noAllowedValues and orderedAllowedValues.

    Deprecated: This field is deprecated and will be removed in the next major version. Use orderedAllowedValues instead.

    comment string
    Specifies a comment for the tag.
    database string
    The database in which to create the tag. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    fully_qualified_name string
    Fully qualified name of the resource. For more information, see object name resolution.
    masking_policies list(string)
    Set of masking policies for the tag. A tag can support one masking policy for each data type. If masking policies are assigned to the tag, before dropping the tag, the provider automatically unassigns them. For more information about this resource, see docs.
    name string
    Specifies the identifier for the tag; must be unique for the database in which the tag is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    no_allowed_values bool
    When set to true, the tag explicitly disallows any value from being assigned. This is different from omitting allowedValues, which means any value is accepted. Available only when the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled. Conflicts with allowedValues and orderedAllowedValues.
    on_conflict object
    Specifies what happens when there is a conflict between the values of propagated tags. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    ordered_allowed_values list(string)
    Ordered list of allowed values for the tag. The order is preserved in Snowflake and is significant when on_conflict.allowed_values_sequence is used — the first matching value in the sequence wins. Use this instead of allowedValues when order matters. Conflicts with allowedValues and noAllowedValues.
    propagate string
    Specifies that the tag will be automatically propagated from source objects to target objects. See more about tag propagation in the official documentation. Valid options are: NONE | ON_DEPENDENCY | ON_DATA_MOVEMENT | ON_DEPENDENCY_AND_DATA_MOVEMENT
    schema string
    The schema in which to create the tag. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    show_outputs list(object)
    Outputs the result of SHOW TAGS for the given tag.
    allowedValues List<String>
    Set of allowed values for the tag (unordered). When specified, only these values can be assigned. When the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled, removing this field from the configuration reverts the tag to accepting any value. Conflicts with noAllowedValues and orderedAllowedValues.

    Deprecated: This field is deprecated and will be removed in the next major version. Use orderedAllowedValues instead.

    comment String
    Specifies a comment for the tag.
    database String
    The database in which to create the tag. 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.
    maskingPolicies List<String>
    Set of masking policies for the tag. A tag can support one masking policy for each data type. If masking policies are assigned to the tag, before dropping the tag, the provider automatically unassigns them. For more information about this resource, see docs.
    name String
    Specifies the identifier for the tag; must be unique for the database in which the tag is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    noAllowedValues Boolean
    When set to true, the tag explicitly disallows any value from being assigned. This is different from omitting allowedValues, which means any value is accepted. Available only when the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled. Conflicts with allowedValues and orderedAllowedValues.
    onConflict TagOnConflict
    Specifies what happens when there is a conflict between the values of propagated tags. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    orderedAllowedValues List<String>
    Ordered list of allowed values for the tag. The order is preserved in Snowflake and is significant when on_conflict.allowed_values_sequence is used — the first matching value in the sequence wins. Use this instead of allowedValues when order matters. Conflicts with allowedValues and noAllowedValues.
    propagate String
    Specifies that the tag will be automatically propagated from source objects to target objects. See more about tag propagation in the official documentation. Valid options are: NONE | ON_DEPENDENCY | ON_DATA_MOVEMENT | ON_DEPENDENCY_AND_DATA_MOVEMENT
    schema String
    The schema in which to create the tag. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    showOutputs List<TagShowOutput>
    Outputs the result of SHOW TAGS for the given tag.
    allowedValues string[]
    Set of allowed values for the tag (unordered). When specified, only these values can be assigned. When the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled, removing this field from the configuration reverts the tag to accepting any value. Conflicts with noAllowedValues and orderedAllowedValues.

    Deprecated: This field is deprecated and will be removed in the next major version. Use orderedAllowedValues instead.

    comment string
    Specifies a comment for the tag.
    database string
    The database in which to create the tag. 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.
    maskingPolicies string[]
    Set of masking policies for the tag. A tag can support one masking policy for each data type. If masking policies are assigned to the tag, before dropping the tag, the provider automatically unassigns them. For more information about this resource, see docs.
    name string
    Specifies the identifier for the tag; must be unique for the database in which the tag is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    noAllowedValues boolean
    When set to true, the tag explicitly disallows any value from being assigned. This is different from omitting allowedValues, which means any value is accepted. Available only when the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled. Conflicts with allowedValues and orderedAllowedValues.
    onConflict TagOnConflict
    Specifies what happens when there is a conflict between the values of propagated tags. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    orderedAllowedValues string[]
    Ordered list of allowed values for the tag. The order is preserved in Snowflake and is significant when on_conflict.allowed_values_sequence is used — the first matching value in the sequence wins. Use this instead of allowedValues when order matters. Conflicts with allowedValues and noAllowedValues.
    propagate string
    Specifies that the tag will be automatically propagated from source objects to target objects. See more about tag propagation in the official documentation. Valid options are: NONE | ON_DEPENDENCY | ON_DATA_MOVEMENT | ON_DEPENDENCY_AND_DATA_MOVEMENT
    schema string
    The schema in which to create the tag. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    showOutputs TagShowOutput[]
    Outputs the result of SHOW TAGS for the given tag.
    allowed_values Sequence[str]
    Set of allowed values for the tag (unordered). When specified, only these values can be assigned. When the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled, removing this field from the configuration reverts the tag to accepting any value. Conflicts with noAllowedValues and orderedAllowedValues.

    Deprecated: This field is deprecated and will be removed in the next major version. Use orderedAllowedValues instead.

    comment str
    Specifies a comment for the tag.
    database str
    The database in which to create the tag. 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.
    masking_policies Sequence[str]
    Set of masking policies for the tag. A tag can support one masking policy for each data type. If masking policies are assigned to the tag, before dropping the tag, the provider automatically unassigns them. For more information about this resource, see docs.
    name str
    Specifies the identifier for the tag; must be unique for the database in which the tag is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    no_allowed_values bool
    When set to true, the tag explicitly disallows any value from being assigned. This is different from omitting allowedValues, which means any value is accepted. Available only when the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled. Conflicts with allowedValues and orderedAllowedValues.
    on_conflict TagOnConflictArgs
    Specifies what happens when there is a conflict between the values of propagated tags. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    ordered_allowed_values Sequence[str]
    Ordered list of allowed values for the tag. The order is preserved in Snowflake and is significant when on_conflict.allowed_values_sequence is used — the first matching value in the sequence wins. Use this instead of allowedValues when order matters. Conflicts with allowedValues and noAllowedValues.
    propagate str
    Specifies that the tag will be automatically propagated from source objects to target objects. See more about tag propagation in the official documentation. Valid options are: NONE | ON_DEPENDENCY | ON_DATA_MOVEMENT | ON_DEPENDENCY_AND_DATA_MOVEMENT
    schema str
    The schema in which to create the tag. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    show_outputs Sequence[TagShowOutputArgs]
    Outputs the result of SHOW TAGS for the given tag.
    allowedValues List<String>
    Set of allowed values for the tag (unordered). When specified, only these values can be assigned. When the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled, removing this field from the configuration reverts the tag to accepting any value. Conflicts with noAllowedValues and orderedAllowedValues.

    Deprecated: This field is deprecated and will be removed in the next major version. Use orderedAllowedValues instead.

    comment String
    Specifies a comment for the tag.
    database String
    The database in which to create the tag. 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.
    maskingPolicies List<String>
    Set of masking policies for the tag. A tag can support one masking policy for each data type. If masking policies are assigned to the tag, before dropping the tag, the provider automatically unassigns them. For more information about this resource, see docs.
    name String
    Specifies the identifier for the tag; must be unique for the database in which the tag is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    noAllowedValues Boolean
    When set to true, the tag explicitly disallows any value from being assigned. This is different from omitting allowedValues, which means any value is accepted. Available only when the TAGS_ALLOW_EMPTY_ALLOWED_VALUES experiment is enabled. Conflicts with allowedValues and orderedAllowedValues.
    onConflict Property Map
    Specifies what happens when there is a conflict between the values of propagated tags. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    orderedAllowedValues List<String>
    Ordered list of allowed values for the tag. The order is preserved in Snowflake and is significant when on_conflict.allowed_values_sequence is used — the first matching value in the sequence wins. Use this instead of allowedValues when order matters. Conflicts with allowedValues and noAllowedValues.
    propagate String
    Specifies that the tag will be automatically propagated from source objects to target objects. See more about tag propagation in the official documentation. Valid options are: NONE | ON_DEPENDENCY | ON_DATA_MOVEMENT | ON_DEPENDENCY_AND_DATA_MOVEMENT
    schema String
    The schema in which to create the tag. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    showOutputs List<Property Map>
    Outputs the result of SHOW TAGS for the given tag.

    Supporting Types

    TagOnConflict, TagOnConflictArgs

    AllowedValuesSequence bool
    The order of the values in the ALLOWED_VALUES property of the tag determines which value is used when there is a conflict. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    CustomValue string
    Whenever there is a conflict, the value of tag is set to custom_value. If allowedValues are set, the value set in this field should be one of the values in the allowedValues list. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    AllowedValuesSequence bool
    The order of the values in the ALLOWED_VALUES property of the tag determines which value is used when there is a conflict. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    CustomValue string
    Whenever there is a conflict, the value of tag is set to custom_value. If allowedValues are set, the value set in this field should be one of the values in the allowedValues list. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    allowed_values_sequence bool
    The order of the values in the ALLOWED_VALUES property of the tag determines which value is used when there is a conflict. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    custom_value string
    Whenever there is a conflict, the value of tag is set to custom_value. If allowedValues are set, the value set in this field should be one of the values in the allowedValues list. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    allowedValuesSequence Boolean
    The order of the values in the ALLOWED_VALUES property of the tag determines which value is used when there is a conflict. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    customValue String
    Whenever there is a conflict, the value of tag is set to custom_value. If allowedValues are set, the value set in this field should be one of the values in the allowedValues list. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    allowedValuesSequence boolean
    The order of the values in the ALLOWED_VALUES property of the tag determines which value is used when there is a conflict. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    customValue string
    Whenever there is a conflict, the value of tag is set to custom_value. If allowedValues are set, the value set in this field should be one of the values in the allowedValues list. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    allowed_values_sequence bool
    The order of the values in the ALLOWED_VALUES property of the tag determines which value is used when there is a conflict. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    custom_value str
    Whenever there is a conflict, the value of tag is set to custom_value. If allowedValues are set, the value set in this field should be one of the values in the allowedValues list. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    allowedValuesSequence Boolean
    The order of the values in the ALLOWED_VALUES property of the tag determines which value is used when there is a conflict. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    customValue String
    Whenever there is a conflict, the value of tag is set to custom_value. If allowedValues are set, the value set in this field should be one of the values in the allowedValues list. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".

    TagShowOutput, TagShowOutputArgs

    AllowedValues List<string>
    Comment string
    CreatedOn string
    DatabaseName string
    Name string
    Owner string
    OwnerRoleType string
    Propagate string
    SchemaName string
    AllowedValues []string
    Comment string
    CreatedOn string
    DatabaseName string
    Name string
    Owner string
    OwnerRoleType string
    Propagate string
    SchemaName string
    allowed_values list(string)
    comment string
    created_on string
    database_name string
    name string
    owner string
    owner_role_type string
    propagate string
    schema_name string
    allowedValues List<String>
    comment String
    createdOn String
    databaseName String
    name String
    owner String
    ownerRoleType String
    propagate String
    schemaName String
    allowedValues string[]
    comment string
    createdOn string
    databaseName string
    name string
    owner string
    ownerRoleType string
    propagate string
    schemaName string
    allowedValues List<String>
    comment String
    createdOn String
    databaseName String
    name String
    owner String
    ownerRoleType String
    propagate String
    schemaName String

    Import

    $ pulumi import snowflake:index/tag:Tag example '"<database_name>"."<schema_name>"."<tag_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.15.0
    published on Saturday, May 9, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.