UNPKG

@pulumi/databricks

Version:

A Pulumi package for creating and managing databricks cloud resources.

193 lines (192 loc) 9.61 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Lakebase Synced Database Tables are Postgres tables automatically synced from a source table inside Unity Catalog. * They can be used to serve realtime queries without the operational overhead of managing ETL pipelines. * * Synced Database Tables can be configured inside either Database Catalogs or Standard Catalogs. Multiple * Synced Database Tables can be bin packed inside a single pipeline to optimize costs. * * ## Example Usage * * ## Import * * As of Pulumi v1.5, resources can be imported through configuration. * * hcl * * import { * * id = "name" * * to = databricks_database_synced_database_table.this * * } * * If you are using an older version of Pulumi, import the resource using the `pulumi import` command as follows: * * ```sh * $ pulumi import databricks:index/databaseSyncedDatabaseTable:DatabaseSyncedDatabaseTable databricks_database_synced_database_table "name" * ``` */ export declare class DatabaseSyncedDatabaseTable extends pulumi.CustomResource { /** * Get an existing DatabaseSyncedDatabaseTable 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 state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DatabaseSyncedDatabaseTableState, opts?: pulumi.CustomResourceOptions): DatabaseSyncedDatabaseTable; /** * Returns true if the given object is an instance of DatabaseSyncedDatabaseTable. 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 DatabaseSyncedDatabaseTable; /** * (SyncedTableStatus) - Synced Table data synchronization status */ readonly dataSynchronizationStatus: pulumi.Output<outputs.DatabaseSyncedDatabaseTableDataSynchronizationStatus>; /** * Name of the target database instance. This is required when creating synced database tables in standard catalogs. * This is optional when creating synced database tables in registered catalogs. If this field is specified * when creating synced database tables in registered catalogs, the database instance name MUST * match that of the registered catalog (or the request will be rejected) */ readonly databaseInstanceName: pulumi.Output<string>; /** * (string) - The name of the database instance that this table is registered to. This field is always returned, and for * tables inside database catalogs is inferred database instance associated with the catalog */ readonly effectiveDatabaseInstanceName: pulumi.Output<string>; /** * (string) - The name of the logical database that this table is registered to */ readonly effectiveLogicalDatabaseName: pulumi.Output<string>; /** * Target Postgres database object (logical database) name for this table. * * When creating a synced table in a registered Postgres catalog, the * target Postgres database name is inferred to be that of the registered catalog. * If this field is specified in this scenario, the Postgres database name MUST * match that of the registered catalog (or the request will be rejected). * * When creating a synced table in a standard catalog, this field is required. * In this scenario, specifying this field will allow targeting an arbitrary postgres database. * Note that this has implications for the `createDatabaseObjectsIsMissing` field in `spec` */ readonly logicalDatabaseName: pulumi.Output<string>; /** * Full three-part (catalog, schema, table) name of the table */ readonly name: pulumi.Output<string>; readonly spec: pulumi.Output<outputs.DatabaseSyncedDatabaseTableSpec | undefined>; /** * (string) - The provisioning state of the synced table entity in Unity Catalog. This is distinct from the * state of the data synchronization pipeline (i.e. the table may be in "ACTIVE" but the pipeline * may be in "PROVISIONING" as it runs asynchronously). Possible values are: `ACTIVE`, `DEGRADED`, `DELETING`, `FAILED`, `PROVISIONING`, `UPDATING` */ readonly unityCatalogProvisioningState: pulumi.Output<string>; /** * Workspace ID of the resource */ readonly workspaceId: pulumi.Output<string | undefined>; /** * Create a DatabaseSyncedDatabaseTable 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?: DatabaseSyncedDatabaseTableArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering DatabaseSyncedDatabaseTable resources. */ export interface DatabaseSyncedDatabaseTableState { /** * (SyncedTableStatus) - Synced Table data synchronization status */ dataSynchronizationStatus?: pulumi.Input<inputs.DatabaseSyncedDatabaseTableDataSynchronizationStatus>; /** * Name of the target database instance. This is required when creating synced database tables in standard catalogs. * This is optional when creating synced database tables in registered catalogs. If this field is specified * when creating synced database tables in registered catalogs, the database instance name MUST * match that of the registered catalog (or the request will be rejected) */ databaseInstanceName?: pulumi.Input<string>; /** * (string) - The name of the database instance that this table is registered to. This field is always returned, and for * tables inside database catalogs is inferred database instance associated with the catalog */ effectiveDatabaseInstanceName?: pulumi.Input<string>; /** * (string) - The name of the logical database that this table is registered to */ effectiveLogicalDatabaseName?: pulumi.Input<string>; /** * Target Postgres database object (logical database) name for this table. * * When creating a synced table in a registered Postgres catalog, the * target Postgres database name is inferred to be that of the registered catalog. * If this field is specified in this scenario, the Postgres database name MUST * match that of the registered catalog (or the request will be rejected). * * When creating a synced table in a standard catalog, this field is required. * In this scenario, specifying this field will allow targeting an arbitrary postgres database. * Note that this has implications for the `createDatabaseObjectsIsMissing` field in `spec` */ logicalDatabaseName?: pulumi.Input<string>; /** * Full three-part (catalog, schema, table) name of the table */ name?: pulumi.Input<string>; spec?: pulumi.Input<inputs.DatabaseSyncedDatabaseTableSpec>; /** * (string) - The provisioning state of the synced table entity in Unity Catalog. This is distinct from the * state of the data synchronization pipeline (i.e. the table may be in "ACTIVE" but the pipeline * may be in "PROVISIONING" as it runs asynchronously). Possible values are: `ACTIVE`, `DEGRADED`, `DELETING`, `FAILED`, `PROVISIONING`, `UPDATING` */ unityCatalogProvisioningState?: pulumi.Input<string>; /** * Workspace ID of the resource */ workspaceId?: pulumi.Input<string>; } /** * The set of arguments for constructing a DatabaseSyncedDatabaseTable resource. */ export interface DatabaseSyncedDatabaseTableArgs { /** * Name of the target database instance. This is required when creating synced database tables in standard catalogs. * This is optional when creating synced database tables in registered catalogs. If this field is specified * when creating synced database tables in registered catalogs, the database instance name MUST * match that of the registered catalog (or the request will be rejected) */ databaseInstanceName?: pulumi.Input<string>; /** * Target Postgres database object (logical database) name for this table. * * When creating a synced table in a registered Postgres catalog, the * target Postgres database name is inferred to be that of the registered catalog. * If this field is specified in this scenario, the Postgres database name MUST * match that of the registered catalog (or the request will be rejected). * * When creating a synced table in a standard catalog, this field is required. * In this scenario, specifying this field will allow targeting an arbitrary postgres database. * Note that this has implications for the `createDatabaseObjectsIsMissing` field in `spec` */ logicalDatabaseName?: pulumi.Input<string>; /** * Full three-part (catalog, schema, table) name of the table */ name?: pulumi.Input<string>; spec?: pulumi.Input<inputs.DatabaseSyncedDatabaseTableSpec>; /** * Workspace ID of the resource */ workspaceId?: pulumi.Input<string>; }