import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Gets information about an [Aiven for Apache Kafka® MirrorMaker 2](https://aiven.io/docs/products/kafka/kafka-mirrormaker) replication flow. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aiven from "@pulumi/aiven"; * * const example = aiven.getMirrorMakerReplicationFlow({ * project: "my-project", * serviceName: "foo", * sourceCluster: "kafka-abc", * targetCluster: "kafka-abc", * }); * ``` */ export declare function getMirrorMakerReplicationFlow(args: GetMirrorMakerReplicationFlowArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getMirrorMakerReplicationFlow. */ export interface GetMirrorMakerReplicationFlowArgs { /** * Project name. */ project: string; /** * Service name. */ serviceName: string; /** * The alias of the source cluster to use in this replication flow. Can contain the following symbols: ASCII alphanumerics, `.`, `_`, and `-`. */ sourceCluster: string; /** * The alias of the target cluster to use in this replication flow. Can contain the following symbols: ASCII alphanumerics, `.`, `_`, and `-`. */ targetCluster: string; timeouts?: inputs.GetMirrorMakerReplicationFlowTimeouts; } /** * A collection of values returned by getMirrorMakerReplicationFlow. */ export interface GetMirrorMakerReplicationFlowResult { /** * List of topic configuration properties and/or regexes that should not be replicated. If omitted, MirrorMaker will use default list of exclusions. For stability reasons, we always include the `unclean.leader.election.enable` field in the excluded parameters. If you have specific requirements for this configuration, please reach out to our support team for assistance. */ readonly configPropertiesExcludes: string[]; /** * Whether to emit heartbeats to the direction opposite to the flow, i.e. to the source cluster. The default value is `false`. */ readonly emitBackwardHeartbeatsEnabled: boolean; /** * Whether to emit heartbeats to the target cluster. The default value is `false`. */ readonly emitHeartbeatsEnabled: boolean; /** * Is replication flow enabled. */ readonly enable: boolean; /** * Whether to enable exactly-once message delivery. We recommend you set this to enabled for new replications. The default value is `false`. */ readonly exactlyOnceDeliveryEnabled: boolean; /** * Assigns a Rack ID based on the availability-zone to enable follower fetching and rack awareness per replication flow. */ readonly followerFetchingEnabled: boolean; /** * Resource ID composed as: `project/service_name/source_cluster/target_cluster`. */ readonly id: string; /** * How out-of-sync a remote partition can be before it is resynced (default: 100). */ readonly offsetLagMax: number; /** * The location of the offset-syncs topic. The possible values are `source` and `target`. */ readonly offsetSyncsTopicLocation: string; /** * Project name. */ readonly project: string; /** * Replication factor used when creating the remote topics. If the replication factor surpasses the number of nodes in the target cluster, topic creation will fail. */ readonly replicationFactor: number; /** * Class which defines the remote topic naming convention. The possible values are `org.apache.kafka.connect.mirror.DefaultReplicationPolicy` and `org.apache.kafka.connect.mirror.IdentityReplicationPolicy`. */ readonly replicationPolicyClass: string; /** * Service name. */ readonly serviceName: string; /** * The alias of the source cluster to use in this replication flow. Can contain the following symbols: ASCII alphanumerics, `.`, `_`, and `-`. */ readonly sourceCluster: string; /** * Whether to periodically write the translated offsets of replicated consumer groups (in the source cluster) to _*consumer*offsets topic in target cluster, as long as no active consumers in that group are connected to the target cluster. The default value is `false`. */ readonly syncGroupOffsetsEnabled: boolean; /** * Frequency at which consumer group offsets are synced (default: 60, every minute). The default value is `1`. */ readonly syncGroupOffsetsIntervalSeconds: number; /** * The alias of the target cluster to use in this replication flow. Can contain the following symbols: ASCII alphanumerics, `.`, `_`, and `-`. */ readonly targetCluster: string; readonly timeouts?: outputs.GetMirrorMakerReplicationFlowTimeouts; /** * Topic names and regular expressions that match topic names that should be replicated. MirrorMaker will replicate these topics if they are not matched by `topicsBlacklist`. The topics to include are defined by a [list of regular expressions in Java format](https://aiven.io/docs/products/kafka/kafka-mirrormaker/concepts/replication-flow-topics-regex). */ readonly topics: string[]; /** * Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by `topics`. The topics to exclude are defined by a [list of regular expressions in Java format](https://aiven.io/docs/products/kafka/kafka-mirrormaker/concepts/replication-flow-topics-regex). */ readonly topicsBlacklists: string[]; } /** * Gets information about an [Aiven for Apache Kafka® MirrorMaker 2](https://aiven.io/docs/products/kafka/kafka-mirrormaker) replication flow. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aiven from "@pulumi/aiven"; * * const example = aiven.getMirrorMakerReplicationFlow({ * project: "my-project", * serviceName: "foo", * sourceCluster: "kafka-abc", * targetCluster: "kafka-abc", * }); * ``` */ export declare function getMirrorMakerReplicationFlowOutput(args: GetMirrorMakerReplicationFlowOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getMirrorMakerReplicationFlow. */ export interface GetMirrorMakerReplicationFlowOutputArgs { /** * Project name. */ project: pulumi.Input; /** * Service name. */ serviceName: pulumi.Input; /** * The alias of the source cluster to use in this replication flow. Can contain the following symbols: ASCII alphanumerics, `.`, `_`, and `-`. */ sourceCluster: pulumi.Input; /** * The alias of the target cluster to use in this replication flow. Can contain the following symbols: ASCII alphanumerics, `.`, `_`, and `-`. */ targetCluster: pulumi.Input; timeouts?: pulumi.Input; } //# sourceMappingURL=getMirrorMakerReplicationFlow.d.ts.map