Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/terraform-yacloud-modules/terraform-yandex-nlb
Terraform module to manage Network Load Balancer resources within the Yandex.Cloud.
https://github.com/terraform-yacloud-modules/terraform-yandex-nlb
hacktoberfest iac terraform terraform-module yandex yandex-cloud
Last synced: 3 months ago
JSON representation
Terraform module to manage Network Load Balancer resources within the Yandex.Cloud.
- Host: GitHub
- URL: https://github.com/terraform-yacloud-modules/terraform-yandex-nlb
- Owner: terraform-yacloud-modules
- License: apache-2.0
- Created: 2023-02-25T22:35:35.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-28T10:34:01.000Z (4 months ago)
- Last Synced: 2024-10-28T13:53:29.204Z (4 months ago)
- Topics: hacktoberfest, iac, terraform, terraform-module, yandex, yandex-cloud
- Language: HCL
- Homepage:
- Size: 97.7 KB
- Stars: 11
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Yandex Cloud Network Load Balancer Terraform module
Terraform module which creates Yandex Cloud Network Load Balancer resources.
## Examples
Examples codified under
the [`examples`](https://github.com/terraform-yacloud-modules/terraform-yandex-nlb/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_lb_network_load_balancer.main](https://registry.terraform.io/providers/yandex-cloud/yandex/latest/docs/resources/lb_network_load_balancer) | resource |
| [yandex_lb_target_group.main](https://registry.terraform.io/providers/yandex-cloud/yandex/latest/docs/resources/lb_target_group) | resource |
| [yandex_vpc_address.pip](https://registry.terraform.io/providers/yandex-cloud/yandex/latest/docs/resources/vpc_address) | resource |## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [create\_pip](#input\_create\_pip) | If true, public IP will be created | `bool` | `true` | no |
| [create\_target\_group](#input\_create\_target\_group) | If true, target group will be created | `bool` | `false` | no |
| [description](#input\_description) | Network load balancer description | `string` | `""` | no |
| [health\_check](#input\_health\_check) | Target group health check |object({|
enabled = optional(bool, false)
name = string
interval = optional(number, 2)
timeout = optional(number, 1)
unhealthy_threshold = optional(number, 2)
healthy_threshold = optional(number, 3)
http_options = optional(object({
port = optional(number)
path = optional(string, "/")
}), null)
tcp_options = optional(object({
port = optional(number)
}), null)
}){| no |
"name": "app"
}
| [labels](#input\_labels) | A set of labels | `map(string)` | `{}` | no |
| [listeners](#input\_listeners) | Network load balancer listeners |list(object({| `[]` | no |
name = optional(string)
port = optional(number)
target_port = optional(number)
protocol = optional(string, "tcp")
is_public = optional(bool, false)
ip_version = optional(string, "ipv4")
}))
| [name](#input\_name) | Network load balancer name | `string` | n/a | yes |
| [pip](#input\_pip) | Public IP address for the network load balancer | `string` | `null` | no |
| [pip\_zone\_id](#input\_pip\_zone\_id) | Public IP zone | `string` | `"ru-central1-a"` | no |
| [region\_id](#input\_region\_id) | ID of the availability zone where the network load balancer resides | `string` | `null` | no |
| [subnet\_id](#input\_subnet\_id) | Private subnet where IP for NLB listener will be allocated | `string` | `null` | no |
| [target\_group\_ids](#input\_target\_group\_ids) | IDs of target groups that will be attached to Network Load Balancer | `list(string)` | `[]` | no |
| [targets](#input\_targets) | Network load balancer targets |list(object({| `[]` | no |
address = string
subnet_id = string
}))
| [type](#input\_type) | Network load balancer type; Can be internal or external | `string` | `"internal"` | no |## Outputs
| Name | Description |
|------|-------------|
| [external\_ip](#output\_external\_ip) | External IP address of the Network Load Balancer |
| [id](#output\_id) | Network Load Balancer ID |
| [name](#output\_name) | Network Load Balancer name |
| [tg\_id](#output\_tg\_id) | Target group ID |
| [tg\_name](#output\_tg\_name) | Target group name |## License
Apache-2.0 Licensed.
See [LICENSE](https://github.com/terraform-yacloud-modules/terraform-yandex-nlb/blob/main/LICENSE).