Package com.pulumi.gcp.bigquery
Class Dataset
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.gcp.bigquery.Dataset
-
public class Dataset extends com.pulumi.resources.CustomResource
## Example Usage ### Bigquery Dataset Basic ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.serviceaccount.Account; import com.pulumi.gcp.serviceaccount.AccountArgs; import com.pulumi.gcp.bigquery.Dataset; import com.pulumi.gcp.bigquery.DatasetArgs; import com.pulumi.gcp.bigquery.inputs.DatasetAccessArgs; 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 bqowner = new Account("bqowner", AccountArgs.builder() .accountId("bqowner") .build()); var dataset = new Dataset("dataset", DatasetArgs.builder() .datasetId("example_dataset") .friendlyName("test") .description("This is a test description") .location("EU") .defaultTableExpirationMs(3600000) .labels(Map.of("env", "default")) .accesses( DatasetAccessArgs.builder() .role("OWNER") .userByEmail(bqowner.email()) .build(), DatasetAccessArgs.builder() .role("READER") .domain("hashicorp.com") .build()) .build()); } } ``` ### Bigquery Dataset Cmek ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.kms.KeyRing; import com.pulumi.gcp.kms.KeyRingArgs; import com.pulumi.gcp.kms.CryptoKey; import com.pulumi.gcp.kms.CryptoKeyArgs; import com.pulumi.gcp.bigquery.Dataset; import com.pulumi.gcp.bigquery.DatasetArgs; import com.pulumi.gcp.bigquery.inputs.DatasetDefaultEncryptionConfigurationArgs; 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 keyRing = new KeyRing("keyRing", KeyRingArgs.builder() .location("us") .build()); var cryptoKey = new CryptoKey("cryptoKey", CryptoKeyArgs.builder() .keyRing(keyRing.id()) .build()); var dataset = new Dataset("dataset", DatasetArgs.builder() .datasetId("example_dataset") .friendlyName("test") .description("This is a test description") .location("US") .defaultTableExpirationMs(3600000) .defaultEncryptionConfiguration(DatasetDefaultEncryptionConfigurationArgs.builder() .kmsKeyName(cryptoKey.id()) .build()) .build()); } } ``` ### Bigquery Dataset Authorized Dataset ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.serviceaccount.Account; import com.pulumi.gcp.serviceaccount.AccountArgs; import com.pulumi.gcp.bigquery.Dataset; import com.pulumi.gcp.bigquery.DatasetArgs; import com.pulumi.gcp.bigquery.inputs.DatasetAccessArgs; import com.pulumi.gcp.bigquery.inputs.DatasetAccessDatasetArgs; import com.pulumi.gcp.bigquery.inputs.DatasetAccessDatasetDatasetArgs; 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 bqowner = new Account("bqowner", AccountArgs.builder() .accountId("bqowner") .build()); var public_ = new Dataset("public", DatasetArgs.builder() .datasetId("public") .friendlyName("test") .description("This dataset is public") .location("EU") .defaultTableExpirationMs(3600000) .labels(Map.of("env", "default")) .accesses( DatasetAccessArgs.builder() .role("OWNER") .userByEmail(bqowner.email()) .build(), DatasetAccessArgs.builder() .role("READER") .domain("hashicorp.com") .build()) .build()); var dataset = new Dataset("dataset", DatasetArgs.builder() .datasetId("private") .friendlyName("test") .description("This dataset is private") .location("EU") .defaultTableExpirationMs(3600000) .labels(Map.of("env", "default")) .accesses( DatasetAccessArgs.builder() .role("OWNER") .userByEmail(bqowner.email()) .build(), DatasetAccessArgs.builder() .role("READER") .domain("hashicorp.com") .build(), DatasetAccessArgs.builder() .dataset(DatasetAccessDatasetArgs.builder() .dataset(DatasetAccessDatasetDatasetArgs.builder() .projectId(public_.project()) .datasetId(public_.datasetId()) .build()) .targetTypes("VIEWS") .build()) .build()) .build()); } } ``` ### Bigquery Dataset Authorized Routine ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.bigquery.Dataset; import com.pulumi.gcp.bigquery.DatasetArgs; import com.pulumi.gcp.bigquery.Routine; import com.pulumi.gcp.bigquery.RoutineArgs; import com.pulumi.gcp.bigquery.inputs.RoutineArgumentArgs; import com.pulumi.gcp.bigquery.inputs.DatasetAccessArgs; import com.pulumi.gcp.bigquery.inputs.DatasetAccessRoutineArgs; import static com.pulumi.codegen.internal.Serialization.*; 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 publicDataset = new Dataset("publicDataset", DatasetArgs.builder() .datasetId("public_dataset") .description("This dataset is public") .build()); var publicRoutine = new Routine("publicRoutine", RoutineArgs.builder() .datasetId(publicDataset.datasetId()) .routineId("public_routine") .routineType("TABLE_VALUED_FUNCTION") .language("SQL") .definitionBody(""" SELECT 1 + value AS value """) .arguments(RoutineArgumentArgs.builder() .name("value") .argumentKind("FIXED_TYPE") .dataType(serializeJson( jsonObject( jsonProperty("typeKind", "INT64") ))) .build()) .returnTableType(serializeJson( jsonObject( jsonProperty("columns", jsonArray(jsonObject( jsonProperty("name", "value"), jsonProperty("type", jsonObject( jsonProperty("typeKind", "INT64") )) ))) ))) .build()); var private_ = new Dataset("private", DatasetArgs.builder() .datasetId("private_dataset") .description("This dataset is private") .accesses( DatasetAccessArgs.builder() .role("OWNER") .userByEmail("[email protected]") .build(), DatasetAccessArgs.builder() .routine(DatasetAccessRoutineArgs.builder() .projectId(publicRoutine.project()) .datasetId(publicRoutine.datasetId()) .routineId(publicRoutine.routineId()) .build()) .build()) .build()); } } ``` ### Bigquery Dataset External Reference Aws Docs ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.bigquery.Dataset; import com.pulumi.gcp.bigquery.DatasetArgs; import com.pulumi.gcp.bigquery.inputs.DatasetExternalDatasetReferenceArgs; import com.pulumi.resources.CustomResourceOptions; 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 dataset = new Dataset("dataset", DatasetArgs.builder() .datasetId("example_dataset") .friendlyName("test") .description("This is a test description") .location("aws-us-east-1") .externalDatasetReference(DatasetExternalDatasetReferenceArgs.builder() .externalSource("aws-glue://arn:aws:glue:us-east-1:999999999999:database/database") .connection("projects/project/locations/aws-us-east-1/connections/connection") .build()) .build(), CustomResourceOptions.builder() .provider(google_beta) .build()); } } ``` ## Import Dataset can be imported using any of these accepted formats* `projects/{{project}}/datasets/{{dataset_id}}` * `{{project}}/{{dataset_id}}` * `{{dataset_id}}` When using the `pulumi import` command, Dataset can be imported using one of the formats above. For example ```sh $ pulumi import gcp:bigquery/dataset:Dataset default projects/{{project}}/datasets/{{dataset_id}} ``` ```sh $ pulumi import gcp:bigquery/dataset:Dataset default {{project}}/{{dataset_id}} ``` ```sh $ pulumi import gcp:bigquery/dataset:Dataset default {{dataset_id}} ```
-
-
Constructor Summary
Constructors Constructor Description Dataset(java.lang.String name)
Dataset(java.lang.String name, DatasetArgs args)
Dataset(java.lang.String name, DatasetArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.util.List<DatasetAccess>>
accesses()
com.pulumi.core.Output<java.lang.Integer>
creationTime()
com.pulumi.core.Output<java.lang.String>
datasetId()
com.pulumi.core.Output<java.lang.String>
defaultCollation()
com.pulumi.core.Output<java.util.Optional<DatasetDefaultEncryptionConfiguration>>
defaultEncryptionConfiguration()
com.pulumi.core.Output<java.util.Optional<java.lang.Integer>>
defaultPartitionExpirationMs()
com.pulumi.core.Output<java.util.Optional<java.lang.Integer>>
defaultTableExpirationMs()
com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>>
deleteContentsOnDestroy()
com.pulumi.core.Output<java.util.Optional<java.lang.String>>
description()
com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>
effectiveLabels()
com.pulumi.core.Output<java.lang.String>
etag()
com.pulumi.core.Output<java.util.Optional<DatasetExternalDatasetReference>>
externalDatasetReference()
com.pulumi.core.Output<java.util.Optional<java.lang.String>>
friendlyName()
static Dataset
get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, DatasetState state, com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.lang.Boolean>
isCaseInsensitive()
com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>
labels()
com.pulumi.core.Output<java.lang.Integer>
lastModifiedTime()
com.pulumi.core.Output<java.util.Optional<java.lang.String>>
location()
com.pulumi.core.Output<java.lang.String>
maxTimeTravelHours()
com.pulumi.core.Output<java.lang.String>
project()
com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>
pulumiLabels()
com.pulumi.core.Output<java.lang.String>
selfLink()
com.pulumi.core.Output<java.lang.String>
storageBillingModel()
-
-
-
Constructor Detail
-
Dataset
public Dataset(java.lang.String name)
- Parameters:
name
- The _unique_ name of the resulting resource.
-
Dataset
public Dataset(java.lang.String name, DatasetArgs args)
- Parameters:
name
- The _unique_ name of the resulting resource.args
- The arguments to use to populate this resource's properties.
-
Dataset
public Dataset(java.lang.String name, DatasetArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)
- Parameters:
name
- The _unique_ name of the resulting resource.args
- The arguments to use to populate this resource's properties.options
- A bag of options that control this resource's behavior.
-
-
Method Detail
-
accesses
public com.pulumi.core.Output<java.util.List<DatasetAccess>> accesses()
- Returns:
- An array of objects that define dataset access for one or more entities. Structure is documented below.
-
creationTime
public com.pulumi.core.Output<java.lang.Integer> creationTime()
- Returns:
- The time when this dataset was created, in milliseconds since the epoch.
-
datasetId
public com.pulumi.core.Output<java.lang.String> datasetId()
- Returns:
- A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters. ***
-
defaultCollation
public com.pulumi.core.Output<java.lang.String> defaultCollation()
- Returns:
- Defines the default collation specification of future tables created in the dataset. If a table is created in this dataset without table-level default collation, then the table inherits the dataset default collation, which is applied to the string fields that do not have explicit collation specified. A change to this field affects only tables created afterwards, and does not alter the existing tables. The following values are supported: - 'und:ci': undetermined locale, case insensitive. - '': empty string. Default to case-sensitive behavior.
-
defaultEncryptionConfiguration
public com.pulumi.core.Output<java.util.Optional<DatasetDefaultEncryptionConfiguration>> defaultEncryptionConfiguration()
- Returns:
- The default encryption key for all tables in the dataset. Once this property is set, all newly-created partitioned tables in the dataset will have encryption key set to this value, unless table creation request (or query) overrides the key. Structure is documented below.
-
defaultPartitionExpirationMs
public com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> defaultPartitionExpirationMs()
- Returns:
- The default partition expiration for all partitioned tables in the dataset, in milliseconds. Once this property is set, all newly-created partitioned tables in the dataset will have an `expirationMs` property in the `timePartitioning` settings set to this value, and changing the value will only affect new tables, not existing ones. The storage in a partition will have an expiration time of its partition time plus this value. Setting this property overrides the use of `defaultTableExpirationMs` for partitioned tables: only one of `defaultTableExpirationMs` and `defaultPartitionExpirationMs` will be used for any new partitioned table. If you provide an explicit `timePartitioning.expirationMs` when creating or updating a partitioned table, that value takes precedence over the default partition expiration time indicated by this property.
-
defaultTableExpirationMs
public com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> defaultTableExpirationMs()
- Returns:
- The default lifetime of all tables in the dataset, in milliseconds. The minimum value is 3600000 milliseconds (one hour). Once this property is set, all newly-created tables in the dataset will have an `expirationTime` property set to the creation time plus the value in this property, and changing the value will only affect new tables, not existing ones. When the `expirationTime` for a given table is reached, that table will be deleted automatically. If a table's `expirationTime` is modified or removed before the table expires, or if you provide an explicit `expirationTime` when creating a table, that value takes precedence over the default expiration time indicated by this property.
-
deleteContentsOnDestroy
public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> deleteContentsOnDestroy()
- Returns:
- If set to `true`, delete all the tables in the dataset when destroying the resource; otherwise, destroying the resource will fail if tables are present.
-
description
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> description()
- Returns:
- A user-friendly description of the dataset
-
effectiveLabels
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> effectiveLabels()
- Returns:
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
-
etag
public com.pulumi.core.Output<java.lang.String> etag()
- Returns:
- A hash of the resource.
-
externalDatasetReference
public com.pulumi.core.Output<java.util.Optional<DatasetExternalDatasetReference>> externalDatasetReference()
- Returns:
- (Optional, Beta) Information about the external metadata storage where the dataset is defined. Structure is documented below.
-
friendlyName
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> friendlyName()
- Returns:
- A descriptive name for the dataset
-
isCaseInsensitive
public com.pulumi.core.Output<java.lang.Boolean> isCaseInsensitive()
- Returns:
- TRUE if the dataset and its table names are case-insensitive, otherwise FALSE. By default, this is FALSE, which means the dataset and its table names are case-sensitive. This field does not affect routine references.
-
labels
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> labels()
- Returns:
- The labels associated with this dataset. You can use these to organize and group your datasets. **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field `effective_labels` for all of the labels present on the resource.
-
lastModifiedTime
public com.pulumi.core.Output<java.lang.Integer> lastModifiedTime()
- Returns:
- The date when this dataset or any of its tables was last modified, in milliseconds since the epoch.
-
location
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> location()
- Returns:
- The geographic location where the dataset should reside. See [official docs](https://cloud.google.com/bigquery/docs/dataset-locations). There are two types of locations, regional or multi-regional. A regional location is a specific geographic place, such as Tokyo, and a multi-regional location is a large geographic area, such as the United States, that contains at least two geographic places. The default value is multi-regional location `US`. Changing this forces a new resource to be created.
-
maxTimeTravelHours
public com.pulumi.core.Output<java.lang.String> maxTimeTravelHours()
- Returns:
- Defines the time travel window in hours. The value can be from 48 to 168 hours (2 to 7 days).
-
project
public com.pulumi.core.Output<java.lang.String> project()
- Returns:
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
-
pulumiLabels
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> pulumiLabels()
- Returns:
- The combination of labels configured directly on the resource and default labels configured on the provider.
-
selfLink
public com.pulumi.core.Output<java.lang.String> selfLink()
- Returns:
- The URI of the created resource.
-
storageBillingModel
public com.pulumi.core.Output<java.lang.String> storageBillingModel()
- Returns:
- Specifies the storage billing model for the dataset. Set this flag value to LOGICAL to use logical bytes for storage billing, or to PHYSICAL to use physical bytes instead. LOGICAL is the default if this flag isn't specified.
-
get
public static Dataset get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable DatasetState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name
- The _unique_ name of the resulting resource.id
- The _unique_ provider ID of the resource to lookup.state
-options
- Optional settings to control the behavior of the CustomResource.
-
-