import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages an AWS Managed Streaming for Kafka Topic. * * ## Example Usage * * ### Basic Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.msk.Topic("example", { * name: "Example", * clusterArn: exampleAwsMskCluster.arn, * partitionCount: 2, * replicationFactor: 2, * configs: JSON.stringify({ * "retention.ms": "604800000", * "retention.bytes": "-1", * "cleanup.policy": "delete", * "min.insync.replicas": "2", * }), * }); * ``` * * ## Import * * ### Identity Schema * * #### Required * * * `clusterArn` (String) ARN that uniquely identifies MSK Cluster. * * `name` (String) Name of Topic. * * #### Optional * * * `accountId` (String) AWS Account where this resource is managed. * * `region` (String) Region where this resource is managed. * * Using `pulumi import`, import Managed Streaming for Kafka Topic using the `clusterArn` and `name`. For example: * * ```sh * $ pulumi import aws:msk/topic:Topic example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3,topicname * ``` */ export declare class Topic extends pulumi.CustomResource { /** * Get an existing Topic 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?: TopicState, opts?: pulumi.CustomResourceOptions): Topic; /** * Returns true if the given object is an instance of Topic. 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 Topic; /** * ARN of the Topic. */ readonly arn: pulumi.Output; /** * ARN that uniquely identifies MSK Cluster. */ readonly clusterArn: pulumi.Output; /** * Explicit configured Kafka configuration in JSON format for Topic. */ readonly configs: pulumi.Output; /** * Aggregated Kafka configuration in JSON format for Topic, both explicit set values from `configs` and implicit set values (AWS default configuration, historically set values or manual configuration from outside Terraform). */ readonly configsActual: pulumi.Output; /** * Name of Topic. */ readonly name: pulumi.Output; /** * Number of partitions for Topic. */ readonly partitionCount: pulumi.Output; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ readonly region: pulumi.Output; /** * Replication factor for Topic. * * The following arguments are optional: */ readonly replicationFactor: pulumi.Output; readonly timeouts: pulumi.Output; /** * Create a Topic 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: TopicArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Topic resources. */ export interface TopicState { /** * ARN of the Topic. */ arn?: pulumi.Input; /** * ARN that uniquely identifies MSK Cluster. */ clusterArn?: pulumi.Input; /** * Explicit configured Kafka configuration in JSON format for Topic. */ configs?: pulumi.Input; /** * Aggregated Kafka configuration in JSON format for Topic, both explicit set values from `configs` and implicit set values (AWS default configuration, historically set values or manual configuration from outside Terraform). */ configsActual?: pulumi.Input; /** * Name of Topic. */ name?: pulumi.Input; /** * Number of partitions for Topic. */ partitionCount?: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; /** * Replication factor for Topic. * * The following arguments are optional: */ replicationFactor?: pulumi.Input; timeouts?: pulumi.Input; } /** * The set of arguments for constructing a Topic resource. */ export interface TopicArgs { /** * ARN that uniquely identifies MSK Cluster. */ clusterArn: pulumi.Input; /** * Explicit configured Kafka configuration in JSON format for Topic. */ configs?: pulumi.Input; /** * Name of Topic. */ name?: pulumi.Input; /** * Number of partitions for Topic. */ partitionCount: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; /** * Replication factor for Topic. * * The following arguments are optional: */ replicationFactor: pulumi.Input; timeouts?: pulumi.Input; } //# sourceMappingURL=topic.d.ts.map