com.google.api.services.bigquery.model.Table Maven / Gradle / Ivy
/*
* 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.bigquery.model;
/**
* Model definition for Table.
*
* 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 BigQuery 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 Table extends com.google.api.client.json.GenericJson {
/**
* Optional. Specifies the configuration of a BigLake managed table.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private BigLakeConfiguration biglakeConfiguration;
/**
* Output only. Contains information about the clone. This value is set via the clone operation.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private CloneDefinition cloneDefinition;
/**
* Clustering specification for the table. Must be specified with time-based partitioning, data in
* the table will be first partitioned and subsequently clustered.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private Clustering clustering;
/**
* Output only. The time when this table was created, in milliseconds since the epoch.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.lang.Long creationTime;
/**
* Optional. Defines the default collation specification of new STRING fields in the table. During
* table creation or update, if a STRING field is added to this table without explicit collation
* specified, then the table inherits the table default collation. A change to this field affects
* only fields added afterwards, and does not alter the existing fields. The following values are
* supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to
* case-sensitive behavior.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String defaultCollation;
/**
* Optional. Defines the default rounding mode specification of new decimal fields (NUMERIC OR
* BIGNUMERIC) in the table. During table creation or update, if a decimal field is added to this
* table without an explicit rounding mode specified, then the field inherits the table default
* rounding mode. Changing this field doesn't affect existing fields.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String defaultRoundingMode;
/**
* Optional. A user-friendly description of this table.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String description;
/**
* Custom encryption configuration (e.g., Cloud KMS keys).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private EncryptionConfiguration encryptionConfiguration;
/**
* Output only. A hash of this resource.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String etag;
/**
* Optional. The time when this table expires, in milliseconds since the epoch. If not present,
* the table will persist indefinitely. Expired tables will be deleted and their storage
* reclaimed. The defaultTableExpirationMs property of the encapsulating dataset can be used to
* set a default expirationTime on newly created tables.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.lang.Long expirationTime;
/**
* Optional. Options defining open source compatible table.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private ExternalCatalogTableOptions externalCatalogTableOptions;
/**
* Optional. Describes the data format, location, and other properties of a table stored outside
* of BigQuery. By defining these properties, the data source can then be queried as if it were a
* standard BigQuery table.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private ExternalDataConfiguration externalDataConfiguration;
/**
* Optional. A descriptive name for this table.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String friendlyName;
/**
* Output only. An opaque ID uniquely identifying the table.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String id;
/**
* The type of resource ID.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String kind;
/**
* The labels associated with this table. You can use these to organize and group your tables.
* Label keys and values can be no longer than 63 characters, can only contain lowercase letters,
* numeric characters, underscores and dashes. International characters are allowed. Label values
* are optional. Label keys must start with a letter and each label in the list must have a
* different key.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.Map labels;
/**
* Output only. The time when this table was last modified, in milliseconds since the epoch.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.math.BigInteger lastModifiedTime;
/**
* Output only. The geographic location where the table resides. This value is inherited from the
* dataset.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String location;
/**
* Optional. The materialized view definition.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private MaterializedViewDefinition materializedView;
/**
* Output only. The materialized view status.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private MaterializedViewStatus materializedViewStatus;
/**
* Optional. The maximum staleness of data that could be returned when the table (or stale MV) is
* queried. Staleness encoded as a string encoding of sql IntervalValue type.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String maxStaleness;
/**
* Deprecated.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private ModelDefinition model;
/**
* Output only. Number of logical bytes that are less than 90 days old.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.lang.Long numActiveLogicalBytes;
/**
* Output only. Number of physical bytes less than 90 days old. This data is not kept in real
* time, and might be delayed by a few seconds to a few minutes.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.lang.Long numActivePhysicalBytes;
/**
* Output only. The size of this table in logical bytes, excluding any data in the streaming
* buffer.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.lang.Long numBytes;
/**
* Output only. Number of physical bytes used by current live data storage. This data is not kept
* in real time, and might be delayed by a few seconds to a few minutes.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.lang.Long numCurrentPhysicalBytes;
/**
* Output only. The number of logical bytes in the table that are considered "long-term storage".
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.lang.Long numLongTermBytes;
/**
* Output only. Number of logical bytes that are more than 90 days old.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.lang.Long numLongTermLogicalBytes;
/**
* Output only. Number of physical bytes more than 90 days old. This data is not kept in real
* time, and might be delayed by a few seconds to a few minutes.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.lang.Long numLongTermPhysicalBytes;
/**
* Output only. The number of partitions present in the table or materialized view. This data is
* not kept in real time, and might be delayed by a few seconds to a few minutes.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.lang.Long numPartitions;
/**
* Output only. The physical size of this table in bytes. This includes storage used for time
* travel.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.lang.Long numPhysicalBytes;
/**
* Output only. The number of rows of data in this table, excluding any data in the streaming
* buffer.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.math.BigInteger numRows;
/**
* Output only. Number of physical bytes used by time travel storage (deleted or changed data).
* This data is not kept in real time, and might be delayed by a few seconds to a few minutes.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.lang.Long numTimeTravelPhysicalBytes;
/**
* Output only. Total number of logical bytes in the table or materialized view.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.lang.Long numTotalLogicalBytes;
/**
* Output only. The physical size of this table in bytes. This also includes storage used for time
* travel. This data is not kept in real time, and might be delayed by a few seconds to a few
* minutes.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.lang.Long numTotalPhysicalBytes;
/**
* Optional. The partition information for all table formats, including managed partitioned
* tables, hive partitioned tables, iceberg partitioned, and metastore partitioned tables. This
* field is only populated for metastore partitioned tables. For other table formats, this is an
* output only field.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private PartitioningDefinition partitionDefinition;
/**
* If specified, configures range partitioning for this table.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private RangePartitioning rangePartitioning;
/**
* Optional. Output only. Table references of all replicas currently active on the table.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List replicas;
/**
* Optional. If set to true, queries over this table require a partition filter that can be used
* for partition elimination to be specified.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Boolean requirePartitionFilter;
/**
* [Optional] The tags associated with this table. Tag keys are globally unique. See additional
* information on [tags](https://cloud.google.com/iam/docs/tags-access-control#definitions). An
* object containing a list of "key": value pairs. The key is the namespaced friendly name of the
* tag key, e.g. "12345/environment" where 12345 is parent id. The value is the friendly short
* name of the tag value, e.g. "production".
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.Map resourceTags;
/**
* Optional. Output only. Restriction config for table. If set, restrict certain accesses on the
* table based on the config. See [Data egress](/bigquery/docs/analytics-hub-
* introduction#data_egress) for more details.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private RestrictionConfig restrictions;
/**
* Optional. Describes the schema of this table.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private TableSchema schema;
/**
* Output only. A URL that can be used to access this resource again.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String selfLink;
/**
* Output only. Contains information about the snapshot. This value is set via snapshot creation.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private SnapshotDefinition snapshotDefinition;
/**
* Output only. Contains information regarding this table's streaming buffer, if one is present.
* This field will be absent if the table is not being streamed to or if there is no data in the
* streaming buffer.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private Streamingbuffer streamingBuffer;
/**
* Optional. Tables Primary Key and Foreign Key information
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private TableConstraints tableConstraints;
/**
* Required. Reference describing the ID of this table.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private TableReference tableReference;
/**
* Optional. Table replication info for table created `AS REPLICA` DDL like: `CREATE MATERIALIZED
* VIEW mv1 AS REPLICA OF src_mv`
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private TableReplicationInfo tableReplicationInfo;
/**
* If specified, configures time-based partitioning for this table.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private TimePartitioning timePartitioning;
/**
* Output only. Describes the table type. The following values are supported: * `TABLE`: A normal
* BigQuery table. * `VIEW`: A virtual table defined by a SQL query. * `EXTERNAL`: A table that
* references data stored in an external storage system, such as Google Cloud Storage. *
* `MATERIALIZED_VIEW`: A precomputed view defined by a SQL query. * `SNAPSHOT`: An immutable
* BigQuery table that preserves the contents of a base table at a particular time. See additional
* information on [table snapshots](/bigquery/docs/table-snapshots-intro). The default value is
* `TABLE`.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String type;
/**
* Optional. The view definition.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private ViewDefinition view;
/**
* Optional. Specifies the configuration of a BigLake managed table.
* @return value or {@code null} for none
*/
public BigLakeConfiguration getBiglakeConfiguration() {
return biglakeConfiguration;
}
/**
* Optional. Specifies the configuration of a BigLake managed table.
* @param biglakeConfiguration biglakeConfiguration or {@code null} for none
*/
public Table setBiglakeConfiguration(BigLakeConfiguration biglakeConfiguration) {
this.biglakeConfiguration = biglakeConfiguration;
return this;
}
/**
* Output only. Contains information about the clone. This value is set via the clone operation.
* @return value or {@code null} for none
*/
public CloneDefinition getCloneDefinition() {
return cloneDefinition;
}
/**
* Output only. Contains information about the clone. This value is set via the clone operation.
* @param cloneDefinition cloneDefinition or {@code null} for none
*/
public Table setCloneDefinition(CloneDefinition cloneDefinition) {
this.cloneDefinition = cloneDefinition;
return this;
}
/**
* Clustering specification for the table. Must be specified with time-based partitioning, data in
* the table will be first partitioned and subsequently clustered.
* @return value or {@code null} for none
*/
public Clustering getClustering() {
return clustering;
}
/**
* Clustering specification for the table. Must be specified with time-based partitioning, data in
* the table will be first partitioned and subsequently clustered.
* @param clustering clustering or {@code null} for none
*/
public Table setClustering(Clustering clustering) {
this.clustering = clustering;
return this;
}
/**
* Output only. The time when this table was created, in milliseconds since the epoch.
* @return value or {@code null} for none
*/
public java.lang.Long getCreationTime() {
return creationTime;
}
/**
* Output only. The time when this table was created, in milliseconds since the epoch.
* @param creationTime creationTime or {@code null} for none
*/
public Table setCreationTime(java.lang.Long creationTime) {
this.creationTime = creationTime;
return this;
}
/**
* Optional. Defines the default collation specification of new STRING fields in the table. During
* table creation or update, if a STRING field is added to this table without explicit collation
* specified, then the table inherits the table default collation. A change to this field affects
* only fields added afterwards, and does not alter the existing fields. The following values are
* supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to
* case-sensitive behavior.
* @return value or {@code null} for none
*/
public java.lang.String getDefaultCollation() {
return defaultCollation;
}
/**
* Optional. Defines the default collation specification of new STRING fields in the table. During
* table creation or update, if a STRING field is added to this table without explicit collation
* specified, then the table inherits the table default collation. A change to this field affects
* only fields added afterwards, and does not alter the existing fields. The following values are
* supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to
* case-sensitive behavior.
* @param defaultCollation defaultCollation or {@code null} for none
*/
public Table setDefaultCollation(java.lang.String defaultCollation) {
this.defaultCollation = defaultCollation;
return this;
}
/**
* Optional. Defines the default rounding mode specification of new decimal fields (NUMERIC OR
* BIGNUMERIC) in the table. During table creation or update, if a decimal field is added to this
* table without an explicit rounding mode specified, then the field inherits the table default
* rounding mode. Changing this field doesn't affect existing fields.
* @return value or {@code null} for none
*/
public java.lang.String getDefaultRoundingMode() {
return defaultRoundingMode;
}
/**
* Optional. Defines the default rounding mode specification of new decimal fields (NUMERIC OR
* BIGNUMERIC) in the table. During table creation or update, if a decimal field is added to this
* table without an explicit rounding mode specified, then the field inherits the table default
* rounding mode. Changing this field doesn't affect existing fields.
* @param defaultRoundingMode defaultRoundingMode or {@code null} for none
*/
public Table setDefaultRoundingMode(java.lang.String defaultRoundingMode) {
this.defaultRoundingMode = defaultRoundingMode;
return this;
}
/**
* Optional. A user-friendly description of this table.
* @return value or {@code null} for none
*/
public java.lang.String getDescription() {
return description;
}
/**
* Optional. A user-friendly description of this table.
* @param description description or {@code null} for none
*/
public Table setDescription(java.lang.String description) {
this.description = description;
return this;
}
/**
* Custom encryption configuration (e.g., Cloud KMS keys).
* @return value or {@code null} for none
*/
public EncryptionConfiguration getEncryptionConfiguration() {
return encryptionConfiguration;
}
/**
* Custom encryption configuration (e.g., Cloud KMS keys).
* @param encryptionConfiguration encryptionConfiguration or {@code null} for none
*/
public Table setEncryptionConfiguration(EncryptionConfiguration encryptionConfiguration) {
this.encryptionConfiguration = encryptionConfiguration;
return this;
}
/**
* Output only. A hash of this resource.
* @return value or {@code null} for none
*/
public java.lang.String getEtag() {
return etag;
}
/**
* Output only. A hash of this resource.
* @param etag etag or {@code null} for none
*/
public Table setEtag(java.lang.String etag) {
this.etag = etag;
return this;
}
/**
* Optional. The time when this table expires, in milliseconds since the epoch. If not present,
* the table will persist indefinitely. Expired tables will be deleted and their storage
* reclaimed. The defaultTableExpirationMs property of the encapsulating dataset can be used to
* set a default expirationTime on newly created tables.
* @return value or {@code null} for none
*/
public java.lang.Long getExpirationTime() {
return expirationTime;
}
/**
* Optional. The time when this table expires, in milliseconds since the epoch. If not present,
* the table will persist indefinitely. Expired tables will be deleted and their storage
* reclaimed. The defaultTableExpirationMs property of the encapsulating dataset can be used to
* set a default expirationTime on newly created tables.
* @param expirationTime expirationTime or {@code null} for none
*/
public Table setExpirationTime(java.lang.Long expirationTime) {
this.expirationTime = expirationTime;
return this;
}
/**
* Optional. Options defining open source compatible table.
* @return value or {@code null} for none
*/
public ExternalCatalogTableOptions getExternalCatalogTableOptions() {
return externalCatalogTableOptions;
}
/**
* Optional. Options defining open source compatible table.
* @param externalCatalogTableOptions externalCatalogTableOptions or {@code null} for none
*/
public Table setExternalCatalogTableOptions(ExternalCatalogTableOptions externalCatalogTableOptions) {
this.externalCatalogTableOptions = externalCatalogTableOptions;
return this;
}
/**
* Optional. Describes the data format, location, and other properties of a table stored outside
* of BigQuery. By defining these properties, the data source can then be queried as if it were a
* standard BigQuery table.
* @return value or {@code null} for none
*/
public ExternalDataConfiguration getExternalDataConfiguration() {
return externalDataConfiguration;
}
/**
* Optional. Describes the data format, location, and other properties of a table stored outside
* of BigQuery. By defining these properties, the data source can then be queried as if it were a
* standard BigQuery table.
* @param externalDataConfiguration externalDataConfiguration or {@code null} for none
*/
public Table setExternalDataConfiguration(ExternalDataConfiguration externalDataConfiguration) {
this.externalDataConfiguration = externalDataConfiguration;
return this;
}
/**
* Optional. A descriptive name for this table.
* @return value or {@code null} for none
*/
public java.lang.String getFriendlyName() {
return friendlyName;
}
/**
* Optional. A descriptive name for this table.
* @param friendlyName friendlyName or {@code null} for none
*/
public Table setFriendlyName(java.lang.String friendlyName) {
this.friendlyName = friendlyName;
return this;
}
/**
* Output only. An opaque ID uniquely identifying the table.
* @return value or {@code null} for none
*/
public java.lang.String getId() {
return id;
}
/**
* Output only. An opaque ID uniquely identifying the table.
* @param id id or {@code null} for none
*/
public Table setId(java.lang.String id) {
this.id = id;
return this;
}
/**
* The type of resource ID.
* @return value or {@code null} for none
*/
public java.lang.String getKind() {
return kind;
}
/**
* The type of resource ID.
* @param kind kind or {@code null} for none
*/
public Table setKind(java.lang.String kind) {
this.kind = kind;
return this;
}
/**
* The labels associated with this table. You can use these to organize and group your tables.
* Label keys and values can be no longer than 63 characters, can only contain lowercase letters,
* numeric characters, underscores and dashes. International characters are allowed. Label values
* are optional. Label keys must start with a letter and each label in the list must have a
* different key.
* @return value or {@code null} for none
*/
public java.util.Map getLabels() {
return labels;
}
/**
* The labels associated with this table. You can use these to organize and group your tables.
* Label keys and values can be no longer than 63 characters, can only contain lowercase letters,
* numeric characters, underscores and dashes. International characters are allowed. Label values
* are optional. Label keys must start with a letter and each label in the list must have a
* different key.
* @param labels labels or {@code null} for none
*/
public Table setLabels(java.util.Map labels) {
this.labels = labels;
return this;
}
/**
* Output only. The time when this table was last modified, in milliseconds since the epoch.
* @return value or {@code null} for none
*/
public java.math.BigInteger getLastModifiedTime() {
return lastModifiedTime;
}
/**
* Output only. The time when this table was last modified, in milliseconds since the epoch.
* @param lastModifiedTime lastModifiedTime or {@code null} for none
*/
public Table setLastModifiedTime(java.math.BigInteger lastModifiedTime) {
this.lastModifiedTime = lastModifiedTime;
return this;
}
/**
* Output only. The geographic location where the table resides. This value is inherited from the
* dataset.
* @return value or {@code null} for none
*/
public java.lang.String getLocation() {
return location;
}
/**
* Output only. The geographic location where the table resides. This value is inherited from the
* dataset.
* @param location location or {@code null} for none
*/
public Table setLocation(java.lang.String location) {
this.location = location;
return this;
}
/**
* Optional. The materialized view definition.
* @return value or {@code null} for none
*/
public MaterializedViewDefinition getMaterializedView() {
return materializedView;
}
/**
* Optional. The materialized view definition.
* @param materializedView materializedView or {@code null} for none
*/
public Table setMaterializedView(MaterializedViewDefinition materializedView) {
this.materializedView = materializedView;
return this;
}
/**
* Output only. The materialized view status.
* @return value or {@code null} for none
*/
public MaterializedViewStatus getMaterializedViewStatus() {
return materializedViewStatus;
}
/**
* Output only. The materialized view status.
* @param materializedViewStatus materializedViewStatus or {@code null} for none
*/
public Table setMaterializedViewStatus(MaterializedViewStatus materializedViewStatus) {
this.materializedViewStatus = materializedViewStatus;
return this;
}
/**
* Optional. The maximum staleness of data that could be returned when the table (or stale MV) is
* queried. Staleness encoded as a string encoding of sql IntervalValue type.
* @return value or {@code null} for none
*/
public java.lang.String getMaxStaleness() {
return maxStaleness;
}
/**
* Optional. The maximum staleness of data that could be returned when the table (or stale MV) is
* queried. Staleness encoded as a string encoding of sql IntervalValue type.
* @param maxStaleness maxStaleness or {@code null} for none
*/
public Table setMaxStaleness(java.lang.String maxStaleness) {
this.maxStaleness = maxStaleness;
return this;
}
/**
* Deprecated.
* @return value or {@code null} for none
*/
public ModelDefinition getModel() {
return model;
}
/**
* Deprecated.
* @param model model or {@code null} for none
*/
public Table setModel(ModelDefinition model) {
this.model = model;
return this;
}
/**
* Output only. Number of logical bytes that are less than 90 days old.
* @return value or {@code null} for none
*/
public java.lang.Long getNumActiveLogicalBytes() {
return numActiveLogicalBytes;
}
/**
* Output only. Number of logical bytes that are less than 90 days old.
* @param numActiveLogicalBytes numActiveLogicalBytes or {@code null} for none
*/
public Table setNumActiveLogicalBytes(java.lang.Long numActiveLogicalBytes) {
this.numActiveLogicalBytes = numActiveLogicalBytes;
return this;
}
/**
* Output only. Number of physical bytes less than 90 days old. This data is not kept in real
* time, and might be delayed by a few seconds to a few minutes.
* @return value or {@code null} for none
*/
public java.lang.Long getNumActivePhysicalBytes() {
return numActivePhysicalBytes;
}
/**
* Output only. Number of physical bytes less than 90 days old. This data is not kept in real
* time, and might be delayed by a few seconds to a few minutes.
* @param numActivePhysicalBytes numActivePhysicalBytes or {@code null} for none
*/
public Table setNumActivePhysicalBytes(java.lang.Long numActivePhysicalBytes) {
this.numActivePhysicalBytes = numActivePhysicalBytes;
return this;
}
/**
* Output only. The size of this table in logical bytes, excluding any data in the streaming
* buffer.
* @return value or {@code null} for none
*/
public java.lang.Long getNumBytes() {
return numBytes;
}
/**
* Output only. The size of this table in logical bytes, excluding any data in the streaming
* buffer.
* @param numBytes numBytes or {@code null} for none
*/
public Table setNumBytes(java.lang.Long numBytes) {
this.numBytes = numBytes;
return this;
}
/**
* Output only. Number of physical bytes used by current live data storage. This data is not kept
* in real time, and might be delayed by a few seconds to a few minutes.
* @return value or {@code null} for none
*/
public java.lang.Long getNumCurrentPhysicalBytes() {
return numCurrentPhysicalBytes;
}
/**
* Output only. Number of physical bytes used by current live data storage. This data is not kept
* in real time, and might be delayed by a few seconds to a few minutes.
* @param numCurrentPhysicalBytes numCurrentPhysicalBytes or {@code null} for none
*/
public Table setNumCurrentPhysicalBytes(java.lang.Long numCurrentPhysicalBytes) {
this.numCurrentPhysicalBytes = numCurrentPhysicalBytes;
return this;
}
/**
* Output only. The number of logical bytes in the table that are considered "long-term storage".
* @return value or {@code null} for none
*/
public java.lang.Long getNumLongTermBytes() {
return numLongTermBytes;
}
/**
* Output only. The number of logical bytes in the table that are considered "long-term storage".
* @param numLongTermBytes numLongTermBytes or {@code null} for none
*/
public Table setNumLongTermBytes(java.lang.Long numLongTermBytes) {
this.numLongTermBytes = numLongTermBytes;
return this;
}
/**
* Output only. Number of logical bytes that are more than 90 days old.
* @return value or {@code null} for none
*/
public java.lang.Long getNumLongTermLogicalBytes() {
return numLongTermLogicalBytes;
}
/**
* Output only. Number of logical bytes that are more than 90 days old.
* @param numLongTermLogicalBytes numLongTermLogicalBytes or {@code null} for none
*/
public Table setNumLongTermLogicalBytes(java.lang.Long numLongTermLogicalBytes) {
this.numLongTermLogicalBytes = numLongTermLogicalBytes;
return this;
}
/**
* Output only. Number of physical bytes more than 90 days old. This data is not kept in real
* time, and might be delayed by a few seconds to a few minutes.
* @return value or {@code null} for none
*/
public java.lang.Long getNumLongTermPhysicalBytes() {
return numLongTermPhysicalBytes;
}
/**
* Output only. Number of physical bytes more than 90 days old. This data is not kept in real
* time, and might be delayed by a few seconds to a few minutes.
* @param numLongTermPhysicalBytes numLongTermPhysicalBytes or {@code null} for none
*/
public Table setNumLongTermPhysicalBytes(java.lang.Long numLongTermPhysicalBytes) {
this.numLongTermPhysicalBytes = numLongTermPhysicalBytes;
return this;
}
/**
* Output only. The number of partitions present in the table or materialized view. This data is
* not kept in real time, and might be delayed by a few seconds to a few minutes.
* @return value or {@code null} for none
*/
public java.lang.Long getNumPartitions() {
return numPartitions;
}
/**
* Output only. The number of partitions present in the table or materialized view. This data is
* not kept in real time, and might be delayed by a few seconds to a few minutes.
* @param numPartitions numPartitions or {@code null} for none
*/
public Table setNumPartitions(java.lang.Long numPartitions) {
this.numPartitions = numPartitions;
return this;
}
/**
* Output only. The physical size of this table in bytes. This includes storage used for time
* travel.
* @return value or {@code null} for none
*/
public java.lang.Long getNumPhysicalBytes() {
return numPhysicalBytes;
}
/**
* Output only. The physical size of this table in bytes. This includes storage used for time
* travel.
* @param numPhysicalBytes numPhysicalBytes or {@code null} for none
*/
public Table setNumPhysicalBytes(java.lang.Long numPhysicalBytes) {
this.numPhysicalBytes = numPhysicalBytes;
return this;
}
/**
* Output only. The number of rows of data in this table, excluding any data in the streaming
* buffer.
* @return value or {@code null} for none
*/
public java.math.BigInteger getNumRows() {
return numRows;
}
/**
* Output only. The number of rows of data in this table, excluding any data in the streaming
* buffer.
* @param numRows numRows or {@code null} for none
*/
public Table setNumRows(java.math.BigInteger numRows) {
this.numRows = numRows;
return this;
}
/**
* Output only. Number of physical bytes used by time travel storage (deleted or changed data).
* This data is not kept in real time, and might be delayed by a few seconds to a few minutes.
* @return value or {@code null} for none
*/
public java.lang.Long getNumTimeTravelPhysicalBytes() {
return numTimeTravelPhysicalBytes;
}
/**
* Output only. Number of physical bytes used by time travel storage (deleted or changed data).
* This data is not kept in real time, and might be delayed by a few seconds to a few minutes.
* @param numTimeTravelPhysicalBytes numTimeTravelPhysicalBytes or {@code null} for none
*/
public Table setNumTimeTravelPhysicalBytes(java.lang.Long numTimeTravelPhysicalBytes) {
this.numTimeTravelPhysicalBytes = numTimeTravelPhysicalBytes;
return this;
}
/**
* Output only. Total number of logical bytes in the table or materialized view.
* @return value or {@code null} for none
*/
public java.lang.Long getNumTotalLogicalBytes() {
return numTotalLogicalBytes;
}
/**
* Output only. Total number of logical bytes in the table or materialized view.
* @param numTotalLogicalBytes numTotalLogicalBytes or {@code null} for none
*/
public Table setNumTotalLogicalBytes(java.lang.Long numTotalLogicalBytes) {
this.numTotalLogicalBytes = numTotalLogicalBytes;
return this;
}
/**
* Output only. The physical size of this table in bytes. This also includes storage used for time
* travel. This data is not kept in real time, and might be delayed by a few seconds to a few
* minutes.
* @return value or {@code null} for none
*/
public java.lang.Long getNumTotalPhysicalBytes() {
return numTotalPhysicalBytes;
}
/**
* Output only. The physical size of this table in bytes. This also includes storage used for time
* travel. This data is not kept in real time, and might be delayed by a few seconds to a few
* minutes.
* @param numTotalPhysicalBytes numTotalPhysicalBytes or {@code null} for none
*/
public Table setNumTotalPhysicalBytes(java.lang.Long numTotalPhysicalBytes) {
this.numTotalPhysicalBytes = numTotalPhysicalBytes;
return this;
}
/**
* Optional. The partition information for all table formats, including managed partitioned
* tables, hive partitioned tables, iceberg partitioned, and metastore partitioned tables. This
* field is only populated for metastore partitioned tables. For other table formats, this is an
* output only field.
* @return value or {@code null} for none
*/
public PartitioningDefinition getPartitionDefinition() {
return partitionDefinition;
}
/**
* Optional. The partition information for all table formats, including managed partitioned
* tables, hive partitioned tables, iceberg partitioned, and metastore partitioned tables. This
* field is only populated for metastore partitioned tables. For other table formats, this is an
* output only field.
* @param partitionDefinition partitionDefinition or {@code null} for none
*/
public Table setPartitionDefinition(PartitioningDefinition partitionDefinition) {
this.partitionDefinition = partitionDefinition;
return this;
}
/**
* If specified, configures range partitioning for this table.
* @return value or {@code null} for none
*/
public RangePartitioning getRangePartitioning() {
return rangePartitioning;
}
/**
* If specified, configures range partitioning for this table.
* @param rangePartitioning rangePartitioning or {@code null} for none
*/
public Table setRangePartitioning(RangePartitioning rangePartitioning) {
this.rangePartitioning = rangePartitioning;
return this;
}
/**
* Optional. Output only. Table references of all replicas currently active on the table.
* @return value or {@code null} for none
*/
public java.util.List getReplicas() {
return replicas;
}
/**
* Optional. Output only. Table references of all replicas currently active on the table.
* @param replicas replicas or {@code null} for none
*/
public Table setReplicas(java.util.List replicas) {
this.replicas = replicas;
return this;
}
/**
* Optional. If set to true, queries over this table require a partition filter that can be used
* for partition elimination to be specified.
* @return value or {@code null} for none
*/
public java.lang.Boolean getRequirePartitionFilter() {
return requirePartitionFilter;
}
/**
* Optional. If set to true, queries over this table require a partition filter that can be used
* for partition elimination to be specified.
* @param requirePartitionFilter requirePartitionFilter or {@code null} for none
*/
public Table setRequirePartitionFilter(java.lang.Boolean requirePartitionFilter) {
this.requirePartitionFilter = requirePartitionFilter;
return this;
}
/**
* Convenience method that returns only {@link Boolean#TRUE} or {@link Boolean#FALSE}.
*
*
* Boolean properties can have four possible values:
* {@code null}, {@link com.google.api.client.util.Data#NULL_BOOLEAN}, {@link Boolean#TRUE}
* or {@link Boolean#FALSE}.
*
*
*
* This method returns {@link Boolean#TRUE} if the default of the property is {@link Boolean#TRUE}
* and it is {@code null} or {@link com.google.api.client.util.Data#NULL_BOOLEAN}.
* {@link Boolean#FALSE} is returned if the default of the property is {@link Boolean#FALSE} and
* it is {@code null} or {@link com.google.api.client.util.Data#NULL_BOOLEAN}.
*
*
*
* Optional. If set to true, queries over this table require a partition filter that can be used for
partition elimination to be specified.
*
*/
public boolean isRequirePartitionFilter() {
if (requirePartitionFilter == null || requirePartitionFilter == com.google.api.client.util.Data.NULL_BOOLEAN) {
return false;
}
return requirePartitionFilter;
}
/**
* [Optional] The tags associated with this table. Tag keys are globally unique. See additional
* information on [tags](https://cloud.google.com/iam/docs/tags-access-control#definitions). An
* object containing a list of "key": value pairs. The key is the namespaced friendly name of the
* tag key, e.g. "12345/environment" where 12345 is parent id. The value is the friendly short
* name of the tag value, e.g. "production".
* @return value or {@code null} for none
*/
public java.util.Map getResourceTags() {
return resourceTags;
}
/**
* [Optional] The tags associated with this table. Tag keys are globally unique. See additional
* information on [tags](https://cloud.google.com/iam/docs/tags-access-control#definitions). An
* object containing a list of "key": value pairs. The key is the namespaced friendly name of the
* tag key, e.g. "12345/environment" where 12345 is parent id. The value is the friendly short
* name of the tag value, e.g. "production".
* @param resourceTags resourceTags or {@code null} for none
*/
public Table setResourceTags(java.util.Map resourceTags) {
this.resourceTags = resourceTags;
return this;
}
/**
* Optional. Output only. Restriction config for table. If set, restrict certain accesses on the
* table based on the config. See [Data egress](/bigquery/docs/analytics-hub-
* introduction#data_egress) for more details.
* @return value or {@code null} for none
*/
public RestrictionConfig getRestrictions() {
return restrictions;
}
/**
* Optional. Output only. Restriction config for table. If set, restrict certain accesses on the
* table based on the config. See [Data egress](/bigquery/docs/analytics-hub-
* introduction#data_egress) for more details.
* @param restrictions restrictions or {@code null} for none
*/
public Table setRestrictions(RestrictionConfig restrictions) {
this.restrictions = restrictions;
return this;
}
/**
* Optional. Describes the schema of this table.
* @return value or {@code null} for none
*/
public TableSchema getSchema() {
return schema;
}
/**
* Optional. Describes the schema of this table.
* @param schema schema or {@code null} for none
*/
public Table setSchema(TableSchema schema) {
this.schema = schema;
return this;
}
/**
* Output only. A URL that can be used to access this resource again.
* @return value or {@code null} for none
*/
public java.lang.String getSelfLink() {
return selfLink;
}
/**
* Output only. A URL that can be used to access this resource again.
* @param selfLink selfLink or {@code null} for none
*/
public Table setSelfLink(java.lang.String selfLink) {
this.selfLink = selfLink;
return this;
}
/**
* Output only. Contains information about the snapshot. This value is set via snapshot creation.
* @return value or {@code null} for none
*/
public SnapshotDefinition getSnapshotDefinition() {
return snapshotDefinition;
}
/**
* Output only. Contains information about the snapshot. This value is set via snapshot creation.
* @param snapshotDefinition snapshotDefinition or {@code null} for none
*/
public Table setSnapshotDefinition(SnapshotDefinition snapshotDefinition) {
this.snapshotDefinition = snapshotDefinition;
return this;
}
/**
* Output only. Contains information regarding this table's streaming buffer, if one is present.
* This field will be absent if the table is not being streamed to or if there is no data in the
* streaming buffer.
* @return value or {@code null} for none
*/
public Streamingbuffer getStreamingBuffer() {
return streamingBuffer;
}
/**
* Output only. Contains information regarding this table's streaming buffer, if one is present.
* This field will be absent if the table is not being streamed to or if there is no data in the
* streaming buffer.
* @param streamingBuffer streamingBuffer or {@code null} for none
*/
public Table setStreamingBuffer(Streamingbuffer streamingBuffer) {
this.streamingBuffer = streamingBuffer;
return this;
}
/**
* Optional. Tables Primary Key and Foreign Key information
* @return value or {@code null} for none
*/
public TableConstraints getTableConstraints() {
return tableConstraints;
}
/**
* Optional. Tables Primary Key and Foreign Key information
* @param tableConstraints tableConstraints or {@code null} for none
*/
public Table setTableConstraints(TableConstraints tableConstraints) {
this.tableConstraints = tableConstraints;
return this;
}
/**
* Required. Reference describing the ID of this table.
* @return value or {@code null} for none
*/
public TableReference getTableReference() {
return tableReference;
}
/**
* Required. Reference describing the ID of this table.
* @param tableReference tableReference or {@code null} for none
*/
public Table setTableReference(TableReference tableReference) {
this.tableReference = tableReference;
return this;
}
/**
* Optional. Table replication info for table created `AS REPLICA` DDL like: `CREATE MATERIALIZED
* VIEW mv1 AS REPLICA OF src_mv`
* @return value or {@code null} for none
*/
public TableReplicationInfo getTableReplicationInfo() {
return tableReplicationInfo;
}
/**
* Optional. Table replication info for table created `AS REPLICA` DDL like: `CREATE MATERIALIZED
* VIEW mv1 AS REPLICA OF src_mv`
* @param tableReplicationInfo tableReplicationInfo or {@code null} for none
*/
public Table setTableReplicationInfo(TableReplicationInfo tableReplicationInfo) {
this.tableReplicationInfo = tableReplicationInfo;
return this;
}
/**
* If specified, configures time-based partitioning for this table.
* @return value or {@code null} for none
*/
public TimePartitioning getTimePartitioning() {
return timePartitioning;
}
/**
* If specified, configures time-based partitioning for this table.
* @param timePartitioning timePartitioning or {@code null} for none
*/
public Table setTimePartitioning(TimePartitioning timePartitioning) {
this.timePartitioning = timePartitioning;
return this;
}
/**
* Output only. Describes the table type. The following values are supported: * `TABLE`: A normal
* BigQuery table. * `VIEW`: A virtual table defined by a SQL query. * `EXTERNAL`: A table that
* references data stored in an external storage system, such as Google Cloud Storage. *
* `MATERIALIZED_VIEW`: A precomputed view defined by a SQL query. * `SNAPSHOT`: An immutable
* BigQuery table that preserves the contents of a base table at a particular time. See additional
* information on [table snapshots](/bigquery/docs/table-snapshots-intro). The default value is
* `TABLE`.
* @return value or {@code null} for none
*/
public java.lang.String getType() {
return type;
}
/**
* Output only. Describes the table type. The following values are supported: * `TABLE`: A normal
* BigQuery table. * `VIEW`: A virtual table defined by a SQL query. * `EXTERNAL`: A table that
* references data stored in an external storage system, such as Google Cloud Storage. *
* `MATERIALIZED_VIEW`: A precomputed view defined by a SQL query. * `SNAPSHOT`: An immutable
* BigQuery table that preserves the contents of a base table at a particular time. See additional
* information on [table snapshots](/bigquery/docs/table-snapshots-intro). The default value is
* `TABLE`.
* @param type type or {@code null} for none
*/
public Table setType(java.lang.String type) {
this.type = type;
return this;
}
/**
* Optional. The view definition.
* @return value or {@code null} for none
*/
public ViewDefinition getView() {
return view;
}
/**
* Optional. The view definition.
* @param view view or {@code null} for none
*/
public Table setView(ViewDefinition view) {
this.view = view;
return this;
}
@Override
public Table set(String fieldName, Object value) {
return (Table) super.set(fieldName, value);
}
@Override
public Table clone() {
return (Table) super.clone();
}
}