Load Balancer
Provides an e2e loadbalancer resource. This resource allows you to manage loadbalancer on your e2e clusters. When applied, a new loadbalancer is created. When destroyed, this loadbalancer is removed.
resource "e2e_loadbalancer" "lb1" {
plan_name = "E2E-LB-2"
lb_name = "E2E-LB-2-301"
lb_mode = "HTTP"
node_list_type = "S"
enable_bitninja = false
backends {
balance = "source"
name= "backend-server-ts"
servers {
id = 163745
port = 8000
}
servers {
id = 149020
port = 8080
}
http_check = false
}
acl_list {
acl_name = "acl-7718"
acl_condition = "path_end -i"
acl_matching_path = "/suf"
}
acl_map {
acl_name = "acl-7718"
acl_backend = "backend-server-ts"
}
vpc_list = [e2e_vpc.VPC-TS-01.id]
is_ipv6_attached = false
project_id=22878
}
resource "e2e_vpc" "VPC-TS-01" {
region="Delhi"
vpc_name="VPC-TS-01"
}
Schema
Required
lb_mode(String) In which mode load balancer is going to launch http, https, bothlb_name(String) It is the name of load balancer, letter,digit,underscore,hyphen are allowedplan_name(String) It is the plan of which load balancer is going to launchproject_id(String) This is your project ID in which you want to create the resource.- Either
BackendorTcp Backendis required. Details are mentioned below. NOTE- ACl list and ACL map are not allowed with TCP backend.
Optional
acl_list(Block List) This will give the acl rule which you want to apply (see below for nested schema)acl_map(Block List) This will give you how you want to route request according to acl rule (see below for nested schema)backends(Block List) This will contain the backend details which will be attached to load balancer (see below for nested schema)enable_bitninja(Boolean) Modular security tool used to enable load balancer from wide range of cyber attacksenable_eos_logger(Block List) If you want to get the logs of loadbalancer. Please connect eos bucket (see below for nested schema)is_ipv6_attached(Boolean) This is used to attach IPV6 on your load balancerlb_reserve_ip(String) This field is for any reserve IP which is going to attach on load balancerlb_type(String) It is used to define internal or external load balancerlocation(String) This is the region of your loadbalancernode_list_type(String) It is used to find out either node is static(S) or dynamic autoscaling(D)power_status(String) power_on to start the load balancer and power_off to power off the load balancertcp_backend(Block List) Need Information of TCP backend If user wants to attach (see below for nested schema)vpc_list(Set of Number) List of vpc Id which you want to attach
Read-Only
disk(String) This is the disk storage allotted to your loadbalancerhost_target_ipv6(String) This is the ipv6 allotted to your loadbalancerid(String) The ID of this resource.private_ip(String) Private IP of load balancerpublic_ip(String) Public IP of load balancerram(String) This is the ram allotted to your loadbalancerstatus(String) This is the status of your loadbalancer, only to get the status from my account.vcpu(Number) This is the vcpu allotted to your loadbalancer
Nested Schema for acl_list
Required:
acl_condition(String) Condition in which ACL rule will matchacl_matching_path(String) path in which this rule will workacl_name(String) Name of your ACL rule
Nested Schema for acl_map
Required:
acl_backend(String) Name of your backend serveracl_name(String) Name of your ACL rule
Optional:
acl_condition_state(Boolean) status of acl condition state
Nested Schema for backends
Required:
balance(String) This will contain the type of algorithm used while load balancingname(String) This will be the name of your backend.
Optional:
check_url(String) endpoint of health check to pingcheckbox_enable(Boolean) This checkbox is to enable health checkdomain_name(String) domain name for health checkhttp_check(Boolean) Check if http health check in enablescaler_id(String) Need scalar ID if you want to attach autoscalingscaler_port(String) Need scalar port if you want to attach autoscalingservers(Block List) description of servers that are going to attach on backend (see below for nested schema)
Nested Schema for backends.servers
Required:
id(String) Node id which you want to attachport(String) Port Number of the node
Nested Schema for enable_eos_logger
Required:
access_key(String) Access key of your object storage bucketbucket(String) Bucket name of your object storage bucketsecret_key(String) Secret key of your object storage bucket
Optional:
appliance_id(Number) ID of the appliance
Nested Schema for tcp_backend
Required:
backend_name(String) Your TCP backend namebalance(String) This will contain the type of algorithm used while load balancingport(String) Port number for your TCP backend. 8080, 10050, 9101,80 or 443 port not allowedservers(Block List, Min: 1) description of servers that are going to attach on backend (see below for nested schema)
Nested Schema for tcp_backend.servers
Required:
id(String) Node id which you want to attachport(String) Port Number of the node