// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: envoy/config/rbac/v3/rbac.proto
package io.envoyproxy.envoy.config.rbac.v3;
public interface PermissionOrBuilder extends
// @@protoc_insertion_point(interface_extends:envoy.config.rbac.v3.Permission)
com.google.protobuf.MessageOrBuilder {
/**
*
* A set of rules that all must match in order to define the action.
*
*
* .envoy.config.rbac.v3.Permission.Set and_rules = 1;
* @return Whether the andRules field is set.
*/
boolean hasAndRules();
/**
*
* A set of rules that all must match in order to define the action.
*
*
* .envoy.config.rbac.v3.Permission.Set and_rules = 1;
* @return The andRules.
*/
io.envoyproxy.envoy.config.rbac.v3.Permission.Set getAndRules();
/**
*
* A set of rules that all must match in order to define the action.
*
*
* .envoy.config.rbac.v3.Permission.Set and_rules = 1;
*/
io.envoyproxy.envoy.config.rbac.v3.Permission.SetOrBuilder getAndRulesOrBuilder();
/**
*
* A set of rules where at least one must match in order to define the action.
*
*
* .envoy.config.rbac.v3.Permission.Set or_rules = 2;
* @return Whether the orRules field is set.
*/
boolean hasOrRules();
/**
*
* A set of rules where at least one must match in order to define the action.
*
*
* .envoy.config.rbac.v3.Permission.Set or_rules = 2;
* @return The orRules.
*/
io.envoyproxy.envoy.config.rbac.v3.Permission.Set getOrRules();
/**
*
* A set of rules where at least one must match in order to define the action.
*
*
* .envoy.config.rbac.v3.Permission.Set or_rules = 2;
*/
io.envoyproxy.envoy.config.rbac.v3.Permission.SetOrBuilder getOrRulesOrBuilder();
/**
*
* When any is set, it matches any action.
*
*
* bool any = 3 [(.validate.rules) = { ... }
* @return Whether the any field is set.
*/
boolean hasAny();
/**
*
* When any is set, it matches any action.
*
*
* bool any = 3 [(.validate.rules) = { ... }
* @return The any.
*/
boolean getAny();
/**
*
* A header (or pseudo-header such as :path or :method) on the incoming HTTP request. Only
* available for HTTP request.
* Note: the pseudo-header :path includes the query and fragment string. Use the ``url_path``
* field if you want to match the URL path without the query and fragment string.
*
*
* .envoy.config.route.v3.HeaderMatcher header = 4;
* @return Whether the header field is set.
*/
boolean hasHeader();
/**
*
* A header (or pseudo-header such as :path or :method) on the incoming HTTP request. Only
* available for HTTP request.
* Note: the pseudo-header :path includes the query and fragment string. Use the ``url_path``
* field if you want to match the URL path without the query and fragment string.
*
*
* .envoy.config.route.v3.HeaderMatcher header = 4;
* @return The header.
*/
io.envoyproxy.envoy.config.route.v3.HeaderMatcher getHeader();
/**
*
* A header (or pseudo-header such as :path or :method) on the incoming HTTP request. Only
* available for HTTP request.
* Note: the pseudo-header :path includes the query and fragment string. Use the ``url_path``
* field if you want to match the URL path without the query and fragment string.
*
*
* .envoy.config.route.v3.HeaderMatcher header = 4;
*/
io.envoyproxy.envoy.config.route.v3.HeaderMatcherOrBuilder getHeaderOrBuilder();
/**
*
* A URL path on the incoming HTTP request. Only available for HTTP.
*
*
* .envoy.type.matcher.v3.PathMatcher url_path = 10;
* @return Whether the urlPath field is set.
*/
boolean hasUrlPath();
/**
*
* A URL path on the incoming HTTP request. Only available for HTTP.
*
*
* .envoy.type.matcher.v3.PathMatcher url_path = 10;
* @return The urlPath.
*/
io.envoyproxy.envoy.type.matcher.v3.PathMatcher getUrlPath();
/**
*
* A URL path on the incoming HTTP request. Only available for HTTP.
*
*
* .envoy.type.matcher.v3.PathMatcher url_path = 10;
*/
io.envoyproxy.envoy.type.matcher.v3.PathMatcherOrBuilder getUrlPathOrBuilder();
/**
*
* A CIDR block that describes the destination IP.
*
*
* .envoy.config.core.v3.CidrRange destination_ip = 5;
* @return Whether the destinationIp field is set.
*/
boolean hasDestinationIp();
/**
*
* A CIDR block that describes the destination IP.
*
*
* .envoy.config.core.v3.CidrRange destination_ip = 5;
* @return The destinationIp.
*/
io.envoyproxy.envoy.config.core.v3.CidrRange getDestinationIp();
/**
*
* A CIDR block that describes the destination IP.
*
*
* .envoy.config.core.v3.CidrRange destination_ip = 5;
*/
io.envoyproxy.envoy.config.core.v3.CidrRangeOrBuilder getDestinationIpOrBuilder();
/**
*
* A port number that describes the destination port connecting to.
*
*
* uint32 destination_port = 6 [(.validate.rules) = { ... }
* @return Whether the destinationPort field is set.
*/
boolean hasDestinationPort();
/**
*
* A port number that describes the destination port connecting to.
*
*
* uint32 destination_port = 6 [(.validate.rules) = { ... }
* @return The destinationPort.
*/
int getDestinationPort();
/**
*
* A port number range that describes a range of destination ports connecting to.
*
*
* .envoy.type.v3.Int32Range destination_port_range = 11;
* @return Whether the destinationPortRange field is set.
*/
boolean hasDestinationPortRange();
/**
*
* A port number range that describes a range of destination ports connecting to.
*
*
* .envoy.type.v3.Int32Range destination_port_range = 11;
* @return The destinationPortRange.
*/
io.envoyproxy.envoy.type.v3.Int32Range getDestinationPortRange();
/**
*
* A port number range that describes a range of destination ports connecting to.
*
*
* .envoy.type.v3.Int32Range destination_port_range = 11;
*/
io.envoyproxy.envoy.type.v3.Int32RangeOrBuilder getDestinationPortRangeOrBuilder();
/**
*
* Metadata that describes additional information about the action.
*
*
* .envoy.type.matcher.v3.MetadataMatcher metadata = 7;
* @return Whether the metadata field is set.
*/
boolean hasMetadata();
/**
*
* Metadata that describes additional information about the action.
*
*
* .envoy.type.matcher.v3.MetadataMatcher metadata = 7;
* @return The metadata.
*/
io.envoyproxy.envoy.type.matcher.v3.MetadataMatcher getMetadata();
/**
*
* Metadata that describes additional information about the action.
*
*
* .envoy.type.matcher.v3.MetadataMatcher metadata = 7;
*/
io.envoyproxy.envoy.type.matcher.v3.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.v3.Permission not_rule = 8;
* @return Whether the notRule field is set.
*/
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.v3.Permission not_rule = 8;
* @return The notRule.
*/
io.envoyproxy.envoy.config.rbac.v3.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.v3.Permission not_rule = 8;
*/
io.envoyproxy.envoy.config.rbac.v3.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_v3_api_field_config.listener.v3.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.v3.StringMatcher requested_server_name = 9;
* @return Whether the requestedServerName field is set.
*/
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_v3_api_field_config.listener.v3.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.v3.StringMatcher requested_server_name = 9;
* @return The requestedServerName.
*/
io.envoyproxy.envoy.type.matcher.v3.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_v3_api_field_config.listener.v3.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.v3.StringMatcher requested_server_name = 9;
*/
io.envoyproxy.envoy.type.matcher.v3.StringMatcherOrBuilder getRequestedServerNameOrBuilder();
/**
*
* Extension for configuring custom matchers for RBAC.
* [#extension-category: envoy.rbac.matchers]
*
*
* .envoy.config.core.v3.TypedExtensionConfig matcher = 12;
* @return Whether the matcher field is set.
*/
boolean hasMatcher();
/**
*
* Extension for configuring custom matchers for RBAC.
* [#extension-category: envoy.rbac.matchers]
*
*
* .envoy.config.core.v3.TypedExtensionConfig matcher = 12;
* @return The matcher.
*/
io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig getMatcher();
/**
*
* Extension for configuring custom matchers for RBAC.
* [#extension-category: envoy.rbac.matchers]
*
*
* .envoy.config.core.v3.TypedExtensionConfig matcher = 12;
*/
io.envoyproxy.envoy.config.core.v3.TypedExtensionConfigOrBuilder getMatcherOrBuilder();
public io.envoyproxy.envoy.config.rbac.v3.Permission.RuleCase getRuleCase();
}