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.EntryGroupIamPolicycannot be used in conjunction withgcp.datacatalog.EntryGroupIamBindingandgcp.datacatalog.EntryGroupIamMemberor they will fight over what your policy should be.
Note:
gcp.datacatalog.EntryGroupIamBindingresources can be used in conjunction withgcp.datacatalog.EntryGroupIamMemberresources 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.EntryGroupIamPolicycannot be used in conjunction withgcp.datacatalog.EntryGroupIamBindingandgcp.datacatalog.EntryGroupIamMemberor they will fight over what your policy should be.
Note:
gcp.datacatalog.EntryGroupIamBindingresources can be used in conjunction withgcp.datacatalog.EntryGroupIamMemberresources 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.EntryGroupIamPolicycannot be used in conjunction withgcp.datacatalog.EntryGroupIamBindingandgcp.datacatalog.EntryGroupIamMemberor they will fight over what your policy should be.
Note:
gcp.datacatalog.EntryGroupIamBindingresources can be used in conjunction withgcp.datacatalog.EntryGroupIamMemberresources 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",
});
}
}