import * as pulumi from "@pulumi/pulumi"; /** * Provides a Datadog Datastore resource. This can be used to create and manage Datadog datastore. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as datadog from "@pulumi/datadog"; * * // Create a new datastore resource * const foo = new datadog.Datastore("foo", { * name: "my-datastore", * description: "My application datastore", * primaryColumnName: "id", * primaryKeyGenerationStrategy: "none", * orgAccess: "contributor", * }); * // Create a datastore with auto-generated UUIDs for primary keys * const autoUuid = new datadog.Datastore("auto_uuid", { * name: "my-uuid-datastore", * description: "Datastore with auto-generated primary keys", * primaryColumnName: "uuid", * primaryKeyGenerationStrategy: "uuid", * }); * ``` * * ## Import * * The `pulumi import` command can be used, for example: * * ```sh * $ pulumi import datadog:index/datastore:Datastore foo "datastore-id" * ``` */ export declare class Datastore extends pulumi.CustomResource { /** * Get an existing Datastore 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?: DatastoreState, opts?: pulumi.CustomResourceOptions): Datastore; /** * Returns true if the given object is an instance of Datastore. 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 Datastore; /** * Timestamp when the datastore was created. */ readonly createdAt: pulumi.Output; /** * The numeric ID of the user who created the datastore. */ readonly creatorUserId: pulumi.Output; /** * The UUID of the user who created the datastore. */ readonly creatorUserUuid: pulumi.Output; /** * A human-readable description about the datastore. */ readonly description: pulumi.Output; /** * Timestamp when the datastore was last modified. */ readonly modifiedAt: pulumi.Output; /** * The display name for the new datastore. */ readonly name: pulumi.Output; /** * The organization access level for the datastore. For example, 'contributor'. */ readonly orgAccess: pulumi.Output; /** * The ID of the organization that owns this datastore. */ readonly orgId: pulumi.Output; /** * The name of the primary key column for this datastore. Primary column names: - Must abide by both [PostgreSQL naming conventions](https://www.postgresql.org/docs/7.0/syntax525.htm) - Cannot exceed 63 characters */ readonly primaryColumnName: pulumi.Output; /** * Can be set to `uuid` to automatically generate primary keys when new items are added. Default value is `none`, which requires you to supply a primary key for each new item. */ readonly primaryKeyGenerationStrategy: pulumi.Output; /** * Create a Datastore 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: DatastoreArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Datastore resources. */ export interface DatastoreState { /** * Timestamp when the datastore was created. */ createdAt?: pulumi.Input; /** * The numeric ID of the user who created the datastore. */ creatorUserId?: pulumi.Input; /** * The UUID of the user who created the datastore. */ creatorUserUuid?: pulumi.Input; /** * A human-readable description about the datastore. */ description?: pulumi.Input; /** * Timestamp when the datastore was last modified. */ modifiedAt?: pulumi.Input; /** * The display name for the new datastore. */ name?: pulumi.Input; /** * The organization access level for the datastore. For example, 'contributor'. */ orgAccess?: pulumi.Input; /** * The ID of the organization that owns this datastore. */ orgId?: pulumi.Input; /** * The name of the primary key column for this datastore. Primary column names: - Must abide by both [PostgreSQL naming conventions](https://www.postgresql.org/docs/7.0/syntax525.htm) - Cannot exceed 63 characters */ primaryColumnName?: pulumi.Input; /** * Can be set to `uuid` to automatically generate primary keys when new items are added. Default value is `none`, which requires you to supply a primary key for each new item. */ primaryKeyGenerationStrategy?: pulumi.Input; } /** * The set of arguments for constructing a Datastore resource. */ export interface DatastoreArgs { /** * A human-readable description about the datastore. */ description?: pulumi.Input; /** * The display name for the new datastore. */ name: pulumi.Input; /** * The organization access level for the datastore. For example, 'contributor'. */ orgAccess?: pulumi.Input; /** * The name of the primary key column for this datastore. Primary column names: - Must abide by both [PostgreSQL naming conventions](https://www.postgresql.org/docs/7.0/syntax525.htm) - Cannot exceed 63 characters */ primaryColumnName: pulumi.Input; /** * Can be set to `uuid` to automatically generate primary keys when new items are added. Default value is `none`, which requires you to supply a primary key for each new item. */ primaryKeyGenerationStrategy?: pulumi.Input; }