published on Thursday, Mar 12, 2026 by Pulumi
published on Thursday, Mar 12, 2026 by Pulumi
A data product is a curated collection of data assets, packaged to address specific use cases.
Warning: This resource is in beta, and should be used with the terraform-provider-google-beta provider. See Provider Versions for more details on beta resources.
To get more information about DataProduct, see:
- API documentation
- How-to Guides
Example Usage
Dataplex Data Product Basic
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const example = new gcp.dataplex.DataProduct("example", {
project: "my-project-name",
location: "us-central1",
dataProductId: "data-product-basic",
displayName: "terraform data product",
ownerEmails: ["gterraformtestuser@gmail.com"],
accessGroups: [{
id: "analyst",
groupId: "analyst",
displayName: "Data Analyst",
principal: {
googleGroup: "tf-test-analysts-_74391@example.com",
},
}],
});
import pulumi
import pulumi_gcp as gcp
example = gcp.dataplex.DataProduct("example",
project="my-project-name",
location="us-central1",
data_product_id="data-product-basic",
display_name="terraform data product",
owner_emails=["gterraformtestuser@gmail.com"],
access_groups=[{
"id": "analyst",
"group_id": "analyst",
"display_name": "Data Analyst",
"principal": {
"google_group": "tf-test-analysts-_74391@example.com",
},
}])
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/dataplex"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := dataplex.NewDataProduct(ctx, "example", &dataplex.DataProductArgs{
Project: pulumi.String("my-project-name"),
Location: pulumi.String("us-central1"),
DataProductId: pulumi.String("data-product-basic"),
DisplayName: pulumi.String("terraform data product"),
OwnerEmails: pulumi.StringArray{
pulumi.String("gterraformtestuser@gmail.com"),
},
AccessGroups: dataplex.DataProductAccessGroupArray{
&dataplex.DataProductAccessGroupArgs{
Id: pulumi.String("analyst"),
GroupId: pulumi.String("analyst"),
DisplayName: pulumi.String("Data Analyst"),
Principal: &dataplex.DataProductAccessGroupPrincipalArgs{
GoogleGroup: pulumi.String("tf-test-analysts-_74391@example.com"),
},
},
},
})
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 example = new Gcp.DataPlex.DataProduct("example", new()
{
Project = "my-project-name",
Location = "us-central1",
DataProductId = "data-product-basic",
DisplayName = "terraform data product",
OwnerEmails = new[]
{
"gterraformtestuser@gmail.com",
},
AccessGroups = new[]
{
new Gcp.DataPlex.Inputs.DataProductAccessGroupArgs
{
Id = "analyst",
GroupId = "analyst",
DisplayName = "Data Analyst",
Principal = new Gcp.DataPlex.Inputs.DataProductAccessGroupPrincipalArgs
{
GoogleGroup = "tf-test-analysts-_74391@example.com",
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.dataplex.DataProduct;
import com.pulumi.gcp.dataplex.DataProductArgs;
import com.pulumi.gcp.dataplex.inputs.DataProductAccessGroupArgs;
import com.pulumi.gcp.dataplex.inputs.DataProductAccessGroupPrincipalArgs;
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 example = new DataProduct("example", DataProductArgs.builder()
.project("my-project-name")
.location("us-central1")
.dataProductId("data-product-basic")
.displayName("terraform data product")
.ownerEmails("gterraformtestuser@gmail.com")
.accessGroups(DataProductAccessGroupArgs.builder()
.id("analyst")
.groupId("analyst")
.displayName("Data Analyst")
.principal(DataProductAccessGroupPrincipalArgs.builder()
.googleGroup("tf-test-analysts-_74391@example.com")
.build())
.build())
.build());
}
}
resources:
example:
type: gcp:dataplex:DataProduct
properties:
project: my-project-name
location: us-central1
dataProductId: data-product-basic
displayName: terraform data product
ownerEmails:
- gterraformtestuser@gmail.com
accessGroups:
- id: analyst
groupId: analyst
displayName: Data Analyst
principal:
googleGroup: tf-test-analysts-_74391@example.com
Dataplex Data Product Full
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const example = new gcp.dataplex.DataProduct("example", {
project: "my-project-name",
location: "us-central1",
dataProductId: "data-product-full",
displayName: "DP Full Test: Special Chars !@#$",
description: "Updated with emojis ๐ and brackets {test}",
ownerEmails: ["gterraformtestuser@gmail.com"],
labels: {
env: "manual-test",
},
accessGroups: [
{
id: "analyst",
groupId: "analyst",
displayName: "Data Analyst - Updated",
description: "In-place update verified",
principal: {
googleGroup: "tf-test-analysts-_16511@example.com",
},
},
{
id: "scientist",
groupId: "scientist",
displayName: "Data Scientist",
principal: {
googleGroup: "tf-test-scientists-_8493@example.com",
},
},
],
});
import pulumi
import pulumi_gcp as gcp
example = gcp.dataplex.DataProduct("example",
project="my-project-name",
location="us-central1",
data_product_id="data-product-full",
display_name="DP Full Test: Special Chars !@#$",
description="Updated with emojis ๐ and brackets {test}",
owner_emails=["gterraformtestuser@gmail.com"],
labels={
"env": "manual-test",
},
access_groups=[
{
"id": "analyst",
"group_id": "analyst",
"display_name": "Data Analyst - Updated",
"description": "In-place update verified",
"principal": {
"google_group": "tf-test-analysts-_16511@example.com",
},
},
{
"id": "scientist",
"group_id": "scientist",
"display_name": "Data Scientist",
"principal": {
"google_group": "tf-test-scientists-_8493@example.com",
},
},
])
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/dataplex"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := dataplex.NewDataProduct(ctx, "example", &dataplex.DataProductArgs{
Project: pulumi.String("my-project-name"),
Location: pulumi.String("us-central1"),
DataProductId: pulumi.String("data-product-full"),
DisplayName: pulumi.String("DP Full Test: Special Chars !@#$"),
Description: pulumi.String("Updated with emojis ๐ and brackets {test}"),
OwnerEmails: pulumi.StringArray{
pulumi.String("gterraformtestuser@gmail.com"),
},
Labels: pulumi.StringMap{
"env": pulumi.String("manual-test"),
},
AccessGroups: dataplex.DataProductAccessGroupArray{
&dataplex.DataProductAccessGroupArgs{
Id: pulumi.String("analyst"),
GroupId: pulumi.String("analyst"),
DisplayName: pulumi.String("Data Analyst - Updated"),
Description: pulumi.String("In-place update verified"),
Principal: &dataplex.DataProductAccessGroupPrincipalArgs{
GoogleGroup: pulumi.String("tf-test-analysts-_16511@example.com"),
},
},
&dataplex.DataProductAccessGroupArgs{
Id: pulumi.String("scientist"),
GroupId: pulumi.String("scientist"),
DisplayName: pulumi.String("Data Scientist"),
Principal: &dataplex.DataProductAccessGroupPrincipalArgs{
GoogleGroup: pulumi.String("tf-test-scientists-_8493@example.com"),
},
},
},
})
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 example = new Gcp.DataPlex.DataProduct("example", new()
{
Project = "my-project-name",
Location = "us-central1",
DataProductId = "data-product-full",
DisplayName = "DP Full Test: Special Chars !@#$",
Description = "Updated with emojis ๐ and brackets {test}",
OwnerEmails = new[]
{
"gterraformtestuser@gmail.com",
},
Labels =
{
{ "env", "manual-test" },
},
AccessGroups = new[]
{
new Gcp.DataPlex.Inputs.DataProductAccessGroupArgs
{
Id = "analyst",
GroupId = "analyst",
DisplayName = "Data Analyst - Updated",
Description = "In-place update verified",
Principal = new Gcp.DataPlex.Inputs.DataProductAccessGroupPrincipalArgs
{
GoogleGroup = "tf-test-analysts-_16511@example.com",
},
},
new Gcp.DataPlex.Inputs.DataProductAccessGroupArgs
{
Id = "scientist",
GroupId = "scientist",
DisplayName = "Data Scientist",
Principal = new Gcp.DataPlex.Inputs.DataProductAccessGroupPrincipalArgs
{
GoogleGroup = "tf-test-scientists-_8493@example.com",
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.dataplex.DataProduct;
import com.pulumi.gcp.dataplex.DataProductArgs;
import com.pulumi.gcp.dataplex.inputs.DataProductAccessGroupArgs;
import com.pulumi.gcp.dataplex.inputs.DataProductAccessGroupPrincipalArgs;
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 example = new DataProduct("example", DataProductArgs.builder()
.project("my-project-name")
.location("us-central1")
.dataProductId("data-product-full")
.displayName("DP Full Test: Special Chars !@#$")
.description("Updated with emojis ๐ and brackets {test}")
.ownerEmails("gterraformtestuser@gmail.com")
.labels(Map.of("env", "manual-test"))
.accessGroups(
DataProductAccessGroupArgs.builder()
.id("analyst")
.groupId("analyst")
.displayName("Data Analyst - Updated")
.description("In-place update verified")
.principal(DataProductAccessGroupPrincipalArgs.builder()
.googleGroup("tf-test-analysts-_16511@example.com")
.build())
.build(),
DataProductAccessGroupArgs.builder()
.id("scientist")
.groupId("scientist")
.displayName("Data Scientist")
.principal(DataProductAccessGroupPrincipalArgs.builder()
.googleGroup("tf-test-scientists-_8493@example.com")
.build())
.build())
.build());
}
}
resources:
example:
type: gcp:dataplex:DataProduct
properties:
project: my-project-name
location: us-central1
dataProductId: data-product-full
displayName: 'DP Full Test: Special Chars !@#$'
description: "Updated with emojis \U0001F680 and brackets {test}"
ownerEmails:
- gterraformtestuser@gmail.com
labels:
env: manual-test
accessGroups:
- id: analyst
groupId: analyst
displayName: Data Analyst - Updated
description: In-place update verified
principal:
googleGroup: tf-test-analysts-_16511@example.com
- id: scientist
groupId: scientist
displayName: Data Scientist
principal:
googleGroup: tf-test-scientists-_8493@example.com
Create DataProduct Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new DataProduct(name: string, args: DataProductArgs, opts?: CustomResourceOptions);@overload
def DataProduct(resource_name: str,
args: DataProductArgs,
opts: Optional[ResourceOptions] = None)
@overload
def DataProduct(resource_name: str,
opts: Optional[ResourceOptions] = None,
data_product_id: Optional[str] = None,
display_name: Optional[str] = None,
location: Optional[str] = None,
owner_emails: Optional[Sequence[str]] = None,
access_groups: Optional[Sequence[DataProductAccessGroupArgs]] = None,
description: Optional[str] = None,
labels: Optional[Mapping[str, str]] = None,
project: Optional[str] = None)func NewDataProduct(ctx *Context, name string, args DataProductArgs, opts ...ResourceOption) (*DataProduct, error)public DataProduct(string name, DataProductArgs args, CustomResourceOptions? opts = null)
public DataProduct(String name, DataProductArgs args)
public DataProduct(String name, DataProductArgs args, CustomResourceOptions options)
type: gcp:dataplex:DataProduct
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 DataProductArgs
- 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 DataProductArgs
- 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 DataProductArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args DataProductArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args DataProductArgs
- 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 dataProductResource = new Gcp.DataPlex.DataProduct("dataProductResource", new()
{
DataProductId = "string",
DisplayName = "string",
Location = "string",
OwnerEmails = new[]
{
"string",
},
AccessGroups = new[]
{
new Gcp.DataPlex.Inputs.DataProductAccessGroupArgs
{
DisplayName = "string",
GroupId = "string",
Id = "string",
Principal = new Gcp.DataPlex.Inputs.DataProductAccessGroupPrincipalArgs
{
GoogleGroup = "string",
},
Description = "string",
},
},
Description = "string",
Labels =
{
{ "string", "string" },
},
Project = "string",
});
example, err := dataplex.NewDataProduct(ctx, "dataProductResource", &dataplex.DataProductArgs{
DataProductId: pulumi.String("string"),
DisplayName: pulumi.String("string"),
Location: pulumi.String("string"),
OwnerEmails: pulumi.StringArray{
pulumi.String("string"),
},
AccessGroups: dataplex.DataProductAccessGroupArray{
&dataplex.DataProductAccessGroupArgs{
DisplayName: pulumi.String("string"),
GroupId: pulumi.String("string"),
Id: pulumi.String("string"),
Principal: &dataplex.DataProductAccessGroupPrincipalArgs{
GoogleGroup: pulumi.String("string"),
},
Description: pulumi.String("string"),
},
},
Description: pulumi.String("string"),
Labels: pulumi.StringMap{
"string": pulumi.String("string"),
},
Project: pulumi.String("string"),
})
var dataProductResource = new DataProduct("dataProductResource", DataProductArgs.builder()
.dataProductId("string")
.displayName("string")
.location("string")
.ownerEmails("string")
.accessGroups(DataProductAccessGroupArgs.builder()
.displayName("string")
.groupId("string")
.id("string")
.principal(DataProductAccessGroupPrincipalArgs.builder()
.googleGroup("string")
.build())
.description("string")
.build())
.description("string")
.labels(Map.of("string", "string"))
.project("string")
.build());
data_product_resource = gcp.dataplex.DataProduct("dataProductResource",
data_product_id="string",
display_name="string",
location="string",
owner_emails=["string"],
access_groups=[{
"display_name": "string",
"group_id": "string",
"id": "string",
"principal": {
"google_group": "string",
},
"description": "string",
}],
description="string",
labels={
"string": "string",
},
project="string")
const dataProductResource = new gcp.dataplex.DataProduct("dataProductResource", {
dataProductId: "string",
displayName: "string",
location: "string",
ownerEmails: ["string"],
accessGroups: [{
displayName: "string",
groupId: "string",
id: "string",
principal: {
googleGroup: "string",
},
description: "string",
}],
description: "string",
labels: {
string: "string",
},
project: "string",
});
type: gcp:dataplex:DataProduct
properties:
accessGroups:
- description: string
displayName: string
groupId: string
id: string
principal:
googleGroup: string
dataProductId: string
description: string
displayName: string
labels:
string: string
location: string
ownerEmails:
- string
project: string
DataProduct 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 DataProduct resource accepts the following input properties:
- Data
Product stringId - The ID of the data product.
- Display
Name string - User-friendly display name.
- Location string
- The location for the data product.
- Owner
Emails List<string> - Emails of the owners.
- Access
Groups List<DataProduct Access Group> - Custom user defined access groups at the data product level. Structure is documented below.
- Description string
- Description of the data product.
- Labels Dictionary<string, string>
- User-defined labels.
Note: This field is non-authoritative, and will only manage the labels present in your configuration.
Please refer to the field
effective_labelsfor all of the labels present on the resource. - Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Data
Product stringId - The ID of the data product.
- Display
Name string - User-friendly display name.
- Location string
- The location for the data product.
- Owner
Emails []string - Emails of the owners.
- Access
Groups []DataProduct Access Group Args - Custom user defined access groups at the data product level. Structure is documented below.
- Description string
- Description of the data product.
- Labels map[string]string
- User-defined labels.
Note: This field is non-authoritative, and will only manage the labels present in your configuration.
Please refer to the field
effective_labelsfor all of the labels present on the resource. - Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- data
Product StringId - The ID of the data product.
- display
Name String - User-friendly display name.
- location String
- The location for the data product.
- owner
Emails List<String> - Emails of the owners.
- access
Groups List<DataProduct Access Group> - Custom user defined access groups at the data product level. Structure is documented below.
- description String
- Description of the data product.
- labels Map<String,String>
- User-defined labels.
Note: This field is non-authoritative, and will only manage the labels present in your configuration.
Please refer to the field
effective_labelsfor all of the labels present on the resource. - project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- data
Product stringId - The ID of the data product.
- display
Name string - User-friendly display name.
- location string
- The location for the data product.
- owner
Emails string[] - Emails of the owners.
- access
Groups DataProduct Access Group[] - Custom user defined access groups at the data product level. Structure is documented below.
- description string
- Description of the data product.
- labels {[key: string]: string}
- User-defined labels.
Note: This field is non-authoritative, and will only manage the labels present in your configuration.
Please refer to the field
effective_labelsfor all of the labels present on the resource. - project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- data_
product_ strid - The ID of the data product.
- display_
name str - User-friendly display name.
- location str
- The location for the data product.
- owner_
emails Sequence[str] - Emails of the owners.
- access_
groups Sequence[DataProduct Access Group Args] - Custom user defined access groups at the data product level. Structure is documented below.
- description str
- Description of the data product.
- labels Mapping[str, str]
- User-defined labels.
Note: This field is non-authoritative, and will only manage the labels present in your configuration.
Please refer to the field
effective_labelsfor all of the labels present on the resource. - project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- data
Product StringId - The ID of the data product.
- display
Name String - User-friendly display name.
- location String
- The location for the data product.
- owner
Emails List<String> - Emails of the owners.
- access
Groups List<Property Map> - Custom user defined access groups at the data product level. Structure is documented below.
- description String
- Description of the data product.
- labels Map<String>
- User-defined labels.
Note: This field is non-authoritative, and will only manage the labels present in your configuration.
Please refer to the field
effective_labelsfor all of the labels present on the resource. - project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
Outputs
All input properties are implicitly available as output properties. Additionally, the DataProduct resource produces the following output properties:
- Asset
Count int - Number of associated data assets.
- Create
Time string - Creation timestamp.
- Effective
Labels Dictionary<string, string> - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Etag string
- Checksum for concurrency control.
- Id string
- The provider-assigned unique ID for this managed resource.
- Pulumi
Labels Dictionary<string, string> - The combination of labels configured directly on the resource and default labels configured on the provider.
- Uid string
- System generated unique ID.
- Update
Time string - Last update timestamp.
- Asset
Count int - Number of associated data assets.
- Create
Time string - Creation timestamp.
- Effective
Labels map[string]string - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Etag string
- Checksum for concurrency control.
- Id string
- The provider-assigned unique ID for this managed resource.
- Pulumi
Labels map[string]string - The combination of labels configured directly on the resource and default labels configured on the provider.
- Uid string
- System generated unique ID.
- Update
Time string - Last update timestamp.
- asset
Count Integer - Number of associated data assets.
- create
Time String - Creation timestamp.
- effective
Labels Map<String,String> - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag String
- Checksum for concurrency control.
- id String
- The provider-assigned unique ID for this managed resource.
- pulumi
Labels Map<String,String> - The combination of labels configured directly on the resource and default labels configured on the provider.
- uid String
- System generated unique ID.
- update
Time String - Last update timestamp.
- asset
Count number - Number of associated data assets.
- create
Time string - Creation timestamp.
- effective
Labels {[key: string]: string} - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag string
- Checksum for concurrency control.
- id string
- The provider-assigned unique ID for this managed resource.
- pulumi
Labels {[key: string]: string} - The combination of labels configured directly on the resource and default labels configured on the provider.
- uid string
- System generated unique ID.
- update
Time string - Last update timestamp.
- asset_
count int - Number of associated data assets.
- create_
time str - Creation timestamp.
- effective_
labels Mapping[str, str] - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag str
- Checksum for concurrency control.
- id str
- The provider-assigned unique ID for this managed resource.
- pulumi_
labels Mapping[str, str] - The combination of labels configured directly on the resource and default labels configured on the provider.
- uid str
- System generated unique ID.
- update_
time str - Last update timestamp.
- asset
Count Number - Number of associated data assets.
- create
Time String - Creation timestamp.
- effective
Labels Map<String> - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag String
- Checksum for concurrency control.
- id String
- The provider-assigned unique ID for this managed resource.
- pulumi
Labels Map<String> - The combination of labels configured directly on the resource and default labels configured on the provider.
- uid String
- System generated unique ID.
- update
Time String - Last update timestamp.
Look up Existing DataProduct Resource
Get an existing DataProduct 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?: DataProductState, opts?: CustomResourceOptions): DataProduct@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
access_groups: Optional[Sequence[DataProductAccessGroupArgs]] = None,
asset_count: Optional[int] = None,
create_time: Optional[str] = None,
data_product_id: Optional[str] = None,
description: Optional[str] = None,
display_name: Optional[str] = None,
effective_labels: Optional[Mapping[str, str]] = None,
etag: Optional[str] = None,
labels: Optional[Mapping[str, str]] = None,
location: Optional[str] = None,
owner_emails: Optional[Sequence[str]] = None,
project: Optional[str] = None,
pulumi_labels: Optional[Mapping[str, str]] = None,
uid: Optional[str] = None,
update_time: Optional[str] = None) -> DataProductfunc GetDataProduct(ctx *Context, name string, id IDInput, state *DataProductState, opts ...ResourceOption) (*DataProduct, error)public static DataProduct Get(string name, Input<string> id, DataProductState? state, CustomResourceOptions? opts = null)public static DataProduct get(String name, Output<String> id, DataProductState state, CustomResourceOptions options)resources: _: type: gcp:dataplex:DataProduct 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.
- Access
Groups List<DataProduct Access Group> - Custom user defined access groups at the data product level. Structure is documented below.
- Asset
Count int - Number of associated data assets.
- Create
Time string - Creation timestamp.
- Data
Product stringId - The ID of the data product.
- Description string
- Description of the data product.
- Display
Name string - User-friendly display name.
- Effective
Labels Dictionary<string, string> - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Etag string
- Checksum for concurrency control.
- Labels Dictionary<string, string>
- User-defined labels.
Note: This field is non-authoritative, and will only manage the labels present in your configuration.
Please refer to the field
effective_labelsfor all of the labels present on the resource. - Location string
- The location for the data product.
- Owner
Emails List<string> - Emails of the owners.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Pulumi
Labels Dictionary<string, string> - The combination of labels configured directly on the resource and default labels configured on the provider.
- Uid string
- System generated unique ID.
- Update
Time string - Last update timestamp.
- Access
Groups []DataProduct Access Group Args - Custom user defined access groups at the data product level. Structure is documented below.
- Asset
Count int - Number of associated data assets.
- Create
Time string - Creation timestamp.
- Data
Product stringId - The ID of the data product.
- Description string
- Description of the data product.
- Display
Name string - User-friendly display name.
- Effective
Labels map[string]string - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Etag string
- Checksum for concurrency control.
- Labels map[string]string
- User-defined labels.
Note: This field is non-authoritative, and will only manage the labels present in your configuration.
Please refer to the field
effective_labelsfor all of the labels present on the resource. - Location string
- The location for the data product.
- Owner
Emails []string - Emails of the owners.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Pulumi
Labels map[string]string - The combination of labels configured directly on the resource and default labels configured on the provider.
- Uid string
- System generated unique ID.
- Update
Time string - Last update timestamp.
- access
Groups List<DataProduct Access Group> - Custom user defined access groups at the data product level. Structure is documented below.
- asset
Count Integer - Number of associated data assets.
- create
Time String - Creation timestamp.
- data
Product StringId - The ID of the data product.
- description String
- Description of the data product.
- display
Name String - User-friendly display name.
- effective
Labels Map<String,String> - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag String
- Checksum for concurrency control.
- labels Map<String,String>
- User-defined labels.
Note: This field is non-authoritative, and will only manage the labels present in your configuration.
Please refer to the field
effective_labelsfor all of the labels present on the resource. - location String
- The location for the data product.
- owner
Emails List<String> - Emails of the owners.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- pulumi
Labels Map<String,String> - The combination of labels configured directly on the resource and default labels configured on the provider.
- uid String
- System generated unique ID.
- update
Time String - Last update timestamp.
- access
Groups DataProduct Access Group[] - Custom user defined access groups at the data product level. Structure is documented below.
- asset
Count number - Number of associated data assets.
- create
Time string - Creation timestamp.
- data
Product stringId - The ID of the data product.
- description string
- Description of the data product.
- display
Name string - User-friendly display name.
- effective
Labels {[key: string]: string} - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag string
- Checksum for concurrency control.
- labels {[key: string]: string}
- User-defined labels.
Note: This field is non-authoritative, and will only manage the labels present in your configuration.
Please refer to the field
effective_labelsfor all of the labels present on the resource. - location string
- The location for the data product.
- owner
Emails string[] - Emails of the owners.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- pulumi
Labels {[key: string]: string} - The combination of labels configured directly on the resource and default labels configured on the provider.
- uid string
- System generated unique ID.
- update
Time string - Last update timestamp.
- access_
groups Sequence[DataProduct Access Group Args] - Custom user defined access groups at the data product level. Structure is documented below.
- asset_
count int - Number of associated data assets.
- create_
time str - Creation timestamp.
- data_
product_ strid - The ID of the data product.
- description str
- Description of the data product.
- display_
name str - User-friendly display name.
- effective_
labels Mapping[str, str] - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag str
- Checksum for concurrency control.
- labels Mapping[str, str]
- User-defined labels.
Note: This field is non-authoritative, and will only manage the labels present in your configuration.
Please refer to the field
effective_labelsfor all of the labels present on the resource. - location str
- The location for the data product.
- owner_
emails Sequence[str] - Emails of the owners.
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- pulumi_
labels Mapping[str, str] - The combination of labels configured directly on the resource and default labels configured on the provider.
- uid str
- System generated unique ID.
- update_
time str - Last update timestamp.
- access
Groups List<Property Map> - Custom user defined access groups at the data product level. Structure is documented below.
- asset
Count Number - Number of associated data assets.
- create
Time String - Creation timestamp.
- data
Product StringId - The ID of the data product.
- description String
- Description of the data product.
- display
Name String - User-friendly display name.
- effective
Labels Map<String> - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag String
- Checksum for concurrency control.
- labels Map<String>
- User-defined labels.
Note: This field is non-authoritative, and will only manage the labels present in your configuration.
Please refer to the field
effective_labelsfor all of the labels present on the resource. - location String
- The location for the data product.
- owner
Emails List<String> - Emails of the owners.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- pulumi
Labels Map<String> - The combination of labels configured directly on the resource and default labels configured on the provider.
- uid String
- System generated unique ID.
- update
Time String - Last update timestamp.
Supporting Types
DataProductAccessGroup, DataProductAccessGroupArgs
- Display
Name string - User friendly display name.
- Group
Id string - Unique identifier of the access group.
- Id string
- The identifier for this object. Format specified above.
- Principal
Data
Product Access Group Principal - The principal entity. Structure is documented below.
- Description string
- Description of the access group.
- Display
Name string - User friendly display name.
- Group
Id string - Unique identifier of the access group.
- Id string
- The identifier for this object. Format specified above.
- Principal
Data
Product Access Group Principal - The principal entity. Structure is documented below.
- Description string
- Description of the access group.
- display
Name String - User friendly display name.
- group
Id String - Unique identifier of the access group.
- id String
- The identifier for this object. Format specified above.
- principal
Data
Product Access Group Principal - The principal entity. Structure is documented below.
- description String
- Description of the access group.
- display
Name string - User friendly display name.
- group
Id string - Unique identifier of the access group.
- id string
- The identifier for this object. Format specified above.
- principal
Data
Product Access Group Principal - The principal entity. Structure is documented below.
- description string
- Description of the access group.
- display_
name str - User friendly display name.
- group_
id str - Unique identifier of the access group.
- id str
- The identifier for this object. Format specified above.
- principal
Data
Product Access Group Principal - The principal entity. Structure is documented below.
- description str
- Description of the access group.
- display
Name String - User friendly display name.
- group
Id String - Unique identifier of the access group.
- id String
- The identifier for this object. Format specified above.
- principal Property Map
- The principal entity. Structure is documented below.
- description String
- Description of the access group.
DataProductAccessGroupPrincipal, DataProductAccessGroupPrincipalArgs
- Google
Group string - Email of the Google Group.
- Google
Group string - Email of the Google Group.
- google
Group String - Email of the Google Group.
- google
Group string - Email of the Google Group.
- google_
group str - Email of the Google Group.
- google
Group String - Email of the Google Group.
Import
DataProduct can be imported using any of these accepted formats:
projects/{{project}}/locations/{{location}}/dataProducts/{{data_product_id}}{{project}}/{{location}}/{{data_product_id}}{{location}}/{{data_product_id}}
When using the pulumi import command, DataProduct can be imported using one of the formats above. For example:
$ pulumi import gcp:dataplex/dataProduct:DataProduct default projects/{{project}}/locations/{{location}}/dataProducts/{{data_product_id}}
$ pulumi import gcp:dataplex/dataProduct:DataProduct default {{project}}/{{location}}/{{data_product_id}}
$ pulumi import gcp:dataplex/dataProduct:DataProduct default {{location}}/{{data_product_id}}
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-betaTerraform Provider.
published on Thursday, Mar 12, 2026 by Pulumi
