https://github.com/terraform-yacloud-modules/terraform-yandex-alb
Terraform module to manage Application Load Balancer (ALB) resources within the Yandex.Cloud.
https://github.com/terraform-yacloud-modules/terraform-yandex-alb
hacktoberfest iac terraform terraform-modules yandex yandex-cloud
Last synced: 5 months ago
JSON representation
Terraform module to manage Application Load Balancer (ALB) resources within the Yandex.Cloud.
- Host: GitHub
- URL: https://github.com/terraform-yacloud-modules/terraform-yandex-alb
- Owner: terraform-yacloud-modules
- License: apache-2.0
- Created: 2023-02-25T22:35:09.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-29T03:49:43.000Z (11 months ago)
- Last Synced: 2024-10-29T04:31:03.858Z (11 months ago)
- Topics: hacktoberfest, iac, terraform, terraform-modules, yandex, yandex-cloud
- Language: HCL
- Homepage:
- Size: 103 KB
- Stars: 6
- Watchers: 1
- Forks: 0
- 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 Application Load Balancer Terraform module
Terraform module which creates Yandex Cloud Application Load Balancer resources.
## Examples
Examples codified under
the [`examples`](https://github.com/terraform-yacloud-modules/terraform-yandex-alb/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 |
| [tls](#requirement\_tls) | >= 3.1.0 |
| [yandex](#requirement\_yandex) | >= 0.72.0 |## Providers
| Name | Version |
|------|---------|
| [tls](#provider\_tls) | >= 3.1.0 |
| [yandex](#provider\_yandex) | >= 0.72.0 |## Modules
No modules.
## Resources
| Name | Type |
|------|------|
| [tls_private_key.self_signed](https://registry.terraform.io/providers/hashicorp/tls/latest/docs/resources/private_key) | resource |
| [tls_self_signed_cert.self_signed](https://registry.terraform.io/providers/hashicorp/tls/latest/docs/resources/self_signed_cert) | resource |
| [yandex_alb_backend_group.http](https://registry.terraform.io/providers/yandex-cloud/yandex/latest/docs/resources/alb_backend_group) | resource |
| [yandex_alb_backend_group.streams](https://registry.terraform.io/providers/yandex-cloud/yandex/latest/docs/resources/alb_backend_group) | resource |
| [yandex_alb_http_router.main](https://registry.terraform.io/providers/yandex-cloud/yandex/latest/docs/resources/alb_http_router) | resource |
| [yandex_alb_load_balancer.main](https://registry.terraform.io/providers/yandex-cloud/yandex/latest/docs/resources/alb_load_balancer) | resource |
| [yandex_alb_virtual_host.main](https://registry.terraform.io/providers/yandex-cloud/yandex/latest/docs/resources/alb_virtual_host) | resource |
| [yandex_cm_certificate.main](https://registry.terraform.io/providers/yandex-cloud/yandex/latest/docs/resources/cm_certificate) | 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 |
| [description](#input\_description) | ALB description | `string` | `""` | no |
| [discard\_rules](#input\_discard\_rules) | List of logs discard rules |object({| `null` | no |
http_codes = optional(list(string), [])
http_code_intervals = optional(number)
grpc_codes = optional(list(string), [])
})
| [enable\_logs](#input\_enable\_logs) | Set to true to disable Cloud Logging for the balancer | `bool` | `true` | no |
| [external\_ipv4\_address](#input\_external\_ipv4\_address) | External IPv4 address for the load balancer | `string` | `null` | no |
| [folder\_id](#input\_folder\_id) | Folder ID | `string` | `null` | no |
| [labels](#input\_labels) | A set of labels | `map(string)` | `{}` | no |
| [listeners](#input\_listeners) | Application load balancer listeners | `map` | `{}` | no |
| [log\_group\_id](#input\_log\_group\_id) | Cloud Logging group ID to send logs to. Leave empty to use the balancer folder default log group | `string` | `""` | no |
| [name](#input\_name) | ALB name | `string` | n/a | yes |
| [network\_id](#input\_network\_id) | ID of the network that the ALB is located at | `string` | n/a | yes |
| [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 ALB resides | `string` | `null` | no |
| [security\_group\_ids](#input\_security\_group\_ids) | A list of ID's of security groups attached to the ALB | `list(string)` | `[]` | no |
| [subnets](#input\_subnets) | List of subnets | `map` | `{}` | no |## Outputs
| Name | Description |
|------|-------------|
| [id](#output\_id) | Application Load Balancer ID |
| [load\_balancer\_ip](#output\_load\_balancer\_ip) | IP address of the created load balancer |
| [name](#output\_name) | Application Load Balancer name |## License
Apache-2.0 Licensed.
See [LICENSE](https://github.com/terraform-yacloud-modules/terraform-yandex-alb/blob/main/LICENSE).