// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: envoy/config/rbac/v2/rbac.proto
package io.envoyproxy.envoy.config.rbac.v2;
public interface PermissionOrBuilder extends
// @@protoc_insertion_point(interface_extends:envoy.config.rbac.v2.Permission)
com.google.protobuf.MessageOrBuilder {
/**
*
* A set of rules that all must match in order to define the action.
*
*
* .envoy.config.rbac.v2.Permission.Set and_rules = 1;
*/
boolean hasAndRules();
/**
*
* A set of rules that all must match in order to define the action.
*
*
* .envoy.config.rbac.v2.Permission.Set and_rules = 1;
*/
io.envoyproxy.envoy.config.rbac.v2.Permission.Set getAndRules();
/**
*
* A set of rules that all must match in order to define the action.
*
*
* .envoy.config.rbac.v2.Permission.Set and_rules = 1;
*/
io.envoyproxy.envoy.config.rbac.v2.Permission.SetOrBuilder getAndRulesOrBuilder();
/**
*
* A set of rules where at least one must match in order to define the action.
*
*
* .envoy.config.rbac.v2.Permission.Set or_rules = 2;
*/
boolean hasOrRules();
/**
*
* A set of rules where at least one must match in order to define the action.
*
*
* .envoy.config.rbac.v2.Permission.Set or_rules = 2;
*/
io.envoyproxy.envoy.config.rbac.v2.Permission.Set getOrRules();
/**
*
* A set of rules where at least one must match in order to define the action.
*
*
* .envoy.config.rbac.v2.Permission.Set or_rules = 2;
*/
io.envoyproxy.envoy.config.rbac.v2.Permission.SetOrBuilder getOrRulesOrBuilder();
/**
*
* When any is set, it matches any action.
*
*
* bool any = 3 [(.validate.rules) = { ... }
*/
boolean getAny();
/**
*
* A header (or pseudo-header such as :path or :method) on the incoming HTTP request. Only
* available for HTTP request.
*
*
* .envoy.api.v2.route.HeaderMatcher header = 4;
*/
boolean hasHeader();
/**
*
* A header (or pseudo-header such as :path or :method) on the incoming HTTP request. Only
* available for HTTP request.
*
*
* .envoy.api.v2.route.HeaderMatcher header = 4;
*/
io.envoyproxy.envoy.api.v2.route.HeaderMatcher getHeader();
/**
*
* A header (or pseudo-header such as :path or :method) on the incoming HTTP request. Only
* available for HTTP request.
*
*
* .envoy.api.v2.route.HeaderMatcher header = 4;
*/
io.envoyproxy.envoy.api.v2.route.HeaderMatcherOrBuilder getHeaderOrBuilder();
/**
*
* A CIDR block that describes the destination IP.
*
*
* .envoy.api.v2.core.CidrRange destination_ip = 5;
*/
boolean hasDestinationIp();
/**
*
* A CIDR block that describes the destination IP.
*
*
* .envoy.api.v2.core.CidrRange destination_ip = 5;
*/
io.envoyproxy.envoy.api.v2.core.CidrRange getDestinationIp();
/**
*
* A CIDR block that describes the destination IP.
*
*
* .envoy.api.v2.core.CidrRange destination_ip = 5;
*/
io.envoyproxy.envoy.api.v2.core.CidrRangeOrBuilder getDestinationIpOrBuilder();
/**
*
* A port number that describes the destination port connecting to.
*
*
* uint32 destination_port = 6 [(.validate.rules) = { ... }
*/
int getDestinationPort();
/**
*
* Metadata that describes additional information about the action.
*
*
* .envoy.type.matcher.MetadataMatcher metadata = 7;
*/
boolean hasMetadata();
/**
*
* Metadata that describes additional information about the action.
*
*
* .envoy.type.matcher.MetadataMatcher metadata = 7;
*/
io.envoyproxy.envoy.type.matcher.MetadataMatcher getMetadata();
/**
*
* Metadata that describes additional information about the action.
*
*
* .envoy.type.matcher.MetadataMatcher metadata = 7;
*/
io.envoyproxy.envoy.type.matcher.MetadataMatcherOrBuilder getMetadataOrBuilder();
/**
*
* Negates matching the provided permission. For instance, if the value of `not_rule` would
* match, this permission would not match. Conversely, if the value of `not_rule` would not
* match, this permission would match.
*
*
* .envoy.config.rbac.v2.Permission not_rule = 8;
*/
boolean hasNotRule();
/**
*
* Negates matching the provided permission. For instance, if the value of `not_rule` would
* match, this permission would not match. Conversely, if the value of `not_rule` would not
* match, this permission would match.
*
*
* .envoy.config.rbac.v2.Permission not_rule = 8;
*/
io.envoyproxy.envoy.config.rbac.v2.Permission getNotRule();
/**
*
* Negates matching the provided permission. For instance, if the value of `not_rule` would
* match, this permission would not match. Conversely, if the value of `not_rule` would not
* match, this permission would match.
*
*
* .envoy.config.rbac.v2.Permission not_rule = 8;
*/
io.envoyproxy.envoy.config.rbac.v2.PermissionOrBuilder getNotRuleOrBuilder();
/**
*
* The request server from the client's connection request. This is
* typically TLS SNI.
* .. attention::
* The behavior of this field may be affected by how Envoy is configured
* as explained below.
* * If the :ref:`TLS Inspector <config_listener_filters_tls_inspector>`
* filter is not added, and if a `FilterChainMatch` is not defined for
* the :ref:`server name <envoy_api_field_Listener.FilterChainMatch.server_names>`,
* a TLS connection's requested SNI server name will be treated as if it
* wasn't present.
* * A :ref:`listener filter <arch_overview_listener_filters>` may
* overwrite a connection's requested server name within Envoy.
* Please refer to :ref:`this FAQ entry <faq_how_to_setup_sni>` to learn to
* setup SNI.
*
*
* .envoy.type.matcher.StringMatcher requested_server_name = 9;
*/
boolean hasRequestedServerName();
/**
*
* The request server from the client's connection request. This is
* typically TLS SNI.
* .. attention::
* The behavior of this field may be affected by how Envoy is configured
* as explained below.
* * If the :ref:`TLS Inspector <config_listener_filters_tls_inspector>`
* filter is not added, and if a `FilterChainMatch` is not defined for
* the :ref:`server name <envoy_api_field_Listener.FilterChainMatch.server_names>`,
* a TLS connection's requested SNI server name will be treated as if it
* wasn't present.
* * A :ref:`listener filter <arch_overview_listener_filters>` may
* overwrite a connection's requested server name within Envoy.
* Please refer to :ref:`this FAQ entry <faq_how_to_setup_sni>` to learn to
* setup SNI.
*
*
* .envoy.type.matcher.StringMatcher requested_server_name = 9;
*/
io.envoyproxy.envoy.type.matcher.StringMatcher getRequestedServerName();
/**
*
* The request server from the client's connection request. This is
* typically TLS SNI.
* .. attention::
* The behavior of this field may be affected by how Envoy is configured
* as explained below.
* * If the :ref:`TLS Inspector <config_listener_filters_tls_inspector>`
* filter is not added, and if a `FilterChainMatch` is not defined for
* the :ref:`server name <envoy_api_field_Listener.FilterChainMatch.server_names>`,
* a TLS connection's requested SNI server name will be treated as if it
* wasn't present.
* * A :ref:`listener filter <arch_overview_listener_filters>` may
* overwrite a connection's requested server name within Envoy.
* Please refer to :ref:`this FAQ entry <faq_how_to_setup_sni>` to learn to
* setup SNI.
*
*
* .envoy.type.matcher.StringMatcher requested_server_name = 9;
*/
io.envoyproxy.envoy.type.matcher.StringMatcherOrBuilder getRequestedServerNameOrBuilder();
public io.envoyproxy.envoy.config.rbac.v2.Permission.RuleCase getRuleCase();
}