import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; /** * Creates a new, empty table in the dataset. * Auto-naming is currently not supported for this resource. */ export declare class Table extends pulumi.CustomResource { /** * Get an existing Table resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Table; /** * Returns true if the given object is an instance of Table. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Table; /** * [Optional] Specifies the configuration of a BigLake managed table. */ readonly biglakeConfiguration: pulumi.Output; /** * Clone definition. */ readonly cloneDefinition: pulumi.Output; /** * [Beta] Clustering specification for the table. Must be specified with partitioning, data in the table will be first partitioned and subsequently clustered. */ readonly clustering: pulumi.Output; /** * The time when this table was created, in milliseconds since the epoch. */ readonly creationTime: pulumi.Output; readonly datasetId: pulumi.Output; /** * The default collation of the table. */ readonly defaultCollation: pulumi.Output; /** * The default rounding mode of the table. */ readonly defaultRoundingMode: pulumi.Output; /** * [Optional] A user-friendly description of this table. */ readonly description: pulumi.Output; /** * Custom encryption configuration (e.g., Cloud KMS keys). */ readonly encryptionConfiguration: pulumi.Output; /** * A hash of the table metadata. Used to ensure there were no concurrent modifications to the resource when attempting an update. Not guaranteed to change when the table contents or the fields numRows, numBytes, numLongTermBytes or lastModifiedTime change. */ readonly etag: pulumi.Output; /** * [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. */ readonly expirationTime: pulumi.Output; /** * [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. */ readonly externalDataConfiguration: pulumi.Output; /** * [Optional] A descriptive name for this table. */ readonly friendlyName: pulumi.Output; /** * The type of the resource. */ readonly kind: pulumi.Output; /** * 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. */ readonly labels: pulumi.Output<{ [key: string]: string; }>; /** * The time when this table was last modified, in milliseconds since the epoch. */ readonly lastModifiedTime: pulumi.Output; /** * The geographic location where the table resides. This value is inherited from the dataset. */ readonly location: pulumi.Output; /** * [Optional] Materialized view definition. */ readonly materializedView: pulumi.Output; /** * [Optional] Max staleness of data that could be returned when table or materialized view is queried (formatted as Google SQL Interval type). */ readonly maxStaleness: pulumi.Output; /** * [Output-only, Beta] Present iff this table represents a ML model. Describes the training information for the model, and it is required to run 'PREDICT' queries. */ readonly model: pulumi.Output; /** * Number of logical bytes that are less than 90 days old. */ readonly numActiveLogicalBytes: pulumi.Output; /** * 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. */ readonly numActivePhysicalBytes: pulumi.Output; /** * The size of this table in bytes, excluding any data in the streaming buffer. */ readonly numBytes: pulumi.Output; /** * The number of bytes in the table that are considered "long-term storage". */ readonly numLongTermBytes: pulumi.Output; /** * Number of logical bytes that are more than 90 days old. */ readonly numLongTermLogicalBytes: pulumi.Output; /** * 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. */ readonly numLongTermPhysicalBytes: pulumi.Output; /** * 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. */ readonly numPartitions: pulumi.Output; /** * [TrustedTester] The physical size of this table in bytes, excluding any data in the streaming buffer. This includes compression and storage used for time travel. */ readonly numPhysicalBytes: pulumi.Output; /** * The number of rows of data in this table, excluding any data in the streaming buffer. */ readonly numRows: pulumi.Output; /** * 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. */ readonly numTimeTravelPhysicalBytes: pulumi.Output; /** * Total number of logical bytes in the table or materialized view. */ readonly numTotalLogicalBytes: pulumi.Output; /** * 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. */ readonly numTotalPhysicalBytes: pulumi.Output; readonly project: pulumi.Output; /** * [TrustedTester] Range partitioning specification for this table. Only one of timePartitioning and rangePartitioning should be specified. */ readonly rangePartitioning: pulumi.Output; /** * [Optional] If set to true, queries over this table require a partition filter that can be used for partition elimination to be specified. */ readonly requirePartitionFilter: pulumi.Output; /** * [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". */ readonly resourceTags: pulumi.Output<{ [key: string]: string; }>; /** * [Optional] Describes the schema of this table. */ readonly schema: pulumi.Output; /** * A URL that can be used to access this resource again. */ readonly selfLink: pulumi.Output; /** * Snapshot definition. */ readonly snapshotDefinition: pulumi.Output; /** * 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. */ readonly streamingBuffer: pulumi.Output; /** * [Optional] The table constraints on the table. */ readonly tableConstraints: pulumi.Output; /** * [Required] Reference describing the ID of this table. */ readonly tableReference: pulumi.Output; /** * Time-based partitioning specification for this table. Only one of timePartitioning and rangePartitioning should be specified. */ readonly timePartitioning: pulumi.Output; /** * Describes the table type. The following values are supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. SNAPSHOT: An immutable, read-only table that is a copy of another table. [TrustedTester] MATERIALIZED_VIEW: SQL query whose result is persisted. EXTERNAL: A table that references data stored in an external storage system, such as Google Cloud Storage. The default value is TABLE. */ readonly type: pulumi.Output; /** * [Optional] The view definition. */ readonly view: pulumi.Output; /** * Create a Table resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: TableArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Table resource. */ export interface TableArgs { /** * [Optional] Specifies the configuration of a BigLake managed table. */ biglakeConfiguration?: pulumi.Input; /** * [Beta] Clustering specification for the table. Must be specified with partitioning, data in the table will be first partitioned and subsequently clustered. */ clustering?: pulumi.Input; datasetId: pulumi.Input; /** * [Optional] A user-friendly description of this table. */ description?: pulumi.Input; /** * Custom encryption configuration (e.g., Cloud KMS keys). */ encryptionConfiguration?: pulumi.Input; /** * [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. */ expirationTime?: pulumi.Input; /** * [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. */ externalDataConfiguration?: pulumi.Input; /** * [Optional] A descriptive name for this table. */ friendlyName?: pulumi.Input; /** * 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. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * [Optional] Materialized view definition. */ materializedView?: pulumi.Input; /** * [Optional] Max staleness of data that could be returned when table or materialized view is queried (formatted as Google SQL Interval type). */ maxStaleness?: pulumi.Input; /** * [Output-only, Beta] Present iff this table represents a ML model. Describes the training information for the model, and it is required to run 'PREDICT' queries. */ model?: pulumi.Input; project?: pulumi.Input; /** * [TrustedTester] Range partitioning specification for this table. Only one of timePartitioning and rangePartitioning should be specified. */ rangePartitioning?: pulumi.Input; /** * [Optional] If set to true, queries over this table require a partition filter that can be used for partition elimination to be specified. */ requirePartitionFilter?: pulumi.Input; /** * [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". */ resourceTags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * [Optional] Describes the schema of this table. */ schema?: pulumi.Input; /** * [Optional] The table constraints on the table. */ tableConstraints?: pulumi.Input; /** * [Required] Reference describing the ID of this table. */ tableReference?: pulumi.Input; /** * Time-based partitioning specification for this table. Only one of timePartitioning and rangePartitioning should be specified. */ timePartitioning?: pulumi.Input; /** * [Optional] The view definition. */ view?: pulumi.Input; }