managedkafka

package
v8.13.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 7, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cluster

type Cluster struct {
	pulumi.CustomResourceState

	// A capacity configuration of a Kafka cluster.
	// Structure is documented below.
	CapacityConfig ClusterCapacityConfigOutput `pulumi:"capacityConfig"`
	// The ID to use for the cluster, which will become the final component of the cluster's name. The ID must be 1-63 characters long, and match the regular expression `a-z?` to comply with RFC 1035. This value is structured like: `my-cluster-id`.
	ClusterId pulumi.StringOutput `pulumi:"clusterId"`
	// The time when the cluster was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapOutput `pulumi:"effectiveLabels"`
	// Configuration properties for a Kafka cluster deployed to Google Cloud Platform.
	// Structure is documented below.
	GcpConfig ClusterGcpConfigOutput `pulumi:"gcpConfig"`
	// List of label KEY=VALUE pairs to add. Keys must start with a lowercase character and contain only hyphens (-),
	// underscores ( ), lowercase characters, and numbers. Values must contain only hyphens (-), underscores ( ), lowercase
	// characters, and numbers. **Note**: This field is non-authoritative, and will only manage the labels present in your
	// configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// ID of the location of the Kafka resource. See https://cloud.google.com/managed-kafka/docs/locations for a list of supported locations.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name of the cluster. Structured like: `projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID`.
	Name    pulumi.StringOutput `pulumi:"name"`
	Project pulumi.StringOutput `pulumi:"project"`
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapOutput `pulumi:"pulumiLabels"`
	// Defines rebalancing behavior of a Kafka cluster.
	RebalanceConfig ClusterRebalanceConfigPtrOutput `pulumi:"rebalanceConfig"`
	// The current state of the cluster. Possible values: `STATE_UNSPECIFIED`, `CREATING`, `ACTIVE`, `DELETING`.
	State pulumi.StringOutput `pulumi:"state"`
	// The time when the cluster was last updated.
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
}

A Managed Service for Apache Kafka cluster. Apache Kafka is a trademark owned by the Apache Software Foundation.

## Example Usage

