Show / Hide Table of Contents

Namespace Pulumi.Gcp.DataCatalog

Classes

Entry

Entry Metadata. A Data Catalog Entry resource represents another resource in Google Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic) or outside of Google Cloud Platform. Clients can use the linkedResource field in the Entry resource to refer to the original resource ID of the source system.

An Entry resource contains resource details, such as its schema. An Entry can also be used to attach flexible metadata, such as a Tag.

To get more information about Entry, see:

  • API documentation
  • How-to Guides
  • Official Documentation

Example Usage - Data Catalog Entry Basic

using Pulumi;
using Gcp = Pulumi.Gcp;

class MyStack : Stack
{
public MyStack()
{
    var entryGroup = new Gcp.DataCatalog.EntryGroup("entryGroup", new Gcp.DataCatalog.EntryGroupArgs
    {
        EntryGroupId = "my_group",
    });
    var basicEntry = new Gcp.DataCatalog.Entry("basicEntry", new Gcp.DataCatalog.EntryArgs
    {
        EntryGroup = entryGroup.Id,
        EntryId = "my_entry",
        UserSpecifiedType = "my_custom_type",
        UserSpecifiedSystem = "SomethingExternal",
    });
}

}

Example Usage - Data Catalog Entry Full

using Pulumi;
using Gcp = Pulumi.Gcp;

class MyStack : Stack
{
public MyStack()
{
    var entryGroup = new Gcp.DataCatalog.EntryGroup("entryGroup", new Gcp.DataCatalog.EntryGroupArgs
    {
        EntryGroupId = "my_group",
    });
    var basicEntry = new Gcp.DataCatalog.Entry("basicEntry", new Gcp.DataCatalog.EntryArgs
    {
        EntryGroup = entryGroup.Id,
        EntryId = "my_entry",
        UserSpecifiedType = "my_user_specified_type",
        UserSpecifiedSystem = "Something_custom",
        LinkedResource = "my/linked/resource",
        DisplayName = "my custom type entry",
        Description = "a custom type entry for a user specified system",
        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""
}
]
}
",
    });
}

}

EntryArgs

EntryGroup

EntryGroupArgs

EntryGroupIamBinding

Three different resources help you manage your IAM policy for Data catalog EntryGroup. Each of these resources serves a different use case:

  • gcp.datacatalog.EntryGroupIamPolicy: Authoritative. Sets the IAM policy for the entrygroup and replaces any existing policy already attached.
  • gcp.datacatalog.EntryGroupIamBinding: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the entrygroup are preserved.
  • gcp.datacatalog.EntryGroupIamMember: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the entrygroup are preserved.

Note: gcp.datacatalog.EntryGroupIamPolicy cannot be used in conjunction with gcp.datacatalog.EntryGroupIamBinding and gcp.datacatalog.EntryGroupIamMember or they will fight over what your policy should be.

Note: gcp.datacatalog.EntryGroupIamBinding resources can be used in conjunction with gcp.datacatalog.EntryGroupIamMember resources only if they do not grant privilege to the same role.

google_data_catalog_entry_group_iam_policy

using Pulumi;
using Gcp = Pulumi.Gcp;

class MyStack : Stack
{
public MyStack()
{
    var admin = Output.Create(Gcp.Organizations.GetIAMPolicy.InvokeAsync(new Gcp.Organizations.GetIAMPolicyArgs
    {
        Binding = 
        {

            {
                { "role", "roles/viewer" },
                { "members", 
                {
                    "user:jane@example.com",
                } },
            },
        },
    }));
    var policy = new Gcp.DataCatalog.EntryGroupIamPolicy("policy", new Gcp.DataCatalog.EntryGroupIamPolicyArgs
    {
        EntryGroup = google_data_catalog_entry_group.Basic_entry_group.Name,
        PolicyData = admin.Apply(admin => admin.PolicyData),
    });
}

}

google_data_catalog_entry_group_iam_binding

using Pulumi;
using Gcp = Pulumi.Gcp;

class MyStack : Stack
{
public MyStack()
{
    var binding = new Gcp.DataCatalog.EntryGroupIamBinding("binding", new Gcp.DataCatalog.EntryGroupIamBindingArgs
    {
        EntryGroup = google_data_catalog_entry_group.Basic_entry_group.Name,
        Role = "roles/viewer",
        Members = 
        {
            "user:jane@example.com",
        },
    });
}

}

google_data_catalog_entry_group_iam_member

using Pulumi;
using Gcp = Pulumi.Gcp;

class MyStack : Stack
{
public MyStack()
{
    var member = new Gcp.DataCatalog.EntryGroupIamMember("member", new Gcp.DataCatalog.EntryGroupIamMemberArgs
    {
        EntryGroup = google_data_catalog_entry_group.Basic_entry_group.Name,
        Role = "roles/viewer",
        Member = "user:jane@example.com",
    });
}

}

EntryGroupIamBindingArgs

EntryGroupIamBindingState

EntryGroupIamMember

Three different resources help you manage your IAM policy for Data catalog EntryGroup. Each of these resources serves a different use case:

  • gcp.datacatalog.EntryGroupIamPolicy: Authoritative. Sets the IAM policy for the entrygroup and replaces any existing policy already attached.
  • gcp.datacatalog.EntryGroupIamBinding: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the entrygroup are preserved.
  • gcp.datacatalog.EntryGroupIamMember: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the entrygroup are preserved.

