JFIF  x x C         C     "        } !1AQa "q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz        w !1AQ aq"2B #3Rbr{ gilour

File "SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig.php"

Full Path: /home/palsarh/web/palsarh.in/public_html/vendor/google/apiclient-services/src/Compute/SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig.php
File size: 7.28 KB
MIME-type: text/x-php
Charset: utf-8

<?php
/*
 * Copyright 2014 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

namespace Google\Service\Compute;

class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig extends \Google\Model
{
  public const ENFORCE_ON_KEY_TYPE_ALL = 'ALL';
  public const ENFORCE_ON_KEY_TYPE_HTTP_COOKIE = 'HTTP_COOKIE';
  public const ENFORCE_ON_KEY_TYPE_HTTP_HEADER = 'HTTP_HEADER';
  public const ENFORCE_ON_KEY_TYPE_HTTP_PATH = 'HTTP_PATH';
  public const ENFORCE_ON_KEY_TYPE_IP = 'IP';
  public const ENFORCE_ON_KEY_TYPE_REGION_CODE = 'REGION_CODE';
  public const ENFORCE_ON_KEY_TYPE_SNI = 'SNI';
  public const ENFORCE_ON_KEY_TYPE_TLS_JA3_FINGERPRINT = 'TLS_JA3_FINGERPRINT';
  public const ENFORCE_ON_KEY_TYPE_TLS_JA4_FINGERPRINT = 'TLS_JA4_FINGERPRINT';
  public const ENFORCE_ON_KEY_TYPE_USER_IP = 'USER_IP';
  public const ENFORCE_ON_KEY_TYPE_XFF_IP = 'XFF_IP';
  /**
   * Rate limit key name applicable only for the following key types:
   * HTTP_HEADER -- Name of the HTTP header whose value is taken as the key
   * value. HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the
   * key value.
   *
   * @var string
   */
  public $enforceOnKeyName;
  /**
   * Determines the key to enforce the rate_limit_threshold on. Possible values
   * are:        - ALL: A single rate limit threshold is applied to all    the
   * requests matching this rule. This is the default value if
   * "enforceOnKeyConfigs" is not configured.    - IP: The source IP address of
   * the request is the key. Each IP has this limit enforced    separately.    -
   * HTTP_HEADER: The value of the HTTP    header whose name is configured under
   * "enforceOnKeyName". The key    value is truncated to the first 128 bytes of
   * the header value. If no    such header is present in the request, the key
   * type defaults toALL.    - XFF_IP: The first IP address (i.e. the
   * originating client IP address) specified in the list of IPs under
   * X-Forwarded-For HTTP header. If no such header is present or the    value
   * is not a valid IP, the key defaults to the source IP address of    the
   * request i.e. key type IP.    - HTTP_COOKIE: The value of the HTTP    cookie
   * whose name is configured under "enforceOnKeyName". The key    value is
   * truncated to the first 128 bytes of the cookie value. If no    such cookie
   * is present in the request, the key type defaults toALL.    - HTTP_PATH: The
   * URL path of the HTTP request. The key    value is truncated to the first
   * 128 bytes.     - SNI: Server name indication in the TLS session of    the
   * HTTPS request. The key value is truncated to the first 128 bytes.    The
   * key type defaults to ALL on a HTTP session.     - REGION_CODE: The
   * country/region from which the    request originates.     -
   * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the    client connects
   * using HTTPS, HTTP/2 or HTTP/3. If not available, the    key type defaults
   * to ALL.     - USER_IP: The IP address of the originating client,    which
   * is resolved based on "userIpRequestHeaders" configured with the    security
   * policy. If there is no "userIpRequestHeaders" configuration    or an IP
   * address cannot be resolved from it, the key type defaults toIP.
   *
   * - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using
   * HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
   *
   * @var string
   */
  public $enforceOnKeyType;

  /**
   * Rate limit key name applicable only for the following key types:
   * HTTP_HEADER -- Name of the HTTP header whose value is taken as the key
   * value. HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the
   * key value.
   *
   * @param string $enforceOnKeyName
   */
  public function setEnforceOnKeyName($enforceOnKeyName)
  {
    $this->enforceOnKeyName = $enforceOnKeyName;
  }
  /**
   * @return string
   */
  public function getEnforceOnKeyName()
  {
    return $this->enforceOnKeyName;
  }
  /**
   * Determines the key to enforce the rate_limit_threshold on. Possible values
   * are:        - ALL: A single rate limit threshold is applied to all    the
   * requests matching this rule. This is the default value if
   * "enforceOnKeyConfigs" is not configured.    - IP: The source IP address of
   * the request is the key. Each IP has this limit enforced    separately.    -
   * HTTP_HEADER: The value of the HTTP    header whose name is configured under
   * "enforceOnKeyName". The key    value is truncated to the first 128 bytes of
   * the header value. If no    such header is present in the request, the key
   * type defaults toALL.    - XFF_IP: The first IP address (i.e. the
   * originating client IP address) specified in the list of IPs under
   * X-Forwarded-For HTTP header. If no such header is present or the    value
   * is not a valid IP, the key defaults to the source IP address of    the
   * request i.e. key type IP.    - HTTP_COOKIE: The value of the HTTP    cookie
   * whose name is configured under "enforceOnKeyName". The key    value is
   * truncated to the first 128 bytes of the cookie value. If no    such cookie
   * is present in the request, the key type defaults toALL.    - HTTP_PATH: The
   * URL path of the HTTP request. The key    value is truncated to the first
   * 128 bytes.     - SNI: Server name indication in the TLS session of    the
   * HTTPS request. The key value is truncated to the first 128 bytes.    The
   * key type defaults to ALL on a HTTP session.     - REGION_CODE: The
   * country/region from which the    request originates.     -
   * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the    client connects
   * using HTTPS, HTTP/2 or HTTP/3. If not available, the    key type defaults
   * to ALL.     - USER_IP: The IP address of the originating client,    which
   * is resolved based on "userIpRequestHeaders" configured with the    security
   * policy. If there is no "userIpRequestHeaders" configuration    or an IP
   * address cannot be resolved from it, the key type defaults toIP.
   *
   * - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using
   * HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
   *
   * Accepted values: ALL, HTTP_COOKIE, HTTP_HEADER, HTTP_PATH, IP, REGION_CODE,
   * SNI, TLS_JA3_FINGERPRINT, TLS_JA4_FINGERPRINT, USER_IP, XFF_IP
   *
   * @param self::ENFORCE_ON_KEY_TYPE_* $enforceOnKeyType
   */
  public function setEnforceOnKeyType($enforceOnKeyType)
  {
    $this->enforceOnKeyType = $enforceOnKeyType;
  }
  /**
   * @return self::ENFORCE_ON_KEY_TYPE_*
   */
  public function getEnforceOnKeyType()
  {
    return $this->enforceOnKeyType;
  }
}

// Adding a class alias for backwards compatibility with the previous class name.
class_alias(SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig::class, 'Google_Service_Compute_SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig');