ruạṛ
a O��f�Q � @ s8 d dl mZmZmZ d dlmZ eG dd� de��ZdS )� )�formatted_flat_dict� NONE_SENTINEL�#value_allowed_none_or_none_sentinel)�init_model_state_from_kwargsc @ s� e Zd ZdZdZdZdZdZdZdZ dZ d Zd ZdZ dZd ZdZdZdZdZdZdZdZdZdZdd� Zedd� �Zejdd� �Zedd� �Zejdd� �Zedd � �Zejd!d � �Zd"d#� Zd$d%� Z d&d'� Z!d(S ))�AccessRuleCriteriaz{ When defined, the parent challenge would be applied only for the requests that matched all the listed conditions. �URL_IS� URL_IS_NOT�URL_STARTS_WITH�URL_PART_ENDS_WITH�URL_PART_CONTAINS� URL_REGEX�URL_DOES_NOT_MATCH_REGEX�URL_DOES_NOT_START_WITH�URL_PART_DOES_NOT_CONTAIN�URL_PART_DOES_NOT_END_WITH�IP_IS� IP_IS_NOT� IP_IN_LIST�IP_NOT_IN_LIST�HTTP_HEADER_CONTAINS�HTTP_METHOD_IS�HTTP_METHOD_IS_NOT� COUNTRY_IS�COUNTRY_IS_NOT� USER_AGENT_IS�USER_AGENT_IS_NOTc K s2 dddd�| _ dddd�| _d| _d| _d| _dS )a� Initializes a new AccessRuleCriteria object with values from keyword arguments. The following keyword arguments are supported (corresponding to the getters/setters of this class): :param condition: The value to assign to the condition property of this AccessRuleCriteria. Allowed values for this property are: "URL_IS", "URL_IS_NOT", "URL_STARTS_WITH", "URL_PART_ENDS_WITH", "URL_PART_CONTAINS", "URL_REGEX", "URL_DOES_NOT_MATCH_REGEX", "URL_DOES_NOT_START_WITH", "URL_PART_DOES_NOT_CONTAIN", "URL_PART_DOES_NOT_END_WITH", "IP_IS", "IP_IS_NOT", "IP_IN_LIST", "IP_NOT_IN_LIST", "HTTP_HEADER_CONTAINS", "HTTP_METHOD_IS", "HTTP_METHOD_IS_NOT", "COUNTRY_IS", "COUNTRY_IS_NOT", "USER_AGENT_IS", "USER_AGENT_IS_NOT", 'UNKNOWN_ENUM_VALUE'. Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'. :type condition: str :param value: The value to assign to the value property of this AccessRuleCriteria. :type value: str :param is_case_sensitive: The value to assign to the is_case_sensitive property of this AccessRuleCriteria. :type is_case_sensitive: bool �str�bool)� condition�value�is_case_sensitiver r �isCaseSensitiveN)� swagger_types� attribute_map� _condition�_value�_is_case_sensitive)�self�kwargs� r) ��/sparta/input/_build_configuration/image_build+validate/lib/bmcenv/lib64/python3.9/site-packages/oci/waas/models/access_rule_criteria.py�__init__d s ��zAccessRuleCriteria.__init__c C s | j S )a� **[Required]** Gets the condition of this AccessRuleCriteria. The criteria the access rule and JavaScript Challenge uses to determine if action should be taken on a request. - **URL_IS:** Matches if the concatenation of request URL path and query is identical to the contents of the `value` field. URL must start with a `/`. - **URL_IS_NOT:** Matches if the concatenation of request URL path and query is not identical to the contents of the `value` field. URL must start with a `/`. - **URL_STARTS_WITH:** Matches if the concatenation of request URL path and query starts with the contents of the `value` field. URL must start with a `/`. - **URL_PART_ENDS_WITH:** Matches if the concatenation of request URL path and query ends with the contents of the `value` field. - **URL_PART_CONTAINS:** Matches if the concatenation of request URL path and query contains the contents of the `value` field. - **URL_REGEX:** Matches if the concatenation of request URL path and query is described by the regular expression in the value field. The value must be a valid regular expression recognized by the PCRE library in Nginx (https://www.pcre.org). - **URL_DOES_NOT_MATCH_REGEX:** Matches if the concatenation of request URL path and query is not described by the regular expression in the `value` field. The value must be a valid regular expression recognized by the PCRE library in Nginx (https://www.pcre.org). - **URL_DOES_NOT_START_WITH:** Matches if the concatenation of request URL path and query does not start with the contents of the `value` field. - **URL_PART_DOES_NOT_CONTAIN:** Matches if the concatenation of request URL path and query does not contain the contents of the `value` field. - **URL_PART_DOES_NOT_END_WITH:** Matches if the concatenation of request URL path and query does not end with the contents of the `value` field. - **IP_IS:** Matches if the request originates from one of the IP addresses contained in the defined address list. The `value` in this case is string with one or multiple IPs or CIDR notations separated by new line symbol *Example:* "1.1.1.1 1.1.1.2 1.2.2.1/30" - **IP_IS_NOT:** Matches if the request does not originate from any of the IP addresses contained in the defined address list. The `value` in this case is string with one or multiple IPs or CIDR notations separated by new line symbol *Example:* "1.1.1.1 1.1.1.2 1.2.2.1/30" - **IP_IN_LIST:** Matches if the request originates from one of the IP addresses contained in the referenced address list. The `value` in this case is OCID of the address list. - **IP_NOT_IN_LIST:** Matches if the request does not originate from any IP address contained in the referenced address list. The `value` field in this case is OCID of the address list. - **HTTP_HEADER_CONTAINS:** The HTTP_HEADER_CONTAINS criteria is defined using a compound value separated by a colon: a header field name and a header field value. `host:test.example.com` is an example of a criteria value where `host` is the header field name and `test.example.com` is the header field value. A request matches when the header field name is a case insensitive match and the header field value is a case insensitive, substring match. *Example:* With a criteria value of `host:test.example.com`, where `host` is the name of the field and `test.example.com` is the value of the host field, a request with the header values, `Host: www.test.example.com` will match, where as a request with header values of `host: www.example.com` or `host: test.sub.example.com` will not match. - **HTTP_METHOD_IS:** Matches if the request method is identical to one of the values listed in field. The `value` in this case is string with one or multiple HTTP methods separated by new line symbol The list of available methods: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH` *Example:* "GET POST" - **HTTP_METHOD_IS_NOT:** Matches if the request is not identical to any of the contents of the `value` field. The `value` in this case is string with one or multiple HTTP methods separated by new line symbol The list of available methods: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH` *Example:* "GET POST" - **COUNTRY_IS:** Matches if the request originates from one of countries in the `value` field. The `value` in this case is string with one or multiple countries separated by new line symbol Country codes are in ISO 3166-1 alpha-2 format. For a list of codes, see `ISO's website`__. *Example:* "AL DZ AM" - **COUNTRY_IS_NOT:** Matches if the request does not originate from any of countries in the `value` field. The `value` in this case is string with one or multiple countries separated by new line symbol Country codes are in ISO 3166-1 alpha-2 format. For a list of codes, see `ISO's website`__. *Example:* "AL DZ AM" - **USER_AGENT_IS:** Matches if the requesting user agent is identical to the contents of the `value` field. *Example:* `Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0` - **USER_AGENT_IS_NOT:** Matches if the requesting user agent is not identical to the contents of the `value` field. *Example:* `Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0` __ https://www.iso.org/obp/ui/#search/code/ __ https://www.iso.org/obp/ui/#search/code/ Allowed values for this property are: "URL_IS", "URL_IS_NOT", "URL_STARTS_WITH", "URL_PART_ENDS_WITH", "URL_PART_CONTAINS", "URL_REGEX", "URL_DOES_NOT_MATCH_REGEX", "URL_DOES_NOT_START_WITH", "URL_PART_DOES_NOT_CONTAIN", "URL_PART_DOES_NOT_END_WITH", "IP_IS", "IP_IS_NOT", "IP_IN_LIST", "IP_NOT_IN_LIST", "HTTP_HEADER_CONTAINS", "HTTP_METHOD_IS", "HTTP_METHOD_IS_NOT", "COUNTRY_IS", "COUNTRY_IS_NOT", "USER_AGENT_IS", "USER_AGENT_IS_NOT", 'UNKNOWN_ENUM_VALUE'. Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'. :return: The condition of this AccessRuleCriteria. :rtype: str )r$ �r'