import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "../../types"; /** * Creates a new table in the specified instance. The table can be created with a full set of initial column families, specified in the request. */ export declare class InstanceTable extends pulumi.CustomResource { /** * Get an existing InstanceTable 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): InstanceTable; /** * Returns true if the given object is an instance of InstanceTable. 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 InstanceTable; /** * Map from cluster ID to per-cluster table state. If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then there will be an entry for the cluster with UNKNOWN `replication_status`. Views: `REPLICATION_VIEW`, `ENCRYPTION_VIEW`, `FULL` */ readonly clusterStates: pulumi.Output<{ [key: string]: string; }>; /** * The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `FULL` */ readonly columnFamilies: pulumi.Output<{ [key: string]: string; }>; /** * Immutable. The granularity (i.e. `MILLIS`) at which timestamps are stored in this table. Timestamps not matching the granularity will be rejected. If unspecified at creation time, the value will be set to `MILLIS`. Views: `SCHEMA_VIEW`, `FULL`. */ readonly granularity: pulumi.Output; /** * The unique name of the table. Values are of the form `projects/{project}/instances/{instance}/tables/_a-zA-Z0-9*`. Views: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `FULL` */ readonly name: pulumi.Output; /** * If this table was restored from another data source (e.g. a backup), this field will be populated with information about the restore. */ readonly restoreInfo: pulumi.Output; /** * Create a InstanceTable 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: InstanceTableArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a InstanceTable resource. */ export interface InstanceTableArgs { /** * The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `FULL` */ readonly columnFamilies?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Immutable. The granularity (i.e. `MILLIS`) at which timestamps are stored in this table. Timestamps not matching the granularity will be rejected. If unspecified at creation time, the value will be set to `MILLIS`. Views: `SCHEMA_VIEW`, `FULL`. */ readonly granularity?: pulumi.Input; /** * The optional list of row keys that will be used to initially split the table into several tablets (tablets are similar to HBase regions). Given two split keys, `s1` and `s2`, three tablets will be created, spanning the key ranges: `[, s1), [s1, s2), [s2, )`. Example: * Row keys := `["a", "apple", "custom", "customer_1", "customer_2",` `"other", "zz"]` * initial_split_keys := `["apple", "customer_1", "customer_2", "other"]` * Key assignment: - Tablet 1 `[, apple) => {"a"}.` - Tablet 2 `[apple, customer_1) => {"apple", "custom"}.` - Tablet 3 `[customer_1, customer_2) => {"customer_1"}.` - Tablet 4 `[customer_2, other) => {"customer_2"}.` - Tablet 5 `[other, ) => {"other", "zz"}.` */ readonly initialSplits?: pulumi.Input[]>; readonly instancesId: pulumi.Input; /** * The unique name of the table. Values are of the form `projects/{project}/instances/{instance}/tables/_a-zA-Z0-9*`. Views: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `FULL` */ readonly name?: pulumi.Input; readonly projectsId: pulumi.Input; /** * Required. The name by which the new table should be referred to within the parent instance, e.g., `foobar` rather than `{parent}/tables/foobar`. Maximum 50 characters. */ readonly tableId?: pulumi.Input; readonly tablesId: pulumi.Input; }