Skip to content

cloud-labs-infra/terraform-huaweicloud-dms-rocketmq

Repository files navigation

Huawei Cloud DMS RocketMQ

Requirements

Name Version
terraform ~> 1.7
huaweicloud ~>1.63

Providers

Name Version
huaweicloud ~>1.63

Modules

No modules.

Resources

Name Type
huaweicloud_dms_rocketmq_consumer_group.main resource
huaweicloud_dms_rocketmq_instance.main resource
huaweicloud_dms_rocketmq_topic.main resource
huaweicloud_availability_zones.zones data source

Inputs

Name Description Type Default Required
availability_zones Specifies the AZ name, if omitted, AZ calculates automatically list(string) [] no
broker_num Specifies the broker numbers number 1 no
consumer_groups RocketMQ Consumers groups:
* key - name of the group;
* enabled - specifies the consumer group is enabled or not;
* broadcast - specifies whether to broadcast of the consumer group;
* brokers - specifies the list of associated brokers of the consumer group;
* retry_max_times - specifies the maximum number of retry times.
map(object({
enabled = optional(bool, true)
broadcast = optional(bool, true)
brokers = optional(list(string), ["broker-0"])
retry_max_times = optional(number, 3)
}))
{} no
description Specifies the description of the DMS RocketMQ instance string null no
enable_acl Specifies whether access control is enabled bool false no
enable_publicip Specifies whether to enable public access bool false no
engine_version Specifies the version of the RocketMQ engine string "4.8.0" no
flavor_id Specifies the instance flavor id:
c6.4u8g.cluster.small: maximum number of topics on each broker: 2000; maximum number of consumer groups on each broker: 2000
c6.4u8g.cluster: maximum number of topics on each broker: 4000; maximum number of consumer groups on each broker: 4000
c6.8u16g.cluster: maximum number of topics on each broker: 8000; maximum number of consumer groups on each broker: 8000
c6.12u24g.cluster: maximum number of topics on each broker: 12,000; maximum number of consumer groups on each broker: 12,000
c6.16u32g.cluster: maximum number of topics on each broker: 16,000; maximum number of consumer groups on each broker: 16,000 Changing this parameter will create a new resource.
string "c6.4u8g.cluster.small" no
ipv6_enable Specifies whether to support IPv6 bool false no
name Specifies the name of the DMS RocketMQ instance string n/a yes
name_postfix Specifies the name postfix of the DMS RocketMQ instance string null no
region Specifies the region in which to create the resource, if omitted, the provider-level region will be used string null no
rocketmq_instance_id Specifies the ID of Rocketmq instance, if it sets, Rocketmq instance won't be created string null no
security_group_id Specifies the ID of a security group string n/a yes
single_az All instances in the same availability zone.
The more AZs selected, the better the reliability and SLA coverage.
bool false no
ssl_enable Specifies whether the RocketMQ SASL_SSL is enabled bool false no
storage_space Specifies the message storage capacity, Unit: GB number 300 no
storage_spec_code Specifies the storage I/O specification:
* dms.physical.storage.high.v2: high I/O disk;
* dms.physical.storage.ultra.v2: ultra-high I/O disk Changing this parameter will create a new resource.
string "dms.physical.storage.high.v2" no
subnet_id Specifies the ID of a subnet string n/a yes
tags Specifies the key/value pairs to associate with the RocketMQ Instance map(string) {} no
topics RocketMQ topics configuration:
* key - name of the topic;
* queue_num - specifies the number of queues, default to 8;
* permission - specifies the permissions of the topic, value options: all, sub, pub, default to all;
* total_read_queue_num - Specifies the total number of read queues;
* total_write_queue_num - Specifies the total number of write queues;
* brokers - indicates the number of the brokers, !!! can't be more than broker_num variable.
map(object({
queue_num = optional(number, 8)
permission = optional(string, "all")
total_read_queue_num = optional(number, 3)
total_write_queue_num = optional(number, 3)
brokers = optional(list(string), ["broker-0"])
}))
{} no
vpc_id Specifies the ID of a VPC string n/a yes

Outputs

Name Description
broker_address Indicates the service data address
id Specifies a resource ID in UUID format
namesrv_address Indicates the metadata address
node_num Indicates the node quantity
specification Indicates the instance specification
status Indicates the status of the DMS RocketMQ instance
type Indicates the DMS RocketMQ instance type