Note: gcp.datacatalog.EntryGroupIamPolicy cannot be used in conjunction with gcp.datacatalog.EntryGroupIamBinding and gcp.datacatalog.EntryGroupIamMember or they will fight over what your policy should be.

Note: gcp.datacatalog.EntryGroupIamBinding resources can be used in conjunction with gcp.datacatalog.EntryGroupIamMember resources only if they do not grant privilege to the same role.

google_data_catalog_entry_group_iam_policy

using Pulumi;
using Gcp = Pulumi.Gcp;

class MyStack : Stack
{
public MyStack()
{
    var admin = Output.Create(Gcp.Organizations.GetIAMPolicy.InvokeAsync(new Gcp.Organizations.GetIAMPolicyArgs
    {
        Binding = 
        {

            {
                { "role", "roles/viewer" },
                { "members", 
                {
                    "user:jane@example.com",
                } },
            },
        },
    }));
    var policy = new Gcp.DataCatalog.EntryGroupIamPolicy("policy", new Gcp.DataCatalog.EntryGroupIamPolicyArgs
    {
        EntryGroup = google_data_catalog_entry_group.Basic_entry_group.Name,
        PolicyData = admin.Apply(admin => admin.PolicyData),
    });
}

}

google_data_catalog_entry_group_iam_binding

using Pulumi;
using Gcp = Pulumi.Gcp;

class MyStack : Stack
{
public MyStack()
{
    var binding = new Gcp.DataCatalog.EntryGroupIamBinding("binding", new Gcp.DataCatalog.EntryGroupIamBindingArgs
    {
        EntryGroup = google_data_catalog_entry_group.Basic_entry_group.Name,
        Role = "roles/viewer",
        Members = 
        {
            "user:jane@example.com",
        },
    });
}

}

google_data_catalog_entry_group_iam_member

using Pulumi;
using Gcp = Pulumi.Gcp;

class MyStack : Stack
{
public MyStack()
{
    var member = new Gcp.DataCatalog.EntryGroupIamMember("member", new Gcp.DataCatalog.EntryGroupIamMemberArgs
    {
        EntryGroup = google_data_catalog_entry_group.Basic_entry_group.Name,
        Role = "roles/viewer",
        Member = "user:jane@example.com",
    });
}

}

EntryGroupIamMemberArgs

EntryGroupIamMemberState

EntryGroupIamPolicy

Three different resources help you manage your IAM policy for Data catalog EntryGroup. Each of these resources serves a different use case:

  • gcp.datacatalog.EntryGroupIamPolicy: Authoritative. Sets the IAM policy for the entrygroup and replaces any existing policy already attached.
  • gcp.datacatalog.EntryGroupIamBinding: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the entrygroup are preserved.
  • gcp.datacatalog.EntryGroupIamMember: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the entrygroup are preserved.

Note: gcp.datacatalog.EntryGroupIamPolicy cannot be used in conjunction with gcp.datacatalog.EntryGroupIamBinding and gcp.datacatalog.EntryGroupIamMember or they will fight over what your policy should be.

Note: gcp.datacatalog.EntryGroupIamBinding resources can be used in conjunction with gcp.datacatalog.EntryGroupIamMember resources only if they do not grant privilege to the same role.

google_data_catalog_entry_group_iam_policy

using Pulumi;
using Gcp = Pulumi.Gcp;

class MyStack : Stack
{
public MyStack()
{
    var admin = Output.Create(Gcp.Organizations.GetIAMPolicy.InvokeAsync(new Gcp.Organizations.GetIAMPolicyArgs
    {
        Binding = 
        {

            {
                { "role", "roles/viewer" },
                { "members", 
                {
                    "user:jane@example.com",
                } },
            },
        },
    }));
    var policy = new Gcp.DataCatalog.EntryGroupIamPolicy("policy", new Gcp.DataCatalog.EntryGroupIamPolicyArgs
    {
        EntryGroup = google_data_catalog_entry_group.Basic_entry_group.Name,
        PolicyData = admin.Apply(admin => admin.PolicyData),
    });
}

}

google_data_catalog_entry_group_iam_binding

using Pulumi;
using Gcp = Pulumi.Gcp;

class MyStack : Stack
{
public MyStack()
{
    var binding = new Gcp.DataCatalog.EntryGroupIamBinding("binding", new Gcp.DataCatalog.EntryGroupIamBindingArgs
    {
        EntryGroup = google_data_catalog_entry_group.Basic_entry_group.Name,
        Role = "roles/viewer",
        Members = 
        {
            "user:jane@example.com",
        },
    });
}

}

google_data_catalog_entry_group_iam_member

using Pulumi;
using Gcp = Pulumi.Gcp;

class MyStack : Stack
{
public MyStack()
{
    var member = new Gcp.DataCatalog.EntryGroupIamMember("member", new Gcp.DataCatalog.EntryGroupIamMemberArgs
    {
        EntryGroup = google_data_catalog_entry_group.Basic_entry_group.Name,
        Role = "roles/viewer",
        Member = "user:jane@example.com",
    });
}

}

EntryGroupIamPolicyArgs

EntryGroupIamPolicyState

EntryGroupState

EntryState

Back to top Copyright 2016-2020, Pulumi Corporation.