import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages a Cassandra Table within a Cosmos DB Cassandra Keyspace. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.core.ResourceGroup("example", { * name: "tflex-cosmosdb-account-rg", * location: "West Europe", * }); * const exampleAccount = new azure.cosmosdb.Account("example", { * name: "tfex-cosmosdb-account", * resourceGroupName: example.name, * location: example.location, * offerType: "Standard", * capabilities: [{ * name: "EnableCassandra", * }], * consistencyPolicy: { * consistencyLevel: "Strong", * }, * geoLocations: [{ * location: example.location, * failoverPriority: 0, * }], * }); * const exampleCassandraKeyspace = new azure.cosmosdb.CassandraKeyspace("example", { * name: "tfex-cosmos-cassandra-keyspace", * resourceGroupName: exampleAccount.resourceGroupName, * accountName: exampleAccount.name, * throughput: 400, * }); * const exampleCassandraTable = new azure.cosmosdb.CassandraTable("example", { * name: "testtable", * cassandraKeyspaceId: exampleCassandraKeyspace.id, * schema: { * columns: [ * { * name: "test1", * type: "ascii", * }, * { * name: "test2", * type: "int", * }, * ], * partitionKeys: [{ * name: "test1", * }], * }, * }); * ``` * * ## Import * * Cosmos Cassandra Table can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:cosmosdb/cassandraTable:CassandraTable ks1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/account1/cassandraKeyspaces/ks1/tables/table1 * ``` */ export declare class CassandraTable extends pulumi.CustomResource { /** * Get an existing CassandraTable 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, state?: CassandraTableState, opts?: pulumi.CustomResourceOptions): CassandraTable; /** * Returns true if the given object is an instance of CassandraTable. 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 CassandraTable; /** * Time to live of the Analytical Storage. Possible values are between `-1` and `2147483647` except `0`. `-1` means the Analytical Storage never expires. Changing this forces a new resource to be created. * * > **Note:** throughput has a maximum value of `1000000` unless a higher limit is requested via Azure Support */ readonly analyticalStorageTtl: pulumi.Output; /** * An `autoscaleSettings` block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply. * * > **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed. */ readonly autoscaleSettings: pulumi.Output; /** * The ID of the Cosmos DB Cassandra Keyspace to create the table within. Changing this forces a new resource to be created. */ readonly cassandraKeyspaceId: pulumi.Output; /** * Time to live of the Cosmos DB Cassandra table. Possible values are at least `-1`. `-1` means the Cassandra table never expires. */ readonly defaultTtl: pulumi.Output; /** * Specifies the name of the Cosmos DB Cassandra Table. Changing this forces a new resource to be created. */ readonly name: pulumi.Output; /** * A `schema` block as defined below. */ readonly schema: pulumi.Output; /** * The throughput of Cassandra KeySpace (RU/s). Must be set in increments of `100`. The minimum value is `400`. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply. */ readonly throughput: pulumi.Output; /** * Create a CassandraTable 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: CassandraTableArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering CassandraTable resources. */ export interface CassandraTableState { /** * Time to live of the Analytical Storage. Possible values are between `-1` and `2147483647` except `0`. `-1` means the Analytical Storage never expires. Changing this forces a new resource to be created. * * > **Note:** throughput has a maximum value of `1000000` unless a higher limit is requested via Azure Support */ analyticalStorageTtl?: pulumi.Input; /** * An `autoscaleSettings` block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply. * * > **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed. */ autoscaleSettings?: pulumi.Input; /** * The ID of the Cosmos DB Cassandra Keyspace to create the table within. Changing this forces a new resource to be created. */ cassandraKeyspaceId?: pulumi.Input; /** * Time to live of the Cosmos DB Cassandra table. Possible values are at least `-1`. `-1` means the Cassandra table never expires. */ defaultTtl?: pulumi.Input; /** * Specifies the name of the Cosmos DB Cassandra Table. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * A `schema` block as defined below. */ schema?: pulumi.Input; /** * The throughput of Cassandra KeySpace (RU/s). Must be set in increments of `100`. The minimum value is `400`. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply. */ throughput?: pulumi.Input; } /** * The set of arguments for constructing a CassandraTable resource. */ export interface CassandraTableArgs { /** * Time to live of the Analytical Storage. Possible values are between `-1` and `2147483647` except `0`. `-1` means the Analytical Storage never expires. Changing this forces a new resource to be created. * * > **Note:** throughput has a maximum value of `1000000` unless a higher limit is requested via Azure Support */ analyticalStorageTtl?: pulumi.Input; /** * An `autoscaleSettings` block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply. * * > **Note:** Switching between autoscale and manual throughput is not supported via this provider and must be completed via the Azure Portal and refreshed. */ autoscaleSettings?: pulumi.Input; /** * The ID of the Cosmos DB Cassandra Keyspace to create the table within. Changing this forces a new resource to be created. */ cassandraKeyspaceId: pulumi.Input; /** * Time to live of the Cosmos DB Cassandra table. Possible values are at least `-1`. `-1` means the Cassandra table never expires. */ defaultTtl?: pulumi.Input; /** * Specifies the name of the Cosmos DB Cassandra Table. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * A `schema` block as defined below. */ schema: pulumi.Input; /** * The throughput of Cassandra KeySpace (RU/s). Must be set in increments of `100`. The minimum value is `400`. This must be set upon database creation otherwise it cannot be updated without a manual terraform destroy-apply. */ throughput?: pulumi.Input; }