/*
 * Copyright 2023 Google LLC
 *
 * 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
 *
 *     https://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.
 */
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/cloud/compute/v1/compute.proto

package com.google.cloud.compute.v1;

public interface SecurityPolicyRulePreconfiguredWafConfigExclusionOrBuilder
    extends
    // @@protoc_insertion_point(interface_extends:google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusion)
    com.google.protobuf.MessageOrBuilder {

  /**
   *
   *
   * <pre>
   * A list of request cookie names whose value will be excluded from inspection during preconfigured WAF evaluation.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams request_cookies_to_exclude = 156757878;
   * </code>
   */
  java.util.List<
          com.google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams>
      getRequestCookiesToExcludeList();
  /**
   *
   *
   * <pre>
   * A list of request cookie names whose value will be excluded from inspection during preconfigured WAF evaluation.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams request_cookies_to_exclude = 156757878;
   * </code>
   */
  com.google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams
      getRequestCookiesToExclude(int index);
  /**
   *
   *
   * <pre>
   * A list of request cookie names whose value will be excluded from inspection during preconfigured WAF evaluation.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams request_cookies_to_exclude = 156757878;
   * </code>
   */
  int getRequestCookiesToExcludeCount();
  /**
   *
   *
   * <pre>
   * A list of request cookie names whose value will be excluded from inspection during preconfigured WAF evaluation.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams request_cookies_to_exclude = 156757878;
   * </code>
   */
  java.util.List<
          ? extends
              com.google.cloud.compute.v1
                  .SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParamsOrBuilder>
      getRequestCookiesToExcludeOrBuilderList();
  /**
   *
   *
   * <pre>
   * A list of request cookie names whose value will be excluded from inspection during preconfigured WAF evaluation.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams request_cookies_to_exclude = 156757878;
   * </code>
   */
  com.google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParamsOrBuilder
      getRequestCookiesToExcludeOrBuilder(int index);

  /**
   *
   *
   * <pre>
   * A list of request header names whose value will be excluded from inspection during preconfigured WAF evaluation.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams request_headers_to_exclude = 63230495;
   * </code>
   */
  java.util.List<
          com.google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams>
      getRequestHeadersToExcludeList();
  /**
   *
   *
   * <pre>
   * A list of request header names whose value will be excluded from inspection during preconfigured WAF evaluation.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams request_headers_to_exclude = 63230495;
   * </code>
   */
  com.google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams
      getRequestHeadersToExclude(int index);
  /**
   *
   *
   * <pre>
   * A list of request header names whose value will be excluded from inspection during preconfigured WAF evaluation.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams request_headers_to_exclude = 63230495;
   * </code>
   */
  int getRequestHeadersToExcludeCount();
  /**
   *
   *
   * <pre>
   * A list of request header names whose value will be excluded from inspection during preconfigured WAF evaluation.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams request_headers_to_exclude = 63230495;
   * </code>
   */
  java.util.List<
          ? extends
              com.google.cloud.compute.v1
                  .SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParamsOrBuilder>
      getRequestHeadersToExcludeOrBuilderList();
  /**
   *
   *
   * <pre>
   * A list of request header names whose value will be excluded from inspection during preconfigured WAF evaluation.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams request_headers_to_exclude = 63230495;
   * </code>
   */
  com.google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParamsOrBuilder
      getRequestHeadersToExcludeOrBuilder(int index);

  /**
   *
   *
   * <pre>
   * A list of request query parameter names whose value will be excluded from inspection during preconfigured WAF evaluation. Note that the parameter can be in the query string or in the POST body.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams request_query_params_to_exclude = 340692744;
   * </code>
   */
  java.util.List<
          com.google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams>
      getRequestQueryParamsToExcludeList();
  /**
   *
   *
   * <pre>
   * A list of request query parameter names whose value will be excluded from inspection during preconfigured WAF evaluation. Note that the parameter can be in the query string or in the POST body.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams request_query_params_to_exclude = 340692744;
   * </code>
   */
  com.google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams
      getRequestQueryParamsToExclude(int index);
  /**
   *
   *
   * <pre>
   * A list of request query parameter names whose value will be excluded from inspection during preconfigured WAF evaluation. Note that the parameter can be in the query string or in the POST body.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams request_query_params_to_exclude = 340692744;
   * </code>
   */
  int getRequestQueryParamsToExcludeCount();
  /**
   *
   *
   * <pre>
   * A list of request query parameter names whose value will be excluded from inspection during preconfigured WAF evaluation. Note that the parameter can be in the query string or in the POST body.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams request_query_params_to_exclude = 340692744;
   * </code>
   */
  java.util.List<
          ? extends
              com.google.cloud.compute.v1
                  .SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParamsOrBuilder>
      getRequestQueryParamsToExcludeOrBuilderList();
  /**
   *
   *
   * <pre>
   * A list of request query parameter names whose value will be excluded from inspection during preconfigured WAF evaluation. Note that the parameter can be in the query string or in the POST body.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams request_query_params_to_exclude = 340692744;
   * </code>
   */
  com.google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParamsOrBuilder
      getRequestQueryParamsToExcludeOrBuilder(int index);

  /**
   *
   *
   * <pre>
   * A list of request URIs from the request line to be excluded from inspection during preconfigured WAF evaluation. When specifying this field, the query or fragment part should be excluded.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams request_uris_to_exclude = 90690846;
   * </code>
   */
  java.util.List<
          com.google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams>
      getRequestUrisToExcludeList();
  /**
   *
   *
   * <pre>
   * A list of request URIs from the request line to be excluded from inspection during preconfigured WAF evaluation. When specifying this field, the query or fragment part should be excluded.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams request_uris_to_exclude = 90690846;
   * </code>
   */
  com.google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams
      getRequestUrisToExclude(int index);
  /**
   *
   *
   * <pre>
   * A list of request URIs from the request line to be excluded from inspection during preconfigured WAF evaluation. When specifying this field, the query or fragment part should be excluded.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams request_uris_to_exclude = 90690846;
   * </code>
   */
  int getRequestUrisToExcludeCount();
  /**
   *
   *
   * <pre>
   * A list of request URIs from the request line to be excluded from inspection during preconfigured WAF evaluation. When specifying this field, the query or fragment part should be excluded.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams request_uris_to_exclude = 90690846;
   * </code>
   */
  java.util.List<
          ? extends
              com.google.cloud.compute.v1
                  .SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParamsOrBuilder>
      getRequestUrisToExcludeOrBuilderList();
  /**
   *
   *
   * <pre>
   * A list of request URIs from the request line to be excluded from inspection during preconfigured WAF evaluation. When specifying this field, the query or fragment part should be excluded.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams request_uris_to_exclude = 90690846;
   * </code>
   */
  com.google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParamsOrBuilder
      getRequestUrisToExcludeOrBuilder(int index);

  /**
   *
   *
   * <pre>
   * A list of target rule IDs under the WAF rule set to apply the preconfigured WAF exclusion. If omitted, it refers to all the rule IDs under the WAF rule set.
   * </pre>
   *
   * <code>repeated string target_rule_ids = 498430435;</code>
   *
   * @return A list containing the targetRuleIds.
   */
  java.util.List<java.lang.String> getTargetRuleIdsList();
  /**
   *
   *
   * <pre>
   * A list of target rule IDs under the WAF rule set to apply the preconfigured WAF exclusion. If omitted, it refers to all the rule IDs under the WAF rule set.
   * </pre>
   *
   * <code>repeated string target_rule_ids = 498430435;</code>
   *
   * @return The count of targetRuleIds.
   */
  int getTargetRuleIdsCount();
  /**
   *
   *
   * <pre>
   * A list of target rule IDs under the WAF rule set to apply the preconfigured WAF exclusion. If omitted, it refers to all the rule IDs under the WAF rule set.
   * </pre>
   *
   * <code>repeated string target_rule_ids = 498430435;</code>
   *
   * @param index The index of the element to return.
   * @return The targetRuleIds at the given index.
   */
  java.lang.String getTargetRuleIds(int index);
  /**
   *
   *
   * <pre>
   * A list of target rule IDs under the WAF rule set to apply the preconfigured WAF exclusion. If omitted, it refers to all the rule IDs under the WAF rule set.
   * </pre>
   *
   * <code>repeated string target_rule_ids = 498430435;</code>
   *
   * @param index The index of the value to return.
   * @return The bytes of the targetRuleIds at the given index.
   */
  com.google.protobuf.ByteString getTargetRuleIdsBytes(int index);

  /**
   *
   *
   * <pre>
   * Target WAF rule set to apply the preconfigured WAF exclusion.
   * </pre>
   *
   * <code>optional string target_rule_set = 498440077;</code>
   *
   * @return Whether the targetRuleSet field is set.
   */
  boolean hasTargetRuleSet();
  /**
   *
   *
   * <pre>
   * Target WAF rule set to apply the preconfigured WAF exclusion.
   * </pre>
   *
   * <code>optional string target_rule_set = 498440077;</code>
   *
   * @return The targetRuleSet.
   */
  java.lang.String getTargetRuleSet();
  /**
   *
   *
   * <pre>
   * Target WAF rule set to apply the preconfigured WAF exclusion.
   * </pre>
   *
   * <code>optional string target_rule_set = 498440077;</code>
   *
   * @return The bytes for targetRuleSet.
   */
  com.google.protobuf.ByteString getTargetRuleSetBytes();
}
