import * as pulumi from "@pulumi/pulumi"; /** * Provides a Vultr database topic resource. This can be used to create, read, modify, and delete topics for a managed database on your Vultr account. * * ## Example Usage * * Create a new database topic: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vultr from "@ediri/vultr"; * * const myDatabaseTopic = new vultr.DatabaseTopic("myDatabaseTopic", { * databaseId: vultr_database.my_database.id, * name: "my_database_topic", * partitions: 3, * replication: 2, * retentionHours: 120, * retentionBytes: -1, * }); * ``` */ export declare class DatabaseTopic extends pulumi.CustomResource { /** * Get an existing DatabaseTopic 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?: DatabaseTopicState, opts?: pulumi.CustomResourceOptions): DatabaseTopic; /** * Returns true if the given object is an instance of DatabaseTopic. 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 DatabaseTopic; /** * The managed database ID you want to attach this topic to. */ readonly databaseId: pulumi.Output; /** * The name for the new managed database topic. */ readonly name: pulumi.Output; /** * The number of partitions for the new managed database topic. */ readonly partitions: pulumi.Output; /** * The replication factor for the new managed database topic. */ readonly replication: pulumi.Output; /** * The retention bytes for the new managed database topic. */ readonly retentionBytes: pulumi.Output; /** * The retention hours for the new managed database topic. */ readonly retentionHours: pulumi.Output; /** * Create a DatabaseTopic 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: DatabaseTopicArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering DatabaseTopic resources. */ export interface DatabaseTopicState { /** * The managed database ID you want to attach this topic to. */ databaseId?: pulumi.Input; /** * The name for the new managed database topic. */ name?: pulumi.Input; /** * The number of partitions for the new managed database topic. */ partitions?: pulumi.Input; /** * The replication factor for the new managed database topic. */ replication?: pulumi.Input; /** * The retention bytes for the new managed database topic. */ retentionBytes?: pulumi.Input; /** * The retention hours for the new managed database topic. */ retentionHours?: pulumi.Input; } /** * The set of arguments for constructing a DatabaseTopic resource. */ export interface DatabaseTopicArgs { /** * The managed database ID you want to attach this topic to. */ databaseId: pulumi.Input; /** * The name for the new managed database topic. */ name: pulumi.Input; /** * The number of partitions for the new managed database topic. */ partitions: pulumi.Input; /** * The replication factor for the new managed database topic. */ replication: pulumi.Input; /** * The retention bytes for the new managed database topic. */ retentionBytes: pulumi.Input; /** * The retention hours for the new managed database topic. */ retentionHours: pulumi.Input; }