Kafka Connect v0.0.9 published on Thursday, Jan 23, 2025 by azaurus1
This Pulumi provider enables you to manage you Kafka Connect connectors using any language of Pulumi IaC.
Example
import * as pulumi from "@pulumi/pulumi";
import * as kafkaconnect from "@azaurus/kafkaconnect";
const defaultProvider = new kafkaconnect.Provider("defaultProvider", {url: "http://localhost:8083"});
const mirrorHeartbeatConnectorYxdw = new kafkaconnect.connector.Connector("mirror-heartbeat-connector-yxdw", {config: {
"connector.class": "org.apache.kafka.connect.mirror.MirrorHeartbeatConnector",
"source.cluster.alias": "source",
"heartbeats.topic.replication.factor": "-1",
name: "mirror-heartbeat-connector-yxdw",
}}, {
provider: defaultProvider,
});
export const output = {
value: mirrorHeartbeatConnectorYxdw.result,
};
import pulumi
import pulumi-kafkaconnect as kafkaconnect
default_provider = kafkaconnect.Provider("defaultProvider", url="http://localhost:8083")
mirror_heartbeat_connector_yxdw = kafkaconnect.connector.Connector("mirror-heartbeat-connector-yxdw", config={
"connector.class": "org.apache.kafka.connect.mirror.MirrorHeartbeatConnector",
"source.cluster.alias": "source",
"heartbeats.topic.replication.factor": "-1",
"name": "mirror-heartbeat-connector-yxdw",
},
opts = pulumi.ResourceOptions(provider=default_provider))
pulumi.export("output", {
"value": mirror_heartbeat_connector_yxdw.result,
})
package main
import (
"github.com/azaurus1/pulumi-kafka-connect/sdk/go/kafkaconnect"
"github.com/azaurus1/pulumi-kafka-connect/sdk/go/kafkaconnect/connector"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
defaultProvider, err := kafkaconnect.NewProvider(ctx, "defaultProvider", &kafkaconnect.ProviderArgs{
Url: pulumi.String("http://localhost:8083"),
})
if err != nil {
return err
}
mirrorHeartbeatConnectorYxdw, err := connector.NewConnector(ctx, "mirror-heartbeat-connector-yxdw", &connector.ConnectorArgs{
Config: pulumi.Map{
"connector.class": pulumi.Any("org.apache.kafka.connect.mirror.MirrorHeartbeatConnector"),
"source.cluster.alias": pulumi.Any("source"),
"heartbeats.topic.replication.factor": pulumi.Any("-1"),
"name": pulumi.Any("mirror-heartbeat-connector-yxdw"),
},
}, pulumi.Provider(defaultProvider))
if err != nil {
return err
}
ctx.Export("output", pulumi.StringMap{
"value": mirrorHeartbeatConnectorYxdw.Result,
})
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Kafkaconnect = Azaurus1.Kafkaconnect;
return await Deployment.RunAsync(() =>
{
var defaultProvider = new Kafkaconnect.Provider("defaultProvider", new()
{
Url = "http://localhost:8083",
});
var mirrorHeartbeatConnectorYxdw = new Kafkaconnect.Connector.Connector("mirror-heartbeat-connector-yxdw", new()
{
Config =
{
{ "connector.class", "org.apache.kafka.connect.mirror.MirrorHeartbeatConnector" },
{ "source.cluster.alias", "source" },
{ "heartbeats.topic.replication.factor", "-1" },
{ "name", "mirror-heartbeat-connector-yxdw" },
},
}, new CustomResourceOptions
{
Provider = defaultProvider,
});
return new Dictionary<string, object?>
{
["output"] =
{
{ "value", mirrorHeartbeatConnectorYxdw.Result },
},
};
});
name: provider-kafkaconnect-native
runtime: yaml
resources:
# Explicitly configure the default provider with the required 'url' property
defaultProvider:
type: pulumi:providers:kafkaconnect
properties:
url: "http://localhost:8083" # Replace with your actual Kafka Connect URL
mirror-heartbeat-connector-yxdw:
type: kafkaconnect:connector:Connector
options:
provider: ${defaultProvider}
properties:
config:
connector.class: "org.apache.kafka.connect.mirror.MirrorHeartbeatConnector"
source.cluster.alias: "source"
heartbeats.topic.replication.factor: "-1"
name: "mirror-heartbeat-connector-yxdw"
outputs:
output:
value: ${mirror-heartbeat-connector-yxdw.result}