import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Creates and manages an Aiven for Apache Kafka® [topic](https://aiven.io/docs/products/kafka/concepts). If this resource is missing (for example, after a service power off), it's removed from the state and a new create plan is generated. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aiven from "@pulumi/aiven"; * * const example = new aiven.KafkaTopic("example", { * config: { * cleanupPolicy: "delete", * compressionType: "zstd", * deleteRetentionMs: "86400000", * disklessEnable: false, * fileDeleteDelayMs: "60000", * flushMessages: "9223372036854775807", * flushMs: "9223372036854775807", * indexIntervalBytes: "4096", * localRetentionBytes: "1073741824", * localRetentionMs: "300000", * maxCompactionLagMs: "86400000", * maxMessageBytes: "1048588", * messageDownconversionEnable: true, * messageFormatVersion: "2.7-IV2", * messageTimestampAfterMaxMs: "3600000", * messageTimestampBeforeMaxMs: "9223372036854775807", * messageTimestampDifferenceMaxMs: "9223372036854775807", * messageTimestampType: "CreateTime", * minCleanableDirtyRatio: 0.5, * minCompactionLagMs: "0", * minInsyncReplicas: "2", * preallocate: false, * remoteStorageEnable: false, * retentionBytes: "-1", * retentionMs: "604800000", * segmentBytes: "1073741824", * segmentIndexBytes: "10485760", * segmentJitterMs: "0", * segmentMs: "604800000", * uncleanLeaderElectionEnable: false, * }, * tags: [{ * key: "My-tag_key", * value: "My tag value, value.", * }], * project: "my-project", * serviceName: "my-kafka", * topicName: "mytopic", * partitions: 3, * replication: 3, * ownerUserGroupId: "ug22ba494e096", * topicDescription: "Platform events", * }); * ``` * * ## Import * * ```sh * $ pulumi import aiven:index/kafkaTopic:KafkaTopic example PROJECT/SERVICE_NAME/TOPIC_NAME * ``` */ export declare class KafkaTopic extends pulumi.CustomResource { /** * Get an existing KafkaTopic 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?: KafkaTopicState, opts?: pulumi.CustomResourceOptions): KafkaTopic; /** * Returns true if the given object is an instance of KafkaTopic. 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 KafkaTopic; /** * [Advanced parameters](https://aiven.io/docs/products/kafka/reference/advanced-params) to configure topics. Removing the block won't reset the topic configuration to default values. Instead, the topic will retain its last known configuration. */ readonly config: pulumi.Output; /** * The user group that owns this topic. Length must be between `1` and `36`. */ readonly ownerUserGroupId: pulumi.Output; /** * Number of partitions. Value must be between `1` and `1000000`. */ readonly partitions: pulumi.Output; /** * Project name. Changing this property forces recreation of the resource. */ readonly project: pulumi.Output; /** * Number of replicas. Minimum value: `1`. */ readonly replication: pulumi.Output; /** * Service name. Changing this property forces recreation of the resource. */ readonly serviceName: pulumi.Output; /** * Topic tags. */ readonly tags: pulumi.Output; /** * Client-side deletion protection that prevents the resource from being deleted by Terraform. **Resource can still be deleted in the Aiven Console**. The default value is `false`. **Deprecated**: Instead, use `preventDestroy` * * @deprecated Instead, use [`preventDestroy`](https://developer.hashicorp.com/terraform/tutorials/state/resource-lifecycle#prevent-resource-deletion) */ readonly terminationProtection: pulumi.Output; readonly timeouts: pulumi.Output; /** * Topic description. Length must be between `1` and `256`. */ readonly topicDescription: pulumi.Output; /** * Kafka topic name. Length must be between `1` and `249`. Changing this property forces recreation of the resource. */ readonly topicName: pulumi.Output; /** * Create a KafkaTopic 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: KafkaTopicArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering KafkaTopic resources. */ export interface KafkaTopicState { /** * [Advanced parameters](https://aiven.io/docs/products/kafka/reference/advanced-params) to configure topics. Removing the block won't reset the topic configuration to default values. Instead, the topic will retain its last known configuration. */ config?: pulumi.Input; /** * The user group that owns this topic. Length must be between `1` and `36`. */ ownerUserGroupId?: pulumi.Input; /** * Number of partitions. Value must be between `1` and `1000000`. */ partitions?: pulumi.Input; /** * Project name. Changing this property forces recreation of the resource. */ project?: pulumi.Input; /** * Number of replicas. Minimum value: `1`. */ replication?: pulumi.Input; /** * Service name. Changing this property forces recreation of the resource. */ serviceName?: pulumi.Input; /** * Topic tags. */ tags?: pulumi.Input[] | undefined>; /** * Client-side deletion protection that prevents the resource from being deleted by Terraform. **Resource can still be deleted in the Aiven Console**. The default value is `false`. **Deprecated**: Instead, use `preventDestroy` * * @deprecated Instead, use [`preventDestroy`](https://developer.hashicorp.com/terraform/tutorials/state/resource-lifecycle#prevent-resource-deletion) */ terminationProtection?: pulumi.Input; timeouts?: pulumi.Input; /** * Topic description. Length must be between `1` and `256`. */ topicDescription?: pulumi.Input; /** * Kafka topic name. Length must be between `1` and `249`. Changing this property forces recreation of the resource. */ topicName?: pulumi.Input; } /** * The set of arguments for constructing a KafkaTopic resource. */ export interface KafkaTopicArgs { /** * [Advanced parameters](https://aiven.io/docs/products/kafka/reference/advanced-params) to configure topics. Removing the block won't reset the topic configuration to default values. Instead, the topic will retain its last known configuration. */ config?: pulumi.Input; /** * The user group that owns this topic. Length must be between `1` and `36`. */ ownerUserGroupId?: pulumi.Input; /** * Number of partitions. Value must be between `1` and `1000000`. */ partitions: pulumi.Input; /** * Project name. Changing this property forces recreation of the resource. */ project: pulumi.Input; /** * Number of replicas. Minimum value: `1`. */ replication: pulumi.Input; /** * Service name. Changing this property forces recreation of the resource. */ serviceName: pulumi.Input; /** * Topic tags. */ tags?: pulumi.Input[] | undefined>; /** * Client-side deletion protection that prevents the resource from being deleted by Terraform. **Resource can still be deleted in the Aiven Console**. The default value is `false`. **Deprecated**: Instead, use `preventDestroy` * * @deprecated Instead, use [`preventDestroy`](https://developer.hashicorp.com/terraform/tutorials/state/resource-lifecycle#prevent-resource-deletion) */ terminationProtection?: pulumi.Input; timeouts?: pulumi.Input; /** * Topic description. Length must be between `1` and `256`. */ topicDescription?: pulumi.Input; /** * Kafka topic name. Length must be between `1` and `249`. Changing this property forces recreation of the resource. */ topicName: pulumi.Input; } //# sourceMappingURL=kafkaTopic.d.ts.map