back
terraform {
required_providers {
avi = ">= 0.2.3"
}
}
top
module "avi_virtualservice" {
source = "./modules/avi/r/avi_virtualservice"
# active_standby_se_tag - (optional) is a type of string
active_standby_se_tag = null
# allow_invalid_client_cert - (optional) is a type of bool
allow_invalid_client_cert = null
# analytics_profile_ref - (optional) is a type of string
analytics_profile_ref = null
# apic_contract_graph - (optional) is a type of string
apic_contract_graph = null
# application_profile_ref - (optional) is a type of string
application_profile_ref = null
# bulk_sync_kvcache - (optional) is a type of bool
bulk_sync_kvcache = null
# close_client_conn_on_config_update - (optional) is a type of bool
close_client_conn_on_config_update = null
# cloud_config_cksum - (optional) is a type of string
cloud_config_cksum = null
# cloud_ref - (optional) is a type of string
cloud_ref = null
# cloud_type - (optional) is a type of string
cloud_type = null
# created_by - (optional) is a type of string
created_by = null
# delay_fairness - (optional) is a type of bool
delay_fairness = null
# description - (optional) is a type of string
description = null
# east_west_placement - (optional) is a type of bool
east_west_placement = null
# enable_autogw - (optional) is a type of bool
enable_autogw = null
# enable_rhi - (optional) is a type of bool
enable_rhi = null
# enable_rhi_snat - (optional) is a type of bool
enable_rhi_snat = null
# enabled - (optional) is a type of bool
enabled = null
# error_page_profile_ref - (optional) is a type of string
error_page_profile_ref = null
# flow_dist - (optional) is a type of string
flow_dist = null
# flow_label_type - (optional) is a type of string
flow_label_type = null
# fqdn - (optional) is a type of string
fqdn = null
# host_name_xlate - (optional) is a type of string
host_name_xlate = null
# ign_pool_net_reach - (optional) is a type of bool
ign_pool_net_reach = null
# limit_doser - (optional) is a type of bool
limit_doser = null
# max_cps_per_client - (optional) is a type of number
max_cps_per_client = null
# microservice_ref - (optional) is a type of string
microservice_ref = null
# min_pools_up - (optional) is a type of number
min_pools_up = null
# name - (required) is a type of string
name = null
# network_profile_ref - (optional) is a type of string
network_profile_ref = null
# network_security_policy_ref - (optional) is a type of string
network_security_policy_ref = null
# nsx_securitygroup - (optional) is a type of list of string
nsx_securitygroup = []
# pool_group_ref - (optional) is a type of string
pool_group_ref = null
# pool_ref - (optional) is a type of string
pool_ref = null
# remove_listening_port_on_vs_down - (optional) is a type of bool
remove_listening_port_on_vs_down = null
# scaleout_ecmp - (optional) is a type of bool
scaleout_ecmp = null
# se_group_ref - (optional) is a type of string
se_group_ref = null
# security_policy_ref - (optional) is a type of string
security_policy_ref = null
# server_network_profile_ref - (optional) is a type of string
server_network_profile_ref = null
# service_metadata - (optional) is a type of string
service_metadata = null
# ssl_key_and_certificate_refs - (optional) is a type of list of string
ssl_key_and_certificate_refs = []
# ssl_profile_ref - (optional) is a type of string
ssl_profile_ref = null
# ssl_sess_cache_avg_size - (optional) is a type of number
ssl_sess_cache_avg_size = null
# sso_policy_ref - (optional) is a type of string
sso_policy_ref = null
# tenant_ref - (optional) is a type of string
tenant_ref = null
# test_se_datastore_level_1_ref - (optional) is a type of string
test_se_datastore_level_1_ref = null
# traffic_clone_profile_ref - (optional) is a type of string
traffic_clone_profile_ref = null
# traffic_enabled - (optional) is a type of bool
traffic_enabled = null
# type - (optional) is a type of string
type = null
# use_bridge_ip_as_vip - (optional) is a type of bool
use_bridge_ip_as_vip = null
# use_vip_as_snat - (optional) is a type of bool
use_vip_as_snat = null
# uuid - (optional) is a type of string
uuid = null
# vh_domain_name - (optional) is a type of list of string
vh_domain_name = []
# vh_parent_vs_uuid - (optional) is a type of string
vh_parent_vs_uuid = null
# vrf_context_ref - (optional) is a type of string
vrf_context_ref = null
# vsvip_cloud_config_cksum - (optional) is a type of string
vsvip_cloud_config_cksum = null
# vsvip_ref - (optional) is a type of string
vsvip_ref = null
# waf_policy_ref - (optional) is a type of string
waf_policy_ref = null
# weight - (optional) is a type of number
weight = null
analytics_policy = [{
all_headers = null
client_insights = null
client_insights_sampling = [{
client_ip = [{
addrs = [{
addr = null
type = null
}]
group_refs = []
match_criteria = null
prefixes = [{
ip_addr = [{
addr = null
type = null
}]
mask = null
}]
ranges = [{
begin = [{
addr = null
type = null
}]
end = [{
addr = null
type = null
}]
}]
}]
sample_uris = [{
match_criteria = null
match_str = []
string_group_refs = []
}]
skip_uris = [{
match_criteria = null
match_str = []
string_group_refs = []
}]
}]
client_log_filters = [{
all_headers = null
client_ip = [{
addrs = [{
addr = null
type = null
}]
group_refs = []
match_criteria = null
prefixes = [{
ip_addr = [{
addr = null
type = null
}]
mask = null
}]
ranges = [{
begin = [{
addr = null
type = null
}]
end = [{
addr = null
type = null
}]
}]
}]
duration = null
enabled = null
index = null
name = null
uri = [{
match_criteria = null
match_str = []
string_group_refs = []
}]
}]
full_client_logs = [{
duration = null
enabled = null
throttle = null
}]
metrics_realtime_update = [{
duration = null
enabled = null
}]
significant_log_throttle = null
udf_log_throttle = null
}]
client_auth = [{
auth_profile_ref = null
realm = null
request_uri_path = [{
match_criteria = null
match_str = []
string_group_refs = []
}]
type = null
}]
connections_rate_limit = [{
action = [{
file = [{
content_type = null
file_content = null
}]
redirect = [{
host = [{
tokens = [{
end_index = null
start_index = null
str_value = null
type = null
}]
type = null
}]
keep_query = null
path = [{
tokens = [{
end_index = null
start_index = null
str_value = null
type = null
}]
type = null
}]
port = null
protocol = null
status_code = null
}]
status_code = null
type = null
}]
explicit_tracking = null
fine_grain = null
http_cookie = null
http_header = null
rate_limiter = [{
burst_sz = null
count = null
name = null
period = null
}]
}]
content_rewrite = [{
req_match_replace_pair = [{
match_string = null
replacement_string = [{
type = null
val = null
}]
}]
request_rewrite_enabled = null
response_rewrite_enabled = null
rewritable_content_ref = null
rsp_match_replace_pair = [{
match_string = null
replacement_string = [{
type = null
val = null
}]
}]
}]
dns_info = [{
algorithm = null
cname = [{
cname = null
}]
fqdn = null
num_records_in_response = null
ttl = null
type = null
}]
dns_policies = [{
dns_policy_ref = null
index = null
}]
http_policies = [{
http_policy_set_ref = null
index = null
}]
l4_policies = [{
index = null
l4_policy_set_ref = null
}]
performance_limits = [{
max_concurrent_connections = null
max_throughput = null
}]
requests_rate_limit = [{
action = [{
file = [{
content_type = null
file_content = null
}]
redirect = [{
host = [{
tokens = [{
end_index = null
start_index = null
str_value = null
type = null
}]
type = null
}]
keep_query = null
path = [{
tokens = [{
end_index = null
start_index = null
str_value = null
type = null
}]
type = null
}]
port = null
protocol = null
status_code = null
}]
status_code = null
type = null
}]
explicit_tracking = null
fine_grain = null
http_cookie = null
http_header = null
rate_limiter = [{
burst_sz = null
count = null
name = null
period = null
}]
}]
saml_sp_config = [{
cookie_name = null
cookie_timeout = null
entity_id = null
key = [{
aes_key = null
hmac_key = null
name = null
}]
signing_ssl_key_and_certificate_ref = null
single_signon_url = null
}]
service_pool_select = [{
service_pool_group_ref = null
service_pool_ref = null
service_port = null
service_port_range_end = null
service_protocol = null
}]
services = [{
enable_ssl = null
override_application_profile_ref = null
override_network_profile_ref = null
port = null
port_range_end = null
}]
sideband_profile = [{
ip = [{
addr = null
type = null
}]
sideband_max_request_body_size = null
}]
snat_ip = [{
addr = null
type = null
}]
ssl_profile_selectors = [{
client_ip_list = [{
addrs = [{
addr = null
type = null
}]
group_refs = []
match_criteria = null
prefixes = [{
ip_addr = [{
addr = null
type = null
}]
mask = null
}]
ranges = [{
begin = [{
addr = null
type = null
}]
end = [{
addr = null
type = null
}]
}]
}]
ssl_profile_ref = null
}]
static_dns_records = [{
algorithm = null
cname = [{
cname = null
}]
delegated = null
description = null
fqdn = []
ip6_address = [{
ip6_address = [{
addr = null
type = null
}]
}]
ip_address = [{
ip_address = [{
addr = null
type = null
}]
}]
metadata = null
mx_records = [{
host = null
priority = null
}]
ns = [{
ip6_address = [{
addr = null
type = null
}]
ip_address = [{
addr = null
type = null
}]
nsname = null
}]
num_records_in_response = null
service_locator = [{
port = null
priority = null
target = null
weight = null
}]
ttl = null
txt_records = [{
text_str = null
}]
type = null
wildcard_match = null
}]
topology_policies = [{
dns_policy_ref = null
index = null
}]
vip = [{
auto_allocate_floating_ip = null
auto_allocate_ip = null
auto_allocate_ip_type = null
availability_zone = null
avi_allocated_fip = null
avi_allocated_vip = null
discovered_networks = [{
network_ref = null
subnet = [{
ip_addr = [{
addr = null
type = null
}]
mask = null
}]
subnet6 = [{
ip_addr = [{
addr = null
type = null
}]
mask = null
}]
}]
enabled = null
floating_ip = [{
addr = null
type = null
}]
floating_ip6 = [{
addr = null
type = null
}]
floating_subnet6_uuid = null
floating_subnet_uuid = null
ip6_address = [{
addr = null
type = null
}]
ip_address = [{
addr = null
type = null
}]
ipam_network_subnet = [{
network_ref = null
subnet = [{
ip_addr = [{
addr = null
type = null
}]
mask = null
}]
subnet6 = [{
ip_addr = [{
addr = null
type = null
}]
mask = null
}]
subnet6_uuid = null
subnet_uuid = null
}]
network_ref = null
placement_networks = [{
network_ref = null
subnet = [{
ip_addr = [{
addr = null
type = null
}]
mask = null
}]
subnet6 = [{
ip_addr = [{
addr = null
type = null
}]
mask = null
}]
}]
port_uuid = null
subnet = [{
ip_addr = [{
addr = null
type = null
}]
mask = null
}]
subnet6 = [{
ip_addr = [{
addr = null
type = null
}]
mask = null
}]
subnet6_uuid = null
subnet_uuid = null
vip_id = null
}]
vs_datascripts = [{
index = null
vs_datascript_set_ref = null
}]
}
top
variable "active_standby_se_tag" {
description = "(optional)"
type = string
default = null
}
variable "allow_invalid_client_cert" {
description = "(optional)"
type = bool
default = null
}
variable "analytics_profile_ref" {
description = "(optional)"
type = string
default = null
}
variable "apic_contract_graph" {
description = "(optional)"
type = string
default = null
}
variable "application_profile_ref" {
description = "(optional)"
type = string
default = null
}
variable "bulk_sync_kvcache" {
description = "(optional)"
type = bool
default = null
}
variable "close_client_conn_on_config_update" {
description = "(optional)"
type = bool
default = null
}
variable "cloud_config_cksum" {
description = "(optional)"
type = string
default = null
}
variable "cloud_ref" {
description = "(optional)"
type = string
default = null
}
variable "cloud_type" {
description = "(optional)"
type = string
default = null
}
variable "created_by" {
description = "(optional)"
type = string
default = null
}
variable "delay_fairness" {
description = "(optional)"
type = bool
default = null
}
variable "description" {
description = "(optional)"
type = string
default = null
}
variable "east_west_placement" {
description = "(optional)"
type = bool
default = null
}
variable "enable_autogw" {
description = "(optional)"
type = bool
default = null
}
variable "enable_rhi" {
description = "(optional)"
type = bool
default = null
}
variable "enable_rhi_snat" {
description = "(optional)"
type = bool
default = null
}
variable "enabled" {
description = "(optional)"
type = bool
default = null
}
variable "error_page_profile_ref" {
description = "(optional)"
type = string
default = null
}
variable "flow_dist" {
description = "(optional)"
type = string
default = null
}
variable "flow_label_type" {
description = "(optional)"
type = string
default = null
}
variable "fqdn" {
description = "(optional)"
type = string
default = null
}
variable "host_name_xlate" {
description = "(optional)"
type = string
default = null
}
variable "ign_pool_net_reach" {
description = "(optional)"
type = bool
default = null
}
variable "limit_doser" {
description = "(optional)"
type = bool
default = null
}
variable "max_cps_per_client" {
description = "(optional)"
type = number
default = null
}
variable "microservice_ref" {
description = "(optional)"
type = string
default = null
}
variable "min_pools_up" {
description = "(optional)"
type = number
default = null
}
variable "name" {
description = "(required)"
type = string
}
variable "network_profile_ref" {
description = "(optional)"
type = string
default = null
}
variable "network_security_policy_ref" {
description = "(optional)"
type = string
default = null
}
variable "nsx_securitygroup" {
description = "(optional)"
type = list(string)
default = null
}
variable "pool_group_ref" {
description = "(optional)"
type = string
default = null
}
variable "pool_ref" {
description = "(optional)"
type = string
default = null
}
variable "remove_listening_port_on_vs_down" {
description = "(optional)"
type = bool
default = null
}
variable "scaleout_ecmp" {
description = "(optional)"
type = bool
default = null
}
variable "se_group_ref" {
description = "(optional)"
type = string
default = null
}
variable "security_policy_ref" {
description = "(optional)"
type = string
default = null
}
variable "server_network_profile_ref" {
description = "(optional)"
type = string
default = null
}
variable "service_metadata" {
description = "(optional)"
type = string
default = null
}
variable "ssl_key_and_certificate_refs" {
description = "(optional)"
type = list(string)
default = null
}
variable "ssl_profile_ref" {
description = "(optional)"
type = string
default = null
}
variable "ssl_sess_cache_avg_size" {
description = "(optional)"
type = number
default = null
}
variable "sso_policy_ref" {
description = "(optional)"
type = string
default = null
}
variable "tenant_ref" {
description = "(optional)"
type = string
default = null
}
variable "test_se_datastore_level_1_ref" {
description = "(optional)"
type = string
default = null
}
variable "traffic_clone_profile_ref" {
description = "(optional)"
type = string
default = null
}
variable "traffic_enabled" {
description = "(optional)"
type = bool
default = null
}
variable "type" {
description = "(optional)"
type = string
default = null
}
variable "use_bridge_ip_as_vip" {
description = "(optional)"
type = bool
default = null
}
variable "use_vip_as_snat" {
description = "(optional)"
type = bool
default = null
}
variable "uuid" {
description = "(optional)"
type = string
default = null
}
variable "vh_domain_name" {
description = "(optional)"
type = list(string)
default = null
}
variable "vh_parent_vs_uuid" {
description = "(optional)"
type = string
default = null
}
variable "vrf_context_ref" {
description = "(optional)"
type = string
default = null
}
variable "vsvip_cloud_config_cksum" {
description = "(optional)"
type = string
default = null
}
variable "vsvip_ref" {
description = "(optional)"
type = string
default = null
}
variable "waf_policy_ref" {
description = "(optional)"
type = string
default = null
}
variable "weight" {
description = "(optional)"
type = number
default = null
}
variable "analytics_policy" {
description = "nested block: NestingSet, min items: 0, max items: 0"
type = set(object(
{
all_headers = bool
client_insights = string
client_insights_sampling = set(object(
{
client_ip = set(object(
{
addrs = list(object(
{
addr = string
type = string
}
))
group_refs = list(string)
match_criteria = string
prefixes = list(object(
{
ip_addr = set(object(
{
addr = string
type = string
}
))
mask = number
}
))
ranges = list(object(
{
begin = set(object(
{
addr = string
type = string
}
))
end = set(object(
{
addr = string
type = string
}
))
}
))
}
))
sample_uris = set(object(
{
match_criteria = string
match_str = list(string)
string_group_refs = list(string)
}
))
skip_uris = set(object(
{
match_criteria = string
match_str = list(string)
string_group_refs = list(string)
}
))
}
))
client_log_filters = list(object(
{
all_headers = bool
client_ip = set(object(
{
addrs = list(object(
{
addr = string
type = string
}
))
group_refs = list(string)
match_criteria = string
prefixes = list(object(
{
ip_addr = set(object(
{
addr = string
type = string
}
))
mask = number
}
))
ranges = list(object(
{
begin = set(object(
{
addr = string
type = string
}
))
end = set(object(
{
addr = string
type = string
}
))
}
))
}
))
duration = number
enabled = bool
index = number
name = string
uri = set(object(
{
match_criteria = string
match_str = list(string)
string_group_refs = list(string)
}
))
}
))
full_client_logs = set(object(
{
duration = number
enabled = bool
throttle = number
}
))
metrics_realtime_update = set(object(
{
duration = number
enabled = bool
}
))
significant_log_throttle = number
udf_log_throttle = number
}
))
default = []
}
variable "client_auth" {
description = "nested block: NestingSet, min items: 0, max items: 0"
type = set(object(
{
auth_profile_ref = string
realm = string
request_uri_path = set(object(
{
match_criteria = string
match_str = list(string)
string_group_refs = list(string)
}
))
type = string
}
))
default = []
}
variable "connections_rate_limit" {
description = "nested block: NestingSet, min items: 0, max items: 0"
type = set(object(
{
action = set(object(
{
file = set(object(
{
content_type = string
file_content = string
}
))
redirect = set(object(
{
host = set(object(
{
tokens = list(object(
{
end_index = number
start_index = number
str_value = string
type = string
}
))
type = string
}
))
keep_query = bool
path = set(object(
{
tokens = list(object(
{
end_index = number
start_index = number
str_value = string
type = string
}
))
type = string
}
))
port = number
protocol = string
status_code = string
}
))
status_code = string
type = string
}
))
explicit_tracking = bool
fine_grain = bool
http_cookie = string
http_header = string
rate_limiter = set(object(
{
burst_sz = number
count = number
name = string
period = number
}
))
}
))
default = []
}
variable "content_rewrite" {
description = "nested block: NestingSet, min items: 0, max items: 0"
type = set(object(
{
req_match_replace_pair = list(object(
{
match_string = string
replacement_string = set(object(
{
type = string
val = string
}
))
}
))
request_rewrite_enabled = bool
response_rewrite_enabled = bool
rewritable_content_ref = string
rsp_match_replace_pair = list(object(
{
match_string = string
replacement_string = set(object(
{
type = string
val = string
}
))
}
))
}
))
default = []
}
variable "dns_info" {
description = "nested block: NestingList, min items: 0, max items: 0"
type = set(object(
{
algorithm = string
cname = set(object(
{
cname = string
}
))
fqdn = string
num_records_in_response = number
ttl = number
type = string
}
))
default = []
}
variable "dns_policies" {
description = "nested block: NestingList, min items: 0, max items: 0"
type = set(object(
{
dns_policy_ref = string
index = number
}
))
default = []
}
variable "http_policies" {
description = "nested block: NestingList, min items: 0, max items: 0"
type = set(object(
{
http_policy_set_ref = string
index = number
}
))
default = []
}
variable "l4_policies" {
description = "nested block: NestingList, min items: 0, max items: 0"
type = set(object(
{
index = number
l4_policy_set_ref = string
}
))
default = []
}
variable "performance_limits" {
description = "nested block: NestingSet, min items: 0, max items: 0"
type = set(object(
{
max_concurrent_connections = number
max_throughput = number
}
))
default = []
}
variable "requests_rate_limit" {
description = "nested block: NestingSet, min items: 0, max items: 0"
type = set(object(
{
action = set(object(
{
file = set(object(
{
content_type = string
file_content = string
}
))
redirect = set(object(
{
host = set(object(
{
tokens = list(object(
{
end_index = number
start_index = number
str_value = string
type = string
}
))
type = string
}
))
keep_query = bool
path = set(object(
{
tokens = list(object(
{
end_index = number
start_index = number
str_value = string
type = string
}
))
type = string
}
))
port = number
protocol = string
status_code = string
}
))
status_code = string
type = string
}
))
explicit_tracking = bool
fine_grain = bool
http_cookie = string
http_header = string
rate_limiter = set(object(
{
burst_sz = number
count = number
name = string
period = number
}
))
}
))
default = []
}
variable "saml_sp_config" {
description = "nested block: NestingSet, min items: 0, max items: 0"
type = set(object(
{
cookie_name = string
cookie_timeout = number
entity_id = string
key = list(object(
{
aes_key = string
hmac_key = string
name = string
}
))
signing_ssl_key_and_certificate_ref = string
single_signon_url = string
}
))
default = []
}
variable "service_pool_select" {
description = "nested block: NestingList, min items: 0, max items: 0"
type = set(object(
{
service_pool_group_ref = string
service_pool_ref = string
service_port = number
service_port_range_end = number
service_protocol = string
}
))
default = []
}
variable "services" {
description = "nested block: NestingList, min items: 0, max items: 0"
type = set(object(
{
enable_ssl = bool
override_application_profile_ref = string
override_network_profile_ref = string
port = number
port_range_end = number
}
))
default = []
}
variable "sideband_profile" {
description = "nested block: NestingSet, min items: 0, max items: 0"
type = set(object(
{
ip = list(object(
{
addr = string
type = string
}
))
sideband_max_request_body_size = number
}
))
default = []
}
variable "snat_ip" {
description = "nested block: NestingList, min items: 0, max items: 0"
type = set(object(
{
addr = string
type = string
}
))
default = []
}
variable "ssl_profile_selectors" {
description = "nested block: NestingList, min items: 0, max items: 0"
type = set(object(
{
client_ip_list = set(object(
{
addrs = list(object(
{
addr = string
type = string
}
))
group_refs = list(string)
match_criteria = string
prefixes = list(object(
{
ip_addr = set(object(
{
addr = string
type = string
}
))
mask = number
}
))
ranges = list(object(
{
begin = set(object(
{
addr = string
type = string
}
))
end = set(object(
{
addr = string
type = string
}
))
}
))
}
))
ssl_profile_ref = string
}
))
default = []
}
variable "static_dns_records" {
description = "nested block: NestingList, min items: 0, max items: 0"
type = set(object(
{
algorithm = string
cname = set(object(
{
cname = string
}
))
delegated = bool
description = string
fqdn = list(string)
ip6_address = list(object(
{
ip6_address = set(object(
{
addr = string
type = string
}
))
}
))
ip_address = list(object(
{
ip_address = set(object(
{
addr = string
type = string
}
))
}
))
metadata = string
mx_records = list(object(
{
host = string
priority = number
}
))
ns = list(object(
{
ip6_address = set(object(
{
addr = string
type = string
}
))
ip_address = set(object(
{
addr = string
type = string
}
))
nsname = string
}
))
num_records_in_response = number
service_locator = list(object(
{
port = number
priority = number
target = string
weight = number
}
))
ttl = number
txt_records = list(object(
{
text_str = string
}
))
type = string
wildcard_match = bool
}
))
default = []
}
variable "topology_policies" {
description = "nested block: NestingList, min items: 0, max items: 0"
type = set(object(
{
dns_policy_ref = string
index = number
}
))
default = []
}
variable "vip" {
description = "nested block: NestingList, min items: 0, max items: 0"
type = set(object(
{
auto_allocate_floating_ip = bool
auto_allocate_ip = bool
auto_allocate_ip_type = string
availability_zone = string
avi_allocated_fip = bool
avi_allocated_vip = bool
discovered_networks = list(object(
{
network_ref = string
subnet = list(object(
{
ip_addr = set(object(
{
addr = string
type = string
}
))
mask = number
}
))
subnet6 = list(object(
{
ip_addr = set(object(
{
addr = string
type = string
}
))
mask = number
}
))
}
))
enabled = bool
floating_ip = set(object(
{
addr = string
type = string
}
))
floating_ip6 = set(object(
{
addr = string
type = string
}
))
floating_subnet6_uuid = string
floating_subnet_uuid = string
ip6_address = set(object(
{
addr = string
type = string
}
))
ip_address = set(object(
{
addr = string
type = string
}
))
ipam_network_subnet = set(object(
{
network_ref = string
subnet = set(object(
{
ip_addr = set(object(
{
addr = string
type = string
}
))
mask = number
}
))
subnet6 = set(object(
{
ip_addr = set(object(
{
addr = string
type = string
}
))
mask = number
}
))
subnet6_uuid = string
subnet_uuid = string
}
))
network_ref = string
placement_networks = list(object(
{
network_ref = string
subnet = set(object(
{
ip_addr = set(object(
{
addr = string
type = string
}
))
mask = number
}
))
subnet6 = set(object(
{
ip_addr = set(object(
{
addr = string
type = string
}
))
mask = number
}
))
}
))
port_uuid = string
subnet = set(object(
{
ip_addr = set(object(
{
addr = string
type = string
}
))
mask = number
}
))
subnet6 = set(object(
{
ip_addr = set(object(
{
addr = string
type = string
}
))
mask = number
}
))
subnet6_uuid = string
subnet_uuid = string
vip_id = string
}
))
default = []
}
variable "vs_datascripts" {
description = "nested block: NestingList, min items: 0, max items: 0"
type = set(object(
{
index = number
vs_datascript_set_ref = string
}
))
default = []
}
top
resource "avi_virtualservice" "this" {
# active_standby_se_tag - (optional) is a type of string
active_standby_se_tag = var.active_standby_se_tag
# allow_invalid_client_cert - (optional) is a type of bool
allow_invalid_client_cert = var.allow_invalid_client_cert
# analytics_profile_ref - (optional) is a type of string
analytics_profile_ref = var.analytics_profile_ref
# apic_contract_graph - (optional) is a type of string
apic_contract_graph = var.apic_contract_graph
# application_profile_ref - (optional) is a type of string
application_profile_ref = var.application_profile_ref
# bulk_sync_kvcache - (optional) is a type of bool
bulk_sync_kvcache = var.bulk_sync_kvcache
# close_client_conn_on_config_update - (optional) is a type of bool
close_client_conn_on_config_update = var.close_client_conn_on_config_update
# cloud_config_cksum - (optional) is a type of string
cloud_config_cksum = var.cloud_config_cksum
# cloud_ref - (optional) is a type of string
cloud_ref = var.cloud_ref
# cloud_type - (optional) is a type of string
cloud_type = var.cloud_type
# created_by - (optional) is a type of string
created_by = var.created_by
# delay_fairness - (optional) is a type of bool
delay_fairness = var.delay_fairness
# description - (optional) is a type of string
description = var.description
# east_west_placement - (optional) is a type of bool
east_west_placement = var.east_west_placement
# enable_autogw - (optional) is a type of bool
enable_autogw = var.enable_autogw
# enable_rhi - (optional) is a type of bool
enable_rhi = var.enable_rhi
# enable_rhi_snat - (optional) is a type of bool
enable_rhi_snat = var.enable_rhi_snat
# enabled - (optional) is a type of bool
enabled = var.enabled
# error_page_profile_ref - (optional) is a type of string
error_page_profile_ref = var.error_page_profile_ref
# flow_dist - (optional) is a type of string
flow_dist = var.flow_dist
# flow_label_type - (optional) is a type of string
flow_label_type = var.flow_label_type
# fqdn - (optional) is a type of string
fqdn = var.fqdn
# host_name_xlate - (optional) is a type of string
host_name_xlate = var.host_name_xlate
# ign_pool_net_reach - (optional) is a type of bool
ign_pool_net_reach = var.ign_pool_net_reach
# limit_doser - (optional) is a type of bool
limit_doser = var.limit_doser
# max_cps_per_client - (optional) is a type of number
max_cps_per_client = var.max_cps_per_client
# microservice_ref - (optional) is a type of string
microservice_ref = var.microservice_ref
# min_pools_up - (optional) is a type of number
min_pools_up = var.min_pools_up
# name - (required) is a type of string
name = var.name
# network_profile_ref - (optional) is a type of string
network_profile_ref = var.network_profile_ref
# network_security_policy_ref - (optional) is a type of string
network_security_policy_ref = var.network_security_policy_ref
# nsx_securitygroup - (optional) is a type of list of string
nsx_securitygroup = var.nsx_securitygroup
# pool_group_ref - (optional) is a type of string
pool_group_ref = var.pool_group_ref
# pool_ref - (optional) is a type of string
pool_ref = var.pool_ref
# remove_listening_port_on_vs_down - (optional) is a type of bool
remove_listening_port_on_vs_down = var.remove_listening_port_on_vs_down
# scaleout_ecmp - (optional) is a type of bool
scaleout_ecmp = var.scaleout_ecmp
# se_group_ref - (optional) is a type of string
se_group_ref = var.se_group_ref
# security_policy_ref - (optional) is a type of string
security_policy_ref = var.security_policy_ref
# server_network_profile_ref - (optional) is a type of string
server_network_profile_ref = var.server_network_profile_ref
# service_metadata - (optional) is a type of string
service_metadata = var.service_metadata
# ssl_key_and_certificate_refs - (optional) is a type of list of string
ssl_key_and_certificate_refs = var.ssl_key_and_certificate_refs
# ssl_profile_ref - (optional) is a type of string
ssl_profile_ref = var.ssl_profile_ref
# ssl_sess_cache_avg_size - (optional) is a type of number
ssl_sess_cache_avg_size = var.ssl_sess_cache_avg_size
# sso_policy_ref - (optional) is a type of string
sso_policy_ref = var.sso_policy_ref
# tenant_ref - (optional) is a type of string
tenant_ref = var.tenant_ref
# test_se_datastore_level_1_ref - (optional) is a type of string
test_se_datastore_level_1_ref = var.test_se_datastore_level_1_ref
# traffic_clone_profile_ref - (optional) is a type of string
traffic_clone_profile_ref = var.traffic_clone_profile_ref
# traffic_enabled - (optional) is a type of bool
traffic_enabled = var.traffic_enabled
# type - (optional) is a type of string
type = var.type
# use_bridge_ip_as_vip - (optional) is a type of bool
use_bridge_ip_as_vip = var.use_bridge_ip_as_vip
# use_vip_as_snat - (optional) is a type of bool
use_vip_as_snat = var.use_vip_as_snat
# uuid - (optional) is a type of string
uuid = var.uuid
# vh_domain_name - (optional) is a type of list of string
vh_domain_name = var.vh_domain_name
# vh_parent_vs_uuid - (optional) is a type of string
vh_parent_vs_uuid = var.vh_parent_vs_uuid
# vrf_context_ref - (optional) is a type of string
vrf_context_ref = var.vrf_context_ref
# vsvip_cloud_config_cksum - (optional) is a type of string
vsvip_cloud_config_cksum = var.vsvip_cloud_config_cksum
# vsvip_ref - (optional) is a type of string
vsvip_ref = var.vsvip_ref
# waf_policy_ref - (optional) is a type of string
waf_policy_ref = var.waf_policy_ref
# weight - (optional) is a type of number
weight = var.weight
dynamic "analytics_policy" {
for_each = var.analytics_policy
content {
# all_headers - (optional) is a type of bool
all_headers = analytics_policy.value["all_headers"]
# client_insights - (optional) is a type of string
client_insights = analytics_policy.value["client_insights"]
# significant_log_throttle - (optional) is a type of number
significant_log_throttle = analytics_policy.value["significant_log_throttle"]
# udf_log_throttle - (optional) is a type of number
udf_log_throttle = analytics_policy.value["udf_log_throttle"]
dynamic "client_insights_sampling" {
for_each = analytics_policy.value.client_insights_sampling
content {
dynamic "client_ip" {
for_each = client_insights_sampling.value.client_ip
content {
# group_refs - (optional) is a type of list of string
group_refs = client_ip.value["group_refs"]
# match_criteria - (required) is a type of string
match_criteria = client_ip.value["match_criteria"]
dynamic "addrs" {
for_each = client_ip.value.addrs
content {
# addr - (required) is a type of string
addr = addrs.value["addr"]
# type - (required) is a type of string
type = addrs.value["type"]
}
}
dynamic "prefixes" {
for_each = client_ip.value.prefixes
content {
# mask - (required) is a type of number
mask = prefixes.value["mask"]
dynamic "ip_addr" {
for_each = prefixes.value.ip_addr
content {
# addr - (required) is a type of string
addr = ip_addr.value["addr"]
# type - (required) is a type of string
type = ip_addr.value["type"]
}
}
}
}
dynamic "ranges" {
for_each = client_ip.value.ranges
content {
dynamic "begin" {
for_each = ranges.value.begin
content {
# addr - (required) is a type of string
addr = begin.value["addr"]
# type - (required) is a type of string
type = begin.value["type"]
}
}
dynamic "end" {
for_each = ranges.value.end
content {
# addr - (required) is a type of string
addr = end.value["addr"]
# type - (required) is a type of string
type = end.value["type"]
}
}
}
}
}
}
dynamic "sample_uris" {
for_each = client_insights_sampling.value.sample_uris
content {
# match_criteria - (required) is a type of string
match_criteria = sample_uris.value["match_criteria"]
# match_str - (optional) is a type of list of string
match_str = sample_uris.value["match_str"]
# string_group_refs - (optional) is a type of list of string
string_group_refs = sample_uris.value["string_group_refs"]
}
}
dynamic "skip_uris" {
for_each = client_insights_sampling.value.skip_uris
content {
# match_criteria - (required) is a type of string
match_criteria = skip_uris.value["match_criteria"]
# match_str - (optional) is a type of list of string
match_str = skip_uris.value["match_str"]
# string_group_refs - (optional) is a type of list of string
string_group_refs = skip_uris.value["string_group_refs"]
}
}
}
}
dynamic "client_log_filters" {
for_each = analytics_policy.value.client_log_filters
content {
# all_headers - (optional) is a type of bool
all_headers = client_log_filters.value["all_headers"]
# duration - (optional) is a type of number
duration = client_log_filters.value["duration"]
# enabled - (required) is a type of bool
enabled = client_log_filters.value["enabled"]
# index - (required) is a type of number
index = client_log_filters.value["index"]
# name - (required) is a type of string
name = client_log_filters.value["name"]
dynamic "client_ip" {
for_each = client_log_filters.value.client_ip
content {
# group_refs - (optional) is a type of list of string
group_refs = client_ip.value["group_refs"]
# match_criteria - (required) is a type of string
match_criteria = client_ip.value["match_criteria"]
dynamic "addrs" {
for_each = client_ip.value.addrs
content {
# addr - (required) is a type of string
addr = addrs.value["addr"]
# type - (required) is a type of string
type = addrs.value["type"]
}
}
dynamic "prefixes" {
for_each = client_ip.value.prefixes
content {
# mask - (required) is a type of number
mask = prefixes.value["mask"]
dynamic "ip_addr" {
for_each = prefixes.value.ip_addr
content {
# addr - (required) is a type of string
addr = ip_addr.value["addr"]
# type - (required) is a type of string
type = ip_addr.value["type"]
}
}
}
}
dynamic "ranges" {
for_each = client_ip.value.ranges
content {
dynamic "begin" {
for_each = ranges.value.begin
content {
# addr - (required) is a type of string
addr = begin.value["addr"]
# type - (required) is a type of string
type = begin.value["type"]
}
}
dynamic "end" {
for_each = ranges.value.end
content {
# addr - (required) is a type of string
addr = end.value["addr"]
# type - (required) is a type of string
type = end.value["type"]
}
}
}
}
}
}
dynamic "uri" {
for_each = client_log_filters.value.uri
content {
# match_criteria - (required) is a type of string
match_criteria = uri.value["match_criteria"]
# match_str - (optional) is a type of list of string
match_str = uri.value["match_str"]
# string_group_refs - (optional) is a type of list of string
string_group_refs = uri.value["string_group_refs"]
}
}
}
}
dynamic "full_client_logs" {
for_each = analytics_policy.value.full_client_logs
content {
# duration - (optional) is a type of number
duration = full_client_logs.value["duration"]
# enabled - (required) is a type of bool
enabled = full_client_logs.value["enabled"]
# throttle - (optional) is a type of number
throttle = full_client_logs.value["throttle"]
}
}
dynamic "metrics_realtime_update" {
for_each = analytics_policy.value.metrics_realtime_update
content {
# duration - (optional) is a type of number
duration = metrics_realtime_update.value["duration"]
# enabled - (required) is a type of bool
enabled = metrics_realtime_update.value["enabled"]
}
}
}
}
dynamic "client_auth" {
for_each = var.client_auth
content {
# auth_profile_ref - (optional) is a type of string
auth_profile_ref = client_auth.value["auth_profile_ref"]
# realm - (optional) is a type of string
realm = client_auth.value["realm"]
# type - (optional) is a type of string
type = client_auth.value["type"]
dynamic "request_uri_path" {
for_each = client_auth.value.request_uri_path
content {
# match_criteria - (required) is a type of string
match_criteria = request_uri_path.value["match_criteria"]
# match_str - (optional) is a type of list of string
match_str = request_uri_path.value["match_str"]
# string_group_refs - (optional) is a type of list of string
string_group_refs = request_uri_path.value["string_group_refs"]
}
}
}
}
dynamic "connections_rate_limit" {
for_each = var.connections_rate_limit
content {
# explicit_tracking - (optional) is a type of bool
explicit_tracking = connections_rate_limit.value["explicit_tracking"]
# fine_grain - (optional) is a type of bool
fine_grain = connections_rate_limit.value["fine_grain"]
# http_cookie - (optional) is a type of string
http_cookie = connections_rate_limit.value["http_cookie"]
# http_header - (optional) is a type of string
http_header = connections_rate_limit.value["http_header"]
dynamic "action" {
for_each = connections_rate_limit.value.action
content {
# status_code - (optional) is a type of string
status_code = action.value["status_code"]
# type - (optional) is a type of string
type = action.value["type"]
dynamic "file" {
for_each = action.value.file
content {
# content_type - (required) is a type of string
content_type = file.value["content_type"]
# file_content - (required) is a type of string
file_content = file.value["file_content"]
}
}
dynamic "redirect" {
for_each = action.value.redirect
content {
# keep_query - (optional) is a type of bool
keep_query = redirect.value["keep_query"]
# port - (optional) is a type of number
port = redirect.value["port"]
# protocol - (required) is a type of string
protocol = redirect.value["protocol"]
# status_code - (optional) is a type of string
status_code = redirect.value["status_code"]
dynamic "host" {
for_each = redirect.value.host
content {
# type - (required) is a type of string
type = host.value["type"]
dynamic "tokens" {
for_each = host.value.tokens
content {
# end_index - (optional) is a type of number
end_index = tokens.value["end_index"]
# start_index - (optional) is a type of number
start_index = tokens.value["start_index"]
# str_value - (optional) is a type of string
str_value = tokens.value["str_value"]
# type - (required) is a type of string
type = tokens.value["type"]
}
}
}
}
dynamic "path" {
for_each = redirect.value.path
content {
# type - (required) is a type of string
type = path.value["type"]
dynamic "tokens" {
for_each = path.value.tokens
content {
# end_index - (optional) is a type of number
end_index = tokens.value["end_index"]
# start_index - (optional) is a type of number
start_index = tokens.value["start_index"]
# str_value - (optional) is a type of string
str_value = tokens.value["str_value"]
# type - (required) is a type of string
type = tokens.value["type"]
}
}
}
}
}
}
}
}
dynamic "rate_limiter" {
for_each = connections_rate_limit.value.rate_limiter
content {
# burst_sz - (optional) is a type of number
burst_sz = rate_limiter.value["burst_sz"]
# count - (optional) is a type of number
count = rate_limiter.value["count"]
# name - (optional) is a type of string
name = rate_limiter.value["name"]
# period - (optional) is a type of number
period = rate_limiter.value["period"]
}
}
}
}
dynamic "content_rewrite" {
for_each = var.content_rewrite
content {
# request_rewrite_enabled - (optional) is a type of bool
request_rewrite_enabled = content_rewrite.value["request_rewrite_enabled"]
# response_rewrite_enabled - (optional) is a type of bool
response_rewrite_enabled = content_rewrite.value["response_rewrite_enabled"]
# rewritable_content_ref - (optional) is a type of string
rewritable_content_ref = content_rewrite.value["rewritable_content_ref"]
dynamic "req_match_replace_pair" {
for_each = content_rewrite.value.req_match_replace_pair
content {
# match_string - (optional) is a type of string
match_string = req_match_replace_pair.value["match_string"]
dynamic "replacement_string" {
for_each = req_match_replace_pair.value.replacement_string
content {
# type - (optional) is a type of string
type = replacement_string.value["type"]
# val - (optional) is a type of string
val = replacement_string.value["val"]
}
}
}
}
dynamic "rsp_match_replace_pair" {
for_each = content_rewrite.value.rsp_match_replace_pair
content {
# match_string - (optional) is a type of string
match_string = rsp_match_replace_pair.value["match_string"]
dynamic "replacement_string" {
for_each = rsp_match_replace_pair.value.replacement_string
content {
# type - (optional) is a type of string
type = replacement_string.value["type"]
# val - (optional) is a type of string
val = replacement_string.value["val"]
}
}
}
}
}
}
dynamic "dns_info" {
for_each = var.dns_info
content {
# algorithm - (optional) is a type of string
algorithm = dns_info.value["algorithm"]
# fqdn - (optional) is a type of string
fqdn = dns_info.value["fqdn"]
# num_records_in_response - (optional) is a type of number
num_records_in_response = dns_info.value["num_records_in_response"]
# ttl - (optional) is a type of number
ttl = dns_info.value["ttl"]
# type - (optional) is a type of string
type = dns_info.value["type"]
dynamic "cname" {
for_each = dns_info.value.cname
content {
# cname - (required) is a type of string
cname = cname.value["cname"]
}
}
}
}
dynamic "dns_policies" {
for_each = var.dns_policies
content {
# dns_policy_ref - (optional) is a type of string
dns_policy_ref = dns_policies.value["dns_policy_ref"]
# index - (optional) is a type of number
index = dns_policies.value["index"]
}
}
dynamic "http_policies" {
for_each = var.http_policies
content {
# http_policy_set_ref - (required) is a type of string
http_policy_set_ref = http_policies.value["http_policy_set_ref"]
# index - (required) is a type of number
index = http_policies.value["index"]
}
}
dynamic "l4_policies" {
for_each = var.l4_policies
content {
# index - (optional) is a type of number
index = l4_policies.value["index"]
# l4_policy_set_ref - (optional) is a type of string
l4_policy_set_ref = l4_policies.value["l4_policy_set_ref"]
}
}
dynamic "performance_limits" {
for_each = var.performance_limits
content {
# max_concurrent_connections - (optional) is a type of number
max_concurrent_connections = performance_limits.value["max_concurrent_connections"]
# max_throughput - (optional) is a type of number
max_throughput = performance_limits.value["max_throughput"]
}
}
dynamic "requests_rate_limit" {
for_each = var.requests_rate_limit
content {
# explicit_tracking - (optional) is a type of bool
explicit_tracking = requests_rate_limit.value["explicit_tracking"]
# fine_grain - (optional) is a type of bool
fine_grain = requests_rate_limit.value["fine_grain"]
# http_cookie - (optional) is a type of string
http_cookie = requests_rate_limit.value["http_cookie"]
# http_header - (optional) is a type of string
http_header = requests_rate_limit.value["http_header"]
dynamic "action" {
for_each = requests_rate_limit.value.action
content {
# status_code - (optional) is a type of string
status_code = action.value["status_code"]
# type - (optional) is a type of string
type = action.value["type"]
dynamic "file" {
for_each = action.value.file
content {
# content_type - (required) is a type of string
content_type = file.value["content_type"]
# file_content - (required) is a type of string
file_content = file.value["file_content"]
}
}
dynamic "redirect" {
for_each = action.value.redirect
content {
# keep_query - (optional) is a type of bool
keep_query = redirect.value["keep_query"]
# port - (optional) is a type of number
port = redirect.value["port"]
# protocol - (required) is a type of string
protocol = redirect.value["protocol"]
# status_code - (optional) is a type of string
status_code = redirect.value["status_code"]
dynamic "host" {
for_each = redirect.value.host
content {
# type - (required) is a type of string
type = host.value["type"]
dynamic "tokens" {
for_each = host.value.tokens
content {
# end_index - (optional) is a type of number
end_index = tokens.value["end_index"]
# start_index - (optional) is a type of number
start_index = tokens.value["start_index"]
# str_value - (optional) is a type of string
str_value = tokens.value["str_value"]
# type - (required) is a type of string
type = tokens.value["type"]
}
}
}
}
dynamic "path" {
for_each = redirect.value.path
content {
# type - (required) is a type of string
type = path.value["type"]
dynamic "tokens" {
for_each = path.value.tokens
content {
# end_index - (optional) is a type of number
end_index = tokens.value["end_index"]
# start_index - (optional) is a type of number
start_index = tokens.value["start_index"]
# str_value - (optional) is a type of string
str_value = tokens.value["str_value"]
# type - (required) is a type of string
type = tokens.value["type"]
}
}
}
}
}
}
}
}
dynamic "rate_limiter" {
for_each = requests_rate_limit.value.rate_limiter
content {
# burst_sz - (optional) is a type of number
burst_sz = rate_limiter.value["burst_sz"]
# count - (optional) is a type of number
count = rate_limiter.value["count"]
# name - (optional) is a type of string
name = rate_limiter.value["name"]
# period - (optional) is a type of number
period = rate_limiter.value["period"]
}
}
}
}
dynamic "saml_sp_config" {
for_each = var.saml_sp_config
content {
# cookie_name - (optional) is a type of string
cookie_name = saml_sp_config.value["cookie_name"]
# cookie_timeout - (optional) is a type of number
cookie_timeout = saml_sp_config.value["cookie_timeout"]
# entity_id - (optional) is a type of string
entity_id = saml_sp_config.value["entity_id"]
# signing_ssl_key_and_certificate_ref - (optional) is a type of string
signing_ssl_key_and_certificate_ref = saml_sp_config.value["signing_ssl_key_and_certificate_ref"]
# single_signon_url - (optional) is a type of string
single_signon_url = saml_sp_config.value["single_signon_url"]
dynamic "key" {
for_each = saml_sp_config.value.key
content {
# aes_key - (optional) is a type of string
aes_key = key.value["aes_key"]
# hmac_key - (optional) is a type of string
hmac_key = key.value["hmac_key"]
# name - (optional) is a type of string
name = key.value["name"]
}
}
}
}
dynamic "service_pool_select" {
for_each = var.service_pool_select
content {
# service_pool_group_ref - (optional) is a type of string
service_pool_group_ref = service_pool_select.value["service_pool_group_ref"]
# service_pool_ref - (optional) is a type of string
service_pool_ref = service_pool_select.value["service_pool_ref"]
# service_port - (required) is a type of number
service_port = service_pool_select.value["service_port"]
# service_port_range_end - (optional) is a type of number
service_port_range_end = service_pool_select.value["service_port_range_end"]
# service_protocol - (optional) is a type of string
service_protocol = service_pool_select.value["service_protocol"]
}
}
dynamic "services" {
for_each = var.services
content {
# enable_ssl - (optional) is a type of bool
enable_ssl = services.value["enable_ssl"]
# override_application_profile_ref - (optional) is a type of string
override_application_profile_ref = services.value["override_application_profile_ref"]
# override_network_profile_ref - (optional) is a type of string
override_network_profile_ref = services.value["override_network_profile_ref"]
# port - (required) is a type of number
port = services.value["port"]
# port_range_end - (optional) is a type of number
port_range_end = services.value["port_range_end"]
}
}
dynamic "sideband_profile" {
for_each = var.sideband_profile
content {
# sideband_max_request_body_size - (optional) is a type of number
sideband_max_request_body_size = sideband_profile.value["sideband_max_request_body_size"]
dynamic "ip" {
for_each = sideband_profile.value.ip
content {
# addr - (required) is a type of string
addr = ip.value["addr"]
# type - (required) is a type of string
type = ip.value["type"]
}
}
}
}
dynamic "snat_ip" {
for_each = var.snat_ip
content {
# addr - (required) is a type of string
addr = snat_ip.value["addr"]
# type - (required) is a type of string
type = snat_ip.value["type"]
}
}
dynamic "ssl_profile_selectors" {
for_each = var.ssl_profile_selectors
content {
# ssl_profile_ref - (optional) is a type of string
ssl_profile_ref = ssl_profile_selectors.value["ssl_profile_ref"]
dynamic "client_ip_list" {
for_each = ssl_profile_selectors.value.client_ip_list
content {
# group_refs - (optional) is a type of list of string
group_refs = client_ip_list.value["group_refs"]
# match_criteria - (required) is a type of string
match_criteria = client_ip_list.value["match_criteria"]
dynamic "addrs" {
for_each = client_ip_list.value.addrs
content {
# addr - (required) is a type of string
addr = addrs.value["addr"]
# type - (required) is a type of string
type = addrs.value["type"]
}
}
dynamic "prefixes" {
for_each = client_ip_list.value.prefixes
content {
# mask - (required) is a type of number
mask = prefixes.value["mask"]
dynamic "ip_addr" {
for_each = prefixes.value.ip_addr
content {
# addr - (required) is a type of string
addr = ip_addr.value["addr"]
# type - (required) is a type of string
type = ip_addr.value["type"]
}
}
}
}
dynamic "ranges" {
for_each = client_ip_list.value.ranges
content {
dynamic "begin" {
for_each = ranges.value.begin
content {
# addr - (required) is a type of string
addr = begin.value["addr"]
# type - (required) is a type of string
type = begin.value["type"]
}
}
dynamic "end" {
for_each = ranges.value.end
content {
# addr - (required) is a type of string
addr = end.value["addr"]
# type - (required) is a type of string
type = end.value["type"]
}
}
}
}
}
}
}
}
dynamic "static_dns_records" {
for_each = var.static_dns_records
content {
# algorithm - (optional) is a type of string
algorithm = static_dns_records.value["algorithm"]
# delegated - (optional) is a type of bool
delegated = static_dns_records.value["delegated"]
# description - (optional) is a type of string
description = static_dns_records.value["description"]
# fqdn - (optional) is a type of list of string
fqdn = static_dns_records.value["fqdn"]
# metadata - (optional) is a type of string
metadata = static_dns_records.value["metadata"]
# num_records_in_response - (optional) is a type of number
num_records_in_response = static_dns_records.value["num_records_in_response"]
# ttl - (optional) is a type of number
ttl = static_dns_records.value["ttl"]
# type - (required) is a type of string
type = static_dns_records.value["type"]
# wildcard_match - (optional) is a type of bool
wildcard_match = static_dns_records.value["wildcard_match"]
dynamic "cname" {
for_each = static_dns_records.value.cname
content {
# cname - (required) is a type of string
cname = cname.value["cname"]
}
}
dynamic "ip6_address" {
for_each = static_dns_records.value.ip6_address
content {
dynamic "ip6_address" {
for_each = ip6_address.value.ip6_address
content {
# addr - (required) is a type of string
addr = ip6_address.value["addr"]
# type - (required) is a type of string
type = ip6_address.value["type"]
}
}
}
}
dynamic "ip_address" {
for_each = static_dns_records.value.ip_address
content {
dynamic "ip_address" {
for_each = ip_address.value.ip_address
content {
# addr - (required) is a type of string
addr = ip_address.value["addr"]
# type - (required) is a type of string
type = ip_address.value["type"]
}
}
}
}
dynamic "mx_records" {
for_each = static_dns_records.value.mx_records
content {
# host - (optional) is a type of string
host = mx_records.value["host"]
# priority - (optional) is a type of number
priority = mx_records.value["priority"]
}
}
dynamic "ns" {
for_each = static_dns_records.value.ns
content {
# nsname - (required) is a type of string
nsname = ns.value["nsname"]
dynamic "ip6_address" {
for_each = ns.value.ip6_address
content {
# addr - (required) is a type of string
addr = ip6_address.value["addr"]
# type - (required) is a type of string
type = ip6_address.value["type"]
}
}
dynamic "ip_address" {
for_each = ns.value.ip_address
content {
# addr - (required) is a type of string
addr = ip_address.value["addr"]
# type - (required) is a type of string
type = ip_address.value["type"]
}
}
}
}
dynamic "service_locator" {
for_each = static_dns_records.value.service_locator
content {
# port - (required) is a type of number
port = service_locator.value["port"]
# priority - (optional) is a type of number
priority = service_locator.value["priority"]
# target - (optional) is a type of string
target = service_locator.value["target"]
# weight - (optional) is a type of number
weight = service_locator.value["weight"]
}
}
dynamic "txt_records" {
for_each = static_dns_records.value.txt_records
content {
# text_str - (optional) is a type of string
text_str = txt_records.value["text_str"]
}
}
}
}
dynamic "topology_policies" {
for_each = var.topology_policies
content {
# dns_policy_ref - (optional) is a type of string
dns_policy_ref = topology_policies.value["dns_policy_ref"]
# index - (optional) is a type of number
index = topology_policies.value["index"]
}
}
dynamic "vip" {
for_each = var.vip
content {
# auto_allocate_floating_ip - (optional) is a type of bool
auto_allocate_floating_ip = vip.value["auto_allocate_floating_ip"]
# auto_allocate_ip - (optional) is a type of bool
auto_allocate_ip = vip.value["auto_allocate_ip"]
# auto_allocate_ip_type - (optional) is a type of string
auto_allocate_ip_type = vip.value["auto_allocate_ip_type"]
# availability_zone - (optional) is a type of string
availability_zone = vip.value["availability_zone"]
# avi_allocated_fip - (optional) is a type of bool
avi_allocated_fip = vip.value["avi_allocated_fip"]
# avi_allocated_vip - (optional) is a type of bool
avi_allocated_vip = vip.value["avi_allocated_vip"]
# enabled - (optional) is a type of bool
enabled = vip.value["enabled"]
# floating_subnet6_uuid - (optional) is a type of string
floating_subnet6_uuid = vip.value["floating_subnet6_uuid"]
# floating_subnet_uuid - (optional) is a type of string
floating_subnet_uuid = vip.value["floating_subnet_uuid"]
# network_ref - (optional) is a type of string
network_ref = vip.value["network_ref"]
# port_uuid - (optional) is a type of string
port_uuid = vip.value["port_uuid"]
# subnet6_uuid - (optional) is a type of string
subnet6_uuid = vip.value["subnet6_uuid"]
# subnet_uuid - (optional) is a type of string
subnet_uuid = vip.value["subnet_uuid"]
# vip_id - (optional) is a type of string
vip_id = vip.value["vip_id"]
dynamic "discovered_networks" {
for_each = vip.value.discovered_networks
content {
# network_ref - (required) is a type of string
network_ref = discovered_networks.value["network_ref"]
dynamic "subnet" {
for_each = discovered_networks.value.subnet
content {
# mask - (required) is a type of number
mask = subnet.value["mask"]
dynamic "ip_addr" {
for_each = subnet.value.ip_addr
content {
# addr - (required) is a type of string
addr = ip_addr.value["addr"]
# type - (required) is a type of string
type = ip_addr.value["type"]
}
}
}
}
dynamic "subnet6" {
for_each = discovered_networks.value.subnet6
content {
# mask - (required) is a type of number
mask = subnet6.value["mask"]
dynamic "ip_addr" {
for_each = subnet6.value.ip_addr
content {
# addr - (required) is a type of string
addr = ip_addr.value["addr"]
# type - (required) is a type of string
type = ip_addr.value["type"]
}
}
}
}
}
}
dynamic "floating_ip" {
for_each = vip.value.floating_ip
content {
# addr - (required) is a type of string
addr = floating_ip.value["addr"]
# type - (required) is a type of string
type = floating_ip.value["type"]
}
}
dynamic "floating_ip6" {
for_each = vip.value.floating_ip6
content {
# addr - (required) is a type of string
addr = floating_ip6.value["addr"]
# type - (required) is a type of string
type = floating_ip6.value["type"]
}
}
dynamic "ip6_address" {
for_each = vip.value.ip6_address
content {
# addr - (required) is a type of string
addr = ip6_address.value["addr"]
# type - (required) is a type of string
type = ip6_address.value["type"]
}
}
dynamic "ip_address" {
for_each = vip.value.ip_address
content {
# addr - (required) is a type of string
addr = ip_address.value["addr"]
# type - (required) is a type of string
type = ip_address.value["type"]
}
}
dynamic "ipam_network_subnet" {
for_each = vip.value.ipam_network_subnet
content {
# network_ref - (optional) is a type of string
network_ref = ipam_network_subnet.value["network_ref"]
# subnet6_uuid - (optional) is a type of string
subnet6_uuid = ipam_network_subnet.value["subnet6_uuid"]
# subnet_uuid - (optional) is a type of string
subnet_uuid = ipam_network_subnet.value["subnet_uuid"]
dynamic "subnet" {
for_each = ipam_network_subnet.value.subnet
content {
# mask - (required) is a type of number
mask = subnet.value["mask"]
dynamic "ip_addr" {
for_each = subnet.value.ip_addr
content {
# addr - (required) is a type of string
addr = ip_addr.value["addr"]
# type - (required) is a type of string
type = ip_addr.value["type"]
}
}
}
}
dynamic "subnet6" {
for_each = ipam_network_subnet.value.subnet6
content {
# mask - (required) is a type of number
mask = subnet6.value["mask"]
dynamic "ip_addr" {
for_each = subnet6.value.ip_addr
content {
# addr - (required) is a type of string
addr = ip_addr.value["addr"]
# type - (required) is a type of string
type = ip_addr.value["type"]
}
}
}
}
}
}
dynamic "placement_networks" {
for_each = vip.value.placement_networks
content {
# network_ref - (optional) is a type of string
network_ref = placement_networks.value["network_ref"]
dynamic "subnet" {
for_each = placement_networks.value.subnet
content {
# mask - (required) is a type of number
mask = subnet.value["mask"]
dynamic "ip_addr" {
for_each = subnet.value.ip_addr
content {
# addr - (required) is a type of string
addr = ip_addr.value["addr"]
# type - (required) is a type of string
type = ip_addr.value["type"]
}
}
}
}
dynamic "subnet6" {
for_each = placement_networks.value.subnet6
content {
# mask - (required) is a type of number
mask = subnet6.value["mask"]
dynamic "ip_addr" {
for_each = subnet6.value.ip_addr
content {
# addr - (required) is a type of string
addr = ip_addr.value["addr"]
# type - (required) is a type of string
type = ip_addr.value["type"]
}
}
}
}
}
}
dynamic "subnet" {
for_each = vip.value.subnet
content {
# mask - (required) is a type of number
mask = subnet.value["mask"]
dynamic "ip_addr" {
for_each = subnet.value.ip_addr
content {
# addr - (required) is a type of string
addr = ip_addr.value["addr"]
# type - (required) is a type of string
type = ip_addr.value["type"]
}
}
}
}
dynamic "subnet6" {
for_each = vip.value.subnet6
content {
# mask - (required) is a type of number
mask = subnet6.value["mask"]
dynamic "ip_addr" {
for_each = subnet6.value.ip_addr
content {
# addr - (required) is a type of string
addr = ip_addr.value["addr"]
# type - (required) is a type of string
type = ip_addr.value["type"]
}
}
}
}
}
}
dynamic "vs_datascripts" {
for_each = var.vs_datascripts
content {
# index - (required) is a type of number
index = vs_datascripts.value["index"]
# vs_datascript_set_ref - (required) is a type of string
vs_datascript_set_ref = vs_datascripts.value["vs_datascript_set_ref"]
}
}
}
top
output "analytics_profile_ref" {
description = "returns a string"
value = avi_virtualservice.this.analytics_profile_ref
}
output "apic_contract_graph" {
description = "returns a string"
value = avi_virtualservice.this.apic_contract_graph
}
output "application_profile_ref" {
description = "returns a string"
value = avi_virtualservice.this.application_profile_ref
}
output "cloud_config_cksum" {
description = "returns a string"
value = avi_virtualservice.this.cloud_config_cksum
}
output "cloud_ref" {
description = "returns a string"
value = avi_virtualservice.this.cloud_ref
}
output "created_by" {
description = "returns a string"
value = avi_virtualservice.this.created_by
}
output "description" {
description = "returns a string"
value = avi_virtualservice.this.description
}
output "enable_rhi" {
description = "returns a bool"
value = avi_virtualservice.this.enable_rhi
}
output "enable_rhi_snat" {
description = "returns a bool"
value = avi_virtualservice.this.enable_rhi_snat
}
output "error_page_profile_ref" {
description = "returns a string"
value = avi_virtualservice.this.error_page_profile_ref
}
output "fqdn" {
description = "returns a string"
value = avi_virtualservice.this.fqdn
}
output "host_name_xlate" {
description = "returns a string"
value = avi_virtualservice.this.host_name_xlate
}
output "id" {
description = "returns a string"
value = avi_virtualservice.this.id
}
output "microservice_ref" {
description = "returns a string"
value = avi_virtualservice.this.microservice_ref
}
output "min_pools_up" {
description = "returns a number"
value = avi_virtualservice.this.min_pools_up
}
output "network_profile_ref" {
description = "returns a string"
value = avi_virtualservice.this.network_profile_ref
}
output "network_security_policy_ref" {
description = "returns a string"
value = avi_virtualservice.this.network_security_policy_ref
}
output "pool_group_ref" {
description = "returns a string"
value = avi_virtualservice.this.pool_group_ref
}
output "pool_ref" {
description = "returns a string"
value = avi_virtualservice.this.pool_ref
}
output "se_group_ref" {
description = "returns a string"
value = avi_virtualservice.this.se_group_ref
}
output "security_policy_ref" {
description = "returns a string"
value = avi_virtualservice.this.security_policy_ref
}
output "server_network_profile_ref" {
description = "returns a string"
value = avi_virtualservice.this.server_network_profile_ref
}
output "service_metadata" {
description = "returns a string"
value = avi_virtualservice.this.service_metadata
}
output "ssl_profile_ref" {
description = "returns a string"
value = avi_virtualservice.this.ssl_profile_ref
}
output "sso_policy_ref" {
description = "returns a string"
value = avi_virtualservice.this.sso_policy_ref
}
output "tenant_ref" {
description = "returns a string"
value = avi_virtualservice.this.tenant_ref
}
output "test_se_datastore_level_1_ref" {
description = "returns a string"
value = avi_virtualservice.this.test_se_datastore_level_1_ref
}
output "traffic_clone_profile_ref" {
description = "returns a string"
value = avi_virtualservice.this.traffic_clone_profile_ref
}
output "uuid" {
description = "returns a string"
value = avi_virtualservice.this.uuid
}
output "vh_parent_vs_uuid" {
description = "returns a string"
value = avi_virtualservice.this.vh_parent_vs_uuid
}
output "vrf_context_ref" {
description = "returns a string"
value = avi_virtualservice.this.vrf_context_ref
}
output "vsvip_cloud_config_cksum" {
description = "returns a string"
value = avi_virtualservice.this.vsvip_cloud_config_cksum
}
output "vsvip_ref" {
description = "returns a string"
value = avi_virtualservice.this.vsvip_ref
}
output "waf_policy_ref" {
description = "returns a string"
value = avi_virtualservice.this.waf_policy_ref
}
output "this" {
value = avi_virtualservice.this
}
top