Confluent Cloud

v1.3.0 published on Wednesday, Sep 14, 2022 by Pulumi

getKafkaTopic

General Availability

confluentcloud.KafkaTopic describes a Kafka Topic data source.

Example Usage

using System.Collections.Generic;
using Pulumi;
using ConfluentCloud = Pulumi.ConfluentCloud;

return await Deployment.RunAsync(() => 
{
    var orders = ConfluentCloud.GetKafkaTopic.Invoke(new()
    {
        KafkaCluster = new ConfluentCloud.Inputs.GetKafkaTopicKafkaClusterInputArgs
        {
            Id = confluent_kafka_cluster.Basic_cluster.Id,
        },
        TopicName = "orders",
        RestEndpoint = confluent_kafka_cluster.Basic_cluster.Rest_endpoint,
        Credentials = new ConfluentCloud.Inputs.GetKafkaTopicCredentialsInputArgs
        {
            Key = "<Kafka API Key for confluent_kafka_cluster.basic-cluster>",
            Secret = "<Kafka API Secret for confluent_kafka_cluster.basic-cluster>",
        },
    });

    return new Dictionary<string, object?>
    {
        ["config"] = orders.Apply(getKafkaTopicResult => getKafkaTopicResult.Config),
    };
});
package main

import (
	"github.com/pulumi/pulumi-confluentcloud/sdk/go/confluentcloud"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		orders, err := confluentcloud.LookupKafkaTopic(ctx, &GetKafkaTopicArgs{
			KafkaCluster: GetKafkaTopicKafkaCluster{
				Id: confluent_kafka_cluster.Basic - cluster.Id,
			},
			TopicName:    "orders",
			RestEndpoint: confluent_kafka_cluster.Basic - cluster.Rest_endpoint,
			Credentials: GetKafkaTopicCredentials{
				Key:    "<Kafka API Key for confluent_kafka_cluster.basic-cluster>",
				Secret: "<Kafka API Secret for confluent_kafka_cluster.basic-cluster>",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("config", orders.Config)
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.confluentcloud.ConfluentcloudFunctions;
import com.pulumi.confluentcloud.inputs.GetKafkaTopicArgs;
import com.pulumi.confluentcloud.inputs.GetKafkaTopicKafkaClusterArgs;
import com.pulumi.confluentcloud.inputs.GetKafkaTopicCredentialsArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var orders = ConfluentcloudFunctions.getKafkaTopic(GetKafkaTopicArgs.builder()
            .kafkaCluster(GetKafkaTopicKafkaClusterArgs.builder()
                .id(confluent_kafka_cluster.basic-cluster().id())
                .build())
            .topicName("orders")
            .restEndpoint(confluent_kafka_cluster.basic-cluster().rest_endpoint())
            .credentials(GetKafkaTopicCredentialsArgs.builder()
                .key("<Kafka API Key for confluent_kafka_cluster.basic-cluster>")
                .secret("<Kafka API Secret for confluent_kafka_cluster.basic-cluster>")
                .build())
            .build());

        ctx.export("config", orders.applyValue(getKafkaTopicResult -> getKafkaTopicResult.config()));
    }
}
import pulumi
import pulumi_confluentcloud as confluentcloud

orders = confluentcloud.get_kafka_topic(kafka_cluster=confluentcloud.GetKafkaTopicKafkaClusterArgs(
        id=confluent_kafka_cluster["basic-cluster"]["id"],
    ),
    topic_name="orders",
    rest_endpoint=confluent_kafka_cluster["basic-cluster"]["rest_endpoint"],
    credentials=confluentcloud.GetKafkaTopicCredentialsArgs(
        key="<Kafka API Key for confluent_kafka_cluster.basic-cluster>",
        secret="<Kafka API Secret for confluent_kafka_cluster.basic-cluster>",
    ))
pulumi.export("config", orders.config)
import * as pulumi from "@pulumi/pulumi";
import * as confluentcloud from "@pulumi/confluentcloud";

const orders = confluentcloud.getKafkaTopic({
    kafkaCluster: {
        id: confluent_kafka_cluster["basic-cluster"].id,
    },
    topicName: "orders",
    restEndpoint: confluent_kafka_cluster["basic-cluster"].rest_endpoint,
    credentials: {
        key: "<Kafka API Key for confluent_kafka_cluster.basic-cluster>",
        secret: "<Kafka API Secret for confluent_kafka_cluster.basic-cluster>",
    },
});
export const config = orders.then(orders => orders.config);
variables:
  orders:
    Fn::Invoke:
      Function: confluentcloud:getKafkaTopic
      Arguments:
        kafkaCluster:
          id: ${confluent_kafka_cluster"basic-cluster"[%!s(MISSING)].id}
        topicName: orders
        restEndpoint: ${confluent_kafka_cluster"basic-cluster"[%!s(MISSING)].rest_endpoint}
        credentials:
          key: <Kafka API Key for confluent_kafka_cluster.basic-cluster>
          secret: <Kafka API Secret for confluent_kafka_cluster.basic-cluster>
outputs:
  config: ${orders.config}

Using getKafkaTopic

Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

function getKafkaTopic(args: GetKafkaTopicArgs, opts?: InvokeOptions): Promise<GetKafkaTopicResult>
function getKafkaTopicOutput(args: GetKafkaTopicOutputArgs, opts?: InvokeOptions): Output<GetKafkaTopicResult>
def get_kafka_topic(credentials: Optional[GetKafkaTopicCredentials] = None,
                    kafka_cluster: Optional[GetKafkaTopicKafkaCluster] = None,
                    rest_endpoint: Optional[str] = None,
                    topic_name: Optional[str] = None,
                    opts: Optional[InvokeOptions] = None) -> GetKafkaTopicResult
def get_kafka_topic_output(credentials: Optional[pulumi.Input[GetKafkaTopicCredentialsArgs]] = None,
                    kafka_cluster: Optional[pulumi.Input[GetKafkaTopicKafkaClusterArgs]] = None,
                    rest_endpoint: Optional[pulumi.Input[str]] = None,
                    topic_name: Optional[pulumi.Input[str]] = None,
                    opts: Optional[InvokeOptions] = None) -> Output[GetKafkaTopicResult]
func LookupKafkaTopic(ctx *Context, args *LookupKafkaTopicArgs, opts ...InvokeOption) (*LookupKafkaTopicResult, error)
func LookupKafkaTopicOutput(ctx *Context, args *LookupKafkaTopicOutputArgs, opts ...InvokeOption) LookupKafkaTopicResultOutput

> Note: This function is named LookupKafkaTopic in the Go SDK.

public static class GetKafkaTopic 
{
    public static Task<GetKafkaTopicResult> InvokeAsync(GetKafkaTopicArgs args, InvokeOptions? opts = null)
    public static Output<GetKafkaTopicResult> Invoke(GetKafkaTopicInvokeArgs args, InvokeOptions? opts = null)
}
public static CompletableFuture<GetKafkaTopicResult> getKafkaTopic(GetKafkaTopicArgs args, InvokeOptions options)
// Output-based functions aren't available in Java yet
Fn::Invoke:
  Function: confluentcloud:index/getKafkaTopic:getKafkaTopic
  Arguments:
    # Arguments dictionary

The following arguments are supported:

KafkaCluster Pulumi.ConfluentCloud.Inputs.GetKafkaTopicKafkaCluster
RestEndpoint string

The REST endpoint of the Kafka cluster, for example, https://pkc-00000.us-central1.gcp.confluent.cloud:443).

TopicName string

The name of the topic, for example, orders-1. The topic name can be up to 255 characters in length and can contain only alphanumeric characters, hyphens, and underscores.

Credentials Pulumi.ConfluentCloud.Inputs.GetKafkaTopicCredentials
KafkaCluster GetKafkaTopicKafkaCluster
RestEndpoint string

The REST endpoint of the Kafka cluster, for example, https://pkc-00000.us-central1.gcp.confluent.cloud:443).

TopicName string

The name of the topic, for example, orders-1. The topic name can be up to 255 characters in length and can contain only alphanumeric characters, hyphens, and underscores.

Credentials GetKafkaTopicCredentials
kafkaCluster GetKafkaTopicKafkaCluster
restEndpoint String

The REST endpoint of the Kafka cluster, for example, https://pkc-00000.us-central1.gcp.confluent.cloud:443).

topicName String

The name of the topic, for example, orders-1. The topic name can be up to 255 characters in length and can contain only alphanumeric characters, hyphens, and underscores.

credentials GetKafkaTopicCredentials
kafkaCluster GetKafkaTopicKafkaCluster
restEndpoint string

The REST endpoint of the Kafka cluster, for example, https://pkc-00000.us-central1.gcp.confluent.cloud:443).

topicName string

The name of the topic, for example, orders-1. The topic name can be up to 255 characters in length and can contain only alphanumeric characters, hyphens, and underscores.

credentials GetKafkaTopicCredentials
kafka_cluster GetKafkaTopicKafkaCluster
rest_endpoint str

The REST endpoint of the Kafka cluster, for example, https://pkc-00000.us-central1.gcp.confluent.cloud:443).

topic_name str

The name of the topic, for example, orders-1. The topic name can be up to 255 characters in length and can contain only alphanumeric characters, hyphens, and underscores.

credentials GetKafkaTopicCredentials
kafkaCluster Property Map
restEndpoint String

The REST endpoint of the Kafka cluster, for example, https://pkc-00000.us-central1.gcp.confluent.cloud:443).

topicName String

The name of the topic, for example, orders-1. The topic name can be up to 255 characters in length and can contain only alphanumeric characters, hyphens, and underscores.

credentials Property Map

getKafkaTopic Result

The following output properties are available:

Config Dictionary<string, string>

(Optional Map) The custom topic settings:

Id string

The provider-assigned unique ID for this managed resource.

KafkaCluster Pulumi.ConfluentCloud.Outputs.GetKafkaTopicKafkaCluster
PartitionsCount int

(Required Number) The number of partitions to create in the topic. Defaults to 6.

RestEndpoint string
TopicName string
Credentials Pulumi.ConfluentCloud.Outputs.GetKafkaTopicCredentials
Config map[string]string

(Optional Map) The custom topic settings:

Id string

The provider-assigned unique ID for this managed resource.

KafkaCluster GetKafkaTopicKafkaCluster
PartitionsCount int

(Required Number) The number of partitions to create in the topic. Defaults to 6.

RestEndpoint string
TopicName string
Credentials GetKafkaTopicCredentials
config Map<String,String>

(Optional Map) The custom topic settings:

id String

The provider-assigned unique ID for this managed resource.

kafkaCluster GetKafkaTopicKafkaCluster
partitionsCount Integer

(Required Number) The number of partitions to create in the topic. Defaults to 6.

restEndpoint String
topicName String
credentials GetKafkaTopicCredentials
config {[key: string]: string}

(Optional Map) The custom topic settings:

id string

The provider-assigned unique ID for this managed resource.

kafkaCluster GetKafkaTopicKafkaCluster
partitionsCount number

(Required Number) The number of partitions to create in the topic. Defaults to 6.

restEndpoint string
topicName string
credentials GetKafkaTopicCredentials
config Mapping[str, str]

(Optional Map) The custom topic settings:

id str

The provider-assigned unique ID for this managed resource.

kafka_cluster GetKafkaTopicKafkaCluster
partitions_count int

(Required Number) The number of partitions to create in the topic. Defaults to 6.

rest_endpoint str
topic_name str
credentials GetKafkaTopicCredentials
config Map<String>

(Optional Map) The custom topic settings:

id String

The provider-assigned unique ID for this managed resource.

kafkaCluster Property Map
partitionsCount Number

(Required Number) The number of partitions to create in the topic. Defaults to 6.

restEndpoint String
topicName String
credentials Property Map

Supporting Types

GetKafkaTopicCredentials

Key string

The Kafka API Key.

Secret string

The Kafka API Secret.

Key string

The Kafka API Key.

Secret string

The Kafka API Secret.

key String

The Kafka API Key.

secret String

The Kafka API Secret.

key string

The Kafka API Key.

secret string

The Kafka API Secret.

key str

The Kafka API Key.

secret str

The Kafka API Secret.

key String

The Kafka API Key.

secret String

The Kafka API Secret.

GetKafkaTopicKafkaCluster

Id string

The ID of the Kafka cluster, for example, lkc-abc123.

Id string

The ID of the Kafka cluster, for example, lkc-abc123.

id String

The ID of the Kafka cluster, for example, lkc-abc123.

id string

The ID of the Kafka cluster, for example, lkc-abc123.

id str

The ID of the Kafka cluster, for example, lkc-abc123.

id String

The ID of the Kafka cluster, for example, lkc-abc123.

Package Details

Repository
https://github.com/pulumi/pulumi-confluentcloud
License
Apache-2.0
Notes

This Pulumi package is based on the confluent Terraform Provider.