### Managedkafka Cluster Basic

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/managedkafka"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
		if err != nil {
			return err
		}
		_, err = managedkafka.NewCluster(ctx, "example", &managedkafka.ClusterArgs{
			ClusterId: pulumi.String("my-cluster"),
			Location:  pulumi.String("us-central1"),
			CapacityConfig: &managedkafka.ClusterCapacityConfigArgs{
				VcpuCount:   pulumi.String("3"),
				MemoryBytes: pulumi.String("3221225472"),
			},
			GcpConfig: &managedkafka.ClusterGcpConfigArgs{
				AccessConfig: &managedkafka.ClusterGcpConfigAccessConfigArgs{
					NetworkConfigs: managedkafka.ClusterGcpConfigAccessConfigNetworkConfigArray{
						&managedkafka.ClusterGcpConfigAccessConfigNetworkConfigArgs{
							Subnet: pulumi.Sprintf("projects/%v/regions/us-central1/subnetworks/default", project.Number),
						},
					},
				},
			},
			RebalanceConfig: &managedkafka.ClusterRebalanceConfigArgs{
				Mode: pulumi.String("NO_REBALANCE"),
			},
			Labels: pulumi.StringMap{
				"key": pulumi.String("value"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Managedkafka Cluster Cmek

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/kms"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/managedkafka"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/projects"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		keyRing, err := kms.NewKeyRing(ctx, "key_ring", &kms.KeyRingArgs{
			Name:     pulumi.String("example-key-ring"),
			Location: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		key, err := kms.NewCryptoKey(ctx, "key", &kms.CryptoKeyArgs{
			Name:    pulumi.String("example-key"),
			KeyRing: keyRing.ID(),
		})
		if err != nil {
			return err
		}
		project, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
		if err != nil {
			return err
		}
		_, err = managedkafka.NewCluster(ctx, "example", &managedkafka.ClusterArgs{
			ClusterId: pulumi.String("my-cluster"),
			Location:  pulumi.String("us-central1"),
			CapacityConfig: &managedkafka.ClusterCapacityConfigArgs{
				VcpuCount:   pulumi.String("3"),
				MemoryBytes: pulumi.String("3221225472"),
			},
			GcpConfig: &managedkafka.ClusterGcpConfigArgs{
				AccessConfig: &managedkafka.ClusterGcpConfigAccessConfigArgs{
					NetworkConfigs: managedkafka.ClusterGcpConfigAccessConfigNetworkConfigArray{
						&managedkafka.ClusterGcpConfigAccessConfigNetworkConfigArgs{
							Subnet: pulumi.Sprintf("projects/%v/regions/us-central1/subnetworks/default", project.Number),
						},
					},
				},
				KmsKey: key.ID(),
			},
		})
		if err != nil {
			return err
		}
		_, err = projects.NewServiceIdentity(ctx, "kafka_service_identity", &projects.ServiceIdentityArgs{
			Project: pulumi.String(project.ProjectId),
			Service: pulumi.String("managedkafka.googleapis.com"),
		})
		if err != nil {
			return err
		}
		_, err = kms.NewCryptoKeyIAMBinding(ctx, "crypto_key_binding", &kms.CryptoKeyIAMBindingArgs{
			CryptoKeyId: key.ID(),
			Role:        pulumi.String("roles/cloudkms.cryptoKeyEncrypterDecrypter"),
			Members: pulumi.StringArray{
				pulumi.Sprintf("serviceAccount:service-%v@gcp-sa-managedkafka.iam.gserviceaccount.com", project.Number),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Cluster can be imported using any of these accepted formats:

* `projects/{{project}}/locations/{{location}}/clusters/{{cluster_id}}`

* `{{project}}/{{location}}/{{cluster_id}}`

* `{{location}}/{{cluster_id}}`

When using the `pulumi import` command, Cluster can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:managedkafka/cluster:Cluster default projects/{{project}}/locations/{{location}}/clusters/{{cluster_id}} ```

```sh $ pulumi import gcp:managedkafka/cluster:Cluster default {{project}}/{{location}}/{{cluster_id}} ```

```sh $ pulumi import gcp:managedkafka/cluster:Cluster default {{location}}/{{cluster_id}} ```

func GetCluster

func GetCluster(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClusterState, opts ...pulumi.ResourceOption) (*Cluster, error)

GetCluster gets an existing Cluster resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewCluster

func NewCluster(ctx *pulumi.Context,
	name string, args *ClusterArgs, opts ...pulumi.ResourceOption) (*Cluster, error)

NewCluster registers a new resource with the given unique name, arguments, and options.

func (*Cluster) ElementType

func (*Cluster) ElementType() reflect.Type

func (*Cluster) ToClusterOutput

func (i *Cluster) ToClusterOutput() ClusterOutput

func (*Cluster) ToClusterOutputWithContext

func (i *Cluster) ToClusterOutputWithContext(ctx context.Context) ClusterOutput

type ClusterArgs

type ClusterArgs struct {
	// A capacity configuration of a Kafka cluster.
	// Structure is documented below.
	CapacityConfig ClusterCapacityConfigInput
	// The ID to use for the cluster, which will become the final component of the cluster's name. The ID must be 1-63 characters long, and match the regular expression `a-z?` to comply with RFC 1035. This value is structured like: `my-cluster-id`.
	ClusterId pulumi.StringInput
	// Configuration properties for a Kafka cluster deployed to Google Cloud Platform.
	// Structure is documented below.
	GcpConfig ClusterGcpConfigInput
	// List of label KEY=VALUE pairs to add. Keys must start with a lowercase character and contain only hyphens (-),
	// underscores ( ), lowercase characters, and numbers. Values must contain only hyphens (-), underscores ( ), lowercase
	// characters, and numbers. **Note**: This field is non-authoritative, and will only manage the labels present in your
	// configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// ID of the location of the Kafka resource. See https://cloud.google.com/managed-kafka/docs/locations for a list of supported locations.
	Location pulumi.StringInput
	Project  pulumi.StringPtrInput
	// Defines rebalancing behavior of a Kafka cluster.
	RebalanceConfig ClusterRebalanceConfigPtrInput
}

The set of arguments for constructing a Cluster resource.

func (ClusterArgs) ElementType

func (ClusterArgs) ElementType() reflect.Type

type ClusterArray

type ClusterArray []ClusterInput

func (ClusterArray) ElementType

func (ClusterArray) ElementType() reflect.Type

func (ClusterArray) ToClusterArrayOutput

func (i ClusterArray) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArray) ToClusterArrayOutputWithContext

func (i ClusterArray) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput

type ClusterArrayInput

type ClusterArrayInput interface {
	pulumi.Input

	ToClusterArrayOutput() ClusterArrayOutput
	ToClusterArrayOutputWithContext(context.Context) ClusterArrayOutput
}

ClusterArrayInput is an input type that accepts ClusterArray and ClusterArrayOutput values. You can construct a concrete instance of `ClusterArrayInput` via:

ClusterArray{ ClusterArgs{...} }

type ClusterArrayOutput

type ClusterArrayOutput struct{ *pulumi.OutputState }

func (ClusterArrayOutput) ElementType

func (ClusterArrayOutput) ElementType() reflect.Type

func (ClusterArrayOutput) Index

func (ClusterArrayOutput) ToClusterArrayOutput

func (o ClusterArrayOutput) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArrayOutput) ToClusterArrayOutputWithContext

func (o ClusterArrayOutput) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput

type ClusterCapacityConfig

type ClusterCapacityConfig struct {
	// The memory to provision for the cluster in bytes. The value must be between 1 GiB and 8 GiB per vCPU. Ex. 1024Mi, 4Gi.
	//
	// ***
	MemoryBytes string `pulumi:"memoryBytes"`
	// The number of vCPUs to provision for the cluster. The minimum is 3.
	VcpuCount string `pulumi:"vcpuCount"`
}

type ClusterCapacityConfigArgs

type ClusterCapacityConfigArgs struct {
	// The memory to provision for the cluster in bytes. The value must be between 1 GiB and 8 GiB per vCPU. Ex. 1024Mi, 4Gi.
	//
	// ***
	MemoryBytes pulumi.StringInput `pulumi:"memoryBytes"`
	// The number of vCPUs to provision for the cluster. The minimum is 3.
	VcpuCount pulumi.StringInput `pulumi:"vcpuCount"`
}

func (ClusterCapacityConfigArgs) ElementType

func (ClusterCapacityConfigArgs) ElementType() reflect.Type

func (ClusterCapacityConfigArgs) ToClusterCapacityConfigOutput

func (i ClusterCapacityConfigArgs) ToClusterCapacityConfigOutput() ClusterCapacityConfigOutput

func (ClusterCapacityConfigArgs) ToClusterCapacityConfigOutputWithContext

func (i ClusterCapacityConfigArgs) ToClusterCapacityConfigOutputWithContext(ctx context.Context) ClusterCapacityConfigOutput

func (ClusterCapacityConfigArgs) ToClusterCapacityConfigPtrOutput

func (i ClusterCapacityConfigArgs) ToClusterCapacityConfigPtrOutput() ClusterCapacityConfigPtrOutput

func (ClusterCapacityConfigArgs) ToClusterCapacityConfigPtrOutputWithContext

func (i ClusterCapacityConfigArgs) ToClusterCapacityConfigPtrOutputWithContext(ctx context.Context) ClusterCapacityConfigPtrOutput

type ClusterCapacityConfigInput

type ClusterCapacityConfigInput interface {
	pulumi.Input

	ToClusterCapacityConfigOutput() ClusterCapacityConfigOutput
	ToClusterCapacityConfigOutputWithContext(context.Context) ClusterCapacityConfigOutput
}

ClusterCapacityConfigInput is an input type that accepts ClusterCapacityConfigArgs and ClusterCapacityConfigOutput values. You can construct a concrete instance of `ClusterCapacityConfigInput` via:

ClusterCapacityConfigArgs{...}

type ClusterCapacityConfigOutput

type ClusterCapacityConfigOutput struct{ *pulumi.OutputState }

func (ClusterCapacityConfigOutput) ElementType

func (ClusterCapacityConfigOutput) MemoryBytes

The memory to provision for the cluster in bytes. The value must be between 1 GiB and 8 GiB per vCPU. Ex. 1024Mi, 4Gi.

***

func (ClusterCapacityConfigOutput) ToClusterCapacityConfigOutput

func (o ClusterCapacityConfigOutput) ToClusterCapacityConfigOutput() ClusterCapacityConfigOutput

func (ClusterCapacityConfigOutput) ToClusterCapacityConfigOutputWithContext

func (o ClusterCapacityConfigOutput) ToClusterCapacityConfigOutputWithContext(ctx context.Context) ClusterCapacityConfigOutput

func (ClusterCapacityConfigOutput) ToClusterCapacityConfigPtrOutput

func (o ClusterCapacityConfigOutput) ToClusterCapacityConfigPtrOutput() ClusterCapacityConfigPtrOutput

func (ClusterCapacityConfigOutput) ToClusterCapacityConfigPtrOutputWithContext

func (o ClusterCapacityConfigOutput) ToClusterCapacityConfigPtrOutputWithContext(ctx context.Context) ClusterCapacityConfigPtrOutput

func (ClusterCapacityConfigOutput) VcpuCount

The number of vCPUs to provision for the cluster. The minimum is 3.

type ClusterCapacityConfigPtrInput

type ClusterCapacityConfigPtrInput interface {
	pulumi.Input

	ToClusterCapacityConfigPtrOutput() ClusterCapacityConfigPtrOutput
	ToClusterCapacityConfigPtrOutputWithContext(context.Context) ClusterCapacityConfigPtrOutput
}

ClusterCapacityConfigPtrInput is an input type that accepts ClusterCapacityConfigArgs, ClusterCapacityConfigPtr and ClusterCapacityConfigPtrOutput values. You can construct a concrete instance of `ClusterCapacityConfigPtrInput` via:

        ClusterCapacityConfigArgs{...}

or:

        nil

type ClusterCapacityConfigPtrOutput

type ClusterCapacityConfigPtrOutput struct{ *pulumi.OutputState }

func (ClusterCapacityConfigPtrOutput) Elem

func (ClusterCapacityConfigPtrOutput) ElementType

func (ClusterCapacityConfigPtrOutput) MemoryBytes

The memory to provision for the cluster in bytes. The value must be between 1 GiB and 8 GiB per vCPU. Ex. 1024Mi, 4Gi.

***

func (ClusterCapacityConfigPtrOutput) ToClusterCapacityConfigPtrOutput

func (o ClusterCapacityConfigPtrOutput) ToClusterCapacityConfigPtrOutput() ClusterCapacityConfigPtrOutput

func (ClusterCapacityConfigPtrOutput) ToClusterCapacityConfigPtrOutputWithContext

func (o ClusterCapacityConfigPtrOutput) ToClusterCapacityConfigPtrOutputWithContext(ctx context.Context) ClusterCapacityConfigPtrOutput

func (ClusterCapacityConfigPtrOutput) VcpuCount

The number of vCPUs to provision for the cluster. The minimum is 3.

type ClusterGcpConfig

type ClusterGcpConfig struct {
	// The configuration of access to the Kafka cluster.
	// Structure is documented below.
	AccessConfig ClusterGcpConfigAccessConfig `pulumi:"accessConfig"`
	// The Cloud KMS Key name to use for encryption. The key must be located in the same region as the cluster and cannot be changed. Must be in the format `projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY`.
	KmsKey *string `pulumi:"kmsKey"`
}

type ClusterGcpConfigAccessConfig

type ClusterGcpConfigAccessConfig struct {
	// Virtual Private Cloud (VPC) subnets where IP addresses for the Kafka cluster are allocated. To make the cluster available in a VPC, you must specify at least one subnet per network. You must specify between 1 and 10 subnets. Additional subnets may be specified with additional `networkConfigs` blocks.
	// Structure is documented below.
	NetworkConfigs []ClusterGcpConfigAccessConfigNetworkConfig `pulumi:"networkConfigs"`
}

type ClusterGcpConfigAccessConfigArgs

type ClusterGcpConfigAccessConfigArgs struct {
	// Virtual Private Cloud (VPC) subnets where IP addresses for the Kafka cluster are allocated. To make the cluster available in a VPC, you must specify at least one subnet per network. You must specify between 1 and 10 subnets. Additional subnets may be specified with additional `networkConfigs` blocks.
	// Structure is documented below.
	NetworkConfigs ClusterGcpConfigAccessConfigNetworkConfigArrayInput `pulumi:"networkConfigs"`
}

func (ClusterGcpConfigAccessConfigArgs) ElementType

func (ClusterGcpConfigAccessConfigArgs) ToClusterGcpConfigAccessConfigOutput

func (i ClusterGcpConfigAccessConfigArgs) ToClusterGcpConfigAccessConfigOutput() ClusterGcpConfigAccessConfigOutput

func (ClusterGcpConfigAccessConfigArgs) ToClusterGcpConfigAccessConfigOutputWithContext

func (i ClusterGcpConfigAccessConfigArgs) ToClusterGcpConfigAccessConfigOutputWithContext(ctx context.Context) ClusterGcpConfigAccessConfigOutput

func (ClusterGcpConfigAccessConfigArgs) ToClusterGcpConfigAccessConfigPtrOutput

func (i ClusterGcpConfigAccessConfigArgs) ToClusterGcpConfigAccessConfigPtrOutput() ClusterGcpConfigAccessConfigPtrOutput

func (ClusterGcpConfigAccessConfigArgs) ToClusterGcpConfigAccessConfigPtrOutputWithContext

func (i ClusterGcpConfigAccessConfigArgs) ToClusterGcpConfigAccessConfigPtrOutputWithContext(ctx context.Context) ClusterGcpConfigAccessConfigPtrOutput

type ClusterGcpConfigAccessConfigInput

type ClusterGcpConfigAccessConfigInput interface {
	pulumi.Input

	ToClusterGcpConfigAccessConfigOutput() ClusterGcpConfigAccessConfigOutput
	ToClusterGcpConfigAccessConfigOutputWithContext(context.Context) ClusterGcpConfigAccessConfigOutput
}

ClusterGcpConfigAccessConfigInput is an input type that accepts ClusterGcpConfigAccessConfigArgs and ClusterGcpConfigAccessConfigOutput values. You can construct a concrete instance of `ClusterGcpConfigAccessConfigInput` via:

ClusterGcpConfigAccessConfigArgs{...}

type ClusterGcpConfigAccessConfigNetworkConfig

type ClusterGcpConfigAccessConfigNetworkConfig struct {
	// Name of the VPC subnet from which the cluster is accessible. Both broker and bootstrap server IP addresses and DNS entries are automatically created in the subnet. The subnet must be located in the same region as the cluster. The project may differ. The name of the subnet must be in the format `projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET`.
	Subnet string `pulumi:"subnet"`
}

type ClusterGcpConfigAccessConfigNetworkConfigArgs

type ClusterGcpConfigAccessConfigNetworkConfigArgs struct {
	// Name of the VPC subnet from which the cluster is accessible. Both broker and bootstrap server IP addresses and DNS entries are automatically created in the subnet. The subnet must be located in the same region as the cluster. The project may differ. The name of the subnet must be in the format `projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET`.
	Subnet pulumi.StringInput `pulumi:"subnet"`
}

func (ClusterGcpConfigAccessConfigNetworkConfigArgs) ElementType

func (ClusterGcpConfigAccessConfigNetworkConfigArgs) ToClusterGcpConfigAccessConfigNetworkConfigOutput

func (i ClusterGcpConfigAccessConfigNetworkConfigArgs) ToClusterGcpConfigAccessConfigNetworkConfigOutput() ClusterGcpConfigAccessConfigNetworkConfigOutput

func (ClusterGcpConfigAccessConfigNetworkConfigArgs) ToClusterGcpConfigAccessConfigNetworkConfigOutputWithContext

func (i ClusterGcpConfigAccessConfigNetworkConfigArgs) ToClusterGcpConfigAccessConfigNetworkConfigOutputWithContext(ctx context.Context) ClusterGcpConfigAccessConfigNetworkConfigOutput

type ClusterGcpConfigAccessConfigNetworkConfigArray

type ClusterGcpConfigAccessConfigNetworkConfigArray []ClusterGcpConfigAccessConfigNetworkConfigInput

func (ClusterGcpConfigAccessConfigNetworkConfigArray) ElementType

func (ClusterGcpConfigAccessConfigNetworkConfigArray) ToClusterGcpConfigAccessConfigNetworkConfigArrayOutput

func (i ClusterGcpConfigAccessConfigNetworkConfigArray) ToClusterGcpConfigAccessConfigNetworkConfigArrayOutput() ClusterGcpConfigAccessConfigNetworkConfigArrayOutput

func (ClusterGcpConfigAccessConfigNetworkConfigArray) ToClusterGcpConfigAccessConfigNetworkConfigArrayOutputWithContext

func (i ClusterGcpConfigAccessConfigNetworkConfigArray) ToClusterGcpConfigAccessConfigNetworkConfigArrayOutputWithContext(ctx context.Context) ClusterGcpConfigAccessConfigNetworkConfigArrayOutput

type ClusterGcpConfigAccessConfigNetworkConfigArrayInput

type ClusterGcpConfigAccessConfigNetworkConfigArrayInput interface {
	pulumi.Input

	ToClusterGcpConfigAccessConfigNetworkConfigArrayOutput() ClusterGcpConfigAccessConfigNetworkConfigArrayOutput
	ToClusterGcpConfigAccessConfigNetworkConfigArrayOutputWithContext(context.Context) ClusterGcpConfigAccessConfigNetworkConfigArrayOutput
}

ClusterGcpConfigAccessConfigNetworkConfigArrayInput is an input type that accepts ClusterGcpConfigAccessConfigNetworkConfigArray and ClusterGcpConfigAccessConfigNetworkConfigArrayOutput values. You can construct a concrete instance of `ClusterGcpConfigAccessConfigNetworkConfigArrayInput` via:

ClusterGcpConfigAccessConfigNetworkConfigArray{ ClusterGcpConfigAccessConfigNetworkConfigArgs{...} }

type ClusterGcpConfigAccessConfigNetworkConfigArrayOutput

type ClusterGcpConfigAccessConfigNetworkConfigArrayOutput struct{ *pulumi.OutputState }

func (ClusterGcpConfigAccessConfigNetworkConfigArrayOutput) ElementType

func (ClusterGcpConfigAccessConfigNetworkConfigArrayOutput) Index

func (ClusterGcpConfigAccessConfigNetworkConfigArrayOutput) ToClusterGcpConfigAccessConfigNetworkConfigArrayOutput

func (ClusterGcpConfigAccessConfigNetworkConfigArrayOutput) ToClusterGcpConfigAccessConfigNetworkConfigArrayOutputWithContext

func (o ClusterGcpConfigAccessConfigNetworkConfigArrayOutput) ToClusterGcpConfigAccessConfigNetworkConfigArrayOutputWithContext(ctx context.Context) ClusterGcpConfigAccessConfigNetworkConfigArrayOutput

type ClusterGcpConfigAccessConfigNetworkConfigInput

type ClusterGcpConfigAccessConfigNetworkConfigInput interface {
	pulumi.Input

	ToClusterGcpConfigAccessConfigNetworkConfigOutput() ClusterGcpConfigAccessConfigNetworkConfigOutput
	ToClusterGcpConfigAccessConfigNetworkConfigOutputWithContext(context.Context) ClusterGcpConfigAccessConfigNetworkConfigOutput
}

ClusterGcpConfigAccessConfigNetworkConfigInput is an input type that accepts ClusterGcpConfigAccessConfigNetworkConfigArgs and ClusterGcpConfigAccessConfigNetworkConfigOutput values. You can construct a concrete instance of `ClusterGcpConfigAccessConfigNetworkConfigInput` via:

ClusterGcpConfigAccessConfigNetworkConfigArgs{...}

type ClusterGcpConfigAccessConfigNetworkConfigOutput

type ClusterGcpConfigAccessConfigNetworkConfigOutput struct{ *pulumi.OutputState }

func (ClusterGcpConfigAccessConfigNetworkConfigOutput) ElementType

func (ClusterGcpConfigAccessConfigNetworkConfigOutput) Subnet

Name of the VPC subnet from which the cluster is accessible. Both broker and bootstrap server IP addresses and DNS entries are automatically created in the subnet. The subnet must be located in the same region as the cluster. The project may differ. The name of the subnet must be in the format `projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET`.

func (ClusterGcpConfigAccessConfigNetworkConfigOutput) ToClusterGcpConfigAccessConfigNetworkConfigOutput

func (o ClusterGcpConfigAccessConfigNetworkConfigOutput) ToClusterGcpConfigAccessConfigNetworkConfigOutput() ClusterGcpConfigAccessConfigNetworkConfigOutput

func (ClusterGcpConfigAccessConfigNetworkConfigOutput) ToClusterGcpConfigAccessConfigNetworkConfigOutputWithContext

func (o ClusterGcpConfigAccessConfigNetworkConfigOutput) ToClusterGcpConfigAccessConfigNetworkConfigOutputWithContext(ctx context.Context) ClusterGcpConfigAccessConfigNetworkConfigOutput

type ClusterGcpConfigAccessConfigOutput

type ClusterGcpConfigAccessConfigOutput struct{ *pulumi.OutputState }

func (ClusterGcpConfigAccessConfigOutput) ElementType

func (ClusterGcpConfigAccessConfigOutput) NetworkConfigs

Virtual Private Cloud (VPC) subnets where IP addresses for the Kafka cluster are allocated. To make the cluster available in a VPC, you must specify at least one subnet per network. You must specify between 1 and 10 subnets. Additional subnets may be specified with additional `networkConfigs` blocks. Structure is documented below.

func (ClusterGcpConfigAccessConfigOutput) ToClusterGcpConfigAccessConfigOutput

func (o ClusterGcpConfigAccessConfigOutput) ToClusterGcpConfigAccessConfigOutput() ClusterGcpConfigAccessConfigOutput

func (ClusterGcpConfigAccessConfigOutput) ToClusterGcpConfigAccessConfigOutputWithContext

func (o ClusterGcpConfigAccessConfigOutput) ToClusterGcpConfigAccessConfigOutputWithContext(ctx context.Context) ClusterGcpConfigAccessConfigOutput

func (ClusterGcpConfigAccessConfigOutput) ToClusterGcpConfigAccessConfigPtrOutput

func (o ClusterGcpConfigAccessConfigOutput) ToClusterGcpConfigAccessConfigPtrOutput() ClusterGcpConfigAccessConfigPtrOutput

func (ClusterGcpConfigAccessConfigOutput) ToClusterGcpConfigAccessConfigPtrOutputWithContext

func (o ClusterGcpConfigAccessConfigOutput) ToClusterGcpConfigAccessConfigPtrOutputWithContext(ctx context.Context) ClusterGcpConfigAccessConfigPtrOutput

type ClusterGcpConfigAccessConfigPtrInput

type ClusterGcpConfigAccessConfigPtrInput interface {
	pulumi.Input

	ToClusterGcpConfigAccessConfigPtrOutput() ClusterGcpConfigAccessConfigPtrOutput
	ToClusterGcpConfigAccessConfigPtrOutputWithContext(context.Context) ClusterGcpConfigAccessConfigPtrOutput
}

ClusterGcpConfigAccessConfigPtrInput is an input type that accepts ClusterGcpConfigAccessConfigArgs, ClusterGcpConfigAccessConfigPtr and ClusterGcpConfigAccessConfigPtrOutput values. You can construct a concrete instance of `ClusterGcpConfigAccessConfigPtrInput` via:

        ClusterGcpConfigAccessConfigArgs{...}

or:

        nil

type ClusterGcpConfigAccessConfigPtrOutput

type ClusterGcpConfigAccessConfigPtrOutput struct{ *pulumi.OutputState }

func (ClusterGcpConfigAccessConfigPtrOutput) Elem

func (ClusterGcpConfigAccessConfigPtrOutput) ElementType

func (ClusterGcpConfigAccessConfigPtrOutput) NetworkConfigs

Virtual Private Cloud (VPC) subnets where IP addresses for the Kafka cluster are allocated. To make the cluster available in a VPC, you must specify at least one subnet per network. You must specify between 1 and 10 subnets. Additional subnets may be specified with additional `networkConfigs` blocks. Structure is documented below.

func (ClusterGcpConfigAccessConfigPtrOutput) ToClusterGcpConfigAccessConfigPtrOutput

func (o ClusterGcpConfigAccessConfigPtrOutput) ToClusterGcpConfigAccessConfigPtrOutput() ClusterGcpConfigAccessConfigPtrOutput

func (ClusterGcpConfigAccessConfigPtrOutput) ToClusterGcpConfigAccessConfigPtrOutputWithContext

func (o ClusterGcpConfigAccessConfigPtrOutput) ToClusterGcpConfigAccessConfigPtrOutputWithContext(ctx context.Context) ClusterGcpConfigAccessConfigPtrOutput

type ClusterGcpConfigArgs

type ClusterGcpConfigArgs struct {
	// The configuration of access to the Kafka cluster.
	// Structure is documented below.
	AccessConfig ClusterGcpConfigAccessConfigInput `pulumi:"accessConfig"`
	// The Cloud KMS Key name to use for encryption. The key must be located in the same region as the cluster and cannot be changed. Must be in the format `projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY`.
	KmsKey pulumi.StringPtrInput `pulumi:"kmsKey"`
}

func (ClusterGcpConfigArgs) ElementType

func (ClusterGcpConfigArgs) ElementType() reflect.Type

func (ClusterGcpConfigArgs) ToClusterGcpConfigOutput

func (i ClusterGcpConfigArgs) ToClusterGcpConfigOutput() ClusterGcpConfigOutput

func (ClusterGcpConfigArgs) ToClusterGcpConfigOutputWithContext

func (i ClusterGcpConfigArgs) ToClusterGcpConfigOutputWithContext(ctx context.Context) ClusterGcpConfigOutput

func (ClusterGcpConfigArgs) ToClusterGcpConfigPtrOutput

func (i ClusterGcpConfigArgs) ToClusterGcpConfigPtrOutput() ClusterGcpConfigPtrOutput

func (ClusterGcpConfigArgs) ToClusterGcpConfigPtrOutputWithContext

func (i ClusterGcpConfigArgs) ToClusterGcpConfigPtrOutputWithContext(ctx context.Context) ClusterGcpConfigPtrOutput

type ClusterGcpConfigInput

type ClusterGcpConfigInput interface {
	pulumi.Input

	ToClusterGcpConfigOutput() ClusterGcpConfigOutput
	ToClusterGcpConfigOutputWithContext(context.Context) ClusterGcpConfigOutput
}

ClusterGcpConfigInput is an input type that accepts ClusterGcpConfigArgs and ClusterGcpConfigOutput values. You can construct a concrete instance of `ClusterGcpConfigInput` via:

ClusterGcpConfigArgs{...}

type ClusterGcpConfigOutput

type ClusterGcpConfigOutput struct{ *pulumi.OutputState }

func (ClusterGcpConfigOutput) AccessConfig

The configuration of access to the Kafka cluster. Structure is documented below.

func (ClusterGcpConfigOutput) ElementType

func (ClusterGcpConfigOutput) ElementType() reflect.Type

func (ClusterGcpConfigOutput) KmsKey

The Cloud KMS Key name to use for encryption. The key must be located in the same region as the cluster and cannot be changed. Must be in the format `projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY`.

func (ClusterGcpConfigOutput) ToClusterGcpConfigOutput

func (o ClusterGcpConfigOutput) ToClusterGcpConfigOutput() ClusterGcpConfigOutput

func (ClusterGcpConfigOutput) ToClusterGcpConfigOutputWithContext

func (o ClusterGcpConfigOutput) ToClusterGcpConfigOutputWithContext(ctx context.Context) ClusterGcpConfigOutput

func (ClusterGcpConfigOutput) ToClusterGcpConfigPtrOutput

func (o ClusterGcpConfigOutput) ToClusterGcpConfigPtrOutput() ClusterGcpConfigPtrOutput

func (ClusterGcpConfigOutput) ToClusterGcpConfigPtrOutputWithContext

func (o ClusterGcpConfigOutput) ToClusterGcpConfigPtrOutputWithContext(ctx context.Context) ClusterGcpConfigPtrOutput

type ClusterGcpConfigPtrInput

type ClusterGcpConfigPtrInput interface {
	pulumi.Input

	ToClusterGcpConfigPtrOutput() ClusterGcpConfigPtrOutput
	ToClusterGcpConfigPtrOutputWithContext(context.Context) ClusterGcpConfigPtrOutput
}

ClusterGcpConfigPtrInput is an input type that accepts ClusterGcpConfigArgs, ClusterGcpConfigPtr and ClusterGcpConfigPtrOutput values. You can construct a concrete instance of `ClusterGcpConfigPtrInput` via:

        ClusterGcpConfigArgs{...}

or:

        nil

type ClusterGcpConfigPtrOutput

type ClusterGcpConfigPtrOutput struct{ *pulumi.OutputState }

func (ClusterGcpConfigPtrOutput) AccessConfig

The configuration of access to the Kafka cluster. Structure is documented below.

func (ClusterGcpConfigPtrOutput) Elem

func (ClusterGcpConfigPtrOutput) ElementType

func (ClusterGcpConfigPtrOutput) ElementType() reflect.Type

func (ClusterGcpConfigPtrOutput) KmsKey

The Cloud KMS Key name to use for encryption. The key must be located in the same region as the cluster and cannot be changed. Must be in the format `projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY`.

func (ClusterGcpConfigPtrOutput) ToClusterGcpConfigPtrOutput

func (o ClusterGcpConfigPtrOutput) ToClusterGcpConfigPtrOutput() ClusterGcpConfigPtrOutput

func (ClusterGcpConfigPtrOutput) ToClusterGcpConfigPtrOutputWithContext

func (o ClusterGcpConfigPtrOutput) ToClusterGcpConfigPtrOutputWithContext(ctx context.Context) ClusterGcpConfigPtrOutput

type ClusterInput

type ClusterInput interface {
	pulumi.Input

	ToClusterOutput() ClusterOutput
	ToClusterOutputWithContext(ctx context.Context) ClusterOutput
}

type ClusterMap

type ClusterMap map[string]ClusterInput

func (ClusterMap) ElementType

func (ClusterMap) ElementType() reflect.Type

func (ClusterMap) ToClusterMapOutput

func (i ClusterMap) ToClusterMapOutput() ClusterMapOutput

func (ClusterMap) ToClusterMapOutputWithContext

func (i ClusterMap) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput

type ClusterMapInput

type ClusterMapInput interface {
	pulumi.Input

	ToClusterMapOutput() ClusterMapOutput
	ToClusterMapOutputWithContext(context.Context) ClusterMapOutput
}

ClusterMapInput is an input type that accepts ClusterMap and ClusterMapOutput values. You can construct a concrete instance of `ClusterMapInput` via:

ClusterMap{ "key": ClusterArgs{...} }

type ClusterMapOutput

type ClusterMapOutput struct{ *pulumi.OutputState }

func (ClusterMapOutput) ElementType

func (ClusterMapOutput) ElementType() reflect.Type

func (ClusterMapOutput) MapIndex

func (ClusterMapOutput) ToClusterMapOutput

func (o ClusterMapOutput) ToClusterMapOutput() ClusterMapOutput

func (ClusterMapOutput) ToClusterMapOutputWithContext

func (o ClusterMapOutput) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput

type ClusterOutput

type ClusterOutput struct{ *pulumi.OutputState }

func (ClusterOutput) CapacityConfig

func (o ClusterOutput) CapacityConfig() ClusterCapacityConfigOutput

A capacity configuration of a Kafka cluster. Structure is documented below.

func (ClusterOutput) ClusterId

func (o ClusterOutput) ClusterId() pulumi.StringOutput

The ID to use for the cluster, which will become the final component of the cluster's name. The ID must be 1-63 characters long, and match the regular expression `a-z?` to comply with RFC 1035. This value is structured like: `my-cluster-id`.

func (ClusterOutput) CreateTime

func (o ClusterOutput) CreateTime() pulumi.StringOutput

The time when the cluster was created.

func (ClusterOutput) EffectiveLabels

func (o ClusterOutput) EffectiveLabels() pulumi.StringMapOutput

All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

func (ClusterOutput) ElementType

func (ClusterOutput) ElementType() reflect.Type

func (ClusterOutput) GcpConfig

func (o ClusterOutput) GcpConfig() ClusterGcpConfigOutput

Configuration properties for a Kafka cluster deployed to Google Cloud Platform. Structure is documented below.

func (ClusterOutput) Labels

List of label KEY=VALUE pairs to add. Keys must start with a lowercase character and contain only hyphens (-), underscores ( ), lowercase characters, and numbers. Values must contain only hyphens (-), underscores ( ), lowercase characters, and numbers. **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.

func (ClusterOutput) Location

func (o ClusterOutput) Location() pulumi.StringOutput

ID of the location of the Kafka resource. See https://cloud.google.com/managed-kafka/docs/locations for a list of supported locations.

func (ClusterOutput) Name

The name of the cluster. Structured like: `projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID`.

func (ClusterOutput) Project

func (o ClusterOutput) Project() pulumi.StringOutput

func (ClusterOutput) PulumiLabels

func (o ClusterOutput) PulumiLabels() pulumi.StringMapOutput

The combination of labels configured directly on the resource and default labels configured on the provider.

func (ClusterOutput) RebalanceConfig

func (o ClusterOutput) RebalanceConfig() ClusterRebalanceConfigPtrOutput

Defines rebalancing behavior of a Kafka cluster.

func (ClusterOutput) State

func (o ClusterOutput) State() pulumi.StringOutput

The current state of the cluster. Possible values: `STATE_UNSPECIFIED`, `CREATING`, `ACTIVE`, `DELETING`.

func (ClusterOutput) ToClusterOutput

func (o ClusterOutput) ToClusterOutput() ClusterOutput

func (ClusterOutput) ToClusterOutputWithContext

func (o ClusterOutput) ToClusterOutputWithContext(ctx context.Context) ClusterOutput

func (ClusterOutput) UpdateTime

func (o ClusterOutput) UpdateTime() pulumi.StringOutput

The time when the cluster was last updated.

type ClusterRebalanceConfig

type ClusterRebalanceConfig struct {
	// The rebalance behavior for the cluster. When not specified, defaults to `NO_REBALANCE`. Possible values: `MODE_UNSPECIFIED`, `NO_REBALANCE`, `AUTO_REBALANCE_ON_SCALE_UP`.
	Mode *string `pulumi:"mode"`
}

type ClusterRebalanceConfigArgs

type ClusterRebalanceConfigArgs struct {
	// The rebalance behavior for the cluster. When not specified, defaults to `NO_REBALANCE`. Possible values: `MODE_UNSPECIFIED`, `NO_REBALANCE`, `AUTO_REBALANCE_ON_SCALE_UP`.
	Mode pulumi.StringPtrInput `pulumi:"mode"`
}

func (ClusterRebalanceConfigArgs) ElementType

func (ClusterRebalanceConfigArgs) ElementType() reflect.Type

func (ClusterRebalanceConfigArgs) ToClusterRebalanceConfigOutput

func (i ClusterRebalanceConfigArgs) ToClusterRebalanceConfigOutput() ClusterRebalanceConfigOutput

func (ClusterRebalanceConfigArgs) ToClusterRebalanceConfigOutputWithContext

func (i ClusterRebalanceConfigArgs) ToClusterRebalanceConfigOutputWithContext(ctx context.Context) ClusterRebalanceConfigOutput

func (ClusterRebalanceConfigArgs) ToClusterRebalanceConfigPtrOutput

func (i ClusterRebalanceConfigArgs) ToClusterRebalanceConfigPtrOutput() ClusterRebalanceConfigPtrOutput

func (ClusterRebalanceConfigArgs) ToClusterRebalanceConfigPtrOutputWithContext

func (i ClusterRebalanceConfigArgs) ToClusterRebalanceConfigPtrOutputWithContext(ctx context.Context) ClusterRebalanceConfigPtrOutput

type ClusterRebalanceConfigInput

type ClusterRebalanceConfigInput interface {
	pulumi.Input

	ToClusterRebalanceConfigOutput() ClusterRebalanceConfigOutput
	ToClusterRebalanceConfigOutputWithContext(context.Context) ClusterRebalanceConfigOutput
}

ClusterRebalanceConfigInput is an input type that accepts ClusterRebalanceConfigArgs and ClusterRebalanceConfigOutput values. You can construct a concrete instance of `ClusterRebalanceConfigInput` via:

ClusterRebalanceConfigArgs{...}

type ClusterRebalanceConfigOutput

type ClusterRebalanceConfigOutput struct{ *pulumi.OutputState }

func (ClusterRebalanceConfigOutput) ElementType

func (ClusterRebalanceConfigOutput) Mode

The rebalance behavior for the cluster. When not specified, defaults to `NO_REBALANCE`. Possible values: `MODE_UNSPECIFIED`, `NO_REBALANCE`, `AUTO_REBALANCE_ON_SCALE_UP`.

func (ClusterRebalanceConfigOutput) ToClusterRebalanceConfigOutput

func (o ClusterRebalanceConfigOutput) ToClusterRebalanceConfigOutput() ClusterRebalanceConfigOutput

func (ClusterRebalanceConfigOutput) ToClusterRebalanceConfigOutputWithContext

func (o ClusterRebalanceConfigOutput) ToClusterRebalanceConfigOutputWithContext(ctx context.Context) ClusterRebalanceConfigOutput

func (ClusterRebalanceConfigOutput) ToClusterRebalanceConfigPtrOutput

func (o ClusterRebalanceConfigOutput) ToClusterRebalanceConfigPtrOutput() ClusterRebalanceConfigPtrOutput

func (ClusterRebalanceConfigOutput) ToClusterRebalanceConfigPtrOutputWithContext

func (o ClusterRebalanceConfigOutput) ToClusterRebalanceConfigPtrOutputWithContext(ctx context.Context) ClusterRebalanceConfigPtrOutput

type ClusterRebalanceConfigPtrInput

type ClusterRebalanceConfigPtrInput interface {
	pulumi.Input

	ToClusterRebalanceConfigPtrOutput() ClusterRebalanceConfigPtrOutput
	ToClusterRebalanceConfigPtrOutputWithContext(context.Context) ClusterRebalanceConfigPtrOutput
}

ClusterRebalanceConfigPtrInput is an input type that accepts ClusterRebalanceConfigArgs, ClusterRebalanceConfigPtr and ClusterRebalanceConfigPtrOutput values. You can construct a concrete instance of `ClusterRebalanceConfigPtrInput` via:

        ClusterRebalanceConfigArgs{...}

or:

        nil

type ClusterRebalanceConfigPtrOutput

type ClusterRebalanceConfigPtrOutput struct{ *pulumi.OutputState }

func (ClusterRebalanceConfigPtrOutput) Elem

func (ClusterRebalanceConfigPtrOutput) ElementType

func (ClusterRebalanceConfigPtrOutput) Mode

The rebalance behavior for the cluster. When not specified, defaults to `NO_REBALANCE`. Possible values: `MODE_UNSPECIFIED`, `NO_REBALANCE`, `AUTO_REBALANCE_ON_SCALE_UP`.

func (ClusterRebalanceConfigPtrOutput) ToClusterRebalanceConfigPtrOutput

func (o ClusterRebalanceConfigPtrOutput) ToClusterRebalanceConfigPtrOutput() ClusterRebalanceConfigPtrOutput

func (ClusterRebalanceConfigPtrOutput) ToClusterRebalanceConfigPtrOutputWithContext

func (o ClusterRebalanceConfigPtrOutput) ToClusterRebalanceConfigPtrOutputWithContext(ctx context.Context) ClusterRebalanceConfigPtrOutput

type ClusterState

type ClusterState struct {
	// A capacity configuration of a Kafka cluster.
	// Structure is documented below.
	CapacityConfig ClusterCapacityConfigPtrInput
	// The ID to use for the cluster, which will become the final component of the cluster's name. The ID must be 1-63 characters long, and match the regular expression `a-z?` to comply with RFC 1035. This value is structured like: `my-cluster-id`.
	ClusterId pulumi.StringPtrInput
	// The time when the cluster was created.
	CreateTime pulumi.StringPtrInput
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapInput
	// Configuration properties for a Kafka cluster deployed to Google Cloud Platform.
	// Structure is documented below.
	GcpConfig ClusterGcpConfigPtrInput
	// List of label KEY=VALUE pairs to add. Keys must start with a lowercase character and contain only hyphens (-),
	// underscores ( ), lowercase characters, and numbers. Values must contain only hyphens (-), underscores ( ), lowercase
	// characters, and numbers. **Note**: This field is non-authoritative, and will only manage the labels present in your
	// configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// ID of the location of the Kafka resource. See https://cloud.google.com/managed-kafka/docs/locations for a list of supported locations.
	Location pulumi.StringPtrInput
	// The name of the cluster. Structured like: `projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID`.
	Name    pulumi.StringPtrInput
	Project pulumi.StringPtrInput
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapInput
	// Defines rebalancing behavior of a Kafka cluster.
	RebalanceConfig ClusterRebalanceConfigPtrInput
	// The current state of the cluster. Possible values: `STATE_UNSPECIFIED`, `CREATING`, `ACTIVE`, `DELETING`.
	State pulumi.StringPtrInput
	// The time when the cluster was last updated.
	UpdateTime pulumi.StringPtrInput
}

func (ClusterState) ElementType

func (ClusterState) ElementType() reflect.Type

type Topic

type Topic struct {
	pulumi.CustomResourceState

	// The cluster name.
	Cluster pulumi.StringOutput `pulumi:"cluster"`
	// Configuration for the topic that are overridden from the cluster defaults. The key of the map is a Kafka topic property name, for example: `cleanup.policy=compact`, `compression.type=producer`.
	Configs pulumi.StringMapOutput `pulumi:"configs"`
	// ID of the location of the Kafka resource. See https://cloud.google.com/managed-kafka/docs/locations for a list of supported locations.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name of the topic. The `topic` segment is used when connecting directly to the cluster. Must be in the format `projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID/topics/TOPIC_ID`.
	Name pulumi.StringOutput `pulumi:"name"`
	// The number of partitions in a topic. You can increase the partition count for a topic, but you cannot decrease it. Increasing partitions for a topic that uses a key might change how messages are distributed.
	PartitionCount pulumi.IntPtrOutput `pulumi:"partitionCount"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The number of replicas of each partition. A replication factor of 3 is recommended for high availability.
	ReplicationFactor pulumi.IntOutput `pulumi:"replicationFactor"`
	// The ID to use for the topic, which will become the final component of the topic's name. This value is structured like: `my-topic-name`.
	//
	// ***
	TopicId pulumi.StringOutput `pulumi:"topicId"`
}

A Managed Service for Apache Kafka topic. Apache Kafka is a trademark owned by the Apache Software Foundation.

## Example Usage

### Managedkafka Topic Basic

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/managedkafka"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
		if err != nil {
			return err
		}
		cluster, err := managedkafka.NewCluster(ctx, "cluster", &managedkafka.ClusterArgs{
			ClusterId: pulumi.String("my-cluster"),
			Location:  pulumi.String("us-central1"),
			CapacityConfig: &managedkafka.ClusterCapacityConfigArgs{
				VcpuCount:   pulumi.String("3"),
				MemoryBytes: pulumi.String("3221225472"),
			},
			GcpConfig: &managedkafka.ClusterGcpConfigArgs{
				AccessConfig: &managedkafka.ClusterGcpConfigAccessConfigArgs{
					NetworkConfigs: managedkafka.ClusterGcpConfigAccessConfigNetworkConfigArray{
						&managedkafka.ClusterGcpConfigAccessConfigNetworkConfigArgs{
							Subnet: pulumi.Sprintf("projects/%v/regions/us-central1/subnetworks/default", project.Number),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = managedkafka.NewTopic(ctx, "example", &managedkafka.TopicArgs{
			TopicId:           pulumi.String("my-topic"),
			Cluster:           cluster.ClusterId,
			Location:          pulumi.String("us-central1"),
			PartitionCount:    pulumi.Int(2),
			ReplicationFactor: pulumi.Int(3),
			Configs: pulumi.StringMap{
				"cleanup.policy": pulumi.String("compact"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Topic can be imported using any of these accepted formats:

* `projects/{{project}}/locations/{{location}}/clusters/{{cluster}}/topics/{{topic_id}}`

* `{{project}}/{{location}}/{{cluster}}/{{topic_id}}`

* `{{location}}/{{cluster}}/{{topic_id}}`

When using the `pulumi import` command, Topic can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:managedkafka/topic:Topic default projects/{{project}}/locations/{{location}}/clusters/{{cluster}}/topics/{{topic_id}} ```

```sh $ pulumi import gcp:managedkafka/topic:Topic default {{project}}/{{location}}/{{cluster}}/{{topic_id}} ```

```sh $ pulumi import gcp:managedkafka/topic:Topic default {{location}}/{{cluster}}/{{topic_id}} ```

func GetTopic

func GetTopic(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TopicState, opts ...pulumi.ResourceOption) (*Topic, error)

GetTopic gets an existing Topic resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTopic

func NewTopic(ctx *pulumi.Context,
	name string, args *TopicArgs, opts ...pulumi.ResourceOption) (*Topic, error)

NewTopic registers a new resource with the given unique name, arguments, and options.

func (*Topic) ElementType

func (*Topic) ElementType() reflect.Type

func (*Topic) ToTopicOutput

func (i *Topic) ToTopicOutput() TopicOutput

func (*Topic) ToTopicOutputWithContext

func (i *Topic) ToTopicOutputWithContext(ctx context.Context) TopicOutput

type TopicArgs

type TopicArgs struct {
	// The cluster name.
	Cluster pulumi.StringInput
	// Configuration for the topic that are overridden from the cluster defaults. The key of the map is a Kafka topic property name, for example: `cleanup.policy=compact`, `compression.type=producer`.
	Configs pulumi.StringMapInput
	// ID of the location of the Kafka resource. See https://cloud.google.com/managed-kafka/docs/locations for a list of supported locations.
	Location pulumi.StringInput
	// The number of partitions in a topic. You can increase the partition count for a topic, but you cannot decrease it. Increasing partitions for a topic that uses a key might change how messages are distributed.
	PartitionCount pulumi.IntPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The number of replicas of each partition. A replication factor of 3 is recommended for high availability.
	ReplicationFactor pulumi.IntInput
	// The ID to use for the topic, which will become the final component of the topic's name. This value is structured like: `my-topic-name`.
	//
	// ***
	TopicId pulumi.StringInput
}

The set of arguments for constructing a Topic resource.

func (TopicArgs) ElementType

func (TopicArgs) ElementType() reflect.Type

type TopicArray

type TopicArray []TopicInput

func (TopicArray) ElementType

func (TopicArray) ElementType() reflect.Type

func (TopicArray) ToTopicArrayOutput

func (i TopicArray) ToTopicArrayOutput() TopicArrayOutput

func (TopicArray) ToTopicArrayOutputWithContext

func (i TopicArray) ToTopicArrayOutputWithContext(ctx context.Context) TopicArrayOutput

type TopicArrayInput

type TopicArrayInput interface {
	pulumi.Input

	ToTopicArrayOutput() TopicArrayOutput
	ToTopicArrayOutputWithContext(context.Context) TopicArrayOutput
}

TopicArrayInput is an input type that accepts TopicArray and TopicArrayOutput values. You can construct a concrete instance of `TopicArrayInput` via:

TopicArray{ TopicArgs{...} }

type TopicArrayOutput

type TopicArrayOutput struct{ *pulumi.OutputState }

func (TopicArrayOutput) ElementType

func (TopicArrayOutput) ElementType() reflect.Type

func (TopicArrayOutput) Index

func (TopicArrayOutput) ToTopicArrayOutput

func (o TopicArrayOutput) ToTopicArrayOutput() TopicArrayOutput

func (TopicArrayOutput) ToTopicArrayOutputWithContext

func (o TopicArrayOutput) ToTopicArrayOutputWithContext(ctx context.Context) TopicArrayOutput

type TopicInput

type TopicInput interface {
	pulumi.Input

	ToTopicOutput() TopicOutput
	ToTopicOutputWithContext(ctx context.Context) TopicOutput
}

type TopicMap

type TopicMap map[string]TopicInput

func (TopicMap) ElementType

func (TopicMap) ElementType() reflect.Type

func (TopicMap) ToTopicMapOutput

func (i TopicMap) ToTopicMapOutput() TopicMapOutput

func (TopicMap) ToTopicMapOutputWithContext

func (i TopicMap) ToTopicMapOutputWithContext(ctx context.Context) TopicMapOutput

type TopicMapInput

type TopicMapInput interface {
	pulumi.Input

	ToTopicMapOutput() TopicMapOutput
	ToTopicMapOutputWithContext(context.Context) TopicMapOutput
}

TopicMapInput is an input type that accepts TopicMap and TopicMapOutput values. You can construct a concrete instance of `TopicMapInput` via:

TopicMap{ "key": TopicArgs{...} }

type TopicMapOutput

type TopicMapOutput struct{ *pulumi.OutputState }

func (TopicMapOutput) ElementType

func (TopicMapOutput) ElementType() reflect.Type

func (TopicMapOutput) MapIndex

func (TopicMapOutput) ToTopicMapOutput

func (o TopicMapOutput) ToTopicMapOutput() TopicMapOutput

func (TopicMapOutput) ToTopicMapOutputWithContext

func (o TopicMapOutput) ToTopicMapOutputWithContext(ctx context.Context) TopicMapOutput

type TopicOutput

type TopicOutput struct{ *pulumi.OutputState }

func (TopicOutput) Cluster

func (o TopicOutput) Cluster() pulumi.StringOutput

The cluster name.

func (TopicOutput) Configs

func (o TopicOutput) Configs() pulumi.StringMapOutput

Configuration for the topic that are overridden from the cluster defaults. The key of the map is a Kafka topic property name, for example: `cleanup.policy=compact`, `compression.type=producer`.

func (TopicOutput) ElementType

func (TopicOutput) ElementType() reflect.Type

func (TopicOutput) Location

func (o TopicOutput) Location() pulumi.StringOutput

ID of the location of the Kafka resource. See https://cloud.google.com/managed-kafka/docs/locations for a list of supported locations.

func (TopicOutput) Name

func (o TopicOutput) Name() pulumi.StringOutput

The name of the topic. The `topic` segment is used when connecting directly to the cluster. Must be in the format `projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID/topics/TOPIC_ID`.

func (TopicOutput) PartitionCount

func (o TopicOutput) PartitionCount() pulumi.IntPtrOutput

The number of partitions in a topic. You can increase the partition count for a topic, but you cannot decrease it. Increasing partitions for a topic that uses a key might change how messages are distributed.

func (TopicOutput) Project

func (o TopicOutput) Project() pulumi.StringOutput

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

func (TopicOutput) ReplicationFactor

func (o TopicOutput) ReplicationFactor() pulumi.IntOutput

The number of replicas of each partition. A replication factor of 3 is recommended for high availability.

func (TopicOutput) ToTopicOutput

func (o TopicOutput) ToTopicOutput() TopicOutput

func (TopicOutput) ToTopicOutputWithContext

func (o TopicOutput) ToTopicOutputWithContext(ctx context.Context) TopicOutput

func (TopicOutput) TopicId

func (o TopicOutput) TopicId() pulumi.StringOutput

The ID to use for the topic, which will become the final component of the topic's name. This value is structured like: `my-topic-name`.

***

type TopicState

type TopicState struct {
	// The cluster name.
	Cluster pulumi.StringPtrInput
	// Configuration for the topic that are overridden from the cluster defaults. The key of the map is a Kafka topic property name, for example: `cleanup.policy=compact`, `compression.type=producer`.
	Configs pulumi.StringMapInput
	// ID of the location of the Kafka resource. See https://cloud.google.com/managed-kafka/docs/locations for a list of supported locations.
	Location pulumi.StringPtrInput
	// The name of the topic. The `topic` segment is used when connecting directly to the cluster. Must be in the format `projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID/topics/TOPIC_ID`.
	Name pulumi.StringPtrInput
	// The number of partitions in a topic. You can increase the partition count for a topic, but you cannot decrease it. Increasing partitions for a topic that uses a key might change how messages are distributed.
	PartitionCount pulumi.IntPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The number of replicas of each partition. A replication factor of 3 is recommended for high availability.
	ReplicationFactor pulumi.IntPtrInput
	// The ID to use for the topic, which will become the final component of the topic's name. This value is structured like: `my-topic-name`.
	//
	// ***
	TopicId pulumi.StringPtrInput
}

func (TopicState) ElementType

func (TopicState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL