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

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.

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({
http_codes = optional(list(string), [])
http_code_intervals = optional(number)
grpc_codes = optional(list(string), [])
})
| `null` | no |
| [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).