Source code for idem_vmware_alb.states.avilb.profiles.application_profile
"""States module for managing Profiles Application Profiles. """
from dataclasses import field
from dataclasses import make_dataclass
from typing import Any
from typing import Dict
from typing import List
import dict_tools.differ as differ
__contracts__ = ["resource"]
[docs]async def present(
hub,
ctx,
name: str,
type: str,
resource_id: str = None,
app_service_type: str = None,
cloud_config_cksum: str = None,
configpb_attributes: make_dataclass(
"configpb_attributes", [("version", int, field(default=None))]
) = None,
created_by: str = None,
description: str = None,
dns_service_profile: make_dataclass(
"dns_service_profile",
[
("aaaa_empty_response", bool, field(default=None)),
("admin_email", str, field(default=None)),
("dns_over_tcp_enabled", bool, field(default=None)),
(
"dns_zones",
List[
make_dataclass(
"dns_zones",
[
("domain_name", str),
("admin_email", str, field(default=None)),
("name_server", str, field(default=None)),
],
)
],
field(default=None),
),
("domain_names", List[str], field(default=None)),
("ecs_stripping_enabled", bool, field(default=None)),
("edns", bool, field(default=None)),
("edns_client_subnet_prefix_len", int, field(default=None)),
("error_response", str, field(default=None)),
("name_server", str, field(default=None)),
("negative_caching_ttl", int, field(default=None)),
("num_dns_ip", int, field(default=None)),
("ttl", int, field(default=None)),
],
) = None,
dos_rl_profile: make_dataclass(
"dos_rl_profile",
[
(
"dos_profile",
make_dataclass(
"dos_profile",
[
("thresh_period", int),
(
"thresh_info",
List[
make_dataclass(
"thresh_info",
[
("attack", str),
("max_value", int),
("min_value", int),
],
)
],
field(default=None),
),
],
),
field(default=None),
),
(
"rl_profile",
make_dataclass(
"rl_profile",
[
(
"client_ip_connections_rate_limit",
make_dataclass(
"client_ip_connections_rate_limit",
[
(
"action",
make_dataclass(
"action",
[
(
"file",
make_dataclass(
"file",
[
("content_type", str),
("file_content", str),
(
"file_length",
int,
field(default=None),
),
],
),
field(default=None),
),
(
"redirect",
make_dataclass(
"redirect",
[
("protocol", str),
(
"add_string",
str,
field(default=None),
),
(
"host",
make_dataclass(
"host",
[
("type", str),
(
"tokens",
List[
make_dataclass(
"tokens",
[
(
"type",
str,
),
(
"end_index",
int,
field(
default=None
),
),
(
"start_index",
int,
field(
default=None
),
),
(
"str_value",
str,
field(
default=None
),
),
],
)
],
field(
default=None
),
),
],
),
field(default=None),
),
(
"keep_query",
bool,
field(default=None),
),
(
"path",
make_dataclass(
"path",
[
("type", str),
(
"tokens",
List[
make_dataclass(
"tokens",
[
(
"type",
str,
),
(
"end_index",
int,
field(
default=None
),
),
(
"start_index",
int,
field(
default=None
),
),
(
"str_value",
str,
field(
default=None
),
),
],
)
],
field(
default=None
),
),
],
),
field(default=None),
),
(
"port",
int,
field(default=None),
),
(
"status_code",
str,
field(default=None),
),
],
),
field(default=None),
),
(
"status_code",
str,
field(default=None),
),
("type", str, field(default=None)),
],
),
),
("explicit_tracking", bool, field(default=None)),
("fine_grain", bool, field(default=None)),
("http_cookie", str, field(default=None)),
("http_header", str, field(default=None)),
(
"rate_limiter",
make_dataclass(
"rate_limiter",
[
("count", int),
("period", int),
("burst_sz", int, field(default=None)),
("name", str, field(default=None)),
],
),
field(default=None),
),
],
),
field(default=None),
),
(
"client_ip_failed_requests_rate_limit",
make_dataclass(
"client_ip_failed_requests_rate_limit",
[
(
"action",
make_dataclass(
"action",
[
(
"file",
make_dataclass(
"file",
[
("content_type", str),
("file_content", str),
(
"file_length",
int,
field(default=None),
),
],
),
field(default=None),
),
(
"redirect",
make_dataclass(
"redirect",
[
("protocol", str),
(
"add_string",
str,
field(default=None),
),
(
"host",
make_dataclass(
"host",
[
("type", str),
(
"tokens",
List[
make_dataclass(
"tokens",
[
(
"type",
str,
),
(
"end_index",
int,
field(
default=None
),
),
(
"start_index",
int,
field(
default=None
),
),
(
"str_value",
str,
field(
default=None
),
),
],
)
],
field(
default=None
),
),
],
),
field(default=None),
),
(
"keep_query",
bool,
field(default=None),
),
(
"path",
make_dataclass(
"path",
[
("type", str),
(
"tokens",
List[
make_dataclass(
"tokens",
[
(
"type",
str,
),
(
"end_index",
int,
field(
default=None
),
),
(
"start_index",
int,
field(
default=None
),
),
(
"str_value",
str,
field(
default=None
),
),
],
)
],
field(
default=None
),
),
],
),
field(default=None),
),
(
"port",
int,
field(default=None),
),
(
"status_code",
str,
field(default=None),
),
],
),
field(default=None),
),
(
"status_code",
str,
field(default=None),
),
("type", str, field(default=None)),
],
),
),
("explicit_tracking", bool, field(default=None)),
("fine_grain", bool, field(default=None)),
("http_cookie", str, field(default=None)),
("http_header", str, field(default=None)),
(
"rate_limiter",
make_dataclass(
"rate_limiter",
[
("count", int),
("period", int),
("burst_sz", int, field(default=None)),
("name", str, field(default=None)),
],
),
field(default=None),
),
],
),
field(default=None),
),
(
"client_ip_requests_rate_limit",
make_dataclass(
"client_ip_requests_rate_limit",
[
(
"action",
make_dataclass(
"action",
[
(
"file",
make_dataclass(
"file",
[
("content_type", str),
("file_content", str),
(
"file_length",
int,
field(default=None),
),
],
),
field(default=None),
),
(
"redirect",
make_dataclass(
"redirect",
[
("protocol", str),
(
"add_string",
str,
field(default=None),
),
(
"host",
make_dataclass(
"host",
[
("type", str),
(
"tokens",
List[
make_dataclass(
"tokens",
[
(
"type",
str,
),
(
"end_index",
int,
field(
default=None
),
),
(
"start_index",
int,
field(
default=None
),
),
(
"str_value",
str,
field(
default=None
),
),
],
)
],
field(
default=None
),
),
],
),
field(default=None),
),
(
"keep_query",
bool,
field(default=None),
),
(
"path",
make_dataclass(
"path",
[
("type", str),
(
"tokens",
List[
make_dataclass(
"tokens",
[
(
"type",
str,
),
(
"end_index",
int,
field(
default=None
),
),
(
"start_index",
int,
field(
default=None
),
),
(
"str_value",
str,
field(
default=None
),
),
],
)
],
field(
default=None
),
),
],
),
field(default=None),
),
(
"port",
int,
field(default=None),
),
(
"status_code",
str,
field(default=None),
),
],
),
field(default=None),
),
(
"status_code",
str,
field(default=None),
),
("type", str, field(default=None)),
],
),
),
("explicit_tracking", bool, field(default=None)),
("fine_grain", bool, field(default=None)),
("http_cookie", str, field(default=None)),
("http_header", str, field(default=None)),
(
"rate_limiter",
make_dataclass(
"rate_limiter",
[
("count", int),
("period", int),
("burst_sz", int, field(default=None)),
("name", str, field(default=None)),
],
),
field(default=None),
),
],
),
field(default=None),
),
(
"client_ip_scanners_requests_rate_limit",
make_dataclass(
"client_ip_scanners_requests_rate_limit",
[
(
"action",
make_dataclass(
"action",
[
(
"file",
make_dataclass(
"file",
[
("content_type", str),
("file_content", str),
(
"file_length",
int,
field(default=None),
),
],
),
field(default=None),
),
(
"redirect",
make_dataclass(
"redirect",
[
("protocol", str),
(
"add_string",
str,
field(default=None),
),
(
"host",
make_dataclass(
"host",
[
("type", str),
(
"tokens",
List[
make_dataclass(
"tokens",
[
(
"type",
str,
),
(
"end_index",
int,
field(
default=None
),
),
(
"start_index",
int,
field(
default=None
),
),
(
"str_value",
str,
field(
default=None
),
),
],
)
],
field(
default=None
),
),
],
),
field(default=None),
),
(
"keep_query",
bool,
field(default=None),
),
(
"path",
make_dataclass(
"path",
[
("type", str),
(
"tokens",
List[
make_dataclass(
"tokens",
[
(
"type",
str,
),
(
"end_index",
int,
field(
default=None
),
),
(
"start_index",
int,
field(
default=None
),
),
(
"str_value",
str,
field(
default=None
),
),
],
)
],
field(
default=None
),
),
],
),
field(default=None),
),
(
"port",
int,
field(default=None),
),
(
"status_code",
str,
field(default=None),
),
],
),
field(default=None),
),
(
"status_code",
str,
field(default=None),
),
("type", str, field(default=None)),
],
),
),
("explicit_tracking", bool, field(default=None)),
("fine_grain", bool, field(default=None)),
("http_cookie", str, field(default=None)),
("http_header", str, field(default=None)),
(
"rate_limiter",
make_dataclass(
"rate_limiter",
[
("count", int),
("period", int),
("burst_sz", int, field(default=None)),
("name", str, field(default=None)),
],
),
field(default=None),
),
],
),
field(default=None),
),
(
"client_ip_to_uri_failed_requests_rate_limit",
make_dataclass(
"client_ip_to_uri_failed_requests_rate_limit",
[
(
"action",
make_dataclass(
"action",
[
(
"file",
make_dataclass(
"file",
[
("content_type", str),
("file_content", str),
(
"file_length",
int,
field(default=None),
),
],
),
field(default=None),
),
(
"redirect",
make_dataclass(
"redirect",
[
("protocol", str),
(
"add_string",
str,
field(default=None),
),
(
"host",
make_dataclass(
"host",
[
("type", str),
(
"tokens",
List[
make_dataclass(
"tokens",
[
(
"type",
str,
),
(
"end_index",
int,
field(
default=None
),
),
(
"start_index",
int,
field(
default=None
),
),
(
"str_value",
str,
field(
default=None
),
),
],
)
],
field(
default=None
),
),
],
),
field(default=None),
),
(
"keep_query",
bool,
field(default=None),
),
(
"path",
make_dataclass(
"path",
[
("type", str),
(
"tokens",
List[
make_dataclass(
"tokens",
[
(
"type",
str,
),
(
"end_index",
int,
field(
default=None
),
),
(
"start_index",
int,
field(
default=None
),
),
(
"str_value",
str,
field(
default=None
),
),
],
)
],
field(
default=None
),
),
],
),
field(default=None),
),
(
"port",
int,
field(default=None),
),
(
"status_code",
str,
field(default=None),
),
],
),
field(default=None),
),
(
"status_code",
str,
field(default=None),
),
("type", str, field(default=None)),
],
),
),
("explicit_tracking", bool, field(default=None)),
("fine_grain", bool, field(default=None)),
("http_cookie", str, field(default=None)),
("http_header", str, field(default=None)),
(
"rate_limiter",
make_dataclass(
"rate_limiter",
[
("count", int),
("period", int),
("burst_sz", int, field(default=None)),
("name", str, field(default=None)),
],
),
field(default=None),
),
],
),
field(default=None),
),
(
"client_ip_to_uri_requests_rate_limit",
make_dataclass(
"client_ip_to_uri_requests_rate_limit",
[
(
"action",
make_dataclass(
"action",
[
(
"file",
make_dataclass(
"file",
[
("content_type", str),
("file_content", str),
(
"file_length",
int,
field(default=None),
),
],
),
field(default=None),
),
(
"redirect",
make_dataclass(
"redirect",
[
("protocol", str),
(
"add_string",
str,
field(default=None),
),
(
"host",
make_dataclass(
"host",
[
("type", str),
(
"tokens",
List[
make_dataclass(
"tokens",
[
(
"type",
str,
),
(
"end_index",
int,
field(
default=None
),
),
(
"start_index",
int,
field(
default=None
),
),
(
"str_value",
str,
field(
default=None
),
),
],
)
],
field(
default=None
),
),
],
),
field(default=None),
),
(
"keep_query",
bool,
field(default=None),
),
(
"path",
make_dataclass(
"path",
[
("type", str),
(
"tokens",
List[
make_dataclass(
"tokens",
[
(
"type",
str,
),
(
"end_index",
int,
field(
default=None
),
),
(
"start_index",
int,
field(
default=None
),
),
(
"str_value",
str,
field(
default=None
),
),
],
)
],
field(
default=None
),
),
],
),
field(default=None),
),
(
"port",
int,
field(default=None),
),
(
"status_code",
str,
field(default=None),
),
],
),
field(default=None),
),
(
"status_code",
str,
field(default=None),
),
("type", str, field(default=None)),
],
),
),
("explicit_tracking", bool, field(default=None)),
("fine_grain", bool, field(default=None)),
("http_cookie", str, field(default=None)),
("http_header", str, field(default=None)),
(
"rate_limiter",
make_dataclass(
"rate_limiter",
[
("count", int),
("period", int),
("burst_sz", int, field(default=None)),
("name", str, field(default=None)),
],
),
field(default=None),
),
],
),
field(default=None),
),
(
"custom_requests_rate_limit",
make_dataclass(
"custom_requests_rate_limit",
[
(
"action",
make_dataclass(
"action",
[
(
"file",
make_dataclass(
"file",
[
("content_type", str),
("file_content", str),
(
"file_length",
int,
field(default=None),
),
],
),
field(default=None),
),
(
"redirect",
make_dataclass(
"redirect",
[
("protocol", str),
(
"add_string",
str,
field(default=None),
),
(
"host",
make_dataclass(
"host",
[
("type", str),
(
"tokens",
List[
make_dataclass(
"tokens",
[
(
"type",
str,
),
(
"end_index",
int,
field(
default=None
),
),
(
"start_index",
int,
field(
default=None
),
),
(
"str_value",
str,
field(
default=None
),
),
],
)
],
field(
default=None
),
),
],
),
field(default=None),
),
(
"keep_query",
bool,
field(default=None),
),
(
"path",
make_dataclass(
"path",
[
("type", str),
(
"tokens",
List[
make_dataclass(
"tokens",
[
(
"type",
str,
),
(
"end_index",
int,
field(
default=None
),
),
(
"start_index",
int,
field(
default=None
),
),
(
"str_value",
str,
field(
default=None
),
),
],
)
],
field(
default=None
),
),
],
),
field(default=None),
),
(
"port",
int,
field(default=None),
),
(
"status_code",
str,
field(default=None),
),
],
),
field(default=None),
),
(
"status_code",
str,
field(default=None),
),
("type", str, field(default=None)),
],
),
),
("explicit_tracking", bool, field(default=None)),
("fine_grain", bool, field(default=None)),
("http_cookie", str, field(default=None)),
("http_header", str, field(default=None)),
(
"rate_limiter",
make_dataclass(
"rate_limiter",
[
("count", int),
("period", int),
("burst_sz", int, field(default=None)),
("name", str, field(default=None)),
],
),
field(default=None),
),
],
),
field(default=None),
),
(
"http_header_rate_limits",
List[
make_dataclass(
"http_header_rate_limits",
[
(
"action",
make_dataclass(
"action",
[
(
"file",
make_dataclass(
"file",
[
("content_type", str),
("file_content", str),
(
"file_length",
int,
field(default=None),
),
],
),
field(default=None),
),
(
"redirect",
make_dataclass(
"redirect",
[
("protocol", str),
(
"add_string",
str,
field(default=None),
),
(
"host",
make_dataclass(
"host",
[
(
"type",
str,
),
(
"tokens",
List[
make_dataclass(
"tokens",
[
(
"type",
str,
),
(
"end_index",
int,
field(
default=None
),
),
(
"start_index",
int,
field(
default=None
),
),
(
"str_value",
str,
field(
default=None
),
),
],
)
],
field(
default=None
),
),
],
),
field(default=None),
),
(
"keep_query",
bool,
field(default=None),
),
(
"path",
make_dataclass(
"path",
[
(
"type",
str,
),
(
"tokens",
List[
make_dataclass(
"tokens",
[
(
"type",
str,
),
(
"end_index",
int,
field(
default=None
),
),
(
"start_index",
int,
field(
default=None
),
),
(
"str_value",
str,
field(
default=None
),
),
],
)
],
field(
default=None
),
),
],
),
field(default=None),
),
(
"port",
int,
field(default=None),
),
(
"status_code",
str,
field(default=None),
),
],
),
field(default=None),
),
(
"status_code",
str,
field(default=None),
),
("type", str, field(default=None)),
],
),
),
(
"explicit_tracking",
bool,
field(default=None),
),
("fine_grain", bool, field(default=None)),
("http_cookie", str, field(default=None)),
("http_header", str, field(default=None)),
(
"rate_limiter",
make_dataclass(
"rate_limiter",
[
("count", int),
("period", int),
(
"burst_sz",
int,
field(default=None),
),
("name", str, field(default=None)),
],
),
field(default=None),
),
],
)
],
field(default=None),
),
(
"uri_failed_requests_rate_limit",
make_dataclass(
"uri_failed_requests_rate_limit",
[
(
"action",
make_dataclass(
"action",
[
(
"file",
make_dataclass(
"file",
[
("content_type", str),
("file_content", str),
(
"file_length",
int,
field(default=None),
),
],
),
field(default=None),
),
(
"redirect",
make_dataclass(
"redirect",
[
("protocol", str),
(
"add_string",
str,
field(default=None),
),
(
"host",
make_dataclass(
"host",
[
("type", str),
(
"tokens",
List[
make_dataclass(
"tokens",
[
(
"type",
str,
),
(
"end_index",
int,
field(
default=None
),
),
(
"start_index",
int,
field(
default=None
),
),
(
"str_value",
str,
field(
default=None
),
),
],
)
],
field(
default=None
),
),
],
),
field(default=None),
),
(
"keep_query",
bool,
field(default=None),
),
(
"path",
make_dataclass(
"path",
[
("type", str),
(
"tokens",
List[
make_dataclass(
"tokens",
[
(
"type",
str,
),
(
"end_index",
int,
field(
default=None
),
),
(
"start_index",
int,
field(
default=None
),
),
(
"str_value",
str,
field(
default=None
),
),
],
)
],
field(
default=None
),
),
],
),
field(default=None),
),
(
"port",
int,
field(default=None),
),
(
"status_code",
str,
field(default=None),
),
],
),
field(default=None),
),
(
"status_code",
str,
field(default=None),
),
("type", str, field(default=None)),
],
),
),
("explicit_tracking", bool, field(default=None)),
("fine_grain", bool, field(default=None)),
("http_cookie", str, field(default=None)),
("http_header", str, field(default=None)),
(
"rate_limiter",
make_dataclass(
"rate_limiter",
[
("count", int),
("period", int),
("burst_sz", int, field(default=None)),
("name", str, field(default=None)),
],
),
field(default=None),
),
],
),
field(default=None),
),
(
"uri_requests_rate_limit",
make_dataclass(
"uri_requests_rate_limit",
[
(
"action",
make_dataclass(
"action",
[
(
"file",
make_dataclass(
"file",
[
("content_type", str),
("file_content", str),
(
"file_length",
int,
field(default=None),
),
],
),
field(default=None),
),
(
"redirect",
make_dataclass(
"redirect",
[
("protocol", str),
(
"add_string",
str,
field(default=None),
),
(
"host",
make_dataclass(
"host",
[
("type", str),
(
"tokens",
List[
make_dataclass(
"tokens",
[
(
"type",
str,
),
(
"end_index",
int,
field(
default=None
),
),
(
"start_index",
int,
field(
default=None
),
),
(
"str_value",
str,
field(
default=None
),
),
],
)
],
field(
default=None
),
),
],
),
field(default=None),
),
(
"keep_query",
bool,
field(default=None),
),
(
"path",
make_dataclass(
"path",
[
("type", str),
(
"tokens",
List[
make_dataclass(
"tokens",
[
(
"type",
str,
),
(
"end_index",
int,
field(
default=None
),
),
(
"start_index",
int,
field(
default=None
),
),
(
"str_value",
str,
field(
default=None
),
),
],
)
],
field(
default=None
),
),
],
),
field(default=None),
),
(
"port",
int,
field(default=None),
),
(
"status_code",
str,
field(default=None),
),
],
),
field(default=None),
),
(
"status_code",
str,
field(default=None),
),
("type", str, field(default=None)),
],
),
),
("explicit_tracking", bool, field(default=None)),
("fine_grain", bool, field(default=None)),
("http_cookie", str, field(default=None)),
("http_header", str, field(default=None)),
(
"rate_limiter",
make_dataclass(
"rate_limiter",
[
("count", int),
("period", int),
("burst_sz", int, field(default=None)),
("name", str, field(default=None)),
],
),
field(default=None),
),
],
),
field(default=None),
),
(
"uri_scanners_requests_rate_limit",
make_dataclass(
"uri_scanners_requests_rate_limit",
[
(
"action",
make_dataclass(
"action",
[
(
"file",
make_dataclass(
"file",
[
("content_type", str),
("file_content", str),
(
"file_length",
int,
field(default=None),
),
],
),
field(default=None),
),
(
"redirect",
make_dataclass(
"redirect",
[
("protocol", str),
(
"add_string",
str,
field(default=None),
),
(
"host",
make_dataclass(
"host",
[
("type", str),
(
"tokens",
List[
make_dataclass(
"tokens",
[
(
"type",
str,
),
(
"end_index",
int,
field(
default=None
),
),
(
"start_index",
int,
field(
default=None
),
),
(
"str_value",
str,
field(
default=None
),
),
],
)
],
field(
default=None
),
),
],
),
field(default=None),
),
(
"keep_query",
bool,
field(default=None),
),
(
"path",
make_dataclass(
"path",
[
("type", str),
(
"tokens",
List[
make_dataclass(
"tokens",
[
(
"type",
str,
),
(
"end_index",
int,
field(
default=None
),
),
(
"start_index",
int,
field(
default=None
),
),
(
"str_value",
str,
field(
default=None
),
),
],
)
],
field(
default=None
),
),
],
),
field(default=None),
),
(
"port",
int,
field(default=None),
),
(
"status_code",
str,
field(default=None),
),
],
),
field(default=None),
),
(
"status_code",
str,
field(default=None),
),
("type", str, field(default=None)),
],
),
),
("explicit_tracking", bool, field(default=None)),
("fine_grain", bool, field(default=None)),
("http_cookie", str, field(default=None)),
("http_header", str, field(default=None)),
(
"rate_limiter",
make_dataclass(
"rate_limiter",
[
("count", int),
("period", int),
("burst_sz", int, field(default=None)),
("name", str, field(default=None)),
],
),
field(default=None),
),
],
),
field(default=None),
),
],
),
field(default=None),
),
],
) = None,
http_profile: make_dataclass(
"http_profile",
[
("allow_dots_in_header_name", bool, field(default=None)),
(
"cache_config",
make_dataclass(
"cache_config",
[
("age_header", bool, field(default=None)),
("aggressive", bool, field(default=None)),
("date_header", bool, field(default=None)),
("default_expire", int, field(default=None)),
("enabled", bool, field(default=None)),
("heuristic_expire", bool, field(default=None)),
("ignore_request_cache_control", bool, field(default=None)),
("max_cache_size", int, field(default=None)),
("max_object_size", int, field(default=None)),
("mime_types_block_group_refs", List[str], field(default=None)),
("mime_types_block_lists", List[str], field(default=None)),
("mime_types_group_refs", List[str], field(default=None)),
("mime_types_list", List[str], field(default=None)),
("min_object_size", int, field(default=None)),
("query_cacheable", bool, field(default=None)),
(
"uri_non_cacheable",
make_dataclass(
"uri_non_cacheable",
[
("match_criteria", str),
("match_case", str, field(default=None)),
("match_decoded_string", bool, field(default=None)),
("match_str", List[str], field(default=None)),
(
"string_group_refs",
List[str],
field(default=None),
),
],
),
field(default=None),
),
("xcache_header", bool, field(default=None)),
],
),
field(default=None),
),
("client_body_timeout", int, field(default=None)),
("client_header_timeout", int, field(default=None)),
("client_max_body_size", int, field(default=None)),
("client_max_header_size", int, field(default=None)),
("client_max_request_size", int, field(default=None)),
("collect_client_tls_fingerprint", bool, field(default=None)),
(
"compression_profile",
make_dataclass(
"compression_profile",
[
("compression", bool),
("remove_accept_encoding_header", bool),
("type", str),
("buf_num", int, field(default=None)),
("buf_size", int, field(default=None)),
("compressible_content_ref", str, field(default=None)),
(
"filter",
List[
make_dataclass(
"filter",
[
("index", int),
("level", str),
("name", str),
("devices_ref", str, field(default=None)),
(
"ip_addr_prefixes",
List[
make_dataclass(
"ip_addr_prefixes",
[
(
"ip_addr",
make_dataclass(
"ip_addr",
[
("addr", str),
("type", str),
],
),
),
("mask", int),
],
)
],
field(default=None),
),
(
"ip_addr_ranges",
List[
make_dataclass(
"ip_addr_ranges",
[
(
"begin",
make_dataclass(
"begin",
[
("addr", str),
("type", str),
],
),
),
(
"end",
make_dataclass(
"end",
[
("addr", str),
("type", str),
],
),
),
],
)
],
field(default=None),
),
(
"ip_addrs",
List[
make_dataclass(
"ip_addrs",
[("addr", str), ("type", str)],
)
],
field(default=None),
),
("ip_addrs_ref", str, field(default=None)),
("match", str, field(default=None)),
("user_agent", List[str], field(default=None)),
],
)
],
field(default=None),
),
("hash_size", int, field(default=None)),
("level_aggressive", int, field(default=None)),
("level_normal", int, field(default=None)),
("max_low_rtt", int, field(default=None)),
("min_high_rtt", int, field(default=None)),
("min_length", int, field(default=None)),
("mobile_str_ref", str, field(default=None)),
("window_size", int, field(default=None)),
],
),
field(default=None),
),
("connection_multiplexing_enabled", bool, field(default=None)),
("detect_ntlm_app", bool, field(default=None)),
("disable_keepalive_posts_msie6", bool, field(default=None)),
("disable_sni_hostname_check", bool, field(default=None)),
("enable_chunk_merge", bool, field(default=None)),
("enable_fire_and_forget", bool, field(default=None)),
("enable_request_body_buffering", bool, field(default=None)),
("enable_request_body_metrics", bool, field(default=None)),
("fwd_close_hdr_for_bound_connections", bool, field(default=None)),
("hsts_enabled", bool, field(default=None)),
("hsts_max_age", int, field(default=None)),
("hsts_subdomains_enabled", bool, field(default=None)),
(
"http2_profile",
make_dataclass(
"http2_profile",
[
("enable_http2_server_push", bool, field(default=None)),
("http2_initial_window_size", int, field(default=None)),
(
"max_http2_concurrent_pushes_per_connection",
int,
field(default=None),
),
(
"max_http2_concurrent_streams_per_connection",
int,
field(default=None),
),
(
"max_http2_control_frames_per_connection",
int,
field(default=None),
),
(
"max_http2_empty_data_frames_per_connection",
int,
field(default=None),
),
("max_http2_header_field_size", int, field(default=None)),
(
"max_http2_queued_frames_to_client_per_connection",
int,
field(default=None),
),
("max_http2_requests_per_connection", int, field(default=None)),
],
),
field(default=None),
),
("http_to_https", bool, field(default=None)),
("http_upstream_buffer_size", int, field(default=None)),
("httponly_enabled", bool, field(default=None)),
("keepalive_header", bool, field(default=None)),
("keepalive_timeout", int, field(default=None)),
("max_bad_rps_cip", int, field(default=None)),
("max_bad_rps_cip_uri", int, field(default=None)),
("max_bad_rps_uri", int, field(default=None)),
("max_header_count", int, field(default=None)),
("max_keepalive_requests", int, field(default=None)),
("max_response_headers_size", int, field(default=None)),
("max_rps_cip", int, field(default=None)),
("max_rps_cip_uri", int, field(default=None)),
("max_rps_unknown_cip", int, field(default=None)),
("max_rps_unknown_uri", int, field(default=None)),
("max_rps_uri", int, field(default=None)),
("pass_through_x_accel_headers", bool, field(default=None)),
("pki_profile_ref", str, field(default=None)),
("post_accept_timeout", int, field(default=None)),
("reset_conn_http_on_ssl_port", bool, field(default=None)),
("respond_with_100_continue", bool, field(default=None)),
("secure_cookie_enabled", bool, field(default=None)),
("server_side_redirect_to_https", bool, field(default=None)),
(
"ssl_client_certificate_action",
make_dataclass(
"ssl_client_certificate_action",
[
("close_connection", bool, field(default=None)),
(
"headers",
List[
make_dataclass(
"headers",
[
("request_header", str, field(default=None)),
(
"request_header_value",
str,
field(default=None),
),
],
)
],
field(default=None),
),
],
),
field(default=None),
),
("ssl_client_certificate_mode", str, field(default=None)),
(
"true_client_ip",
make_dataclass(
"true_client_ip",
[
("direction", str, field(default=None)),
("headers", List[str], field(default=None)),
("index_in_header", int, field(default=None)),
],
),
field(default=None),
),
("use_app_keepalive_timeout", bool, field(default=None)),
("use_true_client_ip", bool, field(default=None)),
("websockets_enabled", bool, field(default=None)),
("x_forwarded_proto_enabled", bool, field(default=None)),
("xff_alternate_name", str, field(default=None)),
("xff_enabled", bool, field(default=None)),
("xff_update", str, field(default=None)),
],
) = None,
l4_ssl_profile: make_dataclass(
"l4_ssl_profile", [("ssl_stream_idle_timeout", int, field(default=None))]
) = None,
markers: List[
make_dataclass(
"markers", [("key", str), ("values", List[str], field(default=None))]
)
] = None,
preserve_client_ip: bool = None,
preserve_client_port: bool = None,
preserve_dest_ip_port: bool = None,
sip_service_profile: make_dataclass(
"sip_service_profile", [("transaction_timeout", int, field(default=None))]
) = None,
tcp_app_profile: make_dataclass(
"tcp_app_profile",
[
(
"ftp_profile",
make_dataclass(
"ftp_profile",
[
("deactivate_active", bool, field(default=None)),
("deactivate_passive", bool, field(default=None)),
],
),
field(default=None),
),
("pki_profile_ref", str, field(default=None)),
("proxy_protocol_enabled", bool, field(default=None)),
("proxy_protocol_version", str, field(default=None)),
("ssl_client_certificate_mode", str, field(default=None)),
],
) = None,
tenant_ref: str = None,
) -> Dict[str, Any]:
"""
None
None
Args:
name(str):
Idem name of the resource.
type(str):
Specifies which application layer proxy is enabled for the virtual service. Enum options - APPLICATION_PROFILE_TYPE_L4, APPLICATION_PROFILE_TYPE_HTTP, APPLICATION_PROFILE_TYPE_SYSLOG, APPLICATION_PROFILE_TYPE_DNS, APPLICATION_PROFILE_TYPE_SSL, APPLICATION_PROFILE_TYPE_SIP. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- APPLICATION_PROFILE_TYPE_L4), Basic edition(Allowed values- APPLICATION_PROFILE_TYPE_L4,APPLICATION_PROFILE_TYPE_HTTP), Enterprise with Cloud Services edition.
resource_id(str, Optional):
profiles.application_profile unique ID. Defaults to None.
app_service_type(str, Optional):
Specifies app service type for an application. Enum options - APP_SERVICE_TYPE_L7_HORIZON, APP_SERVICE_TYPE_L4_BLAST, APP_SERVICE_TYPE_L4_PCOIP, APP_SERVICE_TYPE_L4_FTP. Field introduced in 21.1.3. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
cloud_config_cksum(str, Optional):
Checksum of application profiles. Internally set by cloud connector. Field introduced in 17.2.14, 18.1.5, 18.2.1. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
configpb_attributes(dict[str, Any], Optional):
configpb_attributes. Defaults to None.
* version (int, Optional):
Protobuf version number. Gets incremented if there is se Diff of federated diff in config pbs.This field will be a monotonically increasing number indicating the number of Config Update operations. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Essentials edition with any value, Basic edition with any value, Enterprise with Cloud Services edition. Defaults to None.
created_by(str, Optional):
Name of the application profile creator. Field introduced in 17.2.14, 18.1.5, 18.2.1. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
description(str, Optional):
Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
dns_service_profile(dict[str, Any], Optional):
dns_service_profile. Defaults to None.
* aaaa_empty_response (bool, Optional):
Respond to AAAA queries with empty response when there are only IPV4 records. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* admin_email (str, Optional):
Email address of the administrator responsible for this zone . This field is used in SOA records (rname) pertaining to all domain names specified as authoritative domain names. If not configured, the default value 'hostmaster' is used in SOA responses. Field introduced in 18.2.5. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* dns_over_tcp_enabled (bool, Optional):
Enable DNS query/response over TCP. This enables analytics for pass-through queries as well. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* dns_zones (List[dict[str, Any]], Optional):
DNS zones hosted on this Virtual Service. Field introduced in 18.2.6. Maximum of 100 items allowed. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* admin_email (str, Optional):
Email address of the administrator responsible for this zone. This field is used in SOA records as rname (RFC 1035). If not configured, it is inherited from the DNS service profile. Field introduced in 18.2.6. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* domain_name (str):
Domain name authoritatively serviced by this Virtual Service. Queries for FQDNs that are sub domains of this domain and do not have any DNS record in Avi are dropped or NXDomain response sent. For domains which are present, SOA parameters are sent in answer section of response if query type is SOA. Field introduced in 18.2.6. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* name_server (str, Optional):
The primary name server for this zone. This field is used in SOA records as mname (RFC 1035). If not configured, it is inherited from the DNS service profile. If even that is not configured, the domain name is used instead. Field introduced in 18.2.6. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* domain_names (List[str], Optional):
Subdomain names serviced by this Virtual Service. These are configured as Ends-With semantics. Maximum of 100 items allowed. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* ecs_stripping_enabled (bool, Optional):
Enable stripping of EDNS client subnet (ecs) option towards client if DNS service inserts ecs option in the DNS query towards upstream servers. Field introduced in 17.1.5. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* edns (bool, Optional):
Enable DNS service to be aware of EDNS (Extension mechanism for DNS). EDNS extensions are parsed and shown in logs. For GSLB services, the EDNS client subnet option can be used to influence Load Balancing. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* edns_client_subnet_prefix_len (int, Optional):
Specifies the IP address prefix length to use in the EDNS client subnet (ECS) option. When the incoming request does not have any ECS option and the prefix length is specified, an ECS option is inserted in the request passed to upstream server. If the incoming request already has an ECS option, the prefix length (and correspondingly the address) in the ECS option is updated, with the minimum of the prefix length present in the incoming and the configured prefix length, before passing the request to upstream server. Allowed values are 1-32. Field introduced in 17.1.3. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* error_response (str, Optional):
Drop or respond to client when the DNS service encounters an error processing a client query. By default, such a request is dropped without any response, or passed through to a passthrough pool, if configured. When set to respond, an appropriate response is sent to client, e.g. NXDOMAIN response for non-existent records, empty NOERROR response for unsupported queries, etc. Enum options - DNS_ERROR_RESPONSE_ERROR, DNS_ERROR_RESPONSE_NONE. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* name_server (str, Optional):
The <domain-name> of the name server that was the original or primary source of data for this zone. This field is used in SOA records (mname) pertaining to all domain names specified as authoritative domain names. If not configured, domain name is used as name server in SOA response. Field introduced in 18.2.5. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* negative_caching_ttl (int, Optional):
Specifies the TTL value (in seconds) for SOA (Start of Authority) (corresponding to a authoritative domain owned by this DNS Virtual Service) record's minimum TTL served by the DNS Virtual Service. Allowed values are 0-86400. Field introduced in 17.2.4. Unit is SEC. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* num_dns_ip (int, Optional):
Specifies the number of IP addresses returned by the DNS Service. Enter 0 to return all IP addresses. Allowed values are 1-20. Special values are 0- Return all IP addresses. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* ttl (int, Optional):
Specifies the TTL value (in seconds) for records served by DNS Service. Allowed values are 0-86400. Unit is SEC. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
dos_rl_profile(dict[str, Any], Optional):
dos_rl_profile. Defaults to None.
* dos_profile (dict[str, Any], Optional):
dos_profile. Defaults to None.
* thresh_info (List[dict[str, Any]], Optional):
Attack type, min and max values for DoS attack detection. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* attack (str):
Attack type. Enum options - LAND, SMURF, ICMP_PING_FLOOD, UNKOWN_PROTOCOL, TEARDROP, IP_FRAG_OVERRUN, IP_FRAG_TOOSMALL, IP_FRAG_FULL, IP_FRAG_INCOMPLETE, PORT_SCAN, TCP_NON_SYN_FLOOD_OLD, SYN_FLOOD, BAD_RST_FLOOD, MALFORMED_FLOOD, FAKE_SESSION, ZERO_WINDOW_STRESS, SMALL_WINDOW_STRESS, DOS_HTTP_TIMEOUT, DOS_HTTP_ERROR, DOS_HTTP_ABORT, DOS_SSL_ERROR, DOS_APP_ERROR, DOS_REQ_IP_RL_DROP, DOS_REQ_URI_RL_DROP, DOS_REQ_URI_SCAN_BAD_RL_DROP, DOS_REQ_URI_SCAN_UNKNOWN_RL_DROP, DOS_REQ_IP_URI_RL_DROP, DOS_CONN_IP_RL_DROP, DOS_SLOW_URL, TCP_NON_SYN_FLOOD, DOS_REQ_CIP_SCAN_BAD_RL_DROP, DOS_REQ_CIP_SCAN_UNKNOWN_RL_DROP, DOS_REQ_IP_RL_DROP_BAD, DOS_REQ_URI_RL_DROP_BAD, DOS_REQ_IP_URI_RL_DROP_BAD, POLICY_DROPS, DOS_CONN_RL_DROP, DOS_REQ_RL_DROP, DOS_REQ_HDR_RL_DROP, DOS_REQ_CUSTOM_RL_DROP, DNS_ATTACK_REFLECTION, DNS_ATTACK_AMPLIFICATION_EGRESS, TCP_SLOW_AND_LOW, DNS_ATTACK_NXDOMAIN. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* max_value (int):
Maximum number of packets or connections or requests in a given interval of time to be deemed as attack. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* min_value (int):
Minimum number of packets or connections or requests in a given interval of time to be deemed as attack. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* thresh_period (int):
Timer value in seconds to collect DoS attack metrics based on threshold on the Service Engine for this Virtual Service. Unit is SEC. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* rl_profile (dict[str, Any], Optional):
rl_profile. Defaults to None.
* client_ip_connections_rate_limit (dict[str, Any], Optional):
client_ip_connections_rate_limit. Defaults to None.
* action (dict[str, Any]):
action.
* file (dict[str, Any], Optional):
file. Defaults to None.
* content_type (str):
Mime-type of the content in the file. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* file_content (str):
File content to used in the local HTTP response body. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* file_length (int, Optional):
File content length. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Essentials edition with any value, Basic edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* redirect (dict[str, Any], Optional):
redirect. Defaults to None.
* add_string (str, Optional):
Add a query string to the redirect URI. If keep_query is set, concatenates the add_string to the query of the incoming request. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* host (dict[str, Any], Optional):
host. Defaults to None.
* tokens (List[dict[str, Any]], Optional):
Token config either for the URI components or a constant string. Minimum of 1 items required. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* end_index (int, Optional):
Index of the ending token in the incoming URI. Allowed values are 0-65534. Special values are 65535 - end of string. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* start_index (int, Optional):
Index of the starting token in the incoming URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* str_value (str, Optional):
Constant string to use as a token. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* type (str):
Token type for constructing the URI. Enum options - URI_TOKEN_TYPE_HOST, URI_TOKEN_TYPE_PATH, URI_TOKEN_TYPE_STRING, URI_TOKEN_TYPE_STRING_GROUP, URI_TOKEN_TYPE_REGEX, URI_TOKEN_TYPE_REGEX_QUERY. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
URI param type. Enum options - URI_PARAM_TYPE_TOKENIZED. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* keep_query (bool, Optional):
Keep or drop the query of the incoming request URI in the redirected URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* path (dict[str, Any], Optional):
path. Defaults to None.
* tokens (List[dict[str, Any]], Optional):
Token config either for the URI components or a constant string. Minimum of 1 items required. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* end_index (int, Optional):
Index of the ending token in the incoming URI. Allowed values are 0-65534. Special values are 65535 - end of string. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* start_index (int, Optional):
Index of the starting token in the incoming URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* str_value (str, Optional):
Constant string to use as a token. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* type (str):
Token type for constructing the URI. Enum options - URI_TOKEN_TYPE_HOST, URI_TOKEN_TYPE_PATH, URI_TOKEN_TYPE_STRING, URI_TOKEN_TYPE_STRING_GROUP, URI_TOKEN_TYPE_REGEX, URI_TOKEN_TYPE_REGEX_QUERY. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
URI param type. Enum options - URI_PARAM_TYPE_TOKENIZED. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* port (int, Optional):
Port to which redirect the request. Allowed values are 1-65535. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* protocol (str):
Protocol type. Enum options - HTTP, HTTPS. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* status_code (str, Optional):
HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* status_code (str, Optional):
HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501. Allowed in Enterprise edition with any value, Basic edition(Allowed values- HTTP_LOCAL_RESPONSE_STATUS_CODE_429), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* type (str, Optional):
Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT. Allowed in Enterprise edition with any value, Basic edition(Allowed values- RL_ACTION_NONE,RL_ACTION_DROP_CONN), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* explicit_tracking (bool, Optional):
Explicitly tracks an attacker across rate periods. Allowed in Enterprise edition with any value, Basic edition(Allowed values- false), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* fine_grain (bool, Optional):
Enable fine granularity. Allowed in Enterprise edition with any value, Basic edition(Allowed values- false), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* http_cookie (str, Optional):
HTTP cookie name. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Enterprise with Cloud Services edition. Defaults to None.
* http_header (str, Optional):
HTTP header name. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Enterprise with Cloud Services edition. Defaults to None.
* rate_limiter (dict[str, Any], Optional):
rate_limiter. Defaults to None.
* burst_sz (int, Optional):
Maximum number of connections, requests or packets to be let through instantaneously. If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Basic edition(Allowed values- 0), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* count (int):
Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* name (str, Optional):
Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* period (int):
Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9. Unit is SEC. Allowed in Enterprise edition with any value, Basic edition(Allowed values- 1), Essentials, Enterprise with Cloud Services edition.
* client_ip_failed_requests_rate_limit (dict[str, Any], Optional):
client_ip_failed_requests_rate_limit. Defaults to None.
* action (dict[str, Any]):
action.
* file (dict[str, Any], Optional):
file. Defaults to None.
* content_type (str):
Mime-type of the content in the file. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* file_content (str):
File content to used in the local HTTP response body. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* file_length (int, Optional):
File content length. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Essentials edition with any value, Basic edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* redirect (dict[str, Any], Optional):
redirect. Defaults to None.
* add_string (str, Optional):
Add a query string to the redirect URI. If keep_query is set, concatenates the add_string to the query of the incoming request. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* host (dict[str, Any], Optional):
host. Defaults to None.
* tokens (List[dict[str, Any]], Optional):
Token config either for the URI components or a constant string. Minimum of 1 items required. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* end_index (int, Optional):
Index of the ending token in the incoming URI. Allowed values are 0-65534. Special values are 65535 - end of string. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* start_index (int, Optional):
Index of the starting token in the incoming URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* str_value (str, Optional):
Constant string to use as a token. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* type (str):
Token type for constructing the URI. Enum options - URI_TOKEN_TYPE_HOST, URI_TOKEN_TYPE_PATH, URI_TOKEN_TYPE_STRING, URI_TOKEN_TYPE_STRING_GROUP, URI_TOKEN_TYPE_REGEX, URI_TOKEN_TYPE_REGEX_QUERY. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
URI param type. Enum options - URI_PARAM_TYPE_TOKENIZED. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* keep_query (bool, Optional):
Keep or drop the query of the incoming request URI in the redirected URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* path (dict[str, Any], Optional):
path. Defaults to None.
* tokens (List[dict[str, Any]], Optional):
Token config either for the URI components or a constant string. Minimum of 1 items required. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* end_index (int, Optional):
Index of the ending token in the incoming URI. Allowed values are 0-65534. Special values are 65535 - end of string. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* start_index (int, Optional):
Index of the starting token in the incoming URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* str_value (str, Optional):
Constant string to use as a token. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* type (str):
Token type for constructing the URI. Enum options - URI_TOKEN_TYPE_HOST, URI_TOKEN_TYPE_PATH, URI_TOKEN_TYPE_STRING, URI_TOKEN_TYPE_STRING_GROUP, URI_TOKEN_TYPE_REGEX, URI_TOKEN_TYPE_REGEX_QUERY. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
URI param type. Enum options - URI_PARAM_TYPE_TOKENIZED. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* port (int, Optional):
Port to which redirect the request. Allowed values are 1-65535. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* protocol (str):
Protocol type. Enum options - HTTP, HTTPS. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* status_code (str, Optional):
HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* status_code (str, Optional):
HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501. Allowed in Enterprise edition with any value, Basic edition(Allowed values- HTTP_LOCAL_RESPONSE_STATUS_CODE_429), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* type (str, Optional):
Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT. Allowed in Enterprise edition with any value, Basic edition(Allowed values- RL_ACTION_NONE,RL_ACTION_DROP_CONN), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* explicit_tracking (bool, Optional):
Explicitly tracks an attacker across rate periods. Allowed in Enterprise edition with any value, Basic edition(Allowed values- false), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* fine_grain (bool, Optional):
Enable fine granularity. Allowed in Enterprise edition with any value, Basic edition(Allowed values- false), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* http_cookie (str, Optional):
HTTP cookie name. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Enterprise with Cloud Services edition. Defaults to None.
* http_header (str, Optional):
HTTP header name. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Enterprise with Cloud Services edition. Defaults to None.
* rate_limiter (dict[str, Any], Optional):
rate_limiter. Defaults to None.
* burst_sz (int, Optional):
Maximum number of connections, requests or packets to be let through instantaneously. If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Basic edition(Allowed values- 0), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* count (int):
Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* name (str, Optional):
Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* period (int):
Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9. Unit is SEC. Allowed in Enterprise edition with any value, Basic edition(Allowed values- 1), Essentials, Enterprise with Cloud Services edition.
* client_ip_requests_rate_limit (dict[str, Any], Optional):
client_ip_requests_rate_limit. Defaults to None.
* action (dict[str, Any]):
action.
* file (dict[str, Any], Optional):
file. Defaults to None.
* content_type (str):
Mime-type of the content in the file. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* file_content (str):
File content to used in the local HTTP response body. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* file_length (int, Optional):
File content length. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Essentials edition with any value, Basic edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* redirect (dict[str, Any], Optional):
redirect. Defaults to None.
* add_string (str, Optional):
Add a query string to the redirect URI. If keep_query is set, concatenates the add_string to the query of the incoming request. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* host (dict[str, Any], Optional):
host. Defaults to None.
* tokens (List[dict[str, Any]], Optional):
Token config either for the URI components or a constant string. Minimum of 1 items required. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* end_index (int, Optional):
Index of the ending token in the incoming URI. Allowed values are 0-65534. Special values are 65535 - end of string. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* start_index (int, Optional):
Index of the starting token in the incoming URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* str_value (str, Optional):
Constant string to use as a token. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* type (str):
Token type for constructing the URI. Enum options - URI_TOKEN_TYPE_HOST, URI_TOKEN_TYPE_PATH, URI_TOKEN_TYPE_STRING, URI_TOKEN_TYPE_STRING_GROUP, URI_TOKEN_TYPE_REGEX, URI_TOKEN_TYPE_REGEX_QUERY. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
URI param type. Enum options - URI_PARAM_TYPE_TOKENIZED. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* keep_query (bool, Optional):
Keep or drop the query of the incoming request URI in the redirected URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* path (dict[str, Any], Optional):
path. Defaults to None.
* tokens (List[dict[str, Any]], Optional):
Token config either for the URI components or a constant string. Minimum of 1 items required. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* end_index (int, Optional):
Index of the ending token in the incoming URI. Allowed values are 0-65534. Special values are 65535 - end of string. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* start_index (int, Optional):
Index of the starting token in the incoming URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* str_value (str, Optional):
Constant string to use as a token. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* type (str):
Token type for constructing the URI. Enum options - URI_TOKEN_TYPE_HOST, URI_TOKEN_TYPE_PATH, URI_TOKEN_TYPE_STRING, URI_TOKEN_TYPE_STRING_GROUP, URI_TOKEN_TYPE_REGEX, URI_TOKEN_TYPE_REGEX_QUERY. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
URI param type. Enum options - URI_PARAM_TYPE_TOKENIZED. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* port (int, Optional):
Port to which redirect the request. Allowed values are 1-65535. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* protocol (str):
Protocol type. Enum options - HTTP, HTTPS. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* status_code (str, Optional):
HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* status_code (str, Optional):
HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501. Allowed in Enterprise edition with any value, Basic edition(Allowed values- HTTP_LOCAL_RESPONSE_STATUS_CODE_429), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* type (str, Optional):
Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT. Allowed in Enterprise edition with any value, Basic edition(Allowed values- RL_ACTION_NONE,RL_ACTION_DROP_CONN), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* explicit_tracking (bool, Optional):
Explicitly tracks an attacker across rate periods. Allowed in Enterprise edition with any value, Basic edition(Allowed values- false), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* fine_grain (bool, Optional):
Enable fine granularity. Allowed in Enterprise edition with any value, Basic edition(Allowed values- false), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* http_cookie (str, Optional):
HTTP cookie name. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Enterprise with Cloud Services edition. Defaults to None.
* http_header (str, Optional):
HTTP header name. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Enterprise with Cloud Services edition. Defaults to None.
* rate_limiter (dict[str, Any], Optional):
rate_limiter. Defaults to None.
* burst_sz (int, Optional):
Maximum number of connections, requests or packets to be let through instantaneously. If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Basic edition(Allowed values- 0), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* count (int):
Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* name (str, Optional):
Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* period (int):
Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9. Unit is SEC. Allowed in Enterprise edition with any value, Basic edition(Allowed values- 1), Essentials, Enterprise with Cloud Services edition.
* client_ip_scanners_requests_rate_limit (dict[str, Any], Optional):
client_ip_scanners_requests_rate_limit. Defaults to None.
* action (dict[str, Any]):
action.
* file (dict[str, Any], Optional):
file. Defaults to None.
* content_type (str):
Mime-type of the content in the file. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* file_content (str):
File content to used in the local HTTP response body. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* file_length (int, Optional):
File content length. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Essentials edition with any value, Basic edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* redirect (dict[str, Any], Optional):
redirect. Defaults to None.
* add_string (str, Optional):
Add a query string to the redirect URI. If keep_query is set, concatenates the add_string to the query of the incoming request. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* host (dict[str, Any], Optional):
host. Defaults to None.
* tokens (List[dict[str, Any]], Optional):
Token config either for the URI components or a constant string. Minimum of 1 items required. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* end_index (int, Optional):
Index of the ending token in the incoming URI. Allowed values are 0-65534. Special values are 65535 - end of string. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* start_index (int, Optional):
Index of the starting token in the incoming URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* str_value (str, Optional):
Constant string to use as a token. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* type (str):
Token type for constructing the URI. Enum options - URI_TOKEN_TYPE_HOST, URI_TOKEN_TYPE_PATH, URI_TOKEN_TYPE_STRING, URI_TOKEN_TYPE_STRING_GROUP, URI_TOKEN_TYPE_REGEX, URI_TOKEN_TYPE_REGEX_QUERY. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
URI param type. Enum options - URI_PARAM_TYPE_TOKENIZED. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* keep_query (bool, Optional):
Keep or drop the query of the incoming request URI in the redirected URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* path (dict[str, Any], Optional):
path. Defaults to None.
* tokens (List[dict[str, Any]], Optional):
Token config either for the URI components or a constant string. Minimum of 1 items required. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* end_index (int, Optional):
Index of the ending token in the incoming URI. Allowed values are 0-65534. Special values are 65535 - end of string. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* start_index (int, Optional):
Index of the starting token in the incoming URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* str_value (str, Optional):
Constant string to use as a token. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* type (str):
Token type for constructing the URI. Enum options - URI_TOKEN_TYPE_HOST, URI_TOKEN_TYPE_PATH, URI_TOKEN_TYPE_STRING, URI_TOKEN_TYPE_STRING_GROUP, URI_TOKEN_TYPE_REGEX, URI_TOKEN_TYPE_REGEX_QUERY. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
URI param type. Enum options - URI_PARAM_TYPE_TOKENIZED. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* port (int, Optional):
Port to which redirect the request. Allowed values are 1-65535. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* protocol (str):
Protocol type. Enum options - HTTP, HTTPS. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* status_code (str, Optional):
HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* status_code (str, Optional):
HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501. Allowed in Enterprise edition with any value, Basic edition(Allowed values- HTTP_LOCAL_RESPONSE_STATUS_CODE_429), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* type (str, Optional):
Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT. Allowed in Enterprise edition with any value, Basic edition(Allowed values- RL_ACTION_NONE,RL_ACTION_DROP_CONN), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* explicit_tracking (bool, Optional):
Explicitly tracks an attacker across rate periods. Allowed in Enterprise edition with any value, Basic edition(Allowed values- false), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* fine_grain (bool, Optional):
Enable fine granularity. Allowed in Enterprise edition with any value, Basic edition(Allowed values- false), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* http_cookie (str, Optional):
HTTP cookie name. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Enterprise with Cloud Services edition. Defaults to None.
* http_header (str, Optional):
HTTP header name. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Enterprise with Cloud Services edition. Defaults to None.
* rate_limiter (dict[str, Any], Optional):
rate_limiter. Defaults to None.
* burst_sz (int, Optional):
Maximum number of connections, requests or packets to be let through instantaneously. If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Basic edition(Allowed values- 0), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* count (int):
Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* name (str, Optional):
Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* period (int):
Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9. Unit is SEC. Allowed in Enterprise edition with any value, Basic edition(Allowed values- 1), Essentials, Enterprise with Cloud Services edition.
* client_ip_to_uri_failed_requests_rate_limit (dict[str, Any], Optional):
client_ip_to_uri_failed_requests_rate_limit. Defaults to None.
* action (dict[str, Any]):
action.
* file (dict[str, Any], Optional):
file. Defaults to None.
* content_type (str):
Mime-type of the content in the file. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* file_content (str):
File content to used in the local HTTP response body. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* file_length (int, Optional):
File content length. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Essentials edition with any value, Basic edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* redirect (dict[str, Any], Optional):
redirect. Defaults to None.
* add_string (str, Optional):
Add a query string to the redirect URI. If keep_query is set, concatenates the add_string to the query of the incoming request. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* host (dict[str, Any], Optional):
host. Defaults to None.
* tokens (List[dict[str, Any]], Optional):
Token config either for the URI components or a constant string. Minimum of 1 items required. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* end_index (int, Optional):
Index of the ending token in the incoming URI. Allowed values are 0-65534. Special values are 65535 - end of string. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* start_index (int, Optional):
Index of the starting token in the incoming URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* str_value (str, Optional):
Constant string to use as a token. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* type (str):
Token type for constructing the URI. Enum options - URI_TOKEN_TYPE_HOST, URI_TOKEN_TYPE_PATH, URI_TOKEN_TYPE_STRING, URI_TOKEN_TYPE_STRING_GROUP, URI_TOKEN_TYPE_REGEX, URI_TOKEN_TYPE_REGEX_QUERY. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
URI param type. Enum options - URI_PARAM_TYPE_TOKENIZED. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* keep_query (bool, Optional):
Keep or drop the query of the incoming request URI in the redirected URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* path (dict[str, Any], Optional):
path. Defaults to None.
* tokens (List[dict[str, Any]], Optional):
Token config either for the URI components or a constant string. Minimum of 1 items required. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* end_index (int, Optional):
Index of the ending token in the incoming URI. Allowed values are 0-65534. Special values are 65535 - end of string. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* start_index (int, Optional):
Index of the starting token in the incoming URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* str_value (str, Optional):
Constant string to use as a token. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* type (str):
Token type for constructing the URI. Enum options - URI_TOKEN_TYPE_HOST, URI_TOKEN_TYPE_PATH, URI_TOKEN_TYPE_STRING, URI_TOKEN_TYPE_STRING_GROUP, URI_TOKEN_TYPE_REGEX, URI_TOKEN_TYPE_REGEX_QUERY. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
URI param type. Enum options - URI_PARAM_TYPE_TOKENIZED. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* port (int, Optional):
Port to which redirect the request. Allowed values are 1-65535. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* protocol (str):
Protocol type. Enum options - HTTP, HTTPS. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* status_code (str, Optional):
HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* status_code (str, Optional):
HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501. Allowed in Enterprise edition with any value, Basic edition(Allowed values- HTTP_LOCAL_RESPONSE_STATUS_CODE_429), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* type (str, Optional):
Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT. Allowed in Enterprise edition with any value, Basic edition(Allowed values- RL_ACTION_NONE,RL_ACTION_DROP_CONN), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* explicit_tracking (bool, Optional):
Explicitly tracks an attacker across rate periods. Allowed in Enterprise edition with any value, Basic edition(Allowed values- false), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* fine_grain (bool, Optional):
Enable fine granularity. Allowed in Enterprise edition with any value, Basic edition(Allowed values- false), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* http_cookie (str, Optional):
HTTP cookie name. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Enterprise with Cloud Services edition. Defaults to None.
* http_header (str, Optional):
HTTP header name. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Enterprise with Cloud Services edition. Defaults to None.
* rate_limiter (dict[str, Any], Optional):
rate_limiter. Defaults to None.
* burst_sz (int, Optional):
Maximum number of connections, requests or packets to be let through instantaneously. If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Basic edition(Allowed values- 0), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* count (int):
Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* name (str, Optional):
Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* period (int):
Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9. Unit is SEC. Allowed in Enterprise edition with any value, Basic edition(Allowed values- 1), Essentials, Enterprise with Cloud Services edition.
* client_ip_to_uri_requests_rate_limit (dict[str, Any], Optional):
client_ip_to_uri_requests_rate_limit. Defaults to None.
* action (dict[str, Any]):
action.
* file (dict[str, Any], Optional):
file. Defaults to None.
* content_type (str):
Mime-type of the content in the file. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* file_content (str):
File content to used in the local HTTP response body. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* file_length (int, Optional):
File content length. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Essentials edition with any value, Basic edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* redirect (dict[str, Any], Optional):
redirect. Defaults to None.
* add_string (str, Optional):
Add a query string to the redirect URI. If keep_query is set, concatenates the add_string to the query of the incoming request. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* host (dict[str, Any], Optional):
host. Defaults to None.
* tokens (List[dict[str, Any]], Optional):
Token config either for the URI components or a constant string. Minimum of 1 items required. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* end_index (int, Optional):
Index of the ending token in the incoming URI. Allowed values are 0-65534. Special values are 65535 - end of string. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* start_index (int, Optional):
Index of the starting token in the incoming URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* str_value (str, Optional):
Constant string to use as a token. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* type (str):
Token type for constructing the URI. Enum options - URI_TOKEN_TYPE_HOST, URI_TOKEN_TYPE_PATH, URI_TOKEN_TYPE_STRING, URI_TOKEN_TYPE_STRING_GROUP, URI_TOKEN_TYPE_REGEX, URI_TOKEN_TYPE_REGEX_QUERY. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
URI param type. Enum options - URI_PARAM_TYPE_TOKENIZED. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* keep_query (bool, Optional):
Keep or drop the query of the incoming request URI in the redirected URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* path (dict[str, Any], Optional):
path. Defaults to None.
* tokens (List[dict[str, Any]], Optional):
Token config either for the URI components or a constant string. Minimum of 1 items required. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* end_index (int, Optional):
Index of the ending token in the incoming URI. Allowed values are 0-65534. Special values are 65535 - end of string. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* start_index (int, Optional):
Index of the starting token in the incoming URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* str_value (str, Optional):
Constant string to use as a token. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* type (str):
Token type for constructing the URI. Enum options - URI_TOKEN_TYPE_HOST, URI_TOKEN_TYPE_PATH, URI_TOKEN_TYPE_STRING, URI_TOKEN_TYPE_STRING_GROUP, URI_TOKEN_TYPE_REGEX, URI_TOKEN_TYPE_REGEX_QUERY. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
URI param type. Enum options - URI_PARAM_TYPE_TOKENIZED. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* port (int, Optional):
Port to which redirect the request. Allowed values are 1-65535. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* protocol (str):
Protocol type. Enum options - HTTP, HTTPS. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* status_code (str, Optional):
HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* status_code (str, Optional):
HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501. Allowed in Enterprise edition with any value, Basic edition(Allowed values- HTTP_LOCAL_RESPONSE_STATUS_CODE_429), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* type (str, Optional):
Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT. Allowed in Enterprise edition with any value, Basic edition(Allowed values- RL_ACTION_NONE,RL_ACTION_DROP_CONN), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* explicit_tracking (bool, Optional):
Explicitly tracks an attacker across rate periods. Allowed in Enterprise edition with any value, Basic edition(Allowed values- false), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* fine_grain (bool, Optional):
Enable fine granularity. Allowed in Enterprise edition with any value, Basic edition(Allowed values- false), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* http_cookie (str, Optional):
HTTP cookie name. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Enterprise with Cloud Services edition. Defaults to None.
* http_header (str, Optional):
HTTP header name. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Enterprise with Cloud Services edition. Defaults to None.
* rate_limiter (dict[str, Any], Optional):
rate_limiter. Defaults to None.
* burst_sz (int, Optional):
Maximum number of connections, requests or packets to be let through instantaneously. If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Basic edition(Allowed values- 0), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* count (int):
Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* name (str, Optional):
Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* period (int):
Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9. Unit is SEC. Allowed in Enterprise edition with any value, Basic edition(Allowed values- 1), Essentials, Enterprise with Cloud Services edition.
* custom_requests_rate_limit (dict[str, Any], Optional):
custom_requests_rate_limit. Defaults to None.
* action (dict[str, Any]):
action.
* file (dict[str, Any], Optional):
file. Defaults to None.
* content_type (str):
Mime-type of the content in the file. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* file_content (str):
File content to used in the local HTTP response body. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* file_length (int, Optional):
File content length. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Essentials edition with any value, Basic edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* redirect (dict[str, Any], Optional):
redirect. Defaults to None.
* add_string (str, Optional):
Add a query string to the redirect URI. If keep_query is set, concatenates the add_string to the query of the incoming request. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* host (dict[str, Any], Optional):
host. Defaults to None.
* tokens (List[dict[str, Any]], Optional):
Token config either for the URI components or a constant string. Minimum of 1 items required. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* end_index (int, Optional):
Index of the ending token in the incoming URI. Allowed values are 0-65534. Special values are 65535 - end of string. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* start_index (int, Optional):
Index of the starting token in the incoming URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* str_value (str, Optional):
Constant string to use as a token. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* type (str):
Token type for constructing the URI. Enum options - URI_TOKEN_TYPE_HOST, URI_TOKEN_TYPE_PATH, URI_TOKEN_TYPE_STRING, URI_TOKEN_TYPE_STRING_GROUP, URI_TOKEN_TYPE_REGEX, URI_TOKEN_TYPE_REGEX_QUERY. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
URI param type. Enum options - URI_PARAM_TYPE_TOKENIZED. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* keep_query (bool, Optional):
Keep or drop the query of the incoming request URI in the redirected URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* path (dict[str, Any], Optional):
path. Defaults to None.
* tokens (List[dict[str, Any]], Optional):
Token config either for the URI components or a constant string. Minimum of 1 items required. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* end_index (int, Optional):
Index of the ending token in the incoming URI. Allowed values are 0-65534. Special values are 65535 - end of string. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* start_index (int, Optional):
Index of the starting token in the incoming URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* str_value (str, Optional):
Constant string to use as a token. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* type (str):
Token type for constructing the URI. Enum options - URI_TOKEN_TYPE_HOST, URI_TOKEN_TYPE_PATH, URI_TOKEN_TYPE_STRING, URI_TOKEN_TYPE_STRING_GROUP, URI_TOKEN_TYPE_REGEX, URI_TOKEN_TYPE_REGEX_QUERY. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
URI param type. Enum options - URI_PARAM_TYPE_TOKENIZED. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* port (int, Optional):
Port to which redirect the request. Allowed values are 1-65535. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* protocol (str):
Protocol type. Enum options - HTTP, HTTPS. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* status_code (str, Optional):
HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* status_code (str, Optional):
HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501. Allowed in Enterprise edition with any value, Basic edition(Allowed values- HTTP_LOCAL_RESPONSE_STATUS_CODE_429), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* type (str, Optional):
Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT. Allowed in Enterprise edition with any value, Basic edition(Allowed values- RL_ACTION_NONE,RL_ACTION_DROP_CONN), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* explicit_tracking (bool, Optional):
Explicitly tracks an attacker across rate periods. Allowed in Enterprise edition with any value, Basic edition(Allowed values- false), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* fine_grain (bool, Optional):
Enable fine granularity. Allowed in Enterprise edition with any value, Basic edition(Allowed values- false), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* http_cookie (str, Optional):
HTTP cookie name. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Enterprise with Cloud Services edition. Defaults to None.
* http_header (str, Optional):
HTTP header name. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Enterprise with Cloud Services edition. Defaults to None.
* rate_limiter (dict[str, Any], Optional):
rate_limiter. Defaults to None.
* burst_sz (int, Optional):
Maximum number of connections, requests or packets to be let through instantaneously. If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Basic edition(Allowed values- 0), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* count (int):
Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* name (str, Optional):
Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* period (int):
Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9. Unit is SEC. Allowed in Enterprise edition with any value, Basic edition(Allowed values- 1), Essentials, Enterprise with Cloud Services edition.
* http_header_rate_limits (List[dict[str, Any]], Optional):
Rate Limit all HTTP requests from all client IP addresses that contain any single HTTP header value. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* action (dict[str, Any]):
action.
* file (dict[str, Any], Optional):
file. Defaults to None.
* content_type (str):
Mime-type of the content in the file. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* file_content (str):
File content to used in the local HTTP response body. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* file_length (int, Optional):
File content length. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Essentials edition with any value, Basic edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* redirect (dict[str, Any], Optional):
redirect. Defaults to None.
* add_string (str, Optional):
Add a query string to the redirect URI. If keep_query is set, concatenates the add_string to the query of the incoming request. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* host (dict[str, Any], Optional):
host. Defaults to None.
* tokens (List[dict[str, Any]], Optional):
Token config either for the URI components or a constant string. Minimum of 1 items required. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* end_index (int, Optional):
Index of the ending token in the incoming URI. Allowed values are 0-65534. Special values are 65535 - end of string. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* start_index (int, Optional):
Index of the starting token in the incoming URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* str_value (str, Optional):
Constant string to use as a token. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* type (str):
Token type for constructing the URI. Enum options - URI_TOKEN_TYPE_HOST, URI_TOKEN_TYPE_PATH, URI_TOKEN_TYPE_STRING, URI_TOKEN_TYPE_STRING_GROUP, URI_TOKEN_TYPE_REGEX, URI_TOKEN_TYPE_REGEX_QUERY. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
URI param type. Enum options - URI_PARAM_TYPE_TOKENIZED. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* keep_query (bool, Optional):
Keep or drop the query of the incoming request URI in the redirected URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* path (dict[str, Any], Optional):
path. Defaults to None.
* tokens (List[dict[str, Any]], Optional):
Token config either for the URI components or a constant string. Minimum of 1 items required. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* end_index (int, Optional):
Index of the ending token in the incoming URI. Allowed values are 0-65534. Special values are 65535 - end of string. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* start_index (int, Optional):
Index of the starting token in the incoming URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* str_value (str, Optional):
Constant string to use as a token. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* type (str):
Token type for constructing the URI. Enum options - URI_TOKEN_TYPE_HOST, URI_TOKEN_TYPE_PATH, URI_TOKEN_TYPE_STRING, URI_TOKEN_TYPE_STRING_GROUP, URI_TOKEN_TYPE_REGEX, URI_TOKEN_TYPE_REGEX_QUERY. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
URI param type. Enum options - URI_PARAM_TYPE_TOKENIZED. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* port (int, Optional):
Port to which redirect the request. Allowed values are 1-65535. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* protocol (str):
Protocol type. Enum options - HTTP, HTTPS. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* status_code (str, Optional):
HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* status_code (str, Optional):
HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501. Allowed in Enterprise edition with any value, Basic edition(Allowed values- HTTP_LOCAL_RESPONSE_STATUS_CODE_429), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* type (str, Optional):
Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT. Allowed in Enterprise edition with any value, Basic edition(Allowed values- RL_ACTION_NONE,RL_ACTION_DROP_CONN), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* explicit_tracking (bool, Optional):
Explicitly tracks an attacker across rate periods. Allowed in Enterprise edition with any value, Basic edition(Allowed values- false), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* fine_grain (bool, Optional):
Enable fine granularity. Allowed in Enterprise edition with any value, Basic edition(Allowed values- false), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* http_cookie (str, Optional):
HTTP cookie name. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Enterprise with Cloud Services edition. Defaults to None.
* http_header (str, Optional):
HTTP header name. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Enterprise with Cloud Services edition. Defaults to None.
* rate_limiter (dict[str, Any], Optional):
rate_limiter. Defaults to None.
* burst_sz (int, Optional):
Maximum number of connections, requests or packets to be let through instantaneously. If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Basic edition(Allowed values- 0), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* count (int):
Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* name (str, Optional):
Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* period (int):
Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9. Unit is SEC. Allowed in Enterprise edition with any value, Basic edition(Allowed values- 1), Essentials, Enterprise with Cloud Services edition.
* uri_failed_requests_rate_limit (dict[str, Any], Optional):
uri_failed_requests_rate_limit. Defaults to None.
* action (dict[str, Any]):
action.
* file (dict[str, Any], Optional):
file. Defaults to None.
* content_type (str):
Mime-type of the content in the file. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* file_content (str):
File content to used in the local HTTP response body. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* file_length (int, Optional):
File content length. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Essentials edition with any value, Basic edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* redirect (dict[str, Any], Optional):
redirect. Defaults to None.
* add_string (str, Optional):
Add a query string to the redirect URI. If keep_query is set, concatenates the add_string to the query of the incoming request. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* host (dict[str, Any], Optional):
host. Defaults to None.
* tokens (List[dict[str, Any]], Optional):
Token config either for the URI components or a constant string. Minimum of 1 items required. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* end_index (int, Optional):
Index of the ending token in the incoming URI. Allowed values are 0-65534. Special values are 65535 - end of string. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* start_index (int, Optional):
Index of the starting token in the incoming URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* str_value (str, Optional):
Constant string to use as a token. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* type (str):
Token type for constructing the URI. Enum options - URI_TOKEN_TYPE_HOST, URI_TOKEN_TYPE_PATH, URI_TOKEN_TYPE_STRING, URI_TOKEN_TYPE_STRING_GROUP, URI_TOKEN_TYPE_REGEX, URI_TOKEN_TYPE_REGEX_QUERY. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
URI param type. Enum options - URI_PARAM_TYPE_TOKENIZED. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* keep_query (bool, Optional):
Keep or drop the query of the incoming request URI in the redirected URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* path (dict[str, Any], Optional):
path. Defaults to None.
* tokens (List[dict[str, Any]], Optional):
Token config either for the URI components or a constant string. Minimum of 1 items required. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* end_index (int, Optional):
Index of the ending token in the incoming URI. Allowed values are 0-65534. Special values are 65535 - end of string. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* start_index (int, Optional):
Index of the starting token in the incoming URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* str_value (str, Optional):
Constant string to use as a token. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* type (str):
Token type for constructing the URI. Enum options - URI_TOKEN_TYPE_HOST, URI_TOKEN_TYPE_PATH, URI_TOKEN_TYPE_STRING, URI_TOKEN_TYPE_STRING_GROUP, URI_TOKEN_TYPE_REGEX, URI_TOKEN_TYPE_REGEX_QUERY. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
URI param type. Enum options - URI_PARAM_TYPE_TOKENIZED. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* port (int, Optional):
Port to which redirect the request. Allowed values are 1-65535. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* protocol (str):
Protocol type. Enum options - HTTP, HTTPS. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* status_code (str, Optional):
HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* status_code (str, Optional):
HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501. Allowed in Enterprise edition with any value, Basic edition(Allowed values- HTTP_LOCAL_RESPONSE_STATUS_CODE_429), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* type (str, Optional):
Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT. Allowed in Enterprise edition with any value, Basic edition(Allowed values- RL_ACTION_NONE,RL_ACTION_DROP_CONN), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* explicit_tracking (bool, Optional):
Explicitly tracks an attacker across rate periods. Allowed in Enterprise edition with any value, Basic edition(Allowed values- false), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* fine_grain (bool, Optional):
Enable fine granularity. Allowed in Enterprise edition with any value, Basic edition(Allowed values- false), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* http_cookie (str, Optional):
HTTP cookie name. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Enterprise with Cloud Services edition. Defaults to None.
* http_header (str, Optional):
HTTP header name. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Enterprise with Cloud Services edition. Defaults to None.
* rate_limiter (dict[str, Any], Optional):
rate_limiter. Defaults to None.
* burst_sz (int, Optional):
Maximum number of connections, requests or packets to be let through instantaneously. If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Basic edition(Allowed values- 0), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* count (int):
Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* name (str, Optional):
Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* period (int):
Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9. Unit is SEC. Allowed in Enterprise edition with any value, Basic edition(Allowed values- 1), Essentials, Enterprise with Cloud Services edition.
* uri_requests_rate_limit (dict[str, Any], Optional):
uri_requests_rate_limit. Defaults to None.
* action (dict[str, Any]):
action.
* file (dict[str, Any], Optional):
file. Defaults to None.
* content_type (str):
Mime-type of the content in the file. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* file_content (str):
File content to used in the local HTTP response body. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* file_length (int, Optional):
File content length. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Essentials edition with any value, Basic edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* redirect (dict[str, Any], Optional):
redirect. Defaults to None.
* add_string (str, Optional):
Add a query string to the redirect URI. If keep_query is set, concatenates the add_string to the query of the incoming request. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* host (dict[str, Any], Optional):
host. Defaults to None.
* tokens (List[dict[str, Any]], Optional):
Token config either for the URI components or a constant string. Minimum of 1 items required. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* end_index (int, Optional):
Index of the ending token in the incoming URI. Allowed values are 0-65534. Special values are 65535 - end of string. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* start_index (int, Optional):
Index of the starting token in the incoming URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* str_value (str, Optional):
Constant string to use as a token. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* type (str):
Token type for constructing the URI. Enum options - URI_TOKEN_TYPE_HOST, URI_TOKEN_TYPE_PATH, URI_TOKEN_TYPE_STRING, URI_TOKEN_TYPE_STRING_GROUP, URI_TOKEN_TYPE_REGEX, URI_TOKEN_TYPE_REGEX_QUERY. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
URI param type. Enum options - URI_PARAM_TYPE_TOKENIZED. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* keep_query (bool, Optional):
Keep or drop the query of the incoming request URI in the redirected URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* path (dict[str, Any], Optional):
path. Defaults to None.
* tokens (List[dict[str, Any]], Optional):
Token config either for the URI components or a constant string. Minimum of 1 items required. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* end_index (int, Optional):
Index of the ending token in the incoming URI. Allowed values are 0-65534. Special values are 65535 - end of string. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* start_index (int, Optional):
Index of the starting token in the incoming URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* str_value (str, Optional):
Constant string to use as a token. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* type (str):
Token type for constructing the URI. Enum options - URI_TOKEN_TYPE_HOST, URI_TOKEN_TYPE_PATH, URI_TOKEN_TYPE_STRING, URI_TOKEN_TYPE_STRING_GROUP, URI_TOKEN_TYPE_REGEX, URI_TOKEN_TYPE_REGEX_QUERY. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
URI param type. Enum options - URI_PARAM_TYPE_TOKENIZED. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* port (int, Optional):
Port to which redirect the request. Allowed values are 1-65535. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* protocol (str):
Protocol type. Enum options - HTTP, HTTPS. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* status_code (str, Optional):
HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* status_code (str, Optional):
HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501. Allowed in Enterprise edition with any value, Basic edition(Allowed values- HTTP_LOCAL_RESPONSE_STATUS_CODE_429), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* type (str, Optional):
Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT. Allowed in Enterprise edition with any value, Basic edition(Allowed values- RL_ACTION_NONE,RL_ACTION_DROP_CONN), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* explicit_tracking (bool, Optional):
Explicitly tracks an attacker across rate periods. Allowed in Enterprise edition with any value, Basic edition(Allowed values- false), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* fine_grain (bool, Optional):
Enable fine granularity. Allowed in Enterprise edition with any value, Basic edition(Allowed values- false), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* http_cookie (str, Optional):
HTTP cookie name. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Enterprise with Cloud Services edition. Defaults to None.
* http_header (str, Optional):
HTTP header name. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Enterprise with Cloud Services edition. Defaults to None.
* rate_limiter (dict[str, Any], Optional):
rate_limiter. Defaults to None.
* burst_sz (int, Optional):
Maximum number of connections, requests or packets to be let through instantaneously. If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Basic edition(Allowed values- 0), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* count (int):
Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* name (str, Optional):
Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* period (int):
Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9. Unit is SEC. Allowed in Enterprise edition with any value, Basic edition(Allowed values- 1), Essentials, Enterprise with Cloud Services edition.
* uri_scanners_requests_rate_limit (dict[str, Any], Optional):
uri_scanners_requests_rate_limit. Defaults to None.
* action (dict[str, Any]):
action.
* file (dict[str, Any], Optional):
file. Defaults to None.
* content_type (str):
Mime-type of the content in the file. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* file_content (str):
File content to used in the local HTTP response body. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* file_length (int, Optional):
File content length. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Essentials edition with any value, Basic edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* redirect (dict[str, Any], Optional):
redirect. Defaults to None.
* add_string (str, Optional):
Add a query string to the redirect URI. If keep_query is set, concatenates the add_string to the query of the incoming request. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* host (dict[str, Any], Optional):
host. Defaults to None.
* tokens (List[dict[str, Any]], Optional):
Token config either for the URI components or a constant string. Minimum of 1 items required. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* end_index (int, Optional):
Index of the ending token in the incoming URI. Allowed values are 0-65534. Special values are 65535 - end of string. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* start_index (int, Optional):
Index of the starting token in the incoming URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* str_value (str, Optional):
Constant string to use as a token. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* type (str):
Token type for constructing the URI. Enum options - URI_TOKEN_TYPE_HOST, URI_TOKEN_TYPE_PATH, URI_TOKEN_TYPE_STRING, URI_TOKEN_TYPE_STRING_GROUP, URI_TOKEN_TYPE_REGEX, URI_TOKEN_TYPE_REGEX_QUERY. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
URI param type. Enum options - URI_PARAM_TYPE_TOKENIZED. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* keep_query (bool, Optional):
Keep or drop the query of the incoming request URI in the redirected URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* path (dict[str, Any], Optional):
path. Defaults to None.
* tokens (List[dict[str, Any]], Optional):
Token config either for the URI components or a constant string. Minimum of 1 items required. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* end_index (int, Optional):
Index of the ending token in the incoming URI. Allowed values are 0-65534. Special values are 65535 - end of string. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* start_index (int, Optional):
Index of the starting token in the incoming URI. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* str_value (str, Optional):
Constant string to use as a token. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* type (str):
Token type for constructing the URI. Enum options - URI_TOKEN_TYPE_HOST, URI_TOKEN_TYPE_PATH, URI_TOKEN_TYPE_STRING, URI_TOKEN_TYPE_STRING_GROUP, URI_TOKEN_TYPE_REGEX, URI_TOKEN_TYPE_REGEX_QUERY. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
URI param type. Enum options - URI_PARAM_TYPE_TOKENIZED. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* port (int, Optional):
Port to which redirect the request. Allowed values are 1-65535. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* protocol (str):
Protocol type. Enum options - HTTP, HTTPS. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* status_code (str, Optional):
HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* status_code (str, Optional):
HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501. Allowed in Enterprise edition with any value, Basic edition(Allowed values- HTTP_LOCAL_RESPONSE_STATUS_CODE_429), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* type (str, Optional):
Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT. Allowed in Enterprise edition with any value, Basic edition(Allowed values- RL_ACTION_NONE,RL_ACTION_DROP_CONN), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* explicit_tracking (bool, Optional):
Explicitly tracks an attacker across rate periods. Allowed in Enterprise edition with any value, Basic edition(Allowed values- false), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* fine_grain (bool, Optional):
Enable fine granularity. Allowed in Enterprise edition with any value, Basic edition(Allowed values- false), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* http_cookie (str, Optional):
HTTP cookie name. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Enterprise with Cloud Services edition. Defaults to None.
* http_header (str, Optional):
HTTP header name. Field introduced in 17.1.1. Allowed in Enterprise edition with any value, Essentials, Enterprise with Cloud Services edition. Defaults to None.
* rate_limiter (dict[str, Any], Optional):
rate_limiter. Defaults to None.
* burst_sz (int, Optional):
Maximum number of connections, requests or packets to be let through instantaneously. If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Basic edition(Allowed values- 0), Essentials, Enterprise with Cloud Services edition. Defaults to None.
* count (int):
Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* name (str, Optional):
Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* period (int):
Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9. Unit is SEC. Allowed in Enterprise edition with any value, Basic edition(Allowed values- 1), Essentials, Enterprise with Cloud Services edition.
http_profile(dict[str, Any], Optional):
http_profile. Defaults to None.
* allow_dots_in_header_name (bool, Optional):
Allow use of dot (.) in HTTP header names, for instance Header.app.special PickAppVersionX. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- false), Basic edition(Allowed values- false), Enterprise with Cloud Services edition. Defaults to None.
* cache_config (dict[str, Any], Optional):
cache_config. Defaults to None.
* age_header (bool, Optional):
Add an Age header to content served from cache, which indicates to the client the number of seconds the object has been in the cache. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* aggressive (bool, Optional):
Enable/disable caching objects without Cache-Control headers. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* date_header (bool, Optional):
If a Date header was not added by the server, add a Date header to the object served from cache. This indicates to the client when the object was originally sent by the server to the cache. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* default_expire (int, Optional):
Default expiration time of cache objects received from the server without a Cache-Control expiration header. This value may be overwritten by the Heuristic Expire setting. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* enabled (bool, Optional):
Enable/disable HTTP object caching.When enabling caching for the first time, SE Group app_cache_percent must be set to allocate shared memory required for caching (A service engine restart is needed after setting/resetting the SE group value). Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* heuristic_expire (bool, Optional):
If a response object from the server does not include the Cache-Control header, but does include a Last-Modified header, the system will use this time to calculate the Cache-Control expiration. If unable to solicit an Last-Modified header, then the system will fall back to the Cache Expire Time value. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* ignore_request_cache_control (bool, Optional):
Ignore client's cache control headers when fetching or storing from and to the cache. Field introduced in 18.1.2. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* max_cache_size (int, Optional):
Max size, in bytes, of the cache. The default, zero, indicates auto configuration. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* max_object_size (int, Optional):
Maximum size of an object to store in the cache. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* mime_types_block_group_refs (List[str], Optional):
Blocklist string group of non-cacheable mime types. It is a reference to an object of type StringGroup. Field introduced in 20.1.3. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* mime_types_block_lists (List[str], Optional):
Blocklist of non-cacheable mime types. Field introduced in 20.1.3. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* mime_types_group_refs (List[str], Optional):
Allowlist string group of cacheable mime types. If both Cacheable Mime Types string list and string group are empty, this defaults to */*. It is a reference to an object of type StringGroup. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* mime_types_list (List[str], Optional):
Allowlist of cacheable mime types. If both Cacheable Mime Types string list and string group are empty, this defaults to */*. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* min_object_size (int, Optional):
Minimum size of an object to store in the cache. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* query_cacheable (bool, Optional):
Allow caching of objects whose URI included a query argument. When disabled, these objects are not cached. When enabled, the request must match the URI query to be considered a hit. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* uri_non_cacheable (dict[str, Any], Optional):
uri_non_cacheable. Defaults to None.
* match_case (str, Optional):
Case sensitivity to use for the matching. Enum options - SENSITIVE, INSENSITIVE. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* match_criteria (str):
Criterion to use for matching the path in the HTTP request URI. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- BEGINS_WITH,DOES_NOT_BEGIN_WITH,CONTAINS,DOES_NOT_CONTAIN,ENDS_WITH,DOES_NOT_END_WITH,EQUALS,DOES_NOT_EQUAL), Basic edition(Allowed values- BEGINS_WITH,DOES_NOT_BEGIN_WITH,CONTAINS,DOES_NOT_CONTAIN,ENDS_WITH,DOES_NOT_END_WITH,EQUALS,DOES_NOT_EQUAL), Enterprise with Cloud Services edition.
* match_decoded_string (bool, Optional):
Match against the decoded URI path. Field introduced in 22.1.3. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* match_str (List[str], Optional):
String values. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* string_group_refs (List[str], Optional):
UUID of the string group(s). It is a reference to an object of type StringGroup. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* xcache_header (bool, Optional):
Add an X-Cache header to content served from cache, which indicates to the client that the object was served from an intermediate cache. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* client_body_timeout (int, Optional):
The maximum length of time allowed between consecutive read operations for a client request body. The value '0' specifies no timeout. This setting generally impacts the length of time allowed for a client to send a POST. Allowed values are 0-100000000. Unit is MILLISECONDS. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- 30000), Basic edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* client_header_timeout (int, Optional):
The maximum length of time allowed for a client to transmit an entire request header. This helps mitigate various forms of SlowLoris attacks. Allowed values are 10-100000000. Unit is MILLISECONDS. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- 10000), Basic edition(Allowed values- 10000), Enterprise with Cloud Services edition. Defaults to None.
* client_max_body_size (int, Optional):
Maximum size for the client request body. This limits the size of the client data that can be uploaded/posted as part of a single HTTP Request. Default 0 => Unlimited. Unit is KB. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* client_max_header_size (int, Optional):
Maximum size in Kbytes of a single HTTP header in the client request. Allowed values are 1-64. Unit is KB. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- 12), Basic, Enterprise with Cloud Services edition. Defaults to None.
* client_max_request_size (int, Optional):
Maximum size in Kbytes of all the client HTTP request headers.This value can be overriden by client_max_header_size if that is larger. Allowed values are 1-256. Unit is KB. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* collect_client_tls_fingerprint (bool, Optional):
If enabled, the client's TLS fingerprint will be collected and included in the Application Log. For Virtual Services with Bot Detection enabled, TLS fingerprints are always computed if 'use_tls_fingerprint' is enabled in the Bot Detection Policy's User-Agent detection component. Field introduced in 22.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* compression_profile (dict[str, Any], Optional):
compression_profile. Defaults to None.
* buf_num (int, Optional):
Number of buffers to use for compression output. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* buf_size (int, Optional):
Size of each buffer used for compression output, this should ideally be a multiple of pagesize. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* compressible_content_ref (str, Optional):
Compress only content types listed in this string group. Content types not present in this list are not compressed. It is a reference to an object of type StringGroup. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* compression (bool):
Compress HTTP response content if it wasn't already compressed. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* filter (List[dict[str, Any]], Optional):
Custom filters used when auto compression is not selected. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* devices_ref (str, Optional):
It is a reference to an object of type StringGroup. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* index (int):
Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* ip_addr_prefixes (List[dict[str, Any]], Optional):
Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* ip_addr (dict[str, Any]):
ip_addr.
* addr (str):
IP address. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
Enum options - V4, DNS, V6. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* mask (int):
Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* ip_addr_ranges (List[dict[str, Any]], Optional):
Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* begin (dict[str, Any]):
begin.
* addr (str):
IP address. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
Enum options - V4, DNS, V6. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* end (dict[str, Any]):
end.
* addr (str):
IP address. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
Enum options - V4, DNS, V6. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* ip_addrs (List[dict[str, Any]], Optional):
Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* addr (str):
IP address. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
Enum options - V4, DNS, V6. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* ip_addrs_ref (str, Optional):
It is a reference to an object of type IpAddrGroup. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* level (str):
Enum options - AGGRESSIVE_COMPRESSION, NORMAL_COMPRESSION, NO_COMPRESSION. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* match (str, Optional):
Whether to apply Filter when group criteria is matched or not. Enum options - IS_IN, IS_NOT_IN. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* name (str):
Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* user_agent (List[str], Optional):
Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* hash_size (int, Optional):
hash size used by compression, rounded to the last power of 2. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* level_aggressive (int, Optional):
Level of compression to apply on content selected for aggressive compression. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* level_normal (int, Optional):
Level of compression to apply on content selected for normal compression. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* max_low_rtt (int, Optional):
If client RTT is higher than this threshold, enable normal compression on the response. Field introduced in 21.1.1. Unit is MILLISECONDS. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* min_high_rtt (int, Optional):
If client RTT is higher than this threshold, enable aggressive compression on the response. . Field introduced in 21.1.1. Unit is MILLISECONDS. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* min_length (int, Optional):
Minimum response content length to enable compression. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* mobile_str_ref (str, Optional):
Values that identify mobile browsers in order to enable aggressive compression. It is a reference to an object of type StringGroup. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* remove_accept_encoding_header (bool):
Offload compression from the servers to AVI. Saves compute cycles on the servers. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* type (str):
Compress content automatically or add custom filters to define compressible content and compression levels. Enum options - AUTO_COMPRESSION, CUSTOM_COMPRESSION. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition.
* window_size (int, Optional):
window size used by compression, rounded to the last power of 2. Field introduced in 21.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* connection_multiplexing_enabled (bool, Optional):
Allows HTTP requests, not just TCP connections, to be load balanced across servers. Proxied TCP connections to servers may be reused by multiple clients to improve performance. Not compatible with Preserve Client IP. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* detect_ntlm_app (bool, Optional):
Detect NTLM apps based on the HTTP Response from the server. Once detected, connection multiplexing will be disabled for that connection. Field introduced in 20.1.3. Allowed in Enterprise edition with any value, Basic edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* disable_keepalive_posts_msie6 (bool, Optional):
Disable keep-alive client side connections for older browsers based off MS Internet Explorer 6.0 (MSIE6). For some applications, this might break NTLM authentication for older clients based off MSIE6. For such applications, set this option to false to allow keep-alive connections. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- true), Basic edition(Allowed values- true), Enterprise with Cloud Services edition. Defaults to None.
* disable_sni_hostname_check (bool, Optional):
Disable strict check between TLS servername and HTTP Host name. Field introduced in 18.2.5. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* enable_chunk_merge (bool, Optional):
Enable chunk body merge for chunked transfer encoding response. Field introduced in 18.2.7. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* enable_fire_and_forget (bool, Optional):
Enable support for fire and forget feature. If enabled, request from client is forwarded to server even if client prematurely closes the connection. Field introduced in 17.2.4. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- false), Basic edition(Allowed values- false), Enterprise with Cloud Services edition. Defaults to None.
* enable_request_body_buffering (bool, Optional):
Enable request body buffering for POST requests. If enabled, max buffer size is set to lower of 32M or the value (non-zero) configured in client_max_body_size. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* enable_request_body_metrics (bool, Optional):
Enable HTTP request body metrics. If enabled, requests from clients are parsed and relevant statistics about them are gathered. Currently, it processes HTTP POST requests with Content-Type application/x-www-form-urlencoded or multipart/form-data, and adds the number of detected parameters to the l7_client.http_params_count. This is an experimental feature and it may have performance impact. Use it when detailed information about the number of HTTP POST parameters is needed, e.g. for WAF sizing. Field introduced in 18.1.5, 18.2.1. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- false), Basic edition(Allowed values- false), Enterprise with Cloud Services edition. Defaults to None.
* fwd_close_hdr_for_bound_connections (bool, Optional):
Forward the Connection Close header coming from backend server to the client if connection-switching is enabled, i.e. front-end and backend connections are bound together. Field introduced in 18.2.3. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* hsts_enabled (bool, Optional):
Inserts HTTP Strict-Transport-Security header in the HTTPS response. HSTS can help mitigate man-in-the-middle attacks by telling browsers that support HSTS that they should only access this site via HTTPS. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- false), Basic edition(Allowed values- false), Enterprise with Cloud Services edition. Defaults to None.
* hsts_max_age (int, Optional):
Number of days for which the client should regard this virtual service as a known HSTS host. Allowed values are 0-10000. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- 365), Basic edition(Allowed values- 365), Enterprise with Cloud Services edition. Defaults to None.
* hsts_subdomains_enabled (bool, Optional):
Insert the 'includeSubdomains' directive in the HTTP Strict-Transport-Security header. Adding the includeSubdomains directive signals the User-Agent that the HSTS Policy applies to this HSTS Host as well as any subdomains of the host's domain name. Field introduced in 17.2.13, 18.1.4, 18.2.1. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- false), Basic edition(Allowed values- false), Enterprise with Cloud Services edition. Special default for Essentials edition is false, Basic edition is false, Enterprise is True. Defaults to None.
* http2_profile (dict[str, Any], Optional):
http2_profile. Defaults to None.
* enable_http2_server_push (bool, Optional):
Enables automatic conversion of preload links specified in the 'Link' response header fields into Server push requests. Field introduced in 22.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* http2_initial_window_size (int, Optional):
The initial flow control window size in KB for HTTP/2 streams. Allowed values are 64-32768. Field introduced in 18.2.10, 20.1.1. Unit is KB. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* max_http2_concurrent_pushes_per_connection (int, Optional):
Maximum number of concurrent push streams over a client side HTTP/2 connection. Allowed values are 1-256. Field introduced in 22.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* max_http2_concurrent_streams_per_connection (int, Optional):
Maximum number of concurrent streams over a client side HTTP/2 connection. Allowed values are 1-256. Field introduced in 18.2.10, 20.1.1. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* max_http2_control_frames_per_connection (int, Optional):
Maximum number of control frames that client can send over an HTTP/2 connection. '0' means unlimited. Allowed values are 0-10000. Special values are 0- Unlimited control frames on a client side HTTP/2 connection. Field introduced in 18.2.10, 20.1.1. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* max_http2_empty_data_frames_per_connection (int, Optional):
Maximum number of empty data frames that client can send over an HTTP/2 connection. '0' means unlimited. Allowed values are 0-10000. Special values are 0- Unlimited empty data frames over a client side HTTP/2 connection. Field introduced in 18.2.10, 20.1.1. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* max_http2_header_field_size (int, Optional):
Maximum size in bytes of the compressed request header field. The limit applies equally to both name and value. Allowed values are 1-8192. Field introduced in 18.2.10, 20.1.1. Unit is BYTES. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* max_http2_queued_frames_to_client_per_connection (int, Optional):
Maximum number of frames that can be queued waiting to be sent over a client side HTTP/2 connection at any given time. '0' means unlimited. Allowed values are 0-10000. Special values are 0- Unlimited frames can be queued on a client side HTTP/2 connection. Field introduced in 18.2.10, 20.1.1. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* max_http2_requests_per_connection (int, Optional):
Maximum number of requests over a client side HTTP/2 connection. Allowed values are 0-10000. Special values are 0- Unlimited requests on a client side HTTP/2 connection. Field introduced in 18.2.10, 20.1.1. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* http_to_https (bool, Optional):
Client requests received via HTTP will be redirected to HTTPS. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- false), Basic, Enterprise with Cloud Services edition. Defaults to None.
* http_upstream_buffer_size (int, Optional):
Size of HTTP buffer in kB. Allowed values are 1-256. Special values are 0- Auto compute the size of buffer. Field introduced in 20.1.1. Unit is KB. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- 0), Basic edition(Allowed values- 0), Enterprise with Cloud Services edition. Defaults to None.
* httponly_enabled (bool, Optional):
Mark HTTP cookies as HTTPonly. This helps mitigate cross site scripting attacks as browsers will not allow these cookies to be read by third parties, such as javascript. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- false), Basic edition(Allowed values- false), Enterprise with Cloud Services edition. Defaults to None.
* keepalive_header (bool, Optional):
Send HTTP 'Keep-Alive' header to the client. By default, the timeout specified in the 'Keep-Alive Timeout' field will be used unless the 'Use App Keepalive Timeout' flag is set, in which case the timeout sent by the application will be honored. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* keepalive_timeout (int, Optional):
The max idle time allowed between HTTP requests over a Keep-alive connection. Allowed values are 10-100000000. Unit is MILLISECONDS. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- 30000), Basic, Enterprise with Cloud Services edition. Defaults to None.
* max_bad_rps_cip (int, Optional):
Maximum bad requests per second per client IP. Allowed values are 10-1000. Special values are 0- unlimited. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* max_bad_rps_cip_uri (int, Optional):
Maximum bad requests per second per client IP and URI. Allowed values are 10-1000. Special values are 0- unlimited. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* max_bad_rps_uri (int, Optional):
Maximum bad requests per second per URI. Allowed values are 10-1000. Special values are 0- unlimited. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* max_header_count (int, Optional):
Maximum number of headers allowed in HTTP request and response. Allowed values are 0-4096. Special values are 0- unlimited headers in request and response. Field introduced in 22.1.1. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- 0), Basic edition(Allowed values- 0), Enterprise with Cloud Services edition. Special default for Essentials edition is 0, Basic edition is 0, Enterprise is 256. Defaults to None.
* max_keepalive_requests (int, Optional):
The max number of HTTP requests that can be sent over a Keep-Alive connection. '0' means unlimited. Allowed values are 0-1000000. Special values are 0- Unlimited requests on a connection. Field introduced in 18.2.5. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- 100), Basic edition(Allowed values- 100), Enterprise with Cloud Services edition. Defaults to None.
* max_response_headers_size (int, Optional):
Maximum size in Kbytes of all the HTTP response headers. Allowed values are 1-256. Unit is KB. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- 48), Basic, Enterprise with Cloud Services edition. Defaults to None.
* max_rps_cip (int, Optional):
Maximum requests per second per client IP. Allowed values are 10-1000. Special values are 0- unlimited. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* max_rps_cip_uri (int, Optional):
Maximum requests per second per client IP and URI. Allowed values are 10-1000. Special values are 0- unlimited. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* max_rps_unknown_cip (int, Optional):
Maximum unknown client IPs per second. Allowed values are 10-1000. Special values are 0- unlimited. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* max_rps_unknown_uri (int, Optional):
Maximum unknown URIs per second. Allowed values are 10-1000. Special values are 0- unlimited. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* max_rps_uri (int, Optional):
Maximum requests per second per URI. Allowed values are 10-1000. Special values are 0- unlimited. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* pass_through_x_accel_headers (bool, Optional):
Pass through X-ACCEL headers. Field introduced in 21.1.3. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* pki_profile_ref (str, Optional):
Select the PKI profile to be associated with the Virtual Service. This profile defines the Certificate Authority and Revocation List. It is a reference to an object of type PKIProfile. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* post_accept_timeout (int, Optional):
The max allowed length of time between a client establishing a TCP connection and Avi receives the first byte of the client's HTTP request. Allowed values are 10-100000000. Unit is MILLISECONDS. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- 30000), Basic edition(Allowed values- 30000), Enterprise with Cloud Services edition. Defaults to None.
* reset_conn_http_on_ssl_port (bool, Optional):
If enabled, an HTTP request on an SSL port will result in connection close instead of a 400 response. Field introduced in 18.2.6. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- false), Basic edition(Allowed values- false), Enterprise with Cloud Services edition. Defaults to None.
* respond_with_100_continue (bool, Optional):
Avi will respond with 100-Continue response if Expect 100-Continue header received from client. Field introduced in 17.2.8. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* secure_cookie_enabled (bool, Optional):
Mark server cookies with the 'Secure' attribute. Client browsers will not send a cookie marked as secure over an unencrypted connection. If Avi is terminating SSL from clients and passing it as HTTP to the server, the server may return cookies without the secure flag set. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- false), Basic edition(Allowed values- false), Enterprise with Cloud Services edition. Defaults to None.
* server_side_redirect_to_https (bool, Optional):
When terminating client SSL sessions at Avi, servers may incorrectly send redirect to clients as HTTP. This option will rewrite the server's redirect responses for this virtual service from HTTP to HTTPS. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- false), Basic edition(Allowed values- false), Enterprise with Cloud Services edition. Defaults to None.
* ssl_client_certificate_action (dict[str, Any], Optional):
ssl_client_certificate_action. Defaults to None.
* close_connection (bool, Optional):
Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* headers (List[dict[str, Any]], Optional):
Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* request_header (str, Optional):
If this header exists, reset the connection. If the ssl variable is specified, add a header with this value. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* request_header_value (str, Optional):
Set the request header with the value as indicated by this SSL variable. Eg. send the whole certificate in PEM format. Enum options - HTTP_POLICY_VAR_CLIENT_IP, HTTP_POLICY_VAR_VS_PORT, HTTP_POLICY_VAR_VS_IP, HTTP_POLICY_VAR_HTTP_HDR, HTTP_POLICY_VAR_SSL_CLIENT_FINGERPRINT, HTTP_POLICY_VAR_SSL_CLIENT_SERIAL, HTTP_POLICY_VAR_SSL_CLIENT_ISSUER, HTTP_POLICY_VAR_SSL_CLIENT_SUBJECT, HTTP_POLICY_VAR_SSL_CLIENT_RAW, HTTP_POLICY_VAR_SSL_PROTOCOL, HTTP_POLICY_VAR_SSL_SERVER_NAME, HTTP_POLICY_VAR_USER_NAME, HTTP_POLICY_VAR_SSL_CIPHER, HTTP_POLICY_VAR_REQUEST_ID, HTTP_POLICY_VAR_SSL_CLIENT_VERSION, HTTP_POLICY_VAR_SSL_CLIENT_SIGALG, HTTP_POLICY_VAR_SSL_CLIENT_NOTVALIDBEFORE, HTTP_POLICY_VAR_SSL_CLIENT_NOTVALIDAFTER, HTTP_POLICY_VAR_SSL_CLIENT_ESCAPED, HTTP_POLICY_VAR_SOURCE_IP. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* ssl_client_certificate_mode (str, Optional):
Specifies whether the client side verification is set to none, request or require. Enum options - SSL_CLIENT_CERTIFICATE_NONE, SSL_CLIENT_CERTIFICATE_REQUEST, SSL_CLIENT_CERTIFICATE_REQUIRE. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- SSL_CLIENT_CERTIFICATE_NONE,SSL_CLIENT_CERTIFICATE_REQUIRE), Basic edition(Allowed values- SSL_CLIENT_CERTIFICATE_NONE,SSL_CLIENT_CERTIFICATE_REQUIRE), Enterprise with Cloud Services edition. Defaults to None.
* true_client_ip (dict[str, Any], Optional):
true_client_ip. Defaults to None.
* direction (str, Optional):
Denotes the end from which to count the IPs in the specified header value. Enum options - LEFT, RIGHT. Field introduced in 21.1.3. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* headers (List[str], Optional):
Headers to derive client IP from. The header value needs to be a comma-separated list of IP addresses. If none specified and use_true_client_ip is set to true, it will use X-Forwarded-For header, if present. Field introduced in 21.1.3. Maximum of 1 items allowed. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* index_in_header (int, Optional):
Position in the configured direction, in the specified header's value, to be used to set true client IP. If the value is greater than the number of IP addresses in the header, then the last IP address in the configured direction in the header will be used. Allowed values are 1-1000. Field introduced in 21.1.3. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* use_app_keepalive_timeout (bool, Optional):
Use 'Keep-Alive' header timeout sent by application instead of sending the HTTP Keep-Alive Timeout. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- false), Basic edition(Allowed values- false), Enterprise with Cloud Services edition. Defaults to None.
* use_true_client_ip (bool, Optional):
Detect client IP from user specified header. Field introduced in 21.1.3. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* websockets_enabled (bool, Optional):
Enable Websockets proxy for traffic from clients to the virtual service. Connections to this VS start in HTTP mode. If the client requests an Upgrade to Websockets, and the server responds back with success, then the connection is upgraded to WebSockets mode. . Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* x_forwarded_proto_enabled (bool, Optional):
Insert an X-Forwarded-Proto header in the request sent to the server. When the client connects via SSL, Avi terminates the SSL, and then forwards the requests to the servers via HTTP, so the servers can determine the original protocol via this header. In this example, the value will be 'https'. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- false), Basic edition(Allowed values- false), Enterprise with Cloud Services edition. Defaults to None.
* xff_alternate_name (str, Optional):
Provide a custom name for the X-Forwarded-For header sent to the servers. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* xff_enabled (bool, Optional):
The client's original IP address is inserted into an HTTP request header sent to the server. Servers may use this address for logging or other purposes, rather than Avi's source NAT address used in the Avi to server IP connection. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
* xff_update (str, Optional):
Configure how incoming X-Forwarded-For headers from the client are handled. Enum options - REPLACE_XFF_HEADERS, APPEND_TO_THE_XFF_HEADER, ADD_NEW_XFF_HEADER. Field introduced in 22.1.3. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
l4_ssl_profile(dict[str, Any], Optional):
l4_ssl_profile. Defaults to None.
* ssl_stream_idle_timeout (int, Optional):
L4 stream idle connection timeout in seconds. Allowed values are 60-86400. Field introduced in 22.1.2. Unit is SEC. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
markers(List[dict[str, Any]], Optional):
List of labels to be used for granular RBAC. Field introduced in 20.1.5. Allowed in Enterprise edition with any value, Essentials edition with any value, Basic edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* key (str):
Key for filter match. Field introduced in 20.1.3. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition.
* values (List[str], Optional):
Values for filter match. Multiple values will be evaluated as OR. Example key = value1 OR key = value2. Behavior for match is key = * if this field is empty. Field introduced in 20.1.3. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
preserve_client_ip(bool, Optional):
Specifies if client IP needs to be preserved for backend connection. Not compatible with Connection Multiplexing. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
preserve_client_port(bool, Optional):
Specifies if we need to preserve client port while preserving client IP for backend connections. Field introduced in 17.2.7. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
preserve_dest_ip_port(bool, Optional):
Specifies if destination IP and port needs to be preserved for backend connection. Field introduced in 20.1.1. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- false), Basic edition(Allowed values- false), Enterprise with Cloud Services edition. Defaults to None.
sip_service_profile(dict[str, Any], Optional):
sip_service_profile. Defaults to None.
* transaction_timeout (int, Optional):
SIP transaction timeout in seconds. Allowed values are 2-512. Field introduced in 17.2.8, 18.1.3, 18.2.1. Unit is SEC. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
tcp_app_profile(dict[str, Any], Optional):
tcp_app_profile. Defaults to None.
* ftp_profile (dict[str, Any], Optional):
ftp_profile. Defaults to None.
* deactivate_active (bool, Optional):
Deactivate active FTP mode. Field introduced in 22.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* deactivate_passive (bool, Optional):
Deactivate passive FTP mode. Field introduced in 22.1.1. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* pki_profile_ref (str, Optional):
Select the PKI profile to be associated with the Virtual Service. This profile defines the Certificate Authority and Revocation List. It is a reference to an object of type PKIProfile. Field introduced in 18.2.3. Allowed in Enterprise edition with any value, Enterprise with Cloud Services edition. Defaults to None.
* proxy_protocol_enabled (bool, Optional):
Enable/Disable the usage of proxy protocol to convey client connection information to the back-end servers. Valid only for L4 application profiles and TCP proxy. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- false), Basic edition(Allowed values- false), Enterprise with Cloud Services edition. Defaults to None.
* proxy_protocol_version (str, Optional):
Version of proxy protocol to be used to convey client connection information to the back-end servers. Enum options - PROXY_PROTOCOL_VERSION_1, PROXY_PROTOCOL_VERSION_2. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- PROXY_PROTOCOL_VERSION_1), Basic edition(Allowed values- PROXY_PROTOCOL_VERSION_1), Enterprise with Cloud Services edition. Defaults to None.
* ssl_client_certificate_mode (str, Optional):
Specifies whether the client side verification is set to none, request or require. Enum options - SSL_CLIENT_CERTIFICATE_NONE, SSL_CLIENT_CERTIFICATE_REQUEST, SSL_CLIENT_CERTIFICATE_REQUIRE. Field introduced in 18.2.3. Allowed in Enterprise edition with any value, Essentials edition(Allowed values- SSL_CLIENT_CERTIFICATE_NONE), Basic edition(Allowed values- SSL_CLIENT_CERTIFICATE_NONE), Enterprise with Cloud Services edition. Defaults to None.
tenant_ref(str, Optional):
It is a reference to an object of type Tenant. Allowed in Enterprise edition with any value, Essentials, Basic, Enterprise with Cloud Services edition. Defaults to None.
Returns:
Dict[str, Any]
Example:
.. code-block:: sls
idem_test_avilb.profiles.application_profile_is_present:
avilb.avilb.profiles.application_profile.present:
- app_service_type: string
- cloud_config_cksum: string
- configpb_attributes:
version: int
- created_by: string
- description: string
- dns_service_profile:
aaaa_empty_response: bool
admin_email: string
dns_over_tcp_enabled: bool
dns_zones:
- admin_email: string
domain_name: string
name_server: string
domain_names:
- value
ecs_stripping_enabled: bool
edns: bool
edns_client_subnet_prefix_len: int
error_response: string
name_server: string
negative_caching_ttl: int
num_dns_ip: int
ttl: int
- dos_rl_profile:
dos_profile:
thresh_info:
- attack: string
max_value: int
min_value: int
thresh_period: int
rl_profile:
client_ip_connections_rate_limit:
action:
file:
content_type: string
file_content: string
file_length: int
redirect:
add_string: string
host:
tokens:
- end_index: int
start_index: int
str_value: string
type_: string
type_: string
keep_query: bool
path:
tokens:
- end_index: int
start_index: int
str_value: string
type_: string
type_: string
port: int
protocol: string
status_code: string
status_code: string
type_: string
explicit_tracking: bool
fine_grain: bool
http_cookie: string
http_header: string
rate_limiter:
burst_sz: int
count: int
name: string
period: int
client_ip_failed_requests_rate_limit:
action:
file:
content_type: string
file_content: string
file_length: int
redirect:
add_string: string
host:
tokens:
- end_index: int
start_index: int
str_value: string
type_: string
type_: string
keep_query: bool
path:
tokens:
- end_index: int
start_index: int
str_value: string
type_: string
type_: string
port: int
protocol: string
status_code: string
status_code: string
type_: string
explicit_tracking: bool
fine_grain: bool
http_cookie: string
http_header: string
rate_limiter:
burst_sz: int
count: int
name: string
period: int
client_ip_requests_rate_limit:
action:
file:
content_type: string
file_content: string
file_length: int
redirect:
add_string: string
host:
tokens:
- end_index: int
start_index: int
str_value: string
type_: string
type_: string
keep_query: bool
path:
tokens:
- end_index: int
start_index: int
str_value: string
type_: string
type_: string
port: int
protocol: string
status_code: string
status_code: string
type_: string
explicit_tracking: bool
fine_grain: bool
http_cookie: string
http_header: string
rate_limiter:
burst_sz: int
count: int
name: string
period: int
client_ip_scanners_requests_rate_limit:
action:
file:
content_type: string
file_content: string
file_length: int
redirect:
add_string: string
host:
tokens:
- end_index: int
start_index: int
str_value: string
type_: string
type_: string
keep_query: bool
path:
tokens:
- end_index: int
start_index: int
str_value: string
type_: string
type_: string
port: int
protocol: string
status_code: string
status_code: string
type_: string
explicit_tracking: bool
fine_grain: bool
http_cookie: string
http_header: string
rate_limiter:
burst_sz: int
count: int
name: string
period: int
client_ip_to_uri_failed_requests_rate_limit:
action:
file:
content_type: string
file_content: string
file_length: int
redirect:
add_string: string
host:
tokens:
- end_index: int
start_index: int
str_value: string
type_: string
type_: string
keep_query: bool
path:
tokens:
- end_index: int
start_index: int
str_value: string
type_: string
type_: string
port: int
protocol: string
status_code: string
status_code: string
type_: string
explicit_tracking: bool
fine_grain: bool
http_cookie: string
http_header: string
rate_limiter:
burst_sz: int
count: int
name: string
period: int
client_ip_to_uri_requests_rate_limit:
action:
file:
content_type: string
file_content: string
file_length: int
redirect:
add_string: string
host:
tokens:
- end_index: int
start_index: int
str_value: string
type_: string
type_: string
keep_query: bool
path:
tokens:
- end_index: int
start_index: int
str_value: string
type_: string
type_: string
port: int
protocol: string
status_code: string
status_code: string
type_: string
explicit_tracking: bool
fine_grain: bool
http_cookie: string
http_header: string
rate_limiter:
burst_sz: int
count: int
name: string
period: int
custom_requests_rate_limit:
action:
file:
content_type: string
file_content: string
file_length: int
redirect:
add_string: string
host:
tokens:
- end_index: int
start_index: int
str_value: string
type_: string
type_: string
keep_query: bool
path:
tokens:
- end_index: int
start_index: int
str_value: string
type_: string
type_: string
port: int
protocol: string
status_code: string
status_code: string
type_: string
explicit_tracking: bool
fine_grain: bool
http_cookie: string
http_header: string
rate_limiter:
burst_sz: int
count: int
name: string
period: int
http_header_rate_limits:
- action:
file:
content_type: string
file_content: string
file_length: int
redirect:
add_string: string
host:
tokens:
- end_index: int
start_index: int
str_value: string
type_: string
type_: string
keep_query: bool
path:
tokens:
- end_index: int
start_index: int
str_value: string
type_: string
type_: string
port: int
protocol: string
status_code: string
status_code: string
type_: string
explicit_tracking: bool
fine_grain: bool
http_cookie: string
http_header: string
rate_limiter:
burst_sz: int
count: int
name: string
period: int
uri_failed_requests_rate_limit:
action:
file:
content_type: string
file_content: string
file_length: int
redirect:
add_string: string
host:
tokens:
- end_index: int
start_index: int
str_value: string
type_: string
type_: string
keep_query: bool
path:
tokens:
- end_index: int
start_index: int
str_value: string
type_: string
type_: string
port: int
protocol: string
status_code: string
status_code: string
type_: string
explicit_tracking: bool
fine_grain: bool
http_cookie: string
http_header: string
rate_limiter:
burst_sz: int
count: int
name: string
period: int
uri_requests_rate_limit:
action:
file:
content_type: string
file_content: string
file_length: int
redirect:
add_string: string
host:
tokens:
- end_index: int
start_index: int
str_value: string
type_: string
type_: string
keep_query: bool
path:
tokens:
- end_index: int
start_index: int
str_value: string
type_: string
type_: string
port: int
protocol: string
status_code: string
status_code: string
type_: string
explicit_tracking: bool
fine_grain: bool
http_cookie: string
http_header: string
rate_limiter:
burst_sz: int
count: int
name: string
period: int
uri_scanners_requests_rate_limit:
action:
file:
content_type: string
file_content: string
file_length: int
redirect:
add_string: string
host:
tokens:
- end_index: int
start_index: int
str_value: string
type_: string
type_: string
keep_query: bool
path:
tokens:
- end_index: int
start_index: int
str_value: string
type_: string
type_: string
port: int
protocol: string
status_code: string
status_code: string
type_: string
explicit_tracking: bool
fine_grain: bool
http_cookie: string
http_header: string
rate_limiter:
burst_sz: int
count: int
name: string
period: int
- http_profile:
allow_dots_in_header_name: bool
cache_config:
age_header: bool
aggressive: bool
date_header: bool
default_expire: int
enabled: bool
heuristic_expire: bool
ignore_request_cache_control: bool
max_cache_size: int
max_object_size: int
mime_types_block_group_refs:
- value
mime_types_block_lists:
- value
mime_types_group_refs:
- value
mime_types_list:
- value
min_object_size: int
query_cacheable: bool
uri_non_cacheable:
match_case: string
match_criteria: string
match_decoded_string: bool
match_str:
- value
string_group_refs:
- value
xcache_header: bool
client_body_timeout: int
client_header_timeout: int
client_max_body_size: int
client_max_header_size: int
client_max_request_size: int
collect_client_tls_fingerprint: bool
compression_profile:
buf_num: int
buf_size: int
compressible_content_ref: string
compression: bool
filter_:
- devices_ref: string
index: int
ip_addr_prefixes:
- ip_addr:
addr: string
type_: string
mask: int
ip_addr_ranges:
- begin:
addr: string
type_: string
end:
addr: string
type_: string
ip_addrs:
- addr: string
type_: string
ip_addrs_ref: string
level: string
match: string
name: string
user_agent:
- value
hash_size: int
level_aggressive: int
level_normal: int
max_low_rtt: int
min_high_rtt: int
min_length: int
mobile_str_ref: string
remove_accept_encoding_header: bool
type_: string
window_size: int
connection_multiplexing_enabled: bool
detect_ntlm_app: bool
disable_keepalive_posts_msie6: bool
disable_sni_hostname_check: bool
enable_chunk_merge: bool
enable_fire_and_forget: bool
enable_request_body_buffering: bool
enable_request_body_metrics: bool
fwd_close_hdr_for_bound_connections: bool
hsts_enabled: bool
hsts_max_age: int
hsts_subdomains_enabled: bool
http2_profile:
enable_http2_server_push: bool
http2_initial_window_size: int
max_http2_concurrent_pushes_per_connection: int
max_http2_concurrent_streams_per_connection: int
max_http2_control_frames_per_connection: int
max_http2_empty_data_frames_per_connection: int
max_http2_header_field_size: int
max_http2_queued_frames_to_client_per_connection: int
max_http2_requests_per_connection: int
http_to_https: bool
http_upstream_buffer_size: int
httponly_enabled: bool
keepalive_header: bool
keepalive_timeout: int
max_bad_rps_cip: int
max_bad_rps_cip_uri: int
max_bad_rps_uri: int
max_header_count: int
max_keepalive_requests: int
max_response_headers_size: int
max_rps_cip: int
max_rps_cip_uri: int
max_rps_unknown_cip: int
max_rps_unknown_uri: int
max_rps_uri: int
pass_through_x_accel_headers: bool
pki_profile_ref: string
post_accept_timeout: int
reset_conn_http_on_ssl_port: bool
respond_with_100_continue: bool
secure_cookie_enabled: bool
server_side_redirect_to_https: bool
ssl_client_certificate_action:
close_connection: bool
headers:
- request_header: string
request_header_value: string
ssl_client_certificate_mode: string
true_client_ip:
direction: string
headers:
- value
index_in_header: int
use_app_keepalive_timeout: bool
use_true_client_ip: bool
websockets_enabled: bool
x_forwarded_proto_enabled: bool
xff_alternate_name: string
xff_enabled: bool
xff_update: string
- l4_ssl_profile:
ssl_stream_idle_timeout: int
- markers:
- key: string
values:
- value
- preserve_client_ip: bool
- preserve_client_port: bool
- preserve_dest_ip_port: bool
- sip_service_profile:
transaction_timeout: int
- tcp_app_profile:
ftp_profile:
deactivate_active: bool
deactivate_passive: bool
pki_profile_ref: string
proxy_protocol_enabled: bool
proxy_protocol_version: string
ssl_client_certificate_mode: string
- tenant_ref: string
- type: string
"""
result = dict(
comment=[], old_state={}, new_state={}, name=name, result=True, rerun_data=None
)
desired_state = {
k: v
for k, v in locals().items()
if k not in ("hub", "ctx", "result") and v is not None
}
if resource_id:
before = await hub.exec.avilb.profiles.application_profile.get(
ctx,
name=name,
resource_id=resource_id,
)
if not before["result"]:
result["result"] = False
result["comment"] = before["comment"]
return result
result["old_state"] = before.ret
if not result["old_state"]:
# For 404 case
result["comment"] += [
f"Could not find instance for '{name}' with existing id '{resource_id}'"
]
return result
result["comment"].append(
f"'avilb.profiles.application_profile:{name}' already exists"
)
elif not hub.OPT.idem.get("get_resource_only_with_resource_id", False):
if not tenant_ref:
tenant_ref_acct = ctx.acct.get("tenant_ref")
if tenant_ref_acct:
tenant_ref = tenant_ref_acct
else:
tenant_ref = "admin"
if "name" in tenant_ref:
tenant_ref = tenant_ref.split("=")[1]
else:
tenant_ref = tenant_ref.split("#")[-1]
before = await hub.exec.avilb.profiles.application_profile.get(
ctx, name=name, tenant_ref=tenant_ref
)
if before["ret"]:
result["old_state"] = before.ret
resource_id = before["ret"]["resource_id"]
else:
resource_id = None
if result["old_state"]:
# If there are changes in desired state from existing state
if desired_state:
desired_state = await hub.tool.avilb.utils.get_appended_prefix(
ctx, data=desired_state
)
if desired_state:
for k, v in desired_state.items():
if ("_ref" in k and isinstance(v, str)) and ("name=" in v):
before = await hub.exec.avilb.profiles.application_profile.get(
ctx,
name=name,
resource_id=resource_id,
)
url = before["ret"].get(k).split("#")[0]
desired_state.update({k: url})
changes = differ.deep_diff(before.ret if before.ret else {}, desired_state)
if bool(changes.get("new")):
if ctx.test:
result[
"new_state"
] = hub.tool.avilb.test_state_utils.generate_test_state(
enforced_state={}, desired_state=desired_state
)
result["comment"] = (
f"Would update avilb.profiles.application_profile '{name}'",
)
return result
else:
# Update the resource
update_ret = await hub.exec.avilb.profiles.application_profile.update(
ctx,
name=name,
resource_id=resource_id,
**{
"app_service_type": app_service_type,
"cloud_config_cksum": cloud_config_cksum,
"configpb_attributes": configpb_attributes,
"created_by": created_by,
"description": description,
"dns_service_profile": dns_service_profile,
"dos_rl_profile": dos_rl_profile,
"http_profile": http_profile,
"l4_ssl_profile": l4_ssl_profile,
"markers": markers,
"preserve_client_ip": preserve_client_ip,
"preserve_client_port": preserve_client_port,
"preserve_dest_ip_port": preserve_dest_ip_port,
"sip_service_profile": sip_service_profile,
"tcp_app_profile": tcp_app_profile,
"tenant_ref": tenant_ref,
"type": type,
},
)
result["result"] = update_ret["result"]
if result["result"]:
result["comment"].append(
f"Updated 'avilb.profiles.application_profile:{name}'"
)
else:
result["comment"].append(update_ret["comment"])
else:
if ctx.test:
result["new_state"] = hub.tool.avilb.test_state_utils.generate_test_state(
enforced_state={}, desired_state=desired_state
)
result["comment"] = (
f"Would create avilb.profiles.application_profile {name}",
)
return result
else:
create_ret = await hub.exec.avilb.profiles.application_profile.create(
ctx,
name=name,
**{
"resource_id": resource_id,
"app_service_type": app_service_type,
"cloud_config_cksum": cloud_config_cksum,
"configpb_attributes": configpb_attributes,
"created_by": created_by,
"description": description,
"dns_service_profile": dns_service_profile,
"dos_rl_profile": dos_rl_profile,
"http_profile": http_profile,
"l4_ssl_profile": l4_ssl_profile,
"markers": markers,
"preserve_client_ip": preserve_client_ip,
"preserve_client_port": preserve_client_port,
"preserve_dest_ip_port": preserve_dest_ip_port,
"sip_service_profile": sip_service_profile,
"tcp_app_profile": tcp_app_profile,
"tenant_ref": tenant_ref,
"type": type,
},
)
result["result"] = create_ret["result"]
if result["result"]:
result["comment"].append(
f"Created 'avilb.profiles.application_profile:{name}'"
)
resource_id = create_ret["ret"]["resource_id"]
# Safeguard for any future errors so that the resource_id is saved in the ESM
result["new_state"] = dict(name=name, resource_id=resource_id)
else:
result["comment"].append(create_ret["comment"])
if not result["result"]:
# If there is any failure in create/update, it should reconcile.
# The type of data is less important here to use default reconciliation
# If there are no changes for 3 runs with rerun_data, then it will come out of execution
result["rerun_data"] = dict(name=name, resource_id=resource_id)
after = await hub.exec.avilb.profiles.application_profile.get(
ctx,
name=name,
resource_id=resource_id,
)
result["new_state"] = after.ret
return result
[docs]async def absent(hub, ctx, name: str, resource_id: str = None) -> Dict[str, Any]:
"""
None
None
Args:
name(str):
Idem name of the resource.
resource_id(str, Optional):
profiles.application_profile unique ID. Defaults to None.
Returns:
Dict[str, Any]
Example:
.. code-block:: sls
idem_test_avilb.profiles.application_profile_is_absent:
avilb.avilb.profiles.application_profile.absent:
"""
result = dict(
comment=[], old_state={}, new_state={}, name=name, result=True, rerun_data=None
)
if not resource_id:
result["comment"].append(
f"'avilb.profiles.application_profile:{name}' already absent"
)
return result
before = await hub.exec.avilb.profiles.application_profile.get(
ctx,
name=name,
resource_id=resource_id,
)
if before["ret"]:
if ctx.test:
result[
"comment"
] = f"Would delete avilb.profiles.application_profile:{name}"
return result
delete_ret = await hub.exec.avilb.profiles.application_profile.delete(
ctx,
name=name,
resource_id=resource_id,
)
result["result"] = delete_ret["result"]
if result["result"]:
result["comment"].append(
f"Deleted 'avilb.profiles.application_profile:{name}'"
)
else:
# If there is any failure in delete, it should reconcile.
# The type of data is less important here to use default reconciliation
# If there are no changes for 3 runs with rerun_data, then it will come out of execution
result["rerun_data"] = resource_id
result["comment"].append(delete_ret["result"])
else:
result["comment"].append(
f"'avilb.profiles.application_profile:{name}' already absent"
)
return result
result["old_state"] = before.ret
return result
[docs]async def describe(hub, ctx) -> Dict[str, Dict[str, Any]]:
"""
Describe the resource in a way that can be recreated/managed with the corresponding "present" function
None
None
Args:
Returns:
Dict[str, Any]
Example:
.. code-block:: bash
$ idem describe avilb.profiles.application_profile
"""
result = {}
ret = await hub.exec.avilb.profiles.application_profile.list(ctx)
if not ret or not ret["result"]:
hub.log.debug(
f"Could not describe avilb.profiles.application_profile {ret['comment']}"
)
return result
for resource in ret["ret"]:
resource_id = resource.get("resource_id")
result[resource_id] = {
"avilb.profiles.application_profile.present": [
{parameter_key: parameter_value}
for parameter_key, parameter_value in resource.items()
]
}
return result