- Home
- API Enriched
- Virtual
- config
- List Application Firewall.
List Application Firewall.
const url = 'https://example-corp.console.ves.volterra.io/api/v1/api/production/us-east-1/namespaces/default/api/config/namespaces/example/app_firewalls';const options = {method: 'GET', headers: {Authorization: '<Authorization>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example-corp.console.ves.volterra.io/api/v1/api/production/us-east-1/namespaces/default/api/config/namespaces/example/app_firewalls \ --header 'Authorization: <Authorization>'List the set of app_firewall in a namespace.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Namespace Namespace to scope the listing of app_firewall.
Query Parameters
Section titled “Query Parameters”A LabelSelectorType expression that every item in list response will satisfy.
X-example: "" Extra fields to return along with summary fields.
X-example: "" Extra status fields to return along with summary fields.
Responses
Section titled “Responses”A successful response.
This is the output message of ‘List’ RPC.
object
Errors(if any) while listing items from collection.
Information about a error in API operation.
object
object
A URL/resource name that uniquely identifies the type of the serialized
protocol buffer message. This string must contain at least
one ”/” character. The last segment of the URL’s path must represent
the fully qualified name of the type (as in
path/google.protobuf.duration). The name should be in a canonical form
(e.g., leading ”.” is not accepted).
In practice, teams usually precompile into the binary all types that they
expect it to use in the context of Any. However, for URLs which use the
scheme HTTP, HTTPS, or no scheme, one can optionally set up a type
server that maps type URLs to message definitions as follows:
- If no scheme is provided,
HTTPSis assumed. - An HTTP GET on the URL must yield a [google.protobuf.type][] value in binary format, or produce an error.
- Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than HTTP, HTTPS (or the empty scheme) might be
used with implementation specific semantics.
Must be a valid serialized protocol buffer of the above specified type.
A human readable string of the error.
Items represents the collection in response.
By default a summary of app_firewall is returned in ‘List’. By setting ‘report_fields’ in the ListRequest more details of each item can be got.
object
The set of annotations present on this app_firewall.
object
The description set for this app_firewall.
A value of true indicates app_firewall is administratively disabled.
object
object
object
List of HTTP response status codes that are allowed Required: YES.
object
object
Define the content of the response page (e.g., an HTML document or a JSON object), use the {{request_id}} placeholder to provide users with a unique identifier to be able to trace the blocked request in the logs. The maximum allowed size of response body is 4096 bytes after base64 encoding, which would be about 3070 bytes in plain text.
object
object
List of HTTP headers, cookies and query parameters whose values will be masked
Required: YES.
Configure anonymization for HTTP headers, parameters or cookies which may contain sensitive data.
object
object
Masks the cookie value. The setting does not mask the cookie name. Wildcard matching can be used by prefixing or suffixing the cookie name with a wildcard asterisk (*), or by using only an asterisk to match any cookie name. Required: YES.
object
Masks the HTTP header value. The setting does not mask the HTTP header name. Wildcard matching can be used by prefixing or suffixing the HTTP header name with a wildcard asterisk (*), or by using only an asterisk to match any HTTP header name. Required: YES.
object
Masks the query parameter value. The setting does not mask the query parameter name. Wildcard matching can be used by prefixing or suffixing the query parameter name with a wildcard asterisk (*), or by using only an asterisk to match any query parameter name. Required: YES.
object
object
object
object
object
object
object
object
object
object
object
object
object
object
List of Attack Types that will be ignored and not trigger a detection
Required: YES.
object
object
object
object
object
Define staging period in days. The default staging period is 7 days and the max supported staging period is 20 days. Required: YES.
object
Define staging period in days. The default staging period is 7 days and the max supported staging period is 20 days. Required: YES.
object
List of violations to be excluded
Required: YES.
List of violation checks that are performed on HTTP request to ensure the requests are properly formatted, detection of evasion techniques and other violations.
Required: YES.
Custom configuration for a violation.
object
Human-readable description text
Enable or disable the feature
Violations that are enabled by default by F5 are advisable to leave enabled.
Human-readable name for the resource
Human-readable title for the resource
object
object
object
object
object
object
object
The set of labels present on this app_firewall.
object
object
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects.
object
Human readable description for the object.
A value of true will administratively disable the object.
Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the user. Values specified here will be used by selector expression.
object
This is the name of configuration object. It has to be unique within the namespace. It can only be specified during create API and cannot be changed during replace API. The value of name has to follow DNS-1035 format. Required: YES.
This defines the workspace within which each the configuration object is to be created. Must be a DNS_LABEL format. For a namespace object itself, namespace value will be ""
The name of this app_firewall.
The namespace this item belongs to.
object
Kind of the view object.
When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object’s(e.g. Route’s) name.
When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object’s(e.g. Route’s) namespace.
UID of the view object.
The status reported by different services for this configuration object.
Most recently observed status of object.
object
Conditions.
Conditions are used in the object status to describe the current state of the object, e.g. Ready, Succeeded, etc.
object
Hostname of the instance of the site that sent the status.
Last time the condition was updated.
A human readable string explaining the reason for reaching this condition.
Name of the service that sent the status.
Status of the condition “Success” Validation has succeeded. Requested operation was successful. “Failed” Validation has failed. “Incomplete” Validation of configuration has failed due to missing configuration. “Installed” Validation has passed and configuration has been installed in data path or K8s “Down” Configuration is operationally down. E.g. Down interface “Disabled” Configuration is administratively disabled i.e. objectmetatype.disable = true. “NotApplicable” Configuration is not applicable e.g. Tenant service_policy_set(s) in system namespace are not applicable on REs.
Type of the condition “Validation” represents validation user given configuration object “Operational” represents operational status of a given configuration object.
object
Creation_timestamp is when the status object was created. It is used to find/tie-break for latest status object from same origin.
Class of creator which created this StatusObject. This will be service’s DNS FQDN. This will be set by the system based on client certificate information.
ID of creator which created this StatusObject. This will be a concrete identifier for service (e.g. Identifying the environment also). This will be set by the system based on client certificate information.
Status_id is a field used by the generator to distinguish (if necessary) between two status objects for the same config object from the same site and same service and potentially same daemon(creator-ID)
Uid is the unique in time and space value for a StatusObject.
Origin of this status exchanged by VTRP.
Indicate whether mars deems this object to be stale via graceful restart timer information.
Object reference.
This type establishes a ‘direct reference’ from one object(the referrer) to another(the referred). Such a reference is in form of tenant/namespace/name for public API and Uid for private API This type of reference is called direct because the relation is explicit and concrete (as opposed to selector reference which builds a group based on labels of selectee objects)
object
When a configuration object(e.g. Virtual_host) refers to another(e.g route) then kind will hold the referred object’s kind (e.g. “route”)
When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object’s(e.g. Route’s) name.
When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object’s(e.g. Route’s) namespace.
When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object’s(e.g. Route’s) tenant.
When a configuration object(e.g. Virtual_host) refers to another(e.g route) then uid will hold the referred object’s(e.g. Route’s) uid.
object
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
A value identifying the class of the user or service which created this configuration object.
A value identifying the exact user or service that created this configuration object.
DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.
Populated by the system when a graceful deletion is requested. Read-only.
Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed.
object
Pending is a list of initializers that must execute in order before this object is initialized. When the last pending initializer is removed, and no failing result is set, the initializers struct will be set to nil and the object is considered as initialized and visible to all clients.
Initializer is information about an initializer that has not yet completed.
object
Name of the service that is responsible for initializing this object.
object
Suggested HTTP return code for this status, 0 if not set.
A human-readable description of why this operation is in the “Failure” status. If this value is empty there is no information available.
Status of the operation. One of: “Success” or “Failure”.
Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the operator or software. Values here can be interpreted by software(backend or frontend) to enable certain behavior e.g. Things marked as soft-deleted(restorable).
object
ModificationTimestamp is a timestamp representing the server time when this object was last modified.
Unique index for the object. Some objects need a unique integer index to be allocated for each object type. This field will be populated for all objects that need it and will be zero otherwise.
object
Kind of the view object.
When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object’s(e.g. Route’s) name.
When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object’s(e.g. Route’s) namespace.
UID of the view object.
Tenant to which this configuration object belongs to. The value for this is found from presented credentials.
Uid is the unique in time and space value for this object. It is generated by the server on successful creation of an object and is not allowed to change on Replace API. The value of is taken from uid field of ObjectMetaType, if provided.
The tenant this item belongs to.
The unique uid of this app_firewall.
Example
{ "errors": [ { "code": "EOK" } ], "items": [ { "get_spec": { "allow_all_response_codes": {}, "blocking_page": { "response_code": "EmptyStatusCode" }, "bot_protection_setting": { "good_bot_action": "BLOCK", "malicious_bot_action": "BLOCK", "suspicious_bot_action": "BLOCK" }, "default_anonymization": {}, "default_bot_setting": {}, "default_detection_settings": {}, "detection_settings": { "bot_protection_setting": { "good_bot_action": "BLOCK", "malicious_bot_action": "BLOCK", "suspicious_bot_action": "BLOCK" }, "signature_selection_setting": { "attack_type_settings": { "disabled_attack_types": [ "ATTACK_TYPE_NONE" ] } }, "violation_settings": { "disabled_violation_types": [ "VIOL_NONE" ] } }, "disable_ai_enhancements": {}, "monitoring": {}, "use_default_blocking_page": {} }, "status_set": [ { "metadata": { "publish": "STATUS_DO_NOT_PUBLISH" } } ] } ]}Returned when operation is not authorized.
Examplegenerated
exampleReturned when there is no permission to access resource.
Examplegenerated
exampleReturned when resource is not found.
Examplegenerated
exampleReturned when operation on resource is conflicting with current value.
Examplegenerated
exampleReturned when operation has been rejected as it is happening too frequently.
Examplegenerated
exampleReturned when server encountered an error in processing API.
Examplegenerated
exampleReturned when service is unavailable temporarily.
Examplegenerated
exampleReturned when server timed out processing request.
Examplegenerated
example