An open API service indexing awesome lists of open source software.

https://github.com/terraform-yacloud-modules/terraform-yandex-mdb-kafka


https://github.com/terraform-yacloud-modules/terraform-yandex-mdb-kafka

hacktoberfest hacktoberfest2025 yacloud yandex yandex-cloud

Last synced: 7 days ago
JSON representation

Awesome Lists containing this project

README

          

# Yandex Cloud Terraform module

Terraform module which creates Yandex Cloud resources.

## Examples

Examples codified under
the [`examples`](https://github.com/terraform-yacloud-modules/terraform-yandex-module-template/tree/main/examples) are intended
to give users references for how to use the module(s) as well as testing/validating changes to the source code of the
module. If contributing to the project, please be sure to make any appropriate updates to the relevant examples to allow
maintainers to test your changes and to keep the examples up to date for users. Thank you!

## Requirements

| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.3 |
| [yandex](#requirement\_yandex) | >= 0.72.0 |

## Providers

| Name | Version |
|------|---------|
| [yandex](#provider\_yandex) | >= 0.72.0 |

## Modules

No modules.

## Resources

| Name | Type |
|------|------|
| [yandex_mdb_kafka_cluster.kafka_cluster](https://registry.terraform.io/providers/yandex-cloud/yandex/latest/docs/resources/mdb_kafka_cluster) | resource |
| [yandex_mdb_kafka_topic.kafka_topic](https://registry.terraform.io/providers/yandex-cloud/yandex/latest/docs/resources/mdb_kafka_topic) | resource |
| [yandex_mdb_kafka_user.kafka_user](https://registry.terraform.io/providers/yandex-cloud/yandex/latest/docs/resources/mdb_kafka_user) | resource |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [assign\_public\_ip](#input\_assign\_public\_ip) | Determines whether each broker will be assigned a public IP address | `bool` | `false` | no |
| [brokers\_count](#input\_brokers\_count) | Count of brokers per availability zone | `number` | `1` | no |
| [cluster\_description](#input\_cluster\_description) | Description of the Kafka cluster | `string` | `""` | no |
| [cluster\_name](#input\_cluster\_name) | Name of the Kafka cluster | `string` | n/a | yes |
| [data\_transfer\_access](#input\_data\_transfer\_access) | Allow access for DataTransfer | `bool` | `false` | no |
| [deletion\_protection](#input\_deletion\_protection) | Inhibits deletion of the cluster | `bool` | `false` | no |
| [environment](#input\_environment) | Deployment environment of the Kafka cluster | `string` | `"PRODUCTION"` | no |
| [folder\_id](#input\_folder\_id) | The ID of the folder that the resource belongs to | `string` | `null` | no |
| [host\_group\_ids](#input\_host\_group\_ids) | A list of IDs of the host groups to place VMs of the cluster on | `list(string)` | `[]` | no |
| [kafka\_compression\_type](#input\_kafka\_compression\_type) | Kafka server compression type | `string` | `null` | no |
| [kafka\_disk\_size](#input\_kafka\_disk\_size) | Volume of the storage available to a Kafka host, in gigabytes | `number` | n/a | yes |
| [kafka\_disk\_type\_id](#input\_kafka\_disk\_type\_id) | Type of the storage of Kafka hosts | `string` | n/a | yes |
| [kafka\_log\_flush\_interval\_messages](#input\_kafka\_log\_flush\_interval\_messages) | Kafka server log flush interval messages | `number` | `null` | no |
| [kafka\_resource\_preset\_id](#input\_kafka\_resource\_preset\_id) | The ID of the preset for computational resources available to a Kafka host | `string` | n/a | yes |
| [kafka\_version](#input\_kafka\_version) | Version of the Kafka server software | `string` | n/a | yes |
| [labels](#input\_labels) | A set of key/value label pairs to assign to the Kafka cluster | `map(string)` | `{}` | no |
| [maintenance\_window\_day](#input\_maintenance\_window\_day) | Day of the week for maintenance window | `string` | `null` | no |
| [maintenance\_window\_hour](#input\_maintenance\_window\_hour) | Hour of the day in UTC for maintenance window | `number` | `null` | no |
| [maintenance\_window\_type](#input\_maintenance\_window\_type) | Type of maintenance window | `string` | n/a | yes |
| [network\_id](#input\_network\_id) | ID of the network, to which the Kafka cluster belongs | `string` | n/a | yes |
| [schema\_registry](#input\_schema\_registry) | Enables managed schema registry on cluster | `bool` | `false` | no |
| [security\_group\_ids](#input\_security\_group\_ids) | Security group ids, to which the Kafka cluster belongs | `list(string)` | `[]` | no |
| [subnet\_ids](#input\_subnet\_ids) | IDs of the subnets, to which the Kafka cluster belongs | `list(string)` | `[]` | no |
| [topics](#input\_topics) | List of Kafka topics to create |

list(object({
name = string
partitions = number
replication_factor = number
config = object({
cleanup_policy = string
compression_type = string
delete_retention_ms = number
file_delete_delay_ms = number
flush_messages = number
flush_ms = number
min_compaction_lag_ms = number
retention_bytes = number
retention_ms = number
max_message_bytes = number
min_insync_replicas = number
segment_bytes = number
preallocate = bool
})
}))
| `[]` | no |
| [users](#input\_users) | List of Kafka users to create |
list(object({
name = string
password = string
permissions = list(object({
topic_name = string
role = string
allow_hosts = list(string)
}))
}))
| `[]` | no |
| [zones](#input\_zones) | List of availability zones | `list(string)` | n/a | yes |
| [zookeeper\_disk\_size](#input\_zookeeper\_disk\_size) | Volume of the storage available to a ZooKeeper host, in gigabytes | `number` | n/a | yes |
| [zookeeper\_disk\_type\_id](#input\_zookeeper\_disk\_type\_id) | Type of the storage of ZooKeeper hosts | `string` | n/a | yes |
| [zookeeper\_resource\_preset\_id](#input\_zookeeper\_resource\_preset\_id) | The ID of the preset for computational resources available to a ZooKeeper host | `string` | n/a | yes |

## Outputs

| Name | Description |
|------|-------------|
| [created\_at](#output\_created\_at) | Timestamp of cluster creation |
| [hosts](#output\_hosts) | A host of the Kafka cluster |
| [kafka\_cluster\_id](#output\_kafka\_cluster\_id) | ID of the Kafka cluster |
| [kafka\_topic\_ids](#output\_kafka\_topic\_ids) | IDs of the Kafka topics |
| [kafka\_user\_ids](#output\_kafka\_user\_ids) | IDs of the Kafka users |

## License

Apache-2.0 Licensed.
See [LICENSE](https://github.com/terraform-yacloud-modules/terraform-yandex-module-template/blob/main/LICENSE).