Skip to content

Latest commit

 

History

History
109 lines (86 loc) · 5.98 KB

File metadata and controls

109 lines (86 loc) · 5.98 KB
page_title duploai_msk_kafka Resource - duploai
subcategory
description Manages a DuploCloud AI Helpdesk AWS MSK (Managed Streaming for Apache Kafka) provisioned cluster, in which you size the brokers, provisioned within an environment and resource group.

duploai_msk_kafka (Resource)

Manages a DuploCloud AI Helpdesk AWS MSK (Managed Streaming for Apache Kafka) provisioned cluster, in which you size the brokers, provisioned within an environment and resource group.

Example Usage

# A provisioned MSK (Kafka) cluster sized by you.
resource "duploai_msk_kafka" "example" {
  workspace_id      = "6a25105705686d697e0da225"
  name              = "my-kafka-cluster"
  environment_id    = "<environment-id>"
  resource_group_id = "<resource-group-id>"

  instance_type          = "kafka.m5.large"
  number_of_broker_nodes = 3
  broker_volume_size_gb  = 100
  kafka_version          = "3.6.0"

  # Optional: pin specific private subnets (one broker per AZ). Omit for all RG private subnets.
  subnet_ids = ["subnet-0a727a1199534ecf3", "subnet-0fc56ead225db9bcc"]

  encryption            = "AwsManagedKey"
  encryption_in_transit = "TLS"
}

output "kafka_bootstrap_brokers_tls" {
  value = duploai_msk_kafka.example.bootstrap_brokers_tls
}

output "kafka_cluster_arn" {
  value = duploai_msk_kafka.example.cluster_arn
}

Schema

Required

  • broker_volume_size_gb (Number) EBS storage per broker, in GiB. Can be increased in place.
  • environment_id (String) ID of the environment in which the cluster is provisioned.
  • instance_type (String) Broker instance type (e.g. kafka.m5.large). Can be changed in place.
  • kafka_version (String) Apache Kafka version for the cluster (e.g. 3.6.0). Can be upgraded in place.
  • name (String) Cluster name. Letters, numbers, and hyphens. Cannot be changed after creation.
  • resource_group_id (String) ID of the resource group in which the cluster is provisioned.
  • workspace_id (String) ID of the workspace that owns this MSK cluster.

Optional

  • configuration_arn (String) ARN of a saved MSK (Kafka broker) configuration to apply. Leave unset for the AWS default.
  • configuration_revision (Number) Revision of the MSK configuration referenced by configuration_arn.
  • encryption (String) Encryption at rest. AwsManagedKey uses the AWS-managed MSK key; ResourceGroupKmsKey uses the resource group's KMS key; NoEncryption disables it. Immutable after creation.
  • encryption_in_transit (String) How clients connect: TLS (encrypted), TLS_PLAINTEXT (both), or PLAINTEXT (unencrypted).
  • failure_retries (Number) Number of extra polls to tolerate a transient failure status during provisioning before treating it as terminal. Overrides the resource's default; leave unset to use it.
  • number_of_broker_nodes (Number) Number of broker nodes. Must be a multiple of the number of broker subnets (Availability Zones); rounded up server-side. Can be increased in place.
  • provisioner_type (String) Provisioner type. Defaults to DirectApiCall for MSK.
  • provisioner_version (String) Optional provisioner version.
  • scope_ids (Set of String) IDs of the scopes attached to this cluster.
  • subnet_ids (List of String) Private subnets (2-4, each in a distinct Availability Zone) to place brokers in. Leave unset to use all of the resource group's private subnets. Write-only at creation.
  • tags (Map of String) Tags applied to the cluster at creation. Platform ownership tags are added automatically.
  • timeouts (Block, Optional) (see below for nested schema)

Read-Only

  • bootstrap_brokers (String) Plaintext bootstrap broker connection string.
  • bootstrap_brokers_sasl_iam (String) SASL/IAM bootstrap broker connection string.
  • bootstrap_brokers_sasl_scram (String) SASL/SCRAM bootstrap broker connection string.
  • bootstrap_brokers_tls (String) TLS bootstrap broker connection string.
  • cluster_arn (String) ARN of the provisioned MSK cluster.
  • created_at (String) Timestamp when the cluster was created (RFC 3339).
  • id (String) Composite resource identifier (workspace_id/id).
  • msk_kafka_id (String) ID of this MSK Kafka cluster, for reference by dependent resources.
  • security_group_ids (List of String) Security groups attached to the cluster (assigned by the platform).
  • status (String) Current provisioning status of the cluster.
  • updated_at (String) Timestamp when the cluster was last updated (RFC 3339).
  • version (Number) Version counter, incremented on each update.

Nested Schema for timeouts

Optional:

  • create (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
  • delete (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
  • update (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

Import

Import is supported using the following syntax:

The terraform import command can be used, for example:

# Import an existing provisioned MSK cluster.
#  - WORKSPACE_ID is the workspace the cluster belongs to
#  - MSK_ID is the unique identifier of the cluster (e.g. 6a2258e94703bc957a1b824e)
terraform import duploai_msk_kafka.example WORKSPACE_ID/MSK_ID
# Example:
# terraform import duploai_msk_kafka.example 6a25105705686d697e0da225/6a2258e94703bc957a1b824e