#[non_exhaustive]pub struct DataProduct {
pub name: String,
pub uid: String,
pub display_name: String,
pub create_time: Option<Timestamp>,
pub update_time: Option<Timestamp>,
pub etag: String,
pub labels: HashMap<String, String>,
pub description: String,
pub icon: Bytes,
pub owner_emails: Vec<String>,
pub asset_count: i32,
pub access_groups: HashMap<String, AccessGroup>,
/* private fields */
}Expand description
A data product is a curated collection of data assets, packaged to address specific use cases. It’s a way to manage and share data in a more organized, product-like manner.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.name: StringIdentifier. Resource name of the data product.
Format:
projects/{project_id_or_number}/locations/{location_id}/dataProducts/{data_product_id}.
uid: StringOutput only. System generated unique ID for the data product. This ID will be different if the data product is deleted and re-created with the same name.
display_name: StringRequired. User-friendly display name of the data product.
create_time: Option<Timestamp>Output only. The time at which the data product was created.
update_time: Option<Timestamp>Output only. The time at which the data product was last updated.
etag: StringOptional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
labels: HashMap<String, String>Optional. User-defined labels for the data product.
Example:
{
"environment": "production",
"billing": "marketing-department"
}description: StringOptional. Description of the data product.
icon: BytesOptional. Base64 encoded image representing the data product. Max Size: 3.0MiB Expected image dimensions are 512x512 pixels, however the API only performs validation on size of the encoded data. Note: For byte fields, the content of the fields are base64-encoded (which increases the size of the data by 33-36%) when using JSON on the wire.
owner_emails: Vec<String>Required. Emails of the data product owners.
asset_count: i32Output only. Number of data assets associated with this data product.
access_groups: HashMap<String, AccessGroup>Optional. Data product access groups by access group id as key. If data product is used only for packaging data assets, then access groups may be empty. However, if a data product is used for sharing data assets, then at least one access group must be specified.
Example:
{
"analyst": {
"id": "analyst",
"displayName": "Analyst",
"description": "Access group for analysts",
"principal": {
"googleGroup": "analysts@example.com"
}
}
}Implementations§
Source§impl DataProduct
impl DataProduct
pub fn new() -> Self
Sourcepub fn set_display_name<T: Into<String>>(self, v: T) -> Self
pub fn set_display_name<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_create_time<T>(self, v: T) -> Self
pub fn set_create_time<T>(self, v: T) -> Self
Sets the value of create_time.
§Example
use wkt::Timestamp;
let x = DataProduct::new().set_create_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of create_time.
§Example
use wkt::Timestamp;
let x = DataProduct::new().set_or_clear_create_time(Some(Timestamp::default()/* use setters */));
let x = DataProduct::new().set_or_clear_create_time(None::<Timestamp>);Sourcepub fn set_update_time<T>(self, v: T) -> Self
pub fn set_update_time<T>(self, v: T) -> Self
Sets the value of update_time.
§Example
use wkt::Timestamp;
let x = DataProduct::new().set_update_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_update_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_update_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of update_time.
§Example
use wkt::Timestamp;
let x = DataProduct::new().set_or_clear_update_time(Some(Timestamp::default()/* use setters */));
let x = DataProduct::new().set_or_clear_update_time(None::<Timestamp>);Sourcepub fn set_labels<T, K, V>(self, v: T) -> Self
pub fn set_labels<T, K, V>(self, v: T) -> Self
Sourcepub fn set_description<T: Into<String>>(self, v: T) -> Self
pub fn set_description<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_owner_emails<T, V>(self, v: T) -> Self
pub fn set_owner_emails<T, V>(self, v: T) -> Self
Sets the value of owner_emails.
§Example
let x = DataProduct::new().set_owner_emails(["a", "b", "c"]);Sourcepub fn set_asset_count<T: Into<i32>>(self, v: T) -> Self
pub fn set_asset_count<T: Into<i32>>(self, v: T) -> Self
Sourcepub fn set_access_groups<T, K, V>(self, v: T) -> Self
pub fn set_access_groups<T, K, V>(self, v: T) -> Self
Sets the value of access_groups.
§Example
use google_cloud_dataplex_v1::model::data_product::AccessGroup;
let x = DataProduct::new().set_access_groups([
("key0", AccessGroup::default()/* use setters */),
("key1", AccessGroup::default()/* use (different) setters */),
]);Trait Implementations§
Source§impl Clone for DataProduct
impl Clone for DataProduct
Source§fn clone(&self) -> DataProduct
fn clone(&self) -> DataProduct
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more