import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "./types"; /** * Manages a topic of a Kafka cluster within the Yandex.Cloud. For more information, see * [the official documentation](https://cloud.yandex.com/docs/managed-kafka/concepts). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as yandex from "@pulumi/yandex"; * * const foo = new yandex.MdbKafkaCluster("foo", { * networkId: "c64vs98keiqc7f24pvkd", * config: { * version: "2.8", * zones: ["ru-central1-a"], * unmanagedTopics: true, * kafka: { * resources: { * resourcePresetId: "s2.micro", * diskTypeId: "network-hdd", * diskSize: 16, * }, * }, * }, * }); * const events = new yandex.MdbKafkaTopic("events", { * clusterId: foo.id, * partitions: 4, * replicationFactor: 1, * topicConfig: { * cleanupPolicy: "CLEANUP_POLICY_COMPACT", * compressionType: "COMPRESSION_TYPE_LZ4", * deleteRetentionMs: 86400000, * fileDeleteDelayMs: 60000, * flushMessages: 128, * flushMs: 1000, * minCompactionLagMs: 0, * retentionBytes: 10737418240, * retentionMs: 604800000, * maxMessageBytes: 1048588, * minInsyncReplicas: 1, * segmentBytes: 268435456, * preallocate: true, * }, * }); * ``` * * ## Import * * Kafka topic can be imported using following format * * ```sh * $ pulumi import yandex:index/mdbKafkaTopic:MdbKafkaTopic foo {{cluster_id}}:{{topic_name}} * ``` */ export declare class MdbKafkaTopic extends pulumi.CustomResource { /** * Get an existing MdbKafkaTopic 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?: MdbKafkaTopicState, opts?: pulumi.CustomResourceOptions): MdbKafkaTopic; /** * Returns true if the given object is an instance of MdbKafkaTopic. 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 MdbKafkaTopic; readonly clusterId: pulumi.Output; /** * The name of the topic. */ readonly name: pulumi.Output; /** * The number of the topic's partitions. */ readonly partitions: pulumi.Output; /** * Amount of data copies (replicas) for the topic in the cluster. */ readonly replicationFactor: pulumi.Output; /** * User-defined settings for the topic. The structure is documented below. */ readonly topicConfig: pulumi.Output; /** * Create a MdbKafkaTopic 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: MdbKafkaTopicArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering MdbKafkaTopic resources. */ export interface MdbKafkaTopicState { clusterId?: pulumi.Input; /** * The name of the topic. */ name?: pulumi.Input; /** * The number of the topic's partitions. */ partitions?: pulumi.Input; /** * Amount of data copies (replicas) for the topic in the cluster. */ replicationFactor?: pulumi.Input; /** * User-defined settings for the topic. The structure is documented below. */ topicConfig?: pulumi.Input; } /** * The set of arguments for constructing a MdbKafkaTopic resource. */ export interface MdbKafkaTopicArgs { clusterId: pulumi.Input; /** * The name of the topic. */ name?: pulumi.Input; /** * The number of the topic's partitions. */ partitions: pulumi.Input; /** * Amount of data copies (replicas) for the topic in the cluster. */ replicationFactor: pulumi.Input; /** * User-defined settings for the topic. The structure is documented below. */ topicConfig?: pulumi.Input; }