https://github.com/global-vmware/vcd_nsxt_alb_virtual_service
This Repository contains the "vcd_nsxt_alb_virtual_service" Terraform Module. You can use this Module to deploy NSX-T ALB Virtual Services into a VMware Cloud Director (VCD) Environment.
https://github.com/global-vmware/vcd_nsxt_alb_virtual_service
infrastructure-as-code load-balancing terraform terraform-module virtual-services vmware vmware-nsx
Last synced: about 1 year ago
JSON representation
This Repository contains the "vcd_nsxt_alb_virtual_service" Terraform Module. You can use this Module to deploy NSX-T ALB Virtual Services into a VMware Cloud Director (VCD) Environment.
- Host: GitHub
- URL: https://github.com/global-vmware/vcd_nsxt_alb_virtual_service
- Owner: global-vmware
- Created: 2023-06-19T18:47:13.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-12-11T17:15:19.000Z (over 2 years ago)
- Last Synced: 2023-12-11T18:31:10.032Z (over 2 years ago)
- Topics: infrastructure-as-code, load-balancing, terraform, terraform-module, virtual-services, vmware, vmware-nsx
- Language: HCL
- Homepage: https://www.rackspace.com/cloud/vmware
- Size: 11.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Terraform VMware Cloud Director NSX-T ALB Virtual Service Module
This Terraform module will deploy an NSX-T ALB (Advanced Load Balancer) Virtual Service into an existing VMware Cloud Director (VCD) environment. This module can be used to provision new ALB Virtual Services into [Rackspace Technology SDDC Flex](https://www.rackspace.com/cloud/private/software-defined-data-center-flex) VCD Data Center Regions.
## Requirements
| Name | Version |
|-----------|---------|
| terraform | ~> 1.2 |
| vcd | ~> 3.8 |
## Resources
| Name | Type |
|--------------------------------------------------------------------------------------------------------------------------------------|--------------|
| [vcd_vdc_group](https://registry.terraform.io/providers/vmware/vcd/latest/docs/data-sources/vdc_group) | Data Source |
| [vcd_nsxt_edgegateway](https://registry.terraform.io/providers/vmware/vcd/latest/docs/data-sources/nsxt_edgegateway) | Data Source |
| [vcd_nsxt_alb_edgegateway_service_engine_group](https://registry.terraform.io/providers/vmware/vcd/latest/docs/data-sources/nsxt_alb_edgegateway_service_engine_group) | Data Source |
| [vcd_nsxt_alb_pool](https://registry.terraform.io/providers/vmware/vcd/latest/docs/data-sources/nsxt_alb_pool) | Data Source |
| [vcd_library_certificate](https://registry.terraform.io/providers/vmware/vcd/latest/docs/data-sources/library_certificate) | Data Source |
| [vcd_nsxt_alb_virtual_service](https://registry.terraform.io/providers/vmware/vcd/latest/docs/resources/nsxt_alb_virtual_service) | Resource |
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|----------|
| vdc_org_name | The name of the Data Center Group Organization in VCD | string | `"Organization Name Format: --"` | yes |
| vdc_group_name | The name of the Data Center Group in VCD | string | `"Data Center Group Name Format: -- "` | yes |
| vdc_edge_name | Name of the Data Center Group Edge Gateway | string | `"Edge Gateway Name Format: ---"` | Yes |
| service_engine_group_name | The name of the NSX-T ALB Service Engine Group | string | `"Service Engine Group Name Format: -rsvc-lb-segroup<01>"` | yes |
| pool_name | The name of the NSX-T ALB Pool | string | - | yes |
| virtual_service_name | The name of the NSX-T ALB Virtual Service | string | - | yes |
| virtual_service_description | The description of the NSX-T ALB Virtual Service | string | "" | no |
| application_profile_type | The type of application profile for the NSX-T ALB Virtual Service | string | - | yes |
| is_transparent_mode_enabled | Whether the transparent mode is enabled for the NSX-T ALB Virtual Service | bool | false | no |
| cert_alias | The alias of the certificate from the VCD library | string | "" | no |
| ca_certificate_required | Defines if a CA certificate is required for the virtual service. Set to true for HTTPS and L4_TLS types, and to false for HTTP and L4 types. | bool | false | no |
| service_ports | List of service ports configuration for the NSX-T ALB Virtual Service | list(object({ start_port = number, end_port = optional(number), type = string, ssl_enabled = optional(bool) })) | - | yes |
| virtual_ip_address | IP Address for the service to listen on | string | - | yes |
## Outputs
| Name | Description |
|-----------------------------------------|----------------------------------------------------------------|
| alb_virtual_service_id | ID of the created NSX-T ALB Virtual Service |
| alb_virtual_service_vip | IP Address of the created NSX-T ALB Virtual Service |
| alb_pool_id | ID of the NSX-T ALB Pool |
| alb_pool_name | Name of the NSX-T ALB Pool |
| alb_application_profile_type | Type of application profile for the NSX-T ALB Virtual Service |
| alb_virtual_service_service_ports | List of service ports configuration for the NSX-T ALB Virtual Service |
## Example Usage
```terraform
module "nsxt_alb_virtual_service" {
source = "github.com/global-vmware/vcd_nsxt_alb_virtual_service.git?ref=v1.1.1"
vdc_group_name = ""
vdc_org_name = ""
vdc_edge_name = ""
service_engine_group_name = ""
virtual_service_name = "test-vip-01"
pool_name = "test-pool-01"
application_profile_type = "HTTPS"
ca_certificate_required = true
cert_alias = "US1-domain.com-SSL-Certificate"
virtual_ip_address = "8.8.8.8"
service_ports = [
{
start_port = 443,
type = "TCP_PROXY",
ssl_enabled = true,
},
{
start_port = 8443,
type = "TCP_PROXY",
ssl_enabled = true
}
]
}
```
## Authors
This module is maintained by the [Global VMware Cloud Automation Services Team](https://github.com/global-vmware).