All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.api.services.cloudasset.v1.model.BigQueryDestination Maven / Gradle / Ivy

The newest version!
/*
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */
/*
 * This code was generated by https://github.com/googleapis/google-api-java-client-services/
 * Modify at your own risk.
 */

package com.google.api.services.cloudasset.v1.model;

/**
 * A BigQuery destination for exporting assets to.
 *
 * 

This is the Java data model class that specifies how to parse/serialize into the JSON that is * transmitted over HTTP when working with the Cloud Asset API. For a detailed explanation see: * https://developers.google.com/api-client-library/java/google-http-java-client/json *

* * @author Google, Inc. */ @SuppressWarnings("javadoc") public final class BigQueryDestination extends com.google.api.client.json.GenericJson { /** * Required. The BigQuery dataset in format "projects/projectId/datasets/datasetId", to which the * snapshot result should be exported. If this dataset does not exist, the export call returns an * INVALID_ARGUMENT error. Setting the `contentType` for `exportAssets` determines the * [schema](/asset-inventory/docs/exporting-to-bigquery#bigquery-schema) of the BigQuery table. * Setting `separateTablesPerAssetType` to `TRUE` also influences the schema. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String dataset; /** * If the destination table already exists and this flag is `TRUE`, the table will be overwritten * by the contents of assets snapshot. If the flag is `FALSE` or unset and the destination table * already exists, the export call returns an INVALID_ARGUMEMT error. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Boolean force; /** * [partition_spec] determines whether to export to partitioned table(s) and how to partition the * data. If [partition_spec] is unset or [partition_spec.partition_key] is unset or * `PARTITION_KEY_UNSPECIFIED`, the snapshot results will be exported to non-partitioned table(s). * [force] will decide whether to overwrite existing table(s). If [partition_spec] is specified. * First, the snapshot results will be written to partitioned table(s) with two additional * timestamp columns, readTime and requestTime, one of which will be the partition key. Secondly, * in the case when any destination table already exists, it will first try to update existing * table's schema as necessary by appending additional columns. Then, if [force] is `TRUE`, the * corresponding partition will be overwritten by the snapshot results (data in different * partitions will remain intact); if [force] is unset or `FALSE`, it will append the data. An * error will be returned if the schema update or data appension fails. * The value may be {@code null}. */ @com.google.api.client.util.Key private PartitionSpec partitionSpec; /** * If this flag is `TRUE`, the snapshot results will be written to one or multiple tables, each of * which contains results of one asset type. The [force] and [partition_spec] fields will apply to * each of them. Field [table] will be concatenated with "_" and the asset type names (see * https://cloud.google.com/asset-inventory/docs/supported-asset-types for supported asset types) * to construct per-asset-type table names, in which all non-alphanumeric characters like "." and * "/" will be substituted by "_". Example: if field [table] is "mytable" and snapshot results * contain "storage.googleapis.com/Bucket" assets, the corresponding table name will be * "mytable_storage_googleapis_com_Bucket". If any of these tables does not exist, a new table * with the concatenated name will be created. When [content_type] in the ExportAssetsRequest is * `RESOURCE`, the schema of each table will include RECORD-type columns mapped to the nested * fields in the Asset.resource.data field of that asset type (up to the 15 nested level BigQuery * supports (https://cloud.google.com/bigquery/docs/nested-repeated#limitations)). The fields in * >15 nested levels will be stored in JSON format string as a child column of its parent RECORD * column. If error occurs when exporting to any table, the whole export call will return an error * but the export results that already succeed will persist. Example: if exporting to table_type_A * succeeds when exporting to table_type_B fails during one export call, the results in * table_type_A will persist and there will not be partial results persisting in a table. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Boolean separateTablesPerAssetType; /** * Required. The BigQuery table to which the snapshot result should be written. If this table does * not exist, a new table with the given name will be created. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String table; /** * Required. The BigQuery dataset in format "projects/projectId/datasets/datasetId", to which the * snapshot result should be exported. If this dataset does not exist, the export call returns an * INVALID_ARGUMENT error. Setting the `contentType` for `exportAssets` determines the * [schema](/asset-inventory/docs/exporting-to-bigquery#bigquery-schema) of the BigQuery table. * Setting `separateTablesPerAssetType` to `TRUE` also influences the schema. * @return value or {@code null} for none */ public java.lang.String getDataset() { return dataset; } /** * Required. The BigQuery dataset in format "projects/projectId/datasets/datasetId", to which the * snapshot result should be exported. If this dataset does not exist, the export call returns an * INVALID_ARGUMENT error. Setting the `contentType` for `exportAssets` determines the * [schema](/asset-inventory/docs/exporting-to-bigquery#bigquery-schema) of the BigQuery table. * Setting `separateTablesPerAssetType` to `TRUE` also influences the schema. * @param dataset dataset or {@code null} for none */ public BigQueryDestination setDataset(java.lang.String dataset) { this.dataset = dataset; return this; } /** * If the destination table already exists and this flag is `TRUE`, the table will be overwritten * by the contents of assets snapshot. If the flag is `FALSE` or unset and the destination table * already exists, the export call returns an INVALID_ARGUMEMT error. * @return value or {@code null} for none */ public java.lang.Boolean getForce() { return force; } /** * If the destination table already exists and this flag is `TRUE`, the table will be overwritten * by the contents of assets snapshot. If the flag is `FALSE` or unset and the destination table * already exists, the export call returns an INVALID_ARGUMEMT error. * @param force force or {@code null} for none */ public BigQueryDestination setForce(java.lang.Boolean force) { this.force = force; return this; } /** * [partition_spec] determines whether to export to partitioned table(s) and how to partition the * data. If [partition_spec] is unset or [partition_spec.partition_key] is unset or * `PARTITION_KEY_UNSPECIFIED`, the snapshot results will be exported to non-partitioned table(s). * [force] will decide whether to overwrite existing table(s). If [partition_spec] is specified. * First, the snapshot results will be written to partitioned table(s) with two additional * timestamp columns, readTime and requestTime, one of which will be the partition key. Secondly, * in the case when any destination table already exists, it will first try to update existing * table's schema as necessary by appending additional columns. Then, if [force] is `TRUE`, the * corresponding partition will be overwritten by the snapshot results (data in different * partitions will remain intact); if [force] is unset or `FALSE`, it will append the data. An * error will be returned if the schema update or data appension fails. * @return value or {@code null} for none */ public PartitionSpec getPartitionSpec() { return partitionSpec; } /** * [partition_spec] determines whether to export to partitioned table(s) and how to partition the * data. If [partition_spec] is unset or [partition_spec.partition_key] is unset or * `PARTITION_KEY_UNSPECIFIED`, the snapshot results will be exported to non-partitioned table(s). * [force] will decide whether to overwrite existing table(s). If [partition_spec] is specified. * First, the snapshot results will be written to partitioned table(s) with two additional * timestamp columns, readTime and requestTime, one of which will be the partition key. Secondly, * in the case when any destination table already exists, it will first try to update existing * table's schema as necessary by appending additional columns. Then, if [force] is `TRUE`, the * corresponding partition will be overwritten by the snapshot results (data in different * partitions will remain intact); if [force] is unset or `FALSE`, it will append the data. An * error will be returned if the schema update or data appension fails. * @param partitionSpec partitionSpec or {@code null} for none */ public BigQueryDestination setPartitionSpec(PartitionSpec partitionSpec) { this.partitionSpec = partitionSpec; return this; } /** * If this flag is `TRUE`, the snapshot results will be written to one or multiple tables, each of * which contains results of one asset type. The [force] and [partition_spec] fields will apply to * each of them. Field [table] will be concatenated with "_" and the asset type names (see * https://cloud.google.com/asset-inventory/docs/supported-asset-types for supported asset types) * to construct per-asset-type table names, in which all non-alphanumeric characters like "." and * "/" will be substituted by "_". Example: if field [table] is "mytable" and snapshot results * contain "storage.googleapis.com/Bucket" assets, the corresponding table name will be * "mytable_storage_googleapis_com_Bucket". If any of these tables does not exist, a new table * with the concatenated name will be created. When [content_type] in the ExportAssetsRequest is * `RESOURCE`, the schema of each table will include RECORD-type columns mapped to the nested * fields in the Asset.resource.data field of that asset type (up to the 15 nested level BigQuery * supports (https://cloud.google.com/bigquery/docs/nested-repeated#limitations)). The fields in * >15 nested levels will be stored in JSON format string as a child column of its parent RECORD * column. If error occurs when exporting to any table, the whole export call will return an error * but the export results that already succeed will persist. Example: if exporting to table_type_A * succeeds when exporting to table_type_B fails during one export call, the results in * table_type_A will persist and there will not be partial results persisting in a table. * @return value or {@code null} for none */ public java.lang.Boolean getSeparateTablesPerAssetType() { return separateTablesPerAssetType; } /** * If this flag is `TRUE`, the snapshot results will be written to one or multiple tables, each of * which contains results of one asset type. The [force] and [partition_spec] fields will apply to * each of them. Field [table] will be concatenated with "_" and the asset type names (see * https://cloud.google.com/asset-inventory/docs/supported-asset-types for supported asset types) * to construct per-asset-type table names, in which all non-alphanumeric characters like "." and * "/" will be substituted by "_". Example: if field [table] is "mytable" and snapshot results * contain "storage.googleapis.com/Bucket" assets, the corresponding table name will be * "mytable_storage_googleapis_com_Bucket". If any of these tables does not exist, a new table * with the concatenated name will be created. When [content_type] in the ExportAssetsRequest is * `RESOURCE`, the schema of each table will include RECORD-type columns mapped to the nested * fields in the Asset.resource.data field of that asset type (up to the 15 nested level BigQuery * supports (https://cloud.google.com/bigquery/docs/nested-repeated#limitations)). The fields in * >15 nested levels will be stored in JSON format string as a child column of its parent RECORD * column. If error occurs when exporting to any table, the whole export call will return an error * but the export results that already succeed will persist. Example: if exporting to table_type_A * succeeds when exporting to table_type_B fails during one export call, the results in * table_type_A will persist and there will not be partial results persisting in a table. * @param separateTablesPerAssetType separateTablesPerAssetType or {@code null} for none */ public BigQueryDestination setSeparateTablesPerAssetType(java.lang.Boolean separateTablesPerAssetType) { this.separateTablesPerAssetType = separateTablesPerAssetType; return this; } /** * Required. The BigQuery table to which the snapshot result should be written. If this table does * not exist, a new table with the given name will be created. * @return value or {@code null} for none */ public java.lang.String getTable() { return table; } /** * Required. The BigQuery table to which the snapshot result should be written. If this table does * not exist, a new table with the given name will be created. * @param table table or {@code null} for none */ public BigQueryDestination setTable(java.lang.String table) { this.table = table; return this; } @Override public BigQueryDestination set(String fieldName, Object value) { return (BigQueryDestination) super.set(fieldName, value); } @Override public BigQueryDestination clone() { return (BigQueryDestination) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy