1. Packages
  2. Snowflake Provider
  3. API Docs
  4. TagAssociation
Snowflake v2.12.0 published on Friday, Feb 13, 2026 by Pulumi
snowflake logo
Snowflake v2.12.0 published on Friday, Feb 13, 2026 by Pulumi

    Note For ACCOUNT object type, only identifiers with organization name are supported. See account identifier docs for more details.

    Note Tag association resource ID has the following format: "TAG_DATABASE"."TAG_SCHEMA"."TAG_NAME"|TAG_VALUE|OBJECT_TYPE. This means that a tuple of tag ID, tag value and object type should be unique across the resources. If you want to specify this combination for more than one object, you should use only one tag_association resource with specified object_identifiers set.

    Note If you want to change tag value to a value that is already present in another tag_association resource, first remove the relevant object_identifiers from the resource with the old value, run pulumi up, then add the relevant object_identifiers in the resource with new value, and run pulumi up once again. Removing and adding object identifier from one snowflake.TagAssociation resource to another may not work due to Terraform executing changes for non-dependent resources simultaneously. The same applies to an object being specified in multiple snowflake.TagAssociation resources for the same tag_id, but different tag_values.

    Note Default timeout is set to 70 minutes for Terraform Create operation.

    Resource used to manage tag associations. For more information, check object tagging documentation.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as snowflake from "@pulumi/snowflake";
    import * as std from "@pulumi/std";
    
    const test = new snowflake.Database("test", {name: "database"});
    const testSchema = new snowflake.Schema("test", {
        name: "schema",
        database: test.name,
    });
    const testTag = new snowflake.Tag("test", {
        name: "cost_center",
        database: test.name,
        schema: testSchema.name,
        allowedValues: [
            "finance",
            "engineering",
        ],
    });
    const dbAssociation = new snowflake.TagAssociation("db_association", {
        objectIdentifiers: [test.fullyQualifiedName],
        objectType: "DATABASE",
        tagId: testTag.fullyQualifiedName,
        tagValue: "finance",
    });
    const testTable = new snowflake.Table("test", {
        database: test.name,
        schema: testSchema.name,
        name: "TABLE_NAME",
        comment: "Terraform example table",
        columns: [
            {
                name: "column1",
                type: "VARIANT",
            },
            {
                name: "column2",
                type: "VARCHAR(16)",
            },
        ],
    });
    const tableAssociation = new snowflake.TagAssociation("table_association", {
        objectIdentifiers: [testTable.fullyQualifiedName],
        objectType: "TABLE",
        tagId: testTag.fullyQualifiedName,
        tagValue: "engineering",
    });
    const columnAssociation = new snowflake.TagAssociation("column_association", {
        objectIdentifiers: [std.format({
            input: "%s.\"column1\"",
            args: [testTable.fullyQualifiedName],
        }).then(invoke => invoke.result)],
        objectType: "COLUMN",
        tagId: testTag.fullyQualifiedName,
        tagValue: "engineering",
    });
    const accountAssociation = new snowflake.TagAssociation("account_association", {
        objectIdentifiers: ["\"ORGANIZATION_NAME\".\"ACCOUNT_NAME\""],
        objectType: "ACCOUNT",
        tagId: testTag.fullyQualifiedName,
        tagValue: "engineering",
    });
    
    import pulumi
    import pulumi_snowflake as snowflake
    import pulumi_std as std
    
    test = snowflake.Database("test", name="database")
    test_schema = snowflake.Schema("test",
        name="schema",
        database=test.name)
    test_tag = snowflake.Tag("test",
        name="cost_center",
        database=test.name,
        schema=test_schema.name,
        allowed_values=[
            "finance",
            "engineering",
        ])
    db_association = snowflake.TagAssociation("db_association",
        object_identifiers=[test.fully_qualified_name],
        object_type="DATABASE",
        tag_id=test_tag.fully_qualified_name,
        tag_value="finance")
    test_table = snowflake.Table("test",
        database=test.name,
        schema=test_schema.name,
        name="TABLE_NAME",
        comment="Terraform example table",
        columns=[
            {
                "name": "column1",
                "type": "VARIANT",
            },
            {
                "name": "column2",
                "type": "VARCHAR(16)",
            },
        ])
    table_association = snowflake.TagAssociation("table_association",
        object_identifiers=[test_table.fully_qualified_name],
        object_type="TABLE",
        tag_id=test_tag.fully_qualified_name,
        tag_value="engineering")
    column_association = snowflake.TagAssociation("column_association",
        object_identifiers=[std.format(input="%s.\"column1\"",
            args=[test_table.fully_qualified_name]).result],
        object_type="COLUMN",
        tag_id=test_tag.fully_qualified_name,
        tag_value="engineering")
    account_association = snowflake.TagAssociation("account_association",
        object_identifiers=["\"ORGANIZATION_NAME\".\"ACCOUNT_NAME\""],
        object_type="ACCOUNT",
        tag_id=test_tag.fully_qualified_name,
        tag_value="engineering")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-snowflake/sdk/v2/go/snowflake"
    	"github.com/pulumi/pulumi-std/sdk/go/std"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		test, err := snowflake.NewDatabase(ctx, "test", &snowflake.DatabaseArgs{
    			Name: pulumi.String("database"),
    		})
    		if err != nil {
    			return err
    		}
    		testSchema, err := snowflake.NewSchema(ctx, "test", &snowflake.SchemaArgs{
    			Name:     pulumi.String("schema"),
    			Database: test.Name,
    		})
    		if err != nil {
    			return err
    		}
    		testTag, err := snowflake.NewTag(ctx, "test", &snowflake.TagArgs{
    			Name:     pulumi.String("cost_center"),
    			Database: test.Name,
    			Schema:   testSchema.Name,
    			AllowedValues: pulumi.StringArray{
    				pulumi.String("finance"),
    				pulumi.String("engineering"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = snowflake.NewTagAssociation(ctx, "db_association", &snowflake.TagAssociationArgs{
    			ObjectIdentifiers: pulumi.StringArray{
    				test.FullyQualifiedName,
    			},
    			ObjectType: pulumi.String("DATABASE"),
    			TagId:      testTag.FullyQualifiedName,
    			TagValue:   pulumi.String("finance"),
    		})
    		if err != nil {
    			return err
    		}
    		testTable, err := snowflake.NewTable(ctx, "test", &snowflake.TableArgs{
    			Database: test.Name,
    			Schema:   testSchema.Name,
    			Name:     pulumi.String("TABLE_NAME"),
    			Comment:  pulumi.String("Terraform example table"),
    			Columns: snowflake.TableColumnArray{
    				&snowflake.TableColumnArgs{
    					Name: pulumi.String("column1"),
    					Type: pulumi.String("VARIANT"),
    				},
    				&snowflake.TableColumnArgs{
    					Name: pulumi.String("column2"),
    					Type: pulumi.String("VARCHAR(16)"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = snowflake.NewTagAssociation(ctx, "table_association", &snowflake.TagAssociationArgs{
    			ObjectIdentifiers: pulumi.StringArray{
    				testTable.FullyQualifiedName,
    			},
    			ObjectType: pulumi.String("TABLE"),
    			TagId:      testTag.FullyQualifiedName,
    			TagValue:   pulumi.String("engineering"),
    		})
    		if err != nil {
    			return err
    		}
    		invokeFormat, err := std.Format(ctx, &std.FormatArgs{
    			Input: "%s.\"column1\"",
    			Args: pulumi.StringArray{
    				testTable.FullyQualifiedName,
    			},
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = snowflake.NewTagAssociation(ctx, "column_association", &snowflake.TagAssociationArgs{
    			ObjectIdentifiers: pulumi.StringArray{
    				pulumi.String(invokeFormat.Result),
    			},
    			ObjectType: pulumi.String("COLUMN"),
    			TagId:      testTag.FullyQualifiedName,
    			TagValue:   pulumi.String("engineering"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = snowflake.NewTagAssociation(ctx, "account_association", &snowflake.TagAssociationArgs{
    			ObjectIdentifiers: pulumi.StringArray{
    				pulumi.String("\"ORGANIZATION_NAME\".\"ACCOUNT_NAME\""),
    			},
    			ObjectType: pulumi.String("ACCOUNT"),
    			TagId:      testTag.FullyQualifiedName,
    			TagValue:   pulumi.String("engineering"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Snowflake = Pulumi.Snowflake;
    using Std = Pulumi.Std;
    
    return await Deployment.RunAsync(() => 
    {
        var test = new Snowflake.Database("test", new()
        {
            Name = "database",
        });
    
        var testSchema = new Snowflake.Schema("test", new()
        {
            Name = "schema",
            Database = test.Name,
        });
    
        var testTag = new Snowflake.Tag("test", new()
        {
            Name = "cost_center",
            Database = test.Name,
            Schema = testSchema.Name,
            AllowedValues = new[]
            {
                "finance",
                "engineering",
            },
        });
    
        var dbAssociation = new Snowflake.TagAssociation("db_association", new()
        {
            ObjectIdentifiers = new[]
            {
                test.FullyQualifiedName,
            },
            ObjectType = "DATABASE",
            TagId = testTag.FullyQualifiedName,
            TagValue = "finance",
        });
    
        var testTable = new Snowflake.Table("test", new()
        {
            Database = test.Name,
            Schema = testSchema.Name,
            Name = "TABLE_NAME",
            Comment = "Terraform example table",
            Columns = new[]
            {
                new Snowflake.Inputs.TableColumnArgs
                {
                    Name = "column1",
                    Type = "VARIANT",
                },
                new Snowflake.Inputs.TableColumnArgs
                {
                    Name = "column2",
                    Type = "VARCHAR(16)",
                },
            },
        });
    
        var tableAssociation = new Snowflake.TagAssociation("table_association", new()
        {
            ObjectIdentifiers = new[]
            {
                testTable.FullyQualifiedName,
            },
            ObjectType = "TABLE",
            TagId = testTag.FullyQualifiedName,
            TagValue = "engineering",
        });
    
        var columnAssociation = new Snowflake.TagAssociation("column_association", new()
        {
            ObjectIdentifiers = new[]
            {
                Std.Format.Invoke(new()
                {
                    Input = "%s.\"column1\"",
                    Args = new[]
                    {
                        testTable.FullyQualifiedName,
                    },
                }).Apply(invoke => invoke.Result),
            },
            ObjectType = "COLUMN",
            TagId = testTag.FullyQualifiedName,
            TagValue = "engineering",
        });
    
        var accountAssociation = new Snowflake.TagAssociation("account_association", new()
        {
            ObjectIdentifiers = new[]
            {
                "\"ORGANIZATION_NAME\".\"ACCOUNT_NAME\"",
            },
            ObjectType = "ACCOUNT",
            TagId = testTag.FullyQualifiedName,
            TagValue = "engineering",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.snowflake.Database;
    import com.pulumi.snowflake.DatabaseArgs;
    import com.pulumi.snowflake.Schema;
    import com.pulumi.snowflake.SchemaArgs;
    import com.pulumi.snowflake.Tag;
    import com.pulumi.snowflake.TagArgs;
    import com.pulumi.snowflake.TagAssociation;
    import com.pulumi.snowflake.TagAssociationArgs;
    import com.pulumi.snowflake.Table;
    import com.pulumi.snowflake.TableArgs;
    import com.pulumi.snowflake.inputs.TableColumnArgs;
    import com.pulumi.std.StdFunctions;
    import com.pulumi.std.inputs.FormatArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var test = new Database("test", DatabaseArgs.builder()
                .name("database")
                .build());
    
            var testSchema = new Schema("testSchema", SchemaArgs.builder()
                .name("schema")
                .database(test.name())
                .build());
    
            var testTag = new Tag("testTag", TagArgs.builder()
                .name("cost_center")
                .database(test.name())
                .schema(testSchema.name())
                .allowedValues(            
                    "finance",
                    "engineering")
                .build());
    
            var dbAssociation = new TagAssociation("dbAssociation", TagAssociationArgs.builder()
                .objectIdentifiers(test.fullyQualifiedName())
                .objectType("DATABASE")
                .tagId(testTag.fullyQualifiedName())
                .tagValue("finance")
                .build());
    
            var testTable = new Table("testTable", TableArgs.builder()
                .database(test.name())
                .schema(testSchema.name())
                .name("TABLE_NAME")
                .comment("Terraform example table")
                .columns(            
                    TableColumnArgs.builder()
                        .name("column1")
                        .type("VARIANT")
                        .build(),
                    TableColumnArgs.builder()
                        .name("column2")
                        .type("VARCHAR(16)")
                        .build())
                .build());
    
            var tableAssociation = new TagAssociation("tableAssociation", TagAssociationArgs.builder()
                .objectIdentifiers(testTable.fullyQualifiedName())
                .objectType("TABLE")
                .tagId(testTag.fullyQualifiedName())
                .tagValue("engineering")
                .build());
    
            var columnAssociation = new TagAssociation("columnAssociation", TagAssociationArgs.builder()
                .objectIdentifiers(StdFunctions.format(FormatArgs.builder()
                    .input("%s.\"column1\"")
                    .args(testTable.fullyQualifiedName())
                    .build()).result())
                .objectType("COLUMN")
                .tagId(testTag.fullyQualifiedName())
                .tagValue("engineering")
                .build());
    
            var accountAssociation = new TagAssociation("accountAssociation", TagAssociationArgs.builder()
                .objectIdentifiers("\"ORGANIZATION_NAME\".\"ACCOUNT_NAME\"")
                .objectType("ACCOUNT")
                .tagId(testTag.fullyQualifiedName())
                .tagValue("engineering")
                .build());
    
        }
    }
    
    resources:
      test:
        type: snowflake:Database
        properties:
          name: database
      testSchema:
        type: snowflake:Schema
        name: test
        properties:
          name: schema
          database: ${test.name}
      testTag:
        type: snowflake:Tag
        name: test
        properties:
          name: cost_center
          database: ${test.name}
          schema: ${testSchema.name}
          allowedValues:
            - finance
            - engineering
      dbAssociation:
        type: snowflake:TagAssociation
        name: db_association
        properties:
          objectIdentifiers:
            - ${test.fullyQualifiedName}
          objectType: DATABASE
          tagId: ${testTag.fullyQualifiedName}
          tagValue: finance
      testTable:
        type: snowflake:Table
        name: test
        properties:
          database: ${test.name}
          schema: ${testSchema.name}
          name: TABLE_NAME
          comment: Terraform example table
          columns:
            - name: column1
              type: VARIANT
            - name: column2
              type: VARCHAR(16)
      tableAssociation:
        type: snowflake:TagAssociation
        name: table_association
        properties:
          objectIdentifiers:
            - ${testTable.fullyQualifiedName}
          objectType: TABLE
          tagId: ${testTag.fullyQualifiedName}
          tagValue: engineering
      columnAssociation:
        type: snowflake:TagAssociation
        name: column_association
        properties:
          objectIdentifiers:
            - fn::invoke:
                function: std:format
                arguments:
                  input: '%s."column1"'
                  args:
                    - ${testTable.fullyQualifiedName}
                return: result
          objectType: COLUMN
          tagId: ${testTag.fullyQualifiedName}
          tagValue: engineering
      accountAssociation:
        type: snowflake:TagAssociation
        name: account_association
        properties:
          objectIdentifiers:
            - '"ORGANIZATION_NAME"."ACCOUNT_NAME"'
          objectType: ACCOUNT
          tagId: ${testTag.fullyQualifiedName}
          tagValue: engineering
    

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

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

    Create TagAssociation Resource

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

    Constructor syntax

    new TagAssociation(name: string, args: TagAssociationArgs, opts?: CustomResourceOptions);
    @overload
    def TagAssociation(resource_name: str,
                       args: TagAssociationArgs,
                       opts: Optional[ResourceOptions] = None)
    
    @overload
    def TagAssociation(resource_name: str,
                       opts: Optional[ResourceOptions] = None,
                       object_identifiers: Optional[Sequence[str]] = None,
                       object_type: Optional[str] = None,
                       tag_id: Optional[str] = None,
                       tag_value: Optional[str] = None,
                       skip_validation: Optional[bool] = None)
    func NewTagAssociation(ctx *Context, name string, args TagAssociationArgs, opts ...ResourceOption) (*TagAssociation, error)
    public TagAssociation(string name, TagAssociationArgs args, CustomResourceOptions? opts = null)
    public TagAssociation(String name, TagAssociationArgs args)
    public TagAssociation(String name, TagAssociationArgs args, CustomResourceOptions options)
    
    type: snowflake:TagAssociation
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args TagAssociationArgs
    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 TagAssociationArgs
    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 TagAssociationArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args TagAssociationArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args TagAssociationArgs
    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 tagAssociationResource = new Snowflake.TagAssociation("tagAssociationResource", new()
    {
        ObjectIdentifiers = new[]
        {
            "string",
        },
        ObjectType = "string",
        TagId = "string",
        TagValue = "string",
        SkipValidation = false,
    });
    
    example, err := snowflake.NewTagAssociation(ctx, "tagAssociationResource", &snowflake.TagAssociationArgs{
    	ObjectIdentifiers: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	ObjectType:     pulumi.String("string"),
    	TagId:          pulumi.String("string"),
    	TagValue:       pulumi.String("string"),
    	SkipValidation: pulumi.Bool(false),
    })
    
    var tagAssociationResource = new TagAssociation("tagAssociationResource", TagAssociationArgs.builder()
        .objectIdentifiers("string")
        .objectType("string")
        .tagId("string")
        .tagValue("string")
        .skipValidation(false)
        .build());
    
    tag_association_resource = snowflake.TagAssociation("tagAssociationResource",
        object_identifiers=["string"],
        object_type="string",
        tag_id="string",
        tag_value="string",
        skip_validation=False)
    
    const tagAssociationResource = new snowflake.TagAssociation("tagAssociationResource", {
        objectIdentifiers: ["string"],
        objectType: "string",
        tagId: "string",
        tagValue: "string",
        skipValidation: false,
    });
    
    type: snowflake:TagAssociation
    properties:
        objectIdentifiers:
            - string
        objectType: string
        skipValidation: false
        tagId: string
        tagValue: string
    

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

    ObjectIdentifiers List<string>
    Specifies the object identifiers for the tag association.
    ObjectType string
    Specifies the type of object to add a tag. Allowed object types: ACCOUNT | APPLICATION | APPLICATION PACKAGE | COMPUTE POOL | DATABASE | FAILOVER GROUP | INTEGRATION | NETWORK POLICY | REPLICATION GROUP | ROLE | SHARE | USER | WAREHOUSE | DATABASE ROLE | SCHEMA | ALERT | SNOWFLAKE.CORE.BUDGET | SNOWFLAKE.ML.CLASSIFICATION | EXTERNAL FUNCTION | EXTERNAL TABLE | FUNCTION | IMAGE REPOSITORY | GIT REPOSITORY | ICEBERG TABLE | MATERIALIZED VIEW | PIPE | MASKING POLICY | PASSWORD POLICY | ROW ACCESS POLICY | SESSION POLICY | PRIVACY POLICY | PROCEDURE | SERVICE | STAGE | STREAM | TABLE | TASK | VIEW | COLUMN | EVENT TABLE.
    TagId string
    Specifies the identifier for the tag.
    TagValue string
    Specifies the value of the tag, (e.g. 'finance' or 'engineering')
    SkipValidation bool
    (Default: true) If true, skips validation of the tag association.
    ObjectIdentifiers []string
    Specifies the object identifiers for the tag association.
    ObjectType string
    Specifies the type of object to add a tag. Allowed object types: ACCOUNT | APPLICATION | APPLICATION PACKAGE | COMPUTE POOL | DATABASE | FAILOVER GROUP | INTEGRATION | NETWORK POLICY | REPLICATION GROUP | ROLE | SHARE | USER | WAREHOUSE | DATABASE ROLE | SCHEMA | ALERT | SNOWFLAKE.CORE.BUDGET | SNOWFLAKE.ML.CLASSIFICATION | EXTERNAL FUNCTION | EXTERNAL TABLE | FUNCTION | IMAGE REPOSITORY | GIT REPOSITORY | ICEBERG TABLE | MATERIALIZED VIEW | PIPE | MASKING POLICY | PASSWORD POLICY | ROW ACCESS POLICY | SESSION POLICY | PRIVACY POLICY | PROCEDURE | SERVICE | STAGE | STREAM | TABLE | TASK | VIEW | COLUMN | EVENT TABLE.
    TagId string
    Specifies the identifier for the tag.
    TagValue string
    Specifies the value of the tag, (e.g. 'finance' or 'engineering')
    SkipValidation bool
    (Default: true) If true, skips validation of the tag association.
    objectIdentifiers List<String>
    Specifies the object identifiers for the tag association.
    objectType String
    Specifies the type of object to add a tag. Allowed object types: ACCOUNT | APPLICATION | APPLICATION PACKAGE | COMPUTE POOL | DATABASE | FAILOVER GROUP | INTEGRATION | NETWORK POLICY | REPLICATION GROUP | ROLE | SHARE | USER | WAREHOUSE | DATABASE ROLE | SCHEMA | ALERT | SNOWFLAKE.CORE.BUDGET | SNOWFLAKE.ML.CLASSIFICATION | EXTERNAL FUNCTION | EXTERNAL TABLE | FUNCTION | IMAGE REPOSITORY | GIT REPOSITORY | ICEBERG TABLE | MATERIALIZED VIEW | PIPE | MASKING POLICY | PASSWORD POLICY | ROW ACCESS POLICY | SESSION POLICY | PRIVACY POLICY | PROCEDURE | SERVICE | STAGE | STREAM | TABLE | TASK | VIEW | COLUMN | EVENT TABLE.
    tagId String
    Specifies the identifier for the tag.
    tagValue String
    Specifies the value of the tag, (e.g. 'finance' or 'engineering')
    skipValidation Boolean
    (Default: true) If true, skips validation of the tag association.
    objectIdentifiers string[]
    Specifies the object identifiers for the tag association.
    objectType string
    Specifies the type of object to add a tag. Allowed object types: ACCOUNT | APPLICATION | APPLICATION PACKAGE | COMPUTE POOL | DATABASE | FAILOVER GROUP | INTEGRATION | NETWORK POLICY | REPLICATION GROUP | ROLE | SHARE | USER | WAREHOUSE | DATABASE ROLE | SCHEMA | ALERT | SNOWFLAKE.CORE.BUDGET | SNOWFLAKE.ML.CLASSIFICATION | EXTERNAL FUNCTION | EXTERNAL TABLE | FUNCTION | IMAGE REPOSITORY | GIT REPOSITORY | ICEBERG TABLE | MATERIALIZED VIEW | PIPE | MASKING POLICY | PASSWORD POLICY | ROW ACCESS POLICY | SESSION POLICY | PRIVACY POLICY | PROCEDURE | SERVICE | STAGE | STREAM | TABLE | TASK | VIEW | COLUMN | EVENT TABLE.
    tagId string
    Specifies the identifier for the tag.
    tagValue string
    Specifies the value of the tag, (e.g. 'finance' or 'engineering')
    skipValidation boolean
    (Default: true) If true, skips validation of the tag association.
    object_identifiers Sequence[str]
    Specifies the object identifiers for the tag association.
    object_type str
    Specifies the type of object to add a tag. Allowed object types: ACCOUNT | APPLICATION | APPLICATION PACKAGE | COMPUTE POOL | DATABASE | FAILOVER GROUP | INTEGRATION | NETWORK POLICY | REPLICATION GROUP | ROLE | SHARE | USER | WAREHOUSE | DATABASE ROLE | SCHEMA | ALERT | SNOWFLAKE.CORE.BUDGET | SNOWFLAKE.ML.CLASSIFICATION | EXTERNAL FUNCTION | EXTERNAL TABLE | FUNCTION | IMAGE REPOSITORY | GIT REPOSITORY | ICEBERG TABLE | MATERIALIZED VIEW | PIPE | MASKING POLICY | PASSWORD POLICY | ROW ACCESS POLICY | SESSION POLICY | PRIVACY POLICY | PROCEDURE | SERVICE | STAGE | STREAM | TABLE | TASK | VIEW | COLUMN | EVENT TABLE.
    tag_id str
    Specifies the identifier for the tag.
    tag_value str
    Specifies the value of the tag, (e.g. 'finance' or 'engineering')
    skip_validation bool
    (Default: true) If true, skips validation of the tag association.
    objectIdentifiers List<String>
    Specifies the object identifiers for the tag association.
    objectType String
    Specifies the type of object to add a tag. Allowed object types: ACCOUNT | APPLICATION | APPLICATION PACKAGE | COMPUTE POOL | DATABASE | FAILOVER GROUP | INTEGRATION | NETWORK POLICY | REPLICATION GROUP | ROLE | SHARE | USER | WAREHOUSE | DATABASE ROLE | SCHEMA | ALERT | SNOWFLAKE.CORE.BUDGET | SNOWFLAKE.ML.CLASSIFICATION | EXTERNAL FUNCTION | EXTERNAL TABLE | FUNCTION | IMAGE REPOSITORY | GIT REPOSITORY | ICEBERG TABLE | MATERIALIZED VIEW | PIPE | MASKING POLICY | PASSWORD POLICY | ROW ACCESS POLICY | SESSION POLICY | PRIVACY POLICY | PROCEDURE | SERVICE | STAGE | STREAM | TABLE | TASK | VIEW | COLUMN | EVENT TABLE.
    tagId String
    Specifies the identifier for the tag.
    tagValue String
    Specifies the value of the tag, (e.g. 'finance' or 'engineering')
    skipValidation Boolean
    (Default: true) If true, skips validation of the tag association.

    Outputs

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

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

    Look up Existing TagAssociation Resource

    Get an existing TagAssociation 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?: TagAssociationState, opts?: CustomResourceOptions): TagAssociation
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            object_identifiers: Optional[Sequence[str]] = None,
            object_type: Optional[str] = None,
            skip_validation: Optional[bool] = None,
            tag_id: Optional[str] = None,
            tag_value: Optional[str] = None) -> TagAssociation
    func GetTagAssociation(ctx *Context, name string, id IDInput, state *TagAssociationState, opts ...ResourceOption) (*TagAssociation, error)
    public static TagAssociation Get(string name, Input<string> id, TagAssociationState? state, CustomResourceOptions? opts = null)
    public static TagAssociation get(String name, Output<String> id, TagAssociationState state, CustomResourceOptions options)
    resources:  _:    type: snowflake:TagAssociation    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    ObjectIdentifiers List<string>
    Specifies the object identifiers for the tag association.
    ObjectType string
    Specifies the type of object to add a tag. Allowed object types: ACCOUNT | APPLICATION | APPLICATION PACKAGE | COMPUTE POOL | DATABASE | FAILOVER GROUP | INTEGRATION | NETWORK POLICY | REPLICATION GROUP | ROLE | SHARE | USER | WAREHOUSE | DATABASE ROLE | SCHEMA | ALERT | SNOWFLAKE.CORE.BUDGET | SNOWFLAKE.ML.CLASSIFICATION | EXTERNAL FUNCTION | EXTERNAL TABLE | FUNCTION | IMAGE REPOSITORY | GIT REPOSITORY | ICEBERG TABLE | MATERIALIZED VIEW | PIPE | MASKING POLICY | PASSWORD POLICY | ROW ACCESS POLICY | SESSION POLICY | PRIVACY POLICY | PROCEDURE | SERVICE | STAGE | STREAM | TABLE | TASK | VIEW | COLUMN | EVENT TABLE.
    SkipValidation bool
    (Default: true) If true, skips validation of the tag association.
    TagId string
    Specifies the identifier for the tag.
    TagValue string
    Specifies the value of the tag, (e.g. 'finance' or 'engineering')
    ObjectIdentifiers []string
    Specifies the object identifiers for the tag association.
    ObjectType string
    Specifies the type of object to add a tag. Allowed object types: ACCOUNT | APPLICATION | APPLICATION PACKAGE | COMPUTE POOL | DATABASE | FAILOVER GROUP | INTEGRATION | NETWORK POLICY | REPLICATION GROUP | ROLE | SHARE | USER | WAREHOUSE | DATABASE ROLE | SCHEMA | ALERT | SNOWFLAKE.CORE.BUDGET | SNOWFLAKE.ML.CLASSIFICATION | EXTERNAL FUNCTION | EXTERNAL TABLE | FUNCTION | IMAGE REPOSITORY | GIT REPOSITORY | ICEBERG TABLE | MATERIALIZED VIEW | PIPE | MASKING POLICY | PASSWORD POLICY | ROW ACCESS POLICY | SESSION POLICY | PRIVACY POLICY | PROCEDURE | SERVICE | STAGE | STREAM | TABLE | TASK | VIEW | COLUMN | EVENT TABLE.
    SkipValidation bool
    (Default: true) If true, skips validation of the tag association.
    TagId string
    Specifies the identifier for the tag.
    TagValue string
    Specifies the value of the tag, (e.g. 'finance' or 'engineering')
    objectIdentifiers List<String>
    Specifies the object identifiers for the tag association.
    objectType String
    Specifies the type of object to add a tag. Allowed object types: ACCOUNT | APPLICATION | APPLICATION PACKAGE | COMPUTE POOL | DATABASE | FAILOVER GROUP | INTEGRATION | NETWORK POLICY | REPLICATION GROUP | ROLE | SHARE | USER | WAREHOUSE | DATABASE ROLE | SCHEMA | ALERT | SNOWFLAKE.CORE.BUDGET | SNOWFLAKE.ML.CLASSIFICATION | EXTERNAL FUNCTION | EXTERNAL TABLE | FUNCTION | IMAGE REPOSITORY | GIT REPOSITORY | ICEBERG TABLE | MATERIALIZED VIEW | PIPE | MASKING POLICY | PASSWORD POLICY | ROW ACCESS POLICY | SESSION POLICY | PRIVACY POLICY | PROCEDURE | SERVICE | STAGE | STREAM | TABLE | TASK | VIEW | COLUMN | EVENT TABLE.
    skipValidation Boolean
    (Default: true) If true, skips validation of the tag association.
    tagId String
    Specifies the identifier for the tag.
    tagValue String
    Specifies the value of the tag, (e.g. 'finance' or 'engineering')
    objectIdentifiers string[]
    Specifies the object identifiers for the tag association.
    objectType string
    Specifies the type of object to add a tag. Allowed object types: ACCOUNT | APPLICATION | APPLICATION PACKAGE | COMPUTE POOL | DATABASE | FAILOVER GROUP | INTEGRATION | NETWORK POLICY | REPLICATION GROUP | ROLE | SHARE | USER | WAREHOUSE | DATABASE ROLE | SCHEMA | ALERT | SNOWFLAKE.CORE.BUDGET | SNOWFLAKE.ML.CLASSIFICATION | EXTERNAL FUNCTION | EXTERNAL TABLE | FUNCTION | IMAGE REPOSITORY | GIT REPOSITORY | ICEBERG TABLE | MATERIALIZED VIEW | PIPE | MASKING POLICY | PASSWORD POLICY | ROW ACCESS POLICY | SESSION POLICY | PRIVACY POLICY | PROCEDURE | SERVICE | STAGE | STREAM | TABLE | TASK | VIEW | COLUMN | EVENT TABLE.
    skipValidation boolean
    (Default: true) If true, skips validation of the tag association.
    tagId string
    Specifies the identifier for the tag.
    tagValue string
    Specifies the value of the tag, (e.g. 'finance' or 'engineering')
    object_identifiers Sequence[str]
    Specifies the object identifiers for the tag association.
    object_type str
    Specifies the type of object to add a tag. Allowed object types: ACCOUNT | APPLICATION | APPLICATION PACKAGE | COMPUTE POOL | DATABASE | FAILOVER GROUP | INTEGRATION | NETWORK POLICY | REPLICATION GROUP | ROLE | SHARE | USER | WAREHOUSE | DATABASE ROLE | SCHEMA | ALERT | SNOWFLAKE.CORE.BUDGET | SNOWFLAKE.ML.CLASSIFICATION | EXTERNAL FUNCTION | EXTERNAL TABLE | FUNCTION | IMAGE REPOSITORY | GIT REPOSITORY | ICEBERG TABLE | MATERIALIZED VIEW | PIPE | MASKING POLICY | PASSWORD POLICY | ROW ACCESS POLICY | SESSION POLICY | PRIVACY POLICY | PROCEDURE | SERVICE | STAGE | STREAM | TABLE | TASK | VIEW | COLUMN | EVENT TABLE.
    skip_validation bool
    (Default: true) If true, skips validation of the tag association.
    tag_id str
    Specifies the identifier for the tag.
    tag_value str
    Specifies the value of the tag, (e.g. 'finance' or 'engineering')
    objectIdentifiers List<String>
    Specifies the object identifiers for the tag association.
    objectType String
    Specifies the type of object to add a tag. Allowed object types: ACCOUNT | APPLICATION | APPLICATION PACKAGE | COMPUTE POOL | DATABASE | FAILOVER GROUP | INTEGRATION | NETWORK POLICY | REPLICATION GROUP | ROLE | SHARE | USER | WAREHOUSE | DATABASE ROLE | SCHEMA | ALERT | SNOWFLAKE.CORE.BUDGET | SNOWFLAKE.ML.CLASSIFICATION | EXTERNAL FUNCTION | EXTERNAL TABLE | FUNCTION | IMAGE REPOSITORY | GIT REPOSITORY | ICEBERG TABLE | MATERIALIZED VIEW | PIPE | MASKING POLICY | PASSWORD POLICY | ROW ACCESS POLICY | SESSION POLICY | PRIVACY POLICY | PROCEDURE | SERVICE | STAGE | STREAM | TABLE | TASK | VIEW | COLUMN | EVENT TABLE.
    skipValidation Boolean
    (Default: true) If true, skips validation of the tag association.
    tagId String
    Specifies the identifier for the tag.
    tagValue String
    Specifies the value of the tag, (e.g. 'finance' or 'engineering')

    Import

    Note Due to technical limitations of Terraform SDK, object_identifiers are not set during import state. Please run terraform refresh after importing to get this field populated.

    $ pulumi import snowflake:index/tagAssociation:TagAssociation example '"TAG_DATABASE"."TAG_SCHEMA"."TAG_NAME"|TAG_VALUE|OBJECT_TYPE'
    

    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
    Snowflake v2.12.0 published on Friday, Feb 13, 2026 by Pulumi
      Meet Neo: Your AI Platform Teammate