oci_network_load_balancer_network_load_balancer

This resource provides the Network Load Balancer resource in Oracle Cloud Infrastructure Network Load Balancer service.

Creates a network load balancer.

Example Usage

resource "oci_network_load_balancer_network_load_balancer" "test_network_load_balancer" {
	#Required
	compartment_id = var.compartment_id
	display_name = var.network_load_balancer_display_name
	subnet_id = oci_core_subnet.test_subnet.id

	#Optional
	assigned_ipv6 = var.network_load_balancer_assigned_ipv6
	assigned_private_ipv4 = var.network_load_balancer_assigned_private_ipv4
	backend_sets {
		#Required
		health_checker {
			#Required
			protocol = var.network_load_balancer_backend_sets_health_checker_protocol

			#Optional
			interval_in_millis = var.network_load_balancer_backend_sets_health_checker_interval_in_millis
			port = var.network_load_balancer_backend_sets_health_checker_port
			request_data = var.network_load_balancer_backend_sets_health_checker_request_data
			response_body_regex = var.network_load_balancer_backend_sets_health_checker_response_body_regex
			response_data = var.network_load_balancer_backend_sets_health_checker_response_data
			retries = var.network_load_balancer_backend_sets_health_checker_retries
			return_code = var.network_load_balancer_backend_sets_health_checker_return_code
			timeout_in_millis = var.network_load_balancer_backend_sets_health_checker_timeout_in_millis
			url_path = var.network_load_balancer_backend_sets_health_checker_url_path
		}

		#Optional
		backends {
			#Required
			port = var.network_load_balancer_backend_sets_backends_port

			#Optional
			ip_address = var.network_load_balancer_backend_sets_backends_ip_address
			is_backup = var.network_load_balancer_backend_sets_backends_is_backup
			is_drain = var.network_load_balancer_backend_sets_backends_is_drain
			is_offline = var.network_load_balancer_backend_sets_backends_is_offline
			name = var.network_load_balancer_backend_sets_backends_name
			target_id = oci_cloud_guard_target.test_target.id
			weight = var.network_load_balancer_backend_sets_backends_weight
		}
		ip_version = var.network_load_balancer_backend_sets_ip_version
		is_fail_open = var.network_load_balancer_backend_sets_is_fail_open
		is_instant_failover_enabled = var.network_load_balancer_backend_sets_is_instant_failover_enabled
		is_preserve_source = var.network_load_balancer_backend_sets_is_preserve_source
		policy = var.network_load_balancer_backend_sets_policy
	}

	#Optional
	backend_sets {
		#Required
		health_checker {
			#Required
			protocol = var.network_load_balancer_backend_sets_health_checker_protocol

			#Optional
			dns {
				#Required
				domain_name = oci_identity_domain.test_domain.name

				#Optional
				query_class = var.network_load_balancer_backend_sets_health_checker_dns_query_class
				query_type = var.network_load_balancer_backend_sets_health_checker_dns_query_type
				rcodes = var.network_load_balancer_backend_sets_health_checker_dns_rcodes
				transport_protocol = var.network_load_balancer_backend_sets_health_checker_dns_transport_protocol
			}
			interval_in_millis = var.network_load_balancer_backend_sets_health_checker_interval_in_millis
			port = var.network_load_balancer_backend_sets_health_checker_port
			request_data = var.network_load_balancer_backend_sets_health_checker_request_data
			response_body_regex = var.network_load_balancer_backend_sets_health_checker_response_body_regex
			response_data = var.network_load_balancer_backend_sets_health_checker_response_data
			retries = var.network_load_balancer_backend_sets_health_checker_retries
			return_code = var.network_load_balancer_backend_sets_health_checker_return_code
			timeout_in_millis = var.network_load_balancer_backend_sets_health_checker_timeout_in_millis
			url_path = var.network_load_balancer_backend_sets_health_checker_url_path
		}

		#Optional
		backends {
			#Required
			port = var.network_load_balancer_backend_sets_backends_port

			#Optional
			ip_address = var.network_load_balancer_backend_sets_backends_ip_address
			is_backup = var.network_load_balancer_backend_sets_backends_is_backup
			is_drain = var.network_load_balancer_backend_sets_backends_is_drain
			is_offline = var.network_load_balancer_backend_sets_backends_is_offline
			name = var.network_load_balancer_backend_sets_backends_name
			target_id = oci_cloud_guard_target.test_target.id
			weight = var.network_load_balancer_backend_sets_backends_weight
		}
		ip_version = var.network_load_balancer_backend_sets_ip_version
		is_fail_open = var.network_load_balancer_backend_sets_is_fail_open
		is_instant_failover_enabled = var.network_load_balancer_backend_sets_is_instant_failover_enabled
		is_preserve_source = var.network_load_balancer_backend_sets_is_preserve_source
		policy = var.network_load_balancer_backend_sets_policy
	}
	#Optional
	assigned_ipv6 = var.network_load_balancer_assigned_ipv6
	assigned_private_ipv4 = var.network_load_balancer_assigned_private_ipv4
	defined_tags = {"Operations.CostCenter"= "42"}
	freeform_tags = {"Department"= "Finance"}
	is_preserve_source_destination = var.network_load_balancer_is_preserve_source_destination
	is_private = var.network_load_balancer_is_private
	is_symmetric_hash_enabled = var.network_load_balancer_is_symmetric_hash_enabled
	listeners {
		#Required
		default_backend_set_name = oci_network_load_balancer_backend_set.test_backend_set.name
		name = var.network_load_balancer_listeners_name
		port = var.network_load_balancer_listeners_port
		protocol = var.network_load_balancer_listeners_protocol

		#Optional
		ip_version = var.network_load_balancer_listeners_ip_version
		is_ppv2enabled = var.network_load_balancer_listeners_is_ppv2enabled
		tcp_idle_timeout = var.network_load_balancer_listeners_tcp_idle_timeout
		udp_idle_timeout = var.network_load_balancer_listeners_udp_idle_timeout
	}
	network_security_group_ids = var.network_load_balancer_network_security_group_ids
	nlb_ip_version = var.network_load_balancer_nlb_ip_version
	reserved_ips {
		#Optional
		id = var.network_load_balancer_reserved_ips_id
	}
	subnet_ipv6cidr = var.network_load_balancer_subnet_ipv6cidr
}

Argument Reference

The following arguments are supported:

A public network load balancer is accessible from the internet, depending on the security list rules for your virtual cloud network. For more information about public and private network load balancers, see How Network Load Balancing Works. This value is true by default.

Example: `true` 

** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

Attributes Reference

The following attributes are exported:

Timeouts

The timeouts block allows you to specify timeouts for certain operations: * create - (Defaults to 20 minutes), when creating the Network Load Balancer * update - (Defaults to 20 minutes), when updating the Network Load Balancer * delete - (Defaults to 20 minutes), when destroying the Network Load Balancer

Import

NetworkLoadBalancers can be imported using the id, e.g.

$ terraform import oci_network_load_balancer_network_load_balancer.test_network_load_balancer "id"