gcp.datacatalog.Tag
Explore with Pulumi AI
Tags are used to attach custom metadata to Data Catalog resources. Tags conform to the specifications within their tag template.
See Data Catalog IAM for information on the permissions needed to create or view tags.
To get more information about Tag, see:
- API documentation
- How-to Guides
Example Usage
Data Catalog Entry Tag Basic
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const entryGroup = new gcp.datacatalog.EntryGroup("entry_group", {entryGroupId: "my_entry_group"});
const entry = new gcp.datacatalog.Entry("entry", {
entryGroup: entryGroup.id,
entryId: "my_entry",
userSpecifiedType: "my_custom_type",
userSpecifiedSystem: "SomethingExternal",
});
const tagTemplate = new gcp.datacatalog.TagTemplate("tag_template", {
tagTemplateId: "my_template",
region: "us-central1",
displayName: "Demo Tag Template",
fields: [
{
fieldId: "source",
displayName: "Source of data asset",
type: {
primitiveType: "STRING",
},
isRequired: true,
},
{
fieldId: "num_rows",
displayName: "Number of rows in the data asset",
type: {
primitiveType: "DOUBLE",
},
},
{
fieldId: "pii_type",
displayName: "PII type",
type: {
enumType: {
allowedValues: [
{
displayName: "EMAIL",
},
{
displayName: "SOCIAL SECURITY NUMBER",
},
{
displayName: "NONE",
},
],
},
},
},
],
forceDelete: false,
});
const basicTag = new gcp.datacatalog.Tag("basic_tag", {
parent: entry.id,
template: tagTemplate.id,
fields: [{
fieldName: "source",
stringValue: "my-string",
}],
});
import pulumi
import pulumi_gcp as gcp
entry_group = gcp.datacatalog.EntryGroup("entry_group", entry_group_id="my_entry_group")
entry = gcp.datacatalog.Entry("entry",
entry_group=entry_group.id,
entry_id="my_entry",
user_specified_type="my_custom_type",
user_specified_system="SomethingExternal")
tag_template = gcp.datacatalog.TagTemplate("tag_template",
tag_template_id="my_template",
region="us-central1",
display_name="Demo Tag Template",
fields=[
gcp.datacatalog.TagTemplateFieldArgs(
field_id="source",
display_name="Source of data asset",
type=gcp.datacatalog.TagTemplateFieldTypeArgs(
primitive_type="STRING",
),
is_required=True,
),
gcp.datacatalog.TagTemplateFieldArgs(
field_id="num_rows",
display_name="Number of rows in the data asset",
type=gcp.datacatalog.TagTemplateFieldTypeArgs(
primitive_type="DOUBLE",
),
),
gcp.datacatalog.TagTemplateFieldArgs(
field_id="pii_type",
display_name="PII type",
type=gcp.datacatalog.TagTemplateFieldTypeArgs(
enum_type=gcp.datacatalog.TagTemplateFieldTypeEnumTypeArgs(
allowed_values=[
gcp.datacatalog.TagTemplateFieldTypeEnumTypeAllowedValueArgs(
display_name="EMAIL",
),
gcp.datacatalog.TagTemplateFieldTypeEnumTypeAllowedValueArgs(
display_name="SOCIAL SECURITY NUMBER",
),
gcp.datacatalog.TagTemplateFieldTypeEnumTypeAllowedValueArgs(
display_name="NONE",
),
],
),
),
),
],
force_delete=False)
basic_tag = gcp.datacatalog.Tag("basic_tag",
parent=entry.id,
template=tag_template.id,
fields=[gcp.datacatalog.TagFieldArgs(
field_name="source",
string_value="my-string",
)])
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/datacatalog"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
entryGroup, err := datacatalog.NewEntryGroup(ctx, "entry_group", &datacatalog.EntryGroupArgs{
EntryGroupId: pulumi.String("my_entry_group"),
})
if err != nil {
return err
}
entry, err := datacatalog.NewEntry(ctx, "entry", &datacatalog.EntryArgs{
EntryGroup: entryGroup.ID(),
EntryId: pulumi.String("my_entry"),
UserSpecifiedType: pulumi.String("my_custom_type"),
UserSpecifiedSystem: pulumi.String("SomethingExternal"),
})
if err != nil {
return err
}
tagTemplate, err := datacatalog.NewTagTemplate(ctx, "tag_template", &datacatalog.TagTemplateArgs{
TagTemplateId: pulumi.String("my_template"),
Region: pulumi.String("us-central1"),
DisplayName: pulumi.String("Demo Tag Template"),
Fields: datacatalog.TagTemplateFieldArray{
&datacatalog.TagTemplateFieldArgs{
FieldId: pulumi.String("source"),
DisplayName: pulumi.String("Source of data asset"),
Type: &datacatalog.TagTemplateFieldTypeArgs{
PrimitiveType: pulumi.String("STRING"),
},
IsRequired: pulumi.Bool(true),
},
&datacatalog.TagTemplateFieldArgs{
FieldId: pulumi.String("num_rows"),
DisplayName: pulumi.String("Number of rows in the data asset"),
Type: &datacatalog.TagTemplateFieldTypeArgs{
PrimitiveType: pulumi.String("DOUBLE"),
},
},
&datacatalog.TagTemplateFieldArgs{
FieldId: pulumi.String("pii_type"),
DisplayName: pulumi.String("PII type"),
Type: &datacatalog.TagTemplateFieldTypeArgs{
EnumType: &datacatalog.TagTemplateFieldTypeEnumTypeArgs{
AllowedValues: datacatalog.TagTemplateFieldTypeEnumTypeAllowedValueArray{
&datacatalog.TagTemplateFieldTypeEnumTypeAllowedValueArgs{
DisplayName: pulumi.String("EMAIL"),
},
&datacatalog.TagTemplateFieldTypeEnumTypeAllowedValueArgs{
DisplayName: pulumi.String("SOCIAL SECURITY NUMBER"),
},
&datacatalog.TagTemplateFieldTypeEnumTypeAllowedValueArgs{
DisplayName: pulumi.String("NONE"),
},
},
},
},
},
},
ForceDelete: pulumi.Bool(false),
})
if err != nil {
return err
}
_, err = datacatalog.NewTag(ctx, "basic_tag", &datacatalog.TagArgs{
Parent: entry.ID(),
Template: tagTemplate.ID(),
Fields: datacatalog.TagFieldArray{
&datacatalog.TagFieldArgs{
FieldName: pulumi.String("source"),
StringValue: pulumi.String("my-string"),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var entryGroup = new Gcp.DataCatalog.EntryGroup("entry_group", new()
{
EntryGroupId = "my_entry_group",
});
var entry = new Gcp.DataCatalog.Entry("entry", new()
{
EntryGroup = entryGroup.Id,
EntryId = "my_entry",
UserSpecifiedType = "my_custom_type",
UserSpecifiedSystem = "SomethingExternal",
});
var tagTemplate = new Gcp.DataCatalog.TagTemplate("tag_template", new()
{
TagTemplateId = "my_template",
Region = "us-central1",
DisplayName = "Demo Tag Template",
Fields = new[]
{
new Gcp.DataCatalog.Inputs.TagTemplateFieldArgs
{
FieldId = "source",
DisplayName = "Source of data asset",
Type = new Gcp.DataCatalog.Inputs.TagTemplateFieldTypeArgs
{
PrimitiveType = "STRING",
},
IsRequired = true,
},
new Gcp.DataCatalog.Inputs.TagTemplateFieldArgs
{
FieldId = "num_rows",
DisplayName = "Number of rows in the data asset",
Type = new Gcp.DataCatalog.Inputs.TagTemplateFieldTypeArgs
{
PrimitiveType = "DOUBLE",
},
},
new Gcp.DataCatalog.Inputs.TagTemplateFieldArgs
{
FieldId = "pii_type",
DisplayName = "PII type",
Type = new Gcp.DataCatalog.Inputs.TagTemplateFieldTypeArgs
{
EnumType = new Gcp.DataCatalog.Inputs.TagTemplateFieldTypeEnumTypeArgs
{
AllowedValues = new[]
{
new Gcp.DataCatalog.Inputs.TagTemplateFieldTypeEnumTypeAllowedValueArgs
{
DisplayName = "EMAIL",
},
new Gcp.DataCatalog.Inputs.TagTemplateFieldTypeEnumTypeAllowedValueArgs
{
DisplayName = "SOCIAL SECURITY NUMBER",
},
new Gcp.DataCatalog.Inputs.TagTemplateFieldTypeEnumTypeAllowedValueArgs
{
DisplayName = "NONE",
},
},
},
},
},
},
ForceDelete = false,
});
var basicTag = new Gcp.DataCatalog.Tag("basic_tag", new()
{
Parent = entry.Id,
Template = tagTemplate.Id,
Fields = new[]
{
new Gcp.DataCatalog.Inputs.TagFieldArgs
{
FieldName = "source",
StringValue = "my-string",
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.datacatalog.EntryGroup;
import com.pulumi.gcp.datacatalog.EntryGroupArgs;
import com.pulumi.gcp.datacatalog.Entry;
import com.pulumi.gcp.datacatalog.EntryArgs;
import com.pulumi.gcp.datacatalog.TagTemplate;
import com.pulumi.gcp.datacatalog.TagTemplateArgs;
import com.pulumi.gcp.datacatalog.inputs.TagTemplateFieldArgs;
import com.pulumi.gcp.datacatalog.inputs.TagTemplateFieldTypeArgs;
import com.pulumi.gcp.datacatalog.inputs.TagTemplateFieldTypeEnumTypeArgs;
import com.pulumi.gcp.datacatalog.Tag;
import com.pulumi.gcp.datacatalog.TagArgs;
import com.pulumi.gcp.datacatalog.inputs.TagFieldArgs;
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 entryGroup = new EntryGroup("entryGroup", EntryGroupArgs.builder()
.entryGroupId("my_entry_group")
.build());
var entry = new Entry("entry", EntryArgs.builder()
.entryGroup(entryGroup.id())
.entryId("my_entry")
.userSpecifiedType("my_custom_type")
.userSpecifiedSystem("SomethingExternal")
.build());
var tagTemplate = new TagTemplate("tagTemplate", TagTemplateArgs.builder()
.tagTemplateId("my_template")
.region("us-central1")
.displayName("Demo Tag Template")
.fields(
TagTemplateFieldArgs.builder()
.fieldId("source")
.displayName("Source of data asset")
.type(TagTemplateFieldTypeArgs.builder()
.primitiveType("STRING")
.build())
.isRequired(true)
.build(),
TagTemplateFieldArgs.builder()
.fieldId("num_rows")
.displayName("Number of rows in the data asset")
.type(TagTemplateFieldTypeArgs.builder()
.primitiveType("DOUBLE")
.build())
.build(),
TagTemplateFieldArgs.builder()
.fieldId("pii_type")
.displayName("PII type")
.type(TagTemplateFieldTypeArgs.builder()
.enumType(TagTemplateFieldTypeEnumTypeArgs.builder()
.allowedValues(
TagTemplateFieldTypeEnumTypeAllowedValueArgs.builder()
.displayName("EMAIL")
.build(),
TagTemplateFieldTypeEnumTypeAllowedValueArgs.builder()
.displayName("SOCIAL SECURITY NUMBER")
.build(),
TagTemplateFieldTypeEnumTypeAllowedValueArgs.builder()
.displayName("NONE")
.build())
.build())
.build())
.build())
.forceDelete("false")
.build());
var basicTag = new Tag("basicTag", TagArgs.builder()
.parent(entry.id())
.template(tagTemplate.id())
.fields(TagFieldArgs.builder()
.fieldName("source")
.stringValue("my-string")
.build())
.build());
}
}
resources:
entry:
type: gcp:datacatalog:Entry
properties:
entryGroup: ${entryGroup.id}
entryId: my_entry
userSpecifiedType: my_custom_type
userSpecifiedSystem: SomethingExternal
entryGroup:
type: gcp:datacatalog:EntryGroup
name: entry_group
properties:
entryGroupId: my_entry_group
tagTemplate:
type: gcp:datacatalog:TagTemplate
name: tag_template
properties:
tagTemplateId: my_template
region: us-central1
displayName: Demo Tag Template
fields:
- fieldId: source
displayName: Source of data asset
type:
primitiveType: STRING
isRequired: true
- fieldId: num_rows
displayName: Number of rows in the data asset
type:
primitiveType: DOUBLE
- fieldId: pii_type
displayName: PII type
type:
enumType:
allowedValues:
- displayName: EMAIL
- displayName: SOCIAL SECURITY NUMBER
- displayName: NONE
forceDelete: 'false'
basicTag:
type: gcp:datacatalog:Tag
name: basic_tag
properties:
parent: ${entry.id}
template: ${tagTemplate.id}
fields:
- fieldName: source
stringValue: my-string
Data Catalog Entry Group Tag
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const entryGroup = new gcp.datacatalog.EntryGroup("entry_group", {entryGroupId: "my_entry_group"});
const firstEntry = new gcp.datacatalog.Entry("first_entry", {
entryGroup: entryGroup.id,
entryId: "first_entry",
userSpecifiedType: "my_custom_type",
userSpecifiedSystem: "SomethingExternal",
});
const secondEntry = new gcp.datacatalog.Entry("second_entry", {
entryGroup: entryGroup.id,
entryId: "second_entry",
userSpecifiedType: "another_custom_type",
userSpecifiedSystem: "SomethingElseExternal",
});
const tagTemplate = new gcp.datacatalog.TagTemplate("tag_template", {
tagTemplateId: "my_template",
region: "us-central1",
displayName: "Demo Tag Template",
fields: [
{
fieldId: "source",
displayName: "Source of data asset",
type: {
primitiveType: "STRING",
},
isRequired: true,
},
{
fieldId: "num_rows",
displayName: "Number of rows in the data asset",
type: {
primitiveType: "DOUBLE",
},
},
{
fieldId: "pii_type",
displayName: "PII type",
type: {
enumType: {
allowedValues: [
{
displayName: "EMAIL",
},
{
displayName: "SOCIAL SECURITY NUMBER",
},
{
displayName: "NONE",
},
],
},
},
},
],
forceDelete: false,
});
const entryGroupTag = new gcp.datacatalog.Tag("entry_group_tag", {
parent: entryGroup.id,
template: tagTemplate.id,
fields: [{
fieldName: "source",
stringValue: "my-string",
}],
});
import pulumi
import pulumi_gcp as gcp
entry_group = gcp.datacatalog.EntryGroup("entry_group", entry_group_id="my_entry_group")
first_entry = gcp.datacatalog.Entry("first_entry",
entry_group=entry_group.id,
entry_id="first_entry",
user_specified_type="my_custom_type",
user_specified_system="SomethingExternal")
second_entry = gcp.datacatalog.Entry("second_entry",
entry_group=entry_group.id,
entry_id="second_entry",
user_specified_type="another_custom_type",
user_specified_system="SomethingElseExternal")
tag_template = gcp.datacatalog.TagTemplate("tag_template",
tag_template_id="my_template",
region="us-central1",
display_name="Demo Tag Template",
fields=[
gcp.datacatalog.TagTemplateFieldArgs(
field_id="source",
display_name="Source of data asset",
type=gcp.datacatalog.TagTemplateFieldTypeArgs(
primitive_type="STRING",
),
is_required=True,
),
gcp.datacatalog.TagTemplateFieldArgs(
field_id="num_rows",
display_name="Number of rows in the data asset",
type=gcp.datacatalog.TagTemplateFieldTypeArgs(
primitive_type="DOUBLE",
),
),
gcp.datacatalog.TagTemplateFieldArgs(
field_id="pii_type",
display_name="PII type",
type=gcp.datacatalog.TagTemplateFieldTypeArgs(
enum_type=gcp.datacatalog.TagTemplateFieldTypeEnumTypeArgs(
allowed_values=[
gcp.datacatalog.TagTemplateFieldTypeEnumTypeAllowedValueArgs(
display_name="EMAIL",
),
gcp.datacatalog.TagTemplateFieldTypeEnumTypeAllowedValueArgs(
display_name="SOCIAL SECURITY NUMBER",
),
gcp.datacatalog.TagTemplateFieldTypeEnumTypeAllowedValueArgs(
display_name="NONE",
),
],
),
),
),
],
force_delete=False)
entry_group_tag = gcp.datacatalog.Tag("entry_group_tag",
parent=entry_group.id,
template=tag_template.id,
fields=[gcp.datacatalog.TagFieldArgs(
field_name="source",
string_value="my-string",
)])
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/datacatalog"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
entryGroup, err := datacatalog.NewEntryGroup(ctx, "entry_group", &datacatalog.EntryGroupArgs{
EntryGroupId: pulumi.String("my_entry_group"),
})
if err != nil {
return err
}
_, err = datacatalog.NewEntry(ctx, "first_entry", &datacatalog.EntryArgs{
EntryGroup: entryGroup.ID(),
EntryId: pulumi.String("first_entry"),
UserSpecifiedType: pulumi.String("my_custom_type"),
UserSpecifiedSystem: pulumi.String("SomethingExternal"),
})
if err != nil {
return err
}
_, err = datacatalog.NewEntry(ctx, "second_entry", &datacatalog.EntryArgs{
EntryGroup: entryGroup.ID(),
EntryId: pulumi.String("second_entry"),
UserSpecifiedType: pulumi.String("another_custom_type"),
UserSpecifiedSystem: pulumi.String("SomethingElseExternal"),
})
if err != nil {
return err
}
tagTemplate, err := datacatalog.NewTagTemplate(ctx, "tag_template", &datacatalog.TagTemplateArgs{
TagTemplateId: pulumi.String("my_template"),
Region: pulumi.String("us-central1"),
DisplayName: pulumi.String("Demo Tag Template"),
Fields: datacatalog.TagTemplateFieldArray{
&datacatalog.TagTemplateFieldArgs{
FieldId: pulumi.String("source"),
DisplayName: pulumi.String("Source of data asset"),
Type: &datacatalog.TagTemplateFieldTypeArgs{
PrimitiveType: pulumi.String("STRING"),
},
IsRequired: pulumi.Bool(true),
},
&datacatalog.TagTemplateFieldArgs{
FieldId: pulumi.String("num_rows"),
DisplayName: pulumi.String("Number of rows in the data asset"),
Type: &datacatalog.TagTemplateFieldTypeArgs{
PrimitiveType: pulumi.String("DOUBLE"),
},
},
&datacatalog.TagTemplateFieldArgs{
FieldId: pulumi.String("pii_type"),
DisplayName: pulumi.String("PII type"),
Type: &datacatalog.TagTemplateFieldTypeArgs{
EnumType: &datacatalog.TagTemplateFieldTypeEnumTypeArgs{
AllowedValues: datacatalog.TagTemplateFieldTypeEnumTypeAllowedValueArray{
&datacatalog.TagTemplateFieldTypeEnumTypeAllowedValueArgs{
DisplayName: pulumi.String("EMAIL"),
},
&datacatalog.TagTemplateFieldTypeEnumTypeAllowedValueArgs{
DisplayName: pulumi.String("SOCIAL SECURITY NUMBER"),
},
&datacatalog.TagTemplateFieldTypeEnumTypeAllowedValueArgs{
DisplayName: pulumi.String("NONE"),
},
},
},
},
},
},
ForceDelete: pulumi.Bool(false),
})
if err != nil {
return err
}
_, err = datacatalog.NewTag(ctx, "entry_group_tag", &datacatalog.TagArgs{
Parent: entryGroup.ID(),
Template: tagTemplate.ID(),
Fields: datacatalog.TagFieldArray{
&datacatalog.TagFieldArgs{
FieldName: pulumi.String("source"),
StringValue: pulumi.String("my-string"),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var entryGroup = new Gcp.DataCatalog.EntryGroup("entry_group", new()
{
EntryGroupId = "my_entry_group",
});
var firstEntry = new Gcp.DataCatalog.Entry("first_entry", new()
{
EntryGroup = entryGroup.Id,
EntryId = "first_entry",
UserSpecifiedType = "my_custom_type",
UserSpecifiedSystem = "SomethingExternal",
});
var secondEntry = new Gcp.DataCatalog.Entry("second_entry", new()
{
EntryGroup = entryGroup.Id,
EntryId = "second_entry",
UserSpecifiedType = "another_custom_type",
UserSpecifiedSystem = "SomethingElseExternal",
});
var tagTemplate = new Gcp.DataCatalog.TagTemplate("tag_template", new()
{
TagTemplateId = "my_template",
Region = "us-central1",
DisplayName = "Demo Tag Template",
Fields = new[]
{
new Gcp.DataCatalog.Inputs.TagTemplateFieldArgs
{
FieldId = "source",
DisplayName = "Source of data asset",
Type = new Gcp.DataCatalog.Inputs.TagTemplateFieldTypeArgs
{
PrimitiveType = "STRING",
},
IsRequired = true,
},
new Gcp.DataCatalog.Inputs.TagTemplateFieldArgs
{
FieldId = "num_rows",
DisplayName = "Number of rows in the data asset",
Type = new Gcp.DataCatalog.Inputs.TagTemplateFieldTypeArgs
{
PrimitiveType = "DOUBLE",
},
},
new Gcp.DataCatalog.Inputs.TagTemplateFieldArgs
{
FieldId = "pii_type",
DisplayName = "PII type",
Type = new Gcp.DataCatalog.Inputs.TagTemplateFieldTypeArgs
{
EnumType = new Gcp.DataCatalog.Inputs.TagTemplateFieldTypeEnumTypeArgs
{
AllowedValues = new[]
{
new Gcp.DataCatalog.Inputs.TagTemplateFieldTypeEnumTypeAllowedValueArgs
{
DisplayName = "EMAIL",
},
new Gcp.DataCatalog.Inputs.TagTemplateFieldTypeEnumTypeAllowedValueArgs
{
DisplayName = "SOCIAL SECURITY NUMBER",
},
new Gcp.DataCatalog.Inputs.TagTemplateFieldTypeEnumTypeAllowedValueArgs
{
DisplayName = "NONE",
},
},
},
},
},
},
ForceDelete = false,
});
var entryGroupTag = new Gcp.DataCatalog.Tag("entry_group_tag", new()
{
Parent = entryGroup.Id,
Template = tagTemplate.Id,
Fields = new[]
{
new Gcp.DataCatalog.Inputs.TagFieldArgs
{
FieldName = "source",
StringValue = "my-string",
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.datacatalog.EntryGroup;
import com.pulumi.gcp.datacatalog.EntryGroupArgs;
import com.pulumi.gcp.datacatalog.Entry;
import com.pulumi.gcp.datacatalog.EntryArgs;
import com.pulumi.gcp.datacatalog.TagTemplate;
import com.pulumi.gcp.datacatalog.TagTemplateArgs;
import com.pulumi.gcp.datacatalog.inputs.TagTemplateFieldArgs;
import com.pulumi.gcp.datacatalog.inputs.TagTemplateFieldTypeArgs;
import com.pulumi.gcp.datacatalog.inputs.TagTemplateFieldTypeEnumTypeArgs;
import com.pulumi.gcp.datacatalog.Tag;
import com.pulumi.gcp.datacatalog.TagArgs;
import com.pulumi.gcp.datacatalog.inputs.TagFieldArgs;
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 entryGroup = new EntryGroup("entryGroup", EntryGroupArgs.builder()
.entryGroupId("my_entry_group")
.build());
var firstEntry = new Entry("firstEntry", EntryArgs.builder()
.entryGroup(entryGroup.id())
.entryId("first_entry")
.userSpecifiedType("my_custom_type")
.userSpecifiedSystem("SomethingExternal")
.build());
var secondEntry = new Entry("secondEntry", EntryArgs.builder()
.entryGroup(entryGroup.id())
.entryId("second_entry")
.userSpecifiedType("another_custom_type")
.userSpecifiedSystem("SomethingElseExternal")
.build());
var tagTemplate = new TagTemplate("tagTemplate", TagTemplateArgs.builder()
.tagTemplateId("my_template")
.region("us-central1")
.displayName("Demo Tag Template")
.fields(
TagTemplateFieldArgs.builder()
.fieldId("source")
.displayName("Source of data asset")
.type(TagTemplateFieldTypeArgs.builder()
.primitiveType("STRING")
.build())
.isRequired(true)
.build(),
TagTemplateFieldArgs.builder()
.fieldId("num_rows")
.displayName("Number of rows in the data asset")
.type(TagTemplateFieldTypeArgs.builder()
.primitiveType("DOUBLE")
.build())
.build(),
TagTemplateFieldArgs.builder()
.fieldId("pii_type")
.displayName("PII type")
.type(TagTemplateFieldTypeArgs.builder()
.enumType(TagTemplateFieldTypeEnumTypeArgs.builder()
.allowedValues(
TagTemplateFieldTypeEnumTypeAllowedValueArgs.builder()
.displayName("EMAIL")
.build(),
TagTemplateFieldTypeEnumTypeAllowedValueArgs.builder()
.displayName("SOCIAL SECURITY NUMBER")
.build(),
TagTemplateFieldTypeEnumTypeAllowedValueArgs.builder()
.displayName("NONE")
.build())
.build())
.build())
.build())
.forceDelete("false")
.build());
var entryGroupTag = new Tag("entryGroupTag", TagArgs.builder()
.parent(entryGroup.id())
.template(tagTemplate.id())
.fields(TagFieldArgs.builder()
.fieldName("source")
.stringValue("my-string")
.build())
.build());
}
}
resources:
firstEntry:
type: gcp:datacatalog:Entry
name: first_entry
properties:
entryGroup: ${entryGroup.id}
entryId: first_entry
userSpecifiedType: my_custom_type
userSpecifiedSystem: SomethingExternal
secondEntry:
type: gcp:datacatalog:Entry
name: second_entry
properties:
entryGroup: ${entryGroup.id}
entryId: second_entry
userSpecifiedType: another_custom_type
userSpecifiedSystem: SomethingElseExternal
entryGroup:
type: gcp:datacatalog:EntryGroup
name: entry_group
properties:
entryGroupId: my_entry_group
tagTemplate:
type: gcp:datacatalog:TagTemplate
name: tag_template
properties:
tagTemplateId: my_template
region: us-central1
displayName: Demo Tag Template
fields:
- fieldId: source
displayName: Source of data asset
type:
primitiveType: STRING
isRequired: true
- fieldId: num_rows
displayName: Number of rows in the data asset
type:
primitiveType: DOUBLE
- fieldId: pii_type
displayName: PII type
type:
enumType:
allowedValues:
- displayName: EMAIL
- displayName: SOCIAL SECURITY NUMBER
- displayName: NONE
forceDelete: 'false'
entryGroupTag:
type: gcp:datacatalog:Tag
name: entry_group_tag
properties:
parent: ${entryGroup.id}
template: ${tagTemplate.id}
fields:
- fieldName: source
stringValue: my-string
Data Catalog Entry Tag Full
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const entryGroup = new gcp.datacatalog.EntryGroup("entry_group", {entryGroupId: "my_entry_group"});
const entry = new gcp.datacatalog.Entry("entry", {
entryGroup: entryGroup.id,
entryId: "my_entry",
userSpecifiedType: "my_custom_type",
userSpecifiedSystem: "SomethingExternal",
schema: `{
"columns": [
{
"column": "first_name",
"description": "First name",
"mode": "REQUIRED",
"type": "STRING"
},
{
"column": "last_name",
"description": "Last name",
"mode": "REQUIRED",
"type": "STRING"
},
{
"column": "address",
"description": "Address",
"mode": "REPEATED",
"subcolumns": [
{
"column": "city",
"description": "City",
"mode": "NULLABLE",
"type": "STRING"
},
{
"column": "state",
"description": "State",
"mode": "NULLABLE",
"type": "STRING"
}
],
"type": "RECORD"
}
]
}
`,
});
const tagTemplate = new gcp.datacatalog.TagTemplate("tag_template", {
tagTemplateId: "my_template",
region: "us-central1",
displayName: "Demo Tag Template",
fields: [
{
fieldId: "source",
displayName: "Source of data asset",
type: {
primitiveType: "STRING",
},
isRequired: true,
},
{
fieldId: "num_rows",
displayName: "Number of rows in the data asset",
type: {
primitiveType: "DOUBLE",
},
},
{
fieldId: "pii_type",
displayName: "PII type",
type: {
enumType: {
allowedValues: [
{
displayName: "EMAIL",
},
{
displayName: "SOCIAL SECURITY NUMBER",
},
{
displayName: "NONE",
},
],
},
},
},
],
forceDelete: false,
});
const basicTag = new gcp.datacatalog.Tag("basic_tag", {
parent: entry.id,
template: tagTemplate.id,
fields: [
{
fieldName: "source",
stringValue: "my-string",
},
{
fieldName: "num_rows",
doubleValue: 5,
},
{
fieldName: "pii_type",
enumValue: "EMAIL",
},
],
column: "address",
});
const second_tag = new gcp.datacatalog.Tag("second-tag", {
parent: entry.id,
template: tagTemplate.id,
fields: [
{
fieldName: "source",
stringValue: "my-string",
},
{
fieldName: "pii_type",
enumValue: "NONE",
},
],
column: "first_name",
});
import pulumi
import pulumi_gcp as gcp
entry_group = gcp.datacatalog.EntryGroup("entry_group", entry_group_id="my_entry_group")
entry = gcp.datacatalog.Entry("entry",
entry_group=entry_group.id,
entry_id="my_entry",
user_specified_type="my_custom_type",
user_specified_system="SomethingExternal",
schema="""{
"columns": [
{
"column": "first_name",
"description": "First name",
"mode": "REQUIRED",
"type": "STRING"
},
{
"column": "last_name",
"description": "Last name",
"mode": "REQUIRED",
"type": "STRING"
},
{
"column": "address",
"description": "Address",
"mode": "REPEATED",
"subcolumns": [
{
"column": "city",
"description": "City",
"mode": "NULLABLE",
"type": "STRING"
},
{
"column": "state",
"description": "State",
"mode": "NULLABLE",
"type": "STRING"
}
],
"type": "RECORD"
}
]
}
""")
tag_template = gcp.datacatalog.TagTemplate("tag_template",
tag_template_id="my_template",
region="us-central1",
display_name="Demo Tag Template",
fields=[
gcp.datacatalog.TagTemplateFieldArgs(
field_id="source",
display_name="Source of data asset",
type=gcp.datacatalog.TagTemplateFieldTypeArgs(
primitive_type="STRING",
),
is_required=True,
),
gcp.datacatalog.TagTemplateFieldArgs(
field_id="num_rows",
display_name="Number of rows in the data asset",
type=gcp.datacatalog.TagTemplateFieldTypeArgs(
primitive_type="DOUBLE",
),
),
gcp.datacatalog.TagTemplateFieldArgs(
field_id="pii_type",
display_name="PII type",
type=gcp.datacatalog.TagTemplateFieldTypeArgs(
enum_type=gcp.datacatalog.TagTemplateFieldTypeEnumTypeArgs(
allowed_values=[
gcp.datacatalog.TagTemplateFieldTypeEnumTypeAllowedValueArgs(
display_name="EMAIL",
),
gcp.datacatalog.TagTemplateFieldTypeEnumTypeAllowedValueArgs(
display_name="SOCIAL SECURITY NUMBER",
),
gcp.datacatalog.TagTemplateFieldTypeEnumTypeAllowedValueArgs(
display_name="NONE",
),
],
),
),
),
],
force_delete=False)
basic_tag = gcp.datacatalog.Tag("basic_tag",
parent=entry.id,
template=tag_template.id,
fields=[
gcp.datacatalog.TagFieldArgs(
field_name="source",
string_value="my-string",
),
gcp.datacatalog.TagFieldArgs(
field_name="num_rows",
double_value=5,
),
gcp.datacatalog.TagFieldArgs(
field_name="pii_type",
enum_value="EMAIL",
),
],
column="address")
second_tag = gcp.datacatalog.Tag("second-tag",
parent=entry.id,
template=tag_template.id,
fields=[
gcp.datacatalog.TagFieldArgs(
field_name="source",
string_value="my-string",
),
gcp.datacatalog.TagFieldArgs(
field_name="pii_type",
enum_value="NONE",
),
],
column="first_name")
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/datacatalog"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
entryGroup, err := datacatalog.NewEntryGroup(ctx, "entry_group", &datacatalog.EntryGroupArgs{
EntryGroupId: pulumi.String("my_entry_group"),
})
if err != nil {
return err
}
entry, err := datacatalog.NewEntry(ctx, "entry", &datacatalog.EntryArgs{
EntryGroup: entryGroup.ID(),
EntryId: pulumi.String("my_entry"),
UserSpecifiedType: pulumi.String("my_custom_type"),
UserSpecifiedSystem: pulumi.String("SomethingExternal"),
Schema: pulumi.String(`{
"columns": [
{
"column": "first_name",
"description": "First name",
"mode": "REQUIRED",
"type": "STRING"
},
{
"column": "last_name",
"description": "Last name",
"mode": "REQUIRED",
"type": "STRING"
},
{
"column": "address",
"description": "Address",
"mode": "REPEATED",
"subcolumns": [
{
"column": "city",
"description": "City",
"mode": "NULLABLE",
"type": "STRING"
},
{
"column": "state",
"description": "State",
"mode": "NULLABLE",
"type": "STRING"
}
],
"type": "RECORD"
}
]
}
`),
})
if err != nil {
return err
}
tagTemplate, err := datacatalog.NewTagTemplate(ctx, "tag_template", &datacatalog.TagTemplateArgs{
TagTemplateId: pulumi.String("my_template"),
Region: pulumi.String("us-central1"),
DisplayName: pulumi.String("Demo Tag Template"),
Fields: datacatalog.TagTemplateFieldArray{
&datacatalog.TagTemplateFieldArgs{
FieldId: pulumi.String("source"),
DisplayName: pulumi.String("Source of data asset"),
Type: &datacatalog.TagTemplateFieldTypeArgs{
PrimitiveType: pulumi.String("STRING"),
},
IsRequired: pulumi.Bool(true),
},
&datacatalog.TagTemplateFieldArgs{
FieldId: pulumi.String("num_rows"),
DisplayName: pulumi.String("Number of rows in the data asset"),
Type: &datacatalog.TagTemplateFieldTypeArgs{
PrimitiveType: pulumi.String("DOUBLE"),
},
},
&datacatalog.TagTemplateFieldArgs{
FieldId: pulumi.String("pii_type"),
DisplayName: pulumi.String("PII type"),
Type: &datacatalog.TagTemplateFieldTypeArgs{
EnumType: &datacatalog.TagTemplateFieldTypeEnumTypeArgs{
AllowedValues: datacatalog.TagTemplateFieldTypeEnumTypeAllowedValueArray{
&datacatalog.TagTemplateFieldTypeEnumTypeAllowedValueArgs{
DisplayName: pulumi.String("EMAIL"),
},
&datacatalog.TagTemplateFieldTypeEnumTypeAllowedValueArgs{
DisplayName: pulumi.String("SOCIAL SECURITY NUMBER"),
},
&datacatalog.TagTemplateFieldTypeEnumTypeAllowedValueArgs{
DisplayName: pulumi.String("NONE"),
},
},
},
},
},
},
ForceDelete: pulumi.Bool(false),
})
if err != nil {
return err
}
_, err = datacatalog.NewTag(ctx, "basic_tag", &datacatalog.TagArgs{
Parent: entry.ID(),
Template: tagTemplate.ID(),
Fields: datacatalog.TagFieldArray{
&datacatalog.TagFieldArgs{
FieldName: pulumi.String("source"),
StringValue: pulumi.String("my-string"),
},
&datacatalog.TagFieldArgs{
FieldName: pulumi.String("num_rows"),
DoubleValue: pulumi.Float64(5),
},
&datacatalog.TagFieldArgs{
FieldName: pulumi.String("pii_type"),
EnumValue: pulumi.String("EMAIL"),
},
},
Column: pulumi.String("address"),
})
if err != nil {
return err
}
_, err = datacatalog.NewTag(ctx, "second-tag", &datacatalog.TagArgs{
Parent: entry.ID(),
Template: tagTemplate.ID(),
Fields: datacatalog.TagFieldArray{
&datacatalog.TagFieldArgs{
FieldName: pulumi.String("source"),
StringValue: pulumi.String("my-string"),
},
&datacatalog.TagFieldArgs{
FieldName: pulumi.String("pii_type"),
EnumValue: pulumi.String("NONE"),
},
},
Column: pulumi.String("first_name"),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var entryGroup = new Gcp.DataCatalog.EntryGroup("entry_group", new()
{
EntryGroupId = "my_entry_group",
});
var entry = new Gcp.DataCatalog.Entry("entry", new()
{
EntryGroup = entryGroup.Id,
EntryId = "my_entry",
UserSpecifiedType = "my_custom_type",
UserSpecifiedSystem = "SomethingExternal",
Schema = @"{
""columns"": [
{
""column"": ""first_name"",
""description"": ""First name"",
""mode"": ""REQUIRED"",
""type"": ""STRING""
},
{
""column"": ""last_name"",
""description"": ""Last name"",
""mode"": ""REQUIRED"",
""type"": ""STRING""
},
{
""column"": ""address"",
""description"": ""Address"",
""mode"": ""REPEATED"",
""subcolumns"": [
{
""column"": ""city"",
""description"": ""City"",
""mode"": ""NULLABLE"",
""type"": ""STRING""
},
{
""column"": ""state"",
""description"": ""State"",
""mode"": ""NULLABLE"",
""type"": ""STRING""
}
],
""type"": ""RECORD""
}
]
}
",
});
var tagTemplate = new Gcp.DataCatalog.TagTemplate("tag_template", new()
{
TagTemplateId = "my_template",
Region = "us-central1",
DisplayName = "Demo Tag Template",
Fields = new[]
{
new Gcp.DataCatalog.Inputs.TagTemplateFieldArgs
{
FieldId = "source",
DisplayName = "Source of data asset",
Type = new Gcp.DataCatalog.Inputs.TagTemplateFieldTypeArgs
{
PrimitiveType = "STRING",
},
IsRequired = true,
},
new Gcp.DataCatalog.Inputs.TagTemplateFieldArgs
{
FieldId = "num_rows",
DisplayName = "Number of rows in the data asset",
Type = new Gcp.DataCatalog.Inputs.TagTemplateFieldTypeArgs
{
PrimitiveType = "DOUBLE",
},
},
new Gcp.DataCatalog.Inputs.TagTemplateFieldArgs
{
FieldId = "pii_type",
DisplayName = "PII type",
Type = new Gcp.DataCatalog.Inputs.TagTemplateFieldTypeArgs
{
EnumType = new Gcp.DataCatalog.Inputs.TagTemplateFieldTypeEnumTypeArgs
{
AllowedValues = new[]
{
new Gcp.DataCatalog.Inputs.TagTemplateFieldTypeEnumTypeAllowedValueArgs
{
DisplayName = "EMAIL",
},
new Gcp.DataCatalog.Inputs.TagTemplateFieldTypeEnumTypeAllowedValueArgs
{
DisplayName = "SOCIAL SECURITY NUMBER",
},
new Gcp.DataCatalog.Inputs.TagTemplateFieldTypeEnumTypeAllowedValueArgs
{
DisplayName = "NONE",
},
},
},
},
},
},
ForceDelete = false,
});
var basicTag = new Gcp.DataCatalog.Tag("basic_tag", new()
{
Parent = entry.Id,
Template = tagTemplate.Id,
Fields = new[]
{
new Gcp.DataCatalog.Inputs.TagFieldArgs
{
FieldName = "source",
StringValue = "my-string",
},
new Gcp.DataCatalog.Inputs.TagFieldArgs
{
FieldName = "num_rows",
DoubleValue = 5,
},
new Gcp.DataCatalog.Inputs.TagFieldArgs
{
FieldName = "pii_type",
EnumValue = "EMAIL",
},
},
Column = "address",
});
var second_tag = new Gcp.DataCatalog.Tag("second-tag", new()
{
Parent = entry.Id,
Template = tagTemplate.Id,
Fields = new[]
{
new Gcp.DataCatalog.Inputs.TagFieldArgs
{
FieldName = "source",
StringValue = "my-string",
},
new Gcp.DataCatalog.Inputs.TagFieldArgs
{
FieldName = "pii_type",
EnumValue = "NONE",
},
},
Column = "first_name",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.datacatalog.EntryGroup;
import com.pulumi.gcp.datacatalog.EntryGroupArgs;
import com.pulumi.gcp.datacatalog.Entry;
import com.pulumi.gcp.datacatalog.EntryArgs;
import com.pulumi.gcp.datacatalog.TagTemplate;
import com.pulumi.gcp.datacatalog.TagTemplateArgs;
import com.pulumi.gcp.datacatalog.inputs.TagTemplateFieldArgs;
import com.pulumi.gcp.datacatalog.inputs.TagTemplateFieldTypeArgs;
import com.pulumi.gcp.datacatalog.inputs.TagTemplateFieldTypeEnumTypeArgs;
import com.pulumi.gcp.datacatalog.Tag;
import com.pulumi.gcp.datacatalog.TagArgs;
import com.pulumi.gcp.datacatalog.inputs.TagFieldArgs;
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 entryGroup = new EntryGroup("entryGroup", EntryGroupArgs.builder()
.entryGroupId("my_entry_group")
.build());
var entry = new Entry("entry", EntryArgs.builder()
.entryGroup(entryGroup.id())
.entryId("my_entry")
.userSpecifiedType("my_custom_type")
.userSpecifiedSystem("SomethingExternal")
.schema("""
{
"columns": [
{
"column": "first_name",
"description": "First name",
"mode": "REQUIRED",
"type": "STRING"
},
{
"column": "last_name",
"description": "Last name",
"mode": "REQUIRED",
"type": "STRING"
},
{
"column": "address",
"description": "Address",
"mode": "REPEATED",
"subcolumns": [
{
"column": "city",
"description": "City",
"mode": "NULLABLE",
"type": "STRING"
},
{
"column": "state",
"description": "State",
"mode": "NULLABLE",
"type": "STRING"
}
],
"type": "RECORD"
}
]
}
""")
.build());
var tagTemplate = new TagTemplate("tagTemplate", TagTemplateArgs.builder()
.tagTemplateId("my_template")
.region("us-central1")
.displayName("Demo Tag Template")
.fields(
TagTemplateFieldArgs.builder()
.fieldId("source")
.displayName("Source of data asset")
.type(TagTemplateFieldTypeArgs.builder()
.primitiveType("STRING")
.build())
.isRequired(true)
.build(),
TagTemplateFieldArgs.builder()
.fieldId("num_rows")
.displayName("Number of rows in the data asset")
.type(TagTemplateFieldTypeArgs.builder()
.primitiveType("DOUBLE")
.build())
.build(),
TagTemplateFieldArgs.builder()
.fieldId("pii_type")
.displayName("PII type")
.type(TagTemplateFieldTypeArgs.builder()
.enumType(TagTemplateFieldTypeEnumTypeArgs.builder()
.allowedValues(
TagTemplateFieldTypeEnumTypeAllowedValueArgs.builder()
.displayName("EMAIL")
.build(),
TagTemplateFieldTypeEnumTypeAllowedValueArgs.builder()
.displayName("SOCIAL SECURITY NUMBER")
.build(),
TagTemplateFieldTypeEnumTypeAllowedValueArgs.builder()
.displayName("NONE")
.build())
.build())
.build())
.build())
.forceDelete("false")
.build());
var basicTag = new Tag("basicTag", TagArgs.builder()
.parent(entry.id())
.template(tagTemplate.id())
.fields(
TagFieldArgs.builder()
.fieldName("source")
.stringValue("my-string")
.build(),
TagFieldArgs.builder()
.fieldName("num_rows")
.doubleValue(5)
.build(),
TagFieldArgs.builder()
.fieldName("pii_type")
.enumValue("EMAIL")
.build())
.column("address")
.build());
var second_tag = new Tag("second-tag", TagArgs.builder()
.parent(entry.id())
.template(tagTemplate.id())
.fields(
TagFieldArgs.builder()
.fieldName("source")
.stringValue("my-string")
.build(),
TagFieldArgs.builder()
.fieldName("pii_type")
.enumValue("NONE")
.build())
.column("first_name")
.build());
}
}
resources:
entry:
type: gcp:datacatalog:Entry
properties:
entryGroup: ${entryGroup.id}
entryId: my_entry
userSpecifiedType: my_custom_type
userSpecifiedSystem: SomethingExternal
schema: |
{
"columns": [
{
"column": "first_name",
"description": "First name",
"mode": "REQUIRED",
"type": "STRING"
},
{
"column": "last_name",
"description": "Last name",
"mode": "REQUIRED",
"type": "STRING"
},
{
"column": "address",
"description": "Address",
"mode": "REPEATED",
"subcolumns": [
{
"column": "city",
"description": "City",
"mode": "NULLABLE",
"type": "STRING"
},
{
"column": "state",
"description": "State",
"mode": "NULLABLE",
"type": "STRING"
}
],
"type": "RECORD"
}
]
}
entryGroup:
type: gcp:datacatalog:EntryGroup
name: entry_group
properties:
entryGroupId: my_entry_group
tagTemplate:
type: gcp:datacatalog:TagTemplate
name: tag_template
properties:
tagTemplateId: my_template
region: us-central1
displayName: Demo Tag Template
fields:
- fieldId: source
displayName: Source of data asset
type:
primitiveType: STRING
isRequired: true
- fieldId: num_rows
displayName: Number of rows in the data asset
type:
primitiveType: DOUBLE
- fieldId: pii_type
displayName: PII type
type:
enumType:
allowedValues:
- displayName: EMAIL
- displayName: SOCIAL SECURITY NUMBER
- displayName: NONE
forceDelete: 'false'
basicTag:
type: gcp:datacatalog:Tag
name: basic_tag
properties:
parent: ${entry.id}
template: ${tagTemplate.id}
fields:
- fieldName: source
stringValue: my-string
- fieldName: num_rows
doubleValue: 5
- fieldName: pii_type
enumValue: EMAIL
column: address
second-tag:
type: gcp:datacatalog:Tag
properties:
parent: ${entry.id}
template: ${tagTemplate.id}
fields:
- fieldName: source
stringValue: my-string
- fieldName: pii_type
enumValue: NONE
column: first_name
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,
fields: Optional[Sequence[TagFieldArgs]] = None,
template: Optional[str] = None,
column: Optional[str] = None,
parent: Optional[str] = None)
func NewTag(ctx *Context, name string, args TagArgs, opts ...ResourceOption) (*Tag, error)
public Tag(string name, TagArgs args, CustomResourceOptions? opts = null)
type: gcp:datacatalog:Tag
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 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 Gcp.DataCatalog.Tag("tagResource", new()
{
Fields = new[]
{
new Gcp.DataCatalog.Inputs.TagFieldArgs
{
FieldName = "string",
BoolValue = false,
DisplayName = "string",
DoubleValue = 0,
EnumValue = "string",
Order = 0,
StringValue = "string",
TimestampValue = "string",
},
},
Template = "string",
Column = "string",
Parent = "string",
});
example, err := datacatalog.NewTag(ctx, "tagResource", &datacatalog.TagArgs{
Fields: datacatalog.TagFieldArray{
&datacatalog.TagFieldArgs{
FieldName: pulumi.String("string"),
BoolValue: pulumi.Bool(false),
DisplayName: pulumi.String("string"),
DoubleValue: pulumi.Float64(0),
EnumValue: pulumi.String("string"),
Order: pulumi.Int(0),
StringValue: pulumi.String("string"),
TimestampValue: pulumi.String("string"),
},
},
Template: pulumi.String("string"),
Column: pulumi.String("string"),
Parent: pulumi.String("string"),
})
var tagResource = new Tag("tagResource", TagArgs.builder()
.fields(TagFieldArgs.builder()
.fieldName("string")
.boolValue(false)
.displayName("string")
.doubleValue(0)
.enumValue("string")
.order(0)
.stringValue("string")
.timestampValue("string")
.build())
.template("string")
.column("string")
.parent("string")
.build());
tag_resource = gcp.datacatalog.Tag("tagResource",
fields=[gcp.datacatalog.TagFieldArgs(
field_name="string",
bool_value=False,
display_name="string",
double_value=0,
enum_value="string",
order=0,
string_value="string",
timestamp_value="string",
)],
template="string",
column="string",
parent="string")
const tagResource = new gcp.datacatalog.Tag("tagResource", {
fields: [{
fieldName: "string",
boolValue: false,
displayName: "string",
doubleValue: 0,
enumValue: "string",
order: 0,
stringValue: "string",
timestampValue: "string",
}],
template: "string",
column: "string",
parent: "string",
});
type: gcp:datacatalog:Tag
properties:
column: string
fields:
- boolValue: false
displayName: string
doubleValue: 0
enumValue: string
fieldName: string
order: 0
stringValue: string
timestampValue: string
parent: string
template: 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
The Tag resource accepts the following input properties:
- Fields
List<Tag
Field> - This maps the ID of a tag field to the value of and additional information about that field. Valid field IDs are defined by the tag's template. A tag must have at least 1 field and at most 500 fields. Structure is documented below.
- Template string
- The resource name of the tag template that this tag uses. Example: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId} This field cannot be modified after creation.
- Column string
- Resources like Entry can have schemas associated with them. This scope allows users to attach tags to an individual column based on that schema. For attaching a tag to a nested column, use '.' to separate the column names. Example: 'outer_column.inner_column'
- Parent string
- The name of the parent this tag is attached to. This can be the name of an entry or an entry group. If an entry group, the tag will be attached to all entries in that group.
- Fields
[]Tag
Field Args - This maps the ID of a tag field to the value of and additional information about that field. Valid field IDs are defined by the tag's template. A tag must have at least 1 field and at most 500 fields. Structure is documented below.
- Template string
- The resource name of the tag template that this tag uses. Example: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId} This field cannot be modified after creation.
- Column string
- Resources like Entry can have schemas associated with them. This scope allows users to attach tags to an individual column based on that schema. For attaching a tag to a nested column, use '.' to separate the column names. Example: 'outer_column.inner_column'
- Parent string
- The name of the parent this tag is attached to. This can be the name of an entry or an entry group. If an entry group, the tag will be attached to all entries in that group.
- fields
List<Tag
Field> - This maps the ID of a tag field to the value of and additional information about that field. Valid field IDs are defined by the tag's template. A tag must have at least 1 field and at most 500 fields. Structure is documented below.
- template String
- The resource name of the tag template that this tag uses. Example: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId} This field cannot be modified after creation.
- column String
- Resources like Entry can have schemas associated with them. This scope allows users to attach tags to an individual column based on that schema. For attaching a tag to a nested column, use '.' to separate the column names. Example: 'outer_column.inner_column'
- parent String
- The name of the parent this tag is attached to. This can be the name of an entry or an entry group. If an entry group, the tag will be attached to all entries in that group.
- fields
Tag
Field[] - This maps the ID of a tag field to the value of and additional information about that field. Valid field IDs are defined by the tag's template. A tag must have at least 1 field and at most 500 fields. Structure is documented below.
- template string
- The resource name of the tag template that this tag uses. Example: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId} This field cannot be modified after creation.
- column string
- Resources like Entry can have schemas associated with them. This scope allows users to attach tags to an individual column based on that schema. For attaching a tag to a nested column, use '.' to separate the column names. Example: 'outer_column.inner_column'
- parent string
- The name of the parent this tag is attached to. This can be the name of an entry or an entry group. If an entry group, the tag will be attached to all entries in that group.
- fields
Sequence[Tag
Field Args] - This maps the ID of a tag field to the value of and additional information about that field. Valid field IDs are defined by the tag's template. A tag must have at least 1 field and at most 500 fields. Structure is documented below.
- template str
- The resource name of the tag template that this tag uses. Example: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId} This field cannot be modified after creation.
- column str
- Resources like Entry can have schemas associated with them. This scope allows users to attach tags to an individual column based on that schema. For attaching a tag to a nested column, use '.' to separate the column names. Example: 'outer_column.inner_column'
- parent str
- The name of the parent this tag is attached to. This can be the name of an entry or an entry group. If an entry group, the tag will be attached to all entries in that group.
- fields List<Property Map>
- This maps the ID of a tag field to the value of and additional information about that field. Valid field IDs are defined by the tag's template. A tag must have at least 1 field and at most 500 fields. Structure is documented below.
- template String
- The resource name of the tag template that this tag uses. Example: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId} This field cannot be modified after creation.
- column String
- Resources like Entry can have schemas associated with them. This scope allows users to attach tags to an individual column based on that schema. For attaching a tag to a nested column, use '.' to separate the column names. Example: 'outer_column.inner_column'
- parent String
- The name of the parent this tag is attached to. This can be the name of an entry or an entry group. If an entry group, the tag will be attached to all entries in that group.
Outputs
All input properties are implicitly available as output properties. Additionally, the Tag resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- The resource name of the tag in URL format. Example: projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/entries/{entryId}/tags/{tag_id} or projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/tags/{tag_id} where tag_id is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.
- Template
Displayname string - The display name of the tag template.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- The resource name of the tag in URL format. Example: projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/entries/{entryId}/tags/{tag_id} or projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/tags/{tag_id} where tag_id is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.
- Template
Displayname string - The display name of the tag template.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- The resource name of the tag in URL format. Example: projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/entries/{entryId}/tags/{tag_id} or projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/tags/{tag_id} where tag_id is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.
- template
Displayname String - The display name of the tag template.
- id string
- The provider-assigned unique ID for this managed resource.
- name string
- The resource name of the tag in URL format. Example: projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/entries/{entryId}/tags/{tag_id} or projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/tags/{tag_id} where tag_id is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.
- template
Displayname string - The display name of the tag template.
- id str
- The provider-assigned unique ID for this managed resource.
- name str
- The resource name of the tag in URL format. Example: projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/entries/{entryId}/tags/{tag_id} or projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/tags/{tag_id} where tag_id is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.
- template_
displayname str - The display name of the tag template.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- The resource name of the tag in URL format. Example: projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/entries/{entryId}/tags/{tag_id} or projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/tags/{tag_id} where tag_id is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.
- template
Displayname String - The display name of the tag template.
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,
column: Optional[str] = None,
fields: Optional[Sequence[TagFieldArgs]] = None,
name: Optional[str] = None,
parent: Optional[str] = None,
template: Optional[str] = None,
template_displayname: Optional[str] = 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)
Resource lookup is not supported in YAML
- 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.
- Column string
- Resources like Entry can have schemas associated with them. This scope allows users to attach tags to an individual column based on that schema. For attaching a tag to a nested column, use '.' to separate the column names. Example: 'outer_column.inner_column'
- Fields
List<Tag
Field> - This maps the ID of a tag field to the value of and additional information about that field. Valid field IDs are defined by the tag's template. A tag must have at least 1 field and at most 500 fields. Structure is documented below.
- Name string
- The resource name of the tag in URL format. Example: projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/entries/{entryId}/tags/{tag_id} or projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/tags/{tag_id} where tag_id is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.
- Parent string
- The name of the parent this tag is attached to. This can be the name of an entry or an entry group. If an entry group, the tag will be attached to all entries in that group.
- Template string
- The resource name of the tag template that this tag uses. Example: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId} This field cannot be modified after creation.
- Template
Displayname string - The display name of the tag template.
- Column string
- Resources like Entry can have schemas associated with them. This scope allows users to attach tags to an individual column based on that schema. For attaching a tag to a nested column, use '.' to separate the column names. Example: 'outer_column.inner_column'
- Fields
[]Tag
Field Args - This maps the ID of a tag field to the value of and additional information about that field. Valid field IDs are defined by the tag's template. A tag must have at least 1 field and at most 500 fields. Structure is documented below.
- Name string
- The resource name of the tag in URL format. Example: projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/entries/{entryId}/tags/{tag_id} or projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/tags/{tag_id} where tag_id is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.
- Parent string
- The name of the parent this tag is attached to. This can be the name of an entry or an entry group. If an entry group, the tag will be attached to all entries in that group.
- Template string
- The resource name of the tag template that this tag uses. Example: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId} This field cannot be modified after creation.
- Template
Displayname string - The display name of the tag template.
- column String
- Resources like Entry can have schemas associated with them. This scope allows users to attach tags to an individual column based on that schema. For attaching a tag to a nested column, use '.' to separate the column names. Example: 'outer_column.inner_column'
- fields
List<Tag
Field> - This maps the ID of a tag field to the value of and additional information about that field. Valid field IDs are defined by the tag's template. A tag must have at least 1 field and at most 500 fields. Structure is documented below.
- name String
- The resource name of the tag in URL format. Example: projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/entries/{entryId}/tags/{tag_id} or projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/tags/{tag_id} where tag_id is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.
- parent String
- The name of the parent this tag is attached to. This can be the name of an entry or an entry group. If an entry group, the tag will be attached to all entries in that group.
- template String
- The resource name of the tag template that this tag uses. Example: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId} This field cannot be modified after creation.
- template
Displayname String - The display name of the tag template.
- column string
- Resources like Entry can have schemas associated with them. This scope allows users to attach tags to an individual column based on that schema. For attaching a tag to a nested column, use '.' to separate the column names. Example: 'outer_column.inner_column'
- fields
Tag
Field[] - This maps the ID of a tag field to the value of and additional information about that field. Valid field IDs are defined by the tag's template. A tag must have at least 1 field and at most 500 fields. Structure is documented below.
- name string
- The resource name of the tag in URL format. Example: projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/entries/{entryId}/tags/{tag_id} or projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/tags/{tag_id} where tag_id is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.
- parent string
- The name of the parent this tag is attached to. This can be the name of an entry or an entry group. If an entry group, the tag will be attached to all entries in that group.
- template string
- The resource name of the tag template that this tag uses. Example: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId} This field cannot be modified after creation.
- template
Displayname string - The display name of the tag template.
- column str
- Resources like Entry can have schemas associated with them. This scope allows users to attach tags to an individual column based on that schema. For attaching a tag to a nested column, use '.' to separate the column names. Example: 'outer_column.inner_column'
- fields
Sequence[Tag
Field Args] - This maps the ID of a tag field to the value of and additional information about that field. Valid field IDs are defined by the tag's template. A tag must have at least 1 field and at most 500 fields. Structure is documented below.
- name str
- The resource name of the tag in URL format. Example: projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/entries/{entryId}/tags/{tag_id} or projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/tags/{tag_id} where tag_id is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.
- parent str
- The name of the parent this tag is attached to. This can be the name of an entry or an entry group. If an entry group, the tag will be attached to all entries in that group.
- template str
- The resource name of the tag template that this tag uses. Example: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId} This field cannot be modified after creation.
- template_
displayname str - The display name of the tag template.
- column String
- Resources like Entry can have schemas associated with them. This scope allows users to attach tags to an individual column based on that schema. For attaching a tag to a nested column, use '.' to separate the column names. Example: 'outer_column.inner_column'
- fields List<Property Map>
- This maps the ID of a tag field to the value of and additional information about that field. Valid field IDs are defined by the tag's template. A tag must have at least 1 field and at most 500 fields. Structure is documented below.
- name String
- The resource name of the tag in URL format. Example: projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/entries/{entryId}/tags/{tag_id} or projects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/tags/{tag_id} where tag_id is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.
- parent String
- The name of the parent this tag is attached to. This can be the name of an entry or an entry group. If an entry group, the tag will be attached to all entries in that group.
- template String
- The resource name of the tag template that this tag uses. Example: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId} This field cannot be modified after creation.
- template
Displayname String - The display name of the tag template.
Supporting Types
TagField, TagFieldArgs
- Field
Name string - The identifier for this object. Format specified above.
- Bool
Value bool - Holds the value for a tag field with boolean type.
- Display
Name string - (Output) The display name of this field
- Double
Value double - Holds the value for a tag field with double type.
- Enum
Value string - Holds the value for a tag field with enum type. This value must be one of the allowed values in the definition of this enum.
- Order int
- (Output) The order of this field with respect to other fields in this tag. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential.
- String
Value string - Holds the value for a tag field with string type.
- Timestamp
Value string - Holds the value for a tag field with timestamp type.
- Field
Name string - The identifier for this object. Format specified above.
- Bool
Value bool - Holds the value for a tag field with boolean type.
- Display
Name string - (Output) The display name of this field
- Double
Value float64 - Holds the value for a tag field with double type.
- Enum
Value string - Holds the value for a tag field with enum type. This value must be one of the allowed values in the definition of this enum.
- Order int
- (Output) The order of this field with respect to other fields in this tag. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential.
- String
Value string - Holds the value for a tag field with string type.
- Timestamp
Value string - Holds the value for a tag field with timestamp type.
- field
Name String - The identifier for this object. Format specified above.
- bool
Value Boolean - Holds the value for a tag field with boolean type.
- display
Name String - (Output) The display name of this field
- double
Value Double - Holds the value for a tag field with double type.
- enum
Value String - Holds the value for a tag field with enum type. This value must be one of the allowed values in the definition of this enum.
- order Integer
- (Output) The order of this field with respect to other fields in this tag. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential.
- string
Value String - Holds the value for a tag field with string type.
- timestamp
Value String - Holds the value for a tag field with timestamp type.
- field
Name string - The identifier for this object. Format specified above.
- bool
Value boolean - Holds the value for a tag field with boolean type.
- display
Name string - (Output) The display name of this field
- double
Value number - Holds the value for a tag field with double type.
- enum
Value string - Holds the value for a tag field with enum type. This value must be one of the allowed values in the definition of this enum.
- order number
- (Output) The order of this field with respect to other fields in this tag. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential.
- string
Value string - Holds the value for a tag field with string type.
- timestamp
Value string - Holds the value for a tag field with timestamp type.
- field_
name str - The identifier for this object. Format specified above.
- bool_
value bool - Holds the value for a tag field with boolean type.
- display_
name str - (Output) The display name of this field
- double_
value float - Holds the value for a tag field with double type.
- enum_
value str - Holds the value for a tag field with enum type. This value must be one of the allowed values in the definition of this enum.
- order int
- (Output) The order of this field with respect to other fields in this tag. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential.
- string_
value str - Holds the value for a tag field with string type.
- timestamp_
value str - Holds the value for a tag field with timestamp type.
- field
Name String - The identifier for this object. Format specified above.
- bool
Value Boolean - Holds the value for a tag field with boolean type.
- display
Name String - (Output) The display name of this field
- double
Value Number - Holds the value for a tag field with double type.
- enum
Value String - Holds the value for a tag field with enum type. This value must be one of the allowed values in the definition of this enum.
- order Number
- (Output) The order of this field with respect to other fields in this tag. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential.
- string
Value String - Holds the value for a tag field with string type.
- timestamp
Value String - Holds the value for a tag field with timestamp type.
Import
Tag can be imported using any of these accepted formats:
{{name}}
When using the pulumi import
command, Tag can be imported using one of the formats above. For example:
$ pulumi import gcp:datacatalog/tag:Tag default {{name}}
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Google Cloud (GCP) Classic pulumi/pulumi-gcp
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
google-beta
Terraform Provider.