Class Permission.Builder

  • All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, PermissionOrBuilder, java.lang.Cloneable
    Enclosing class:
    Permission

    public static final class Permission.Builder
    extends com.google.protobuf.GeneratedMessage.Builder<Permission.Builder>
    implements PermissionOrBuilder
     Permission defines an action (or actions) that a principal can take.
     [#next-free-field: 14]
     
    Protobuf type envoy.config.rbac.v3.Permission
    • Constructor Detail

      • Builder

        private Builder()
      • Builder

        private Builder​(com.google.protobuf.AbstractMessage.BuilderParent parent)
    • Method Detail

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<Permission.Builder>
      • clear

        public Permission.Builder clear()
        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessage.Builder<Permission.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<Permission.Builder>
      • getDefaultInstanceForType

        public Permission getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        public Permission build()
        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public Permission buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • buildPartial0

        private void buildPartial0​(Permission result)
      • buildPartialOneofs

        private void buildPartialOneofs​(Permission result)
      • mergeFrom

        public Permission.Builder mergeFrom​(com.google.protobuf.Message other)
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<Permission.Builder>
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessage.Builder<Permission.Builder>
      • mergeFrom

        public Permission.Builder mergeFrom​(com.google.protobuf.CodedInputStream input,
                                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                     throws java.io.IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<Permission.Builder>
        Throws:
        java.io.IOException
      • hasAndRules

        public 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;
        Specified by:
        hasAndRules in interface PermissionOrBuilder
        Returns:
        Whether the andRules field is set.
      • getAndRules

        public 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;
        Specified by:
        getAndRules in interface PermissionOrBuilder
        Returns:
        The andRules.
      • setAndRules

        public Permission.Builder setAndRules​(Permission.Set value)
         A set of rules that all must match in order to define the action.
         
        .envoy.config.rbac.v3.Permission.Set and_rules = 1;
      • setAndRules

        public Permission.Builder setAndRules​(Permission.Set.Builder builderForValue)
         A set of rules that all must match in order to define the action.
         
        .envoy.config.rbac.v3.Permission.Set and_rules = 1;
      • mergeAndRules

        public Permission.Builder mergeAndRules​(Permission.Set value)
         A set of rules that all must match in order to define the action.
         
        .envoy.config.rbac.v3.Permission.Set and_rules = 1;
      • clearAndRules

        public Permission.Builder clearAndRules()
         A set of rules that all must match in order to define the action.
         
        .envoy.config.rbac.v3.Permission.Set and_rules = 1;
      • getAndRulesBuilder

        public Permission.Set.Builder getAndRulesBuilder()
         A set of rules that all must match in order to define the action.
         
        .envoy.config.rbac.v3.Permission.Set and_rules = 1;
      • hasOrRules

        public 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;
        Specified by:
        hasOrRules in interface PermissionOrBuilder
        Returns:
        Whether the orRules field is set.
      • getOrRules

        public 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;
        Specified by:
        getOrRules in interface PermissionOrBuilder
        Returns:
        The orRules.
      • setOrRules

        public Permission.Builder setOrRules​(Permission.Set value)
         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;
      • setOrRules

        public Permission.Builder setOrRules​(Permission.Set.Builder builderForValue)
         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;
      • mergeOrRules

        public Permission.Builder mergeOrRules​(Permission.Set value)
         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;
      • clearOrRules

        public Permission.Builder clearOrRules()
         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;
      • getOrRulesBuilder

        public Permission.Set.Builder getOrRulesBuilder()
         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;
      • hasAny

        public boolean hasAny()
         When any is set, it matches any action.
         
        bool any = 3 [(.validate.rules) = { ... }
        Specified by:
        hasAny in interface PermissionOrBuilder
        Returns:
        Whether the any field is set.
      • getAny

        public boolean getAny()
         When any is set, it matches any action.
         
        bool any = 3 [(.validate.rules) = { ... }
        Specified by:
        getAny in interface PermissionOrBuilder
        Returns:
        The any.
      • setAny

        public Permission.Builder setAny​(boolean value)
         When any is set, it matches any action.
         
        bool any = 3 [(.validate.rules) = { ... }
        Parameters:
        value - The any to set.
        Returns:
        This builder for chaining.
      • clearAny

        public Permission.Builder clearAny()
         When any is set, it matches any action.
         
        bool any = 3 [(.validate.rules) = { ... }
        Returns:
        This builder for chaining.
      • hasHeader

        public 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;
        Specified by:
        hasHeader in interface PermissionOrBuilder
        Returns:
        Whether the header field is set.
      • getHeader

        public 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;
        Specified by:
        getHeader in interface PermissionOrBuilder
        Returns:
        The header.
      • setHeader

        public Permission.Builder setHeader​(HeaderMatcher value)
         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;
      • setHeader

        public Permission.Builder setHeader​(HeaderMatcher.Builder builderForValue)
         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;
      • mergeHeader

        public Permission.Builder mergeHeader​(HeaderMatcher value)
         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;
      • clearHeader

        public Permission.Builder clearHeader()
         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;
      • getHeaderBuilder

        public HeaderMatcher.Builder getHeaderBuilder()
         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;
      • getHeaderOrBuilder

        public HeaderMatcherOrBuilder getHeaderOrBuilder()
         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;
        Specified by:
        getHeaderOrBuilder in interface PermissionOrBuilder
      • getHeaderFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<HeaderMatcher,​HeaderMatcher.Builder,​HeaderMatcherOrBuilder> getHeaderFieldBuilder()
         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;
      • hasUrlPath

        public boolean hasUrlPath()
         A URL path on the incoming HTTP request. Only available for HTTP.
         
        .envoy.type.matcher.v3.PathMatcher url_path = 10;
        Specified by:
        hasUrlPath in interface PermissionOrBuilder
        Returns:
        Whether the urlPath field is set.
      • getUrlPath

        public PathMatcher getUrlPath()
         A URL path on the incoming HTTP request. Only available for HTTP.
         
        .envoy.type.matcher.v3.PathMatcher url_path = 10;
        Specified by:
        getUrlPath in interface PermissionOrBuilder
        Returns:
        The urlPath.
      • setUrlPath

        public Permission.Builder setUrlPath​(PathMatcher value)
         A URL path on the incoming HTTP request. Only available for HTTP.
         
        .envoy.type.matcher.v3.PathMatcher url_path = 10;
      • setUrlPath

        public Permission.Builder setUrlPath​(PathMatcher.Builder builderForValue)
         A URL path on the incoming HTTP request. Only available for HTTP.
         
        .envoy.type.matcher.v3.PathMatcher url_path = 10;
      • mergeUrlPath

        public Permission.Builder mergeUrlPath​(PathMatcher value)
         A URL path on the incoming HTTP request. Only available for HTTP.
         
        .envoy.type.matcher.v3.PathMatcher url_path = 10;
      • clearUrlPath

        public Permission.Builder clearUrlPath()
         A URL path on the incoming HTTP request. Only available for HTTP.
         
        .envoy.type.matcher.v3.PathMatcher url_path = 10;
      • getUrlPathBuilder

        public PathMatcher.Builder getUrlPathBuilder()
         A URL path on the incoming HTTP request. Only available for HTTP.
         
        .envoy.type.matcher.v3.PathMatcher url_path = 10;
      • getUrlPathFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<PathMatcher,​PathMatcher.Builder,​PathMatcherOrBuilder> getUrlPathFieldBuilder()
         A URL path on the incoming HTTP request. Only available for HTTP.
         
        .envoy.type.matcher.v3.PathMatcher url_path = 10;
      • hasDestinationIp

        public boolean hasDestinationIp()
         A CIDR block that describes the destination IP.
         
        .envoy.config.core.v3.CidrRange destination_ip = 5;
        Specified by:
        hasDestinationIp in interface PermissionOrBuilder
        Returns:
        Whether the destinationIp field is set.
      • getDestinationIp

        public CidrRange getDestinationIp()
         A CIDR block that describes the destination IP.
         
        .envoy.config.core.v3.CidrRange destination_ip = 5;
        Specified by:
        getDestinationIp in interface PermissionOrBuilder
        Returns:
        The destinationIp.
      • setDestinationIp

        public Permission.Builder setDestinationIp​(CidrRange value)
         A CIDR block that describes the destination IP.
         
        .envoy.config.core.v3.CidrRange destination_ip = 5;
      • setDestinationIp

        public Permission.Builder setDestinationIp​(CidrRange.Builder builderForValue)
         A CIDR block that describes the destination IP.
         
        .envoy.config.core.v3.CidrRange destination_ip = 5;
      • mergeDestinationIp

        public Permission.Builder mergeDestinationIp​(CidrRange value)
         A CIDR block that describes the destination IP.
         
        .envoy.config.core.v3.CidrRange destination_ip = 5;
      • clearDestinationIp

        public Permission.Builder clearDestinationIp()
         A CIDR block that describes the destination IP.
         
        .envoy.config.core.v3.CidrRange destination_ip = 5;
      • getDestinationIpBuilder

        public CidrRange.Builder getDestinationIpBuilder()
         A CIDR block that describes the destination IP.
         
        .envoy.config.core.v3.CidrRange destination_ip = 5;
      • getDestinationIpFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<CidrRange,​CidrRange.Builder,​CidrRangeOrBuilder> getDestinationIpFieldBuilder()
         A CIDR block that describes the destination IP.
         
        .envoy.config.core.v3.CidrRange destination_ip = 5;
      • hasDestinationPort

        public boolean hasDestinationPort()
         A port number that describes the destination port connecting to.
         
        uint32 destination_port = 6 [(.validate.rules) = { ... }
        Specified by:
        hasDestinationPort in interface PermissionOrBuilder
        Returns:
        Whether the destinationPort field is set.
      • getDestinationPort

        public int getDestinationPort()
         A port number that describes the destination port connecting to.
         
        uint32 destination_port = 6 [(.validate.rules) = { ... }
        Specified by:
        getDestinationPort in interface PermissionOrBuilder
        Returns:
        The destinationPort.
      • setDestinationPort

        public Permission.Builder setDestinationPort​(int value)
         A port number that describes the destination port connecting to.
         
        uint32 destination_port = 6 [(.validate.rules) = { ... }
        Parameters:
        value - The destinationPort to set.
        Returns:
        This builder for chaining.
      • clearDestinationPort

        public Permission.Builder clearDestinationPort()
         A port number that describes the destination port connecting to.
         
        uint32 destination_port = 6 [(.validate.rules) = { ... }
        Returns:
        This builder for chaining.
      • hasDestinationPortRange

        public boolean hasDestinationPortRange()
         A port number range that describes a range of destination ports connecting to.
         
        .envoy.type.v3.Int32Range destination_port_range = 11;
        Specified by:
        hasDestinationPortRange in interface PermissionOrBuilder
        Returns:
        Whether the destinationPortRange field is set.
      • getDestinationPortRange

        public Int32Range getDestinationPortRange()
         A port number range that describes a range of destination ports connecting to.
         
        .envoy.type.v3.Int32Range destination_port_range = 11;
        Specified by:
        getDestinationPortRange in interface PermissionOrBuilder
        Returns:
        The destinationPortRange.
      • setDestinationPortRange

        public Permission.Builder setDestinationPortRange​(Int32Range value)
         A port number range that describes a range of destination ports connecting to.
         
        .envoy.type.v3.Int32Range destination_port_range = 11;
      • setDestinationPortRange

        public Permission.Builder setDestinationPortRange​(Int32Range.Builder builderForValue)
         A port number range that describes a range of destination ports connecting to.
         
        .envoy.type.v3.Int32Range destination_port_range = 11;
      • mergeDestinationPortRange

        public Permission.Builder mergeDestinationPortRange​(Int32Range value)
         A port number range that describes a range of destination ports connecting to.
         
        .envoy.type.v3.Int32Range destination_port_range = 11;
      • clearDestinationPortRange

        public Permission.Builder clearDestinationPortRange()
         A port number range that describes a range of destination ports connecting to.
         
        .envoy.type.v3.Int32Range destination_port_range = 11;
      • getDestinationPortRangeBuilder

        public Int32Range.Builder getDestinationPortRangeBuilder()
         A port number range that describes a range of destination ports connecting to.
         
        .envoy.type.v3.Int32Range destination_port_range = 11;
      • getDestinationPortRangeFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<Int32Range,​Int32Range.Builder,​Int32RangeOrBuilder> getDestinationPortRangeFieldBuilder()
         A port number range that describes a range of destination ports connecting to.
         
        .envoy.type.v3.Int32Range destination_port_range = 11;
      • hasMetadata

        public boolean hasMetadata()
         Metadata that describes additional information about the action.
         
        .envoy.type.matcher.v3.MetadataMatcher metadata = 7;
        Specified by:
        hasMetadata in interface PermissionOrBuilder
        Returns:
        Whether the metadata field is set.
      • getMetadata

        public MetadataMatcher getMetadata()
         Metadata that describes additional information about the action.
         
        .envoy.type.matcher.v3.MetadataMatcher metadata = 7;
        Specified by:
        getMetadata in interface PermissionOrBuilder
        Returns:
        The metadata.
      • setMetadata

        public Permission.Builder setMetadata​(MetadataMatcher value)
         Metadata that describes additional information about the action.
         
        .envoy.type.matcher.v3.MetadataMatcher metadata = 7;
      • setMetadata

        public Permission.Builder setMetadata​(MetadataMatcher.Builder builderForValue)
         Metadata that describes additional information about the action.
         
        .envoy.type.matcher.v3.MetadataMatcher metadata = 7;
      • mergeMetadata

        public Permission.Builder mergeMetadata​(MetadataMatcher value)
         Metadata that describes additional information about the action.
         
        .envoy.type.matcher.v3.MetadataMatcher metadata = 7;
      • clearMetadata

        public Permission.Builder clearMetadata()
         Metadata that describes additional information about the action.
         
        .envoy.type.matcher.v3.MetadataMatcher metadata = 7;
      • getMetadataBuilder

        public MetadataMatcher.Builder getMetadataBuilder()
         Metadata that describes additional information about the action.
         
        .envoy.type.matcher.v3.MetadataMatcher metadata = 7;
      • hasNotRule

        public 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;
        Specified by:
        hasNotRule in interface PermissionOrBuilder
        Returns:
        Whether the notRule field is set.
      • getNotRule

        public 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;
        Specified by:
        getNotRule in interface PermissionOrBuilder
        Returns:
        The notRule.
      • setNotRule

        public Permission.Builder setNotRule​(Permission value)
         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;
      • setNotRule

        public Permission.Builder setNotRule​(Permission.Builder builderForValue)
         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;
      • mergeNotRule

        public Permission.Builder mergeNotRule​(Permission value)
         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;
      • clearNotRule

        public Permission.Builder clearNotRule()
         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;
      • getNotRuleBuilder

        public Permission.Builder getNotRuleBuilder()
         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;
      • getNotRuleOrBuilder

        public PermissionOrBuilder getNotRuleOrBuilder()
         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;
        Specified by:
        getNotRuleOrBuilder in interface PermissionOrBuilder
      • getNotRuleFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<Permission,​Permission.Builder,​PermissionOrBuilder> getNotRuleFieldBuilder()
         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;
      • hasRequestedServerName

        public 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;
        Specified by:
        hasRequestedServerName in interface PermissionOrBuilder
        Returns:
        Whether the requestedServerName field is set.
      • getRequestedServerName

        public 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;
        Specified by:
        getRequestedServerName in interface PermissionOrBuilder
        Returns:
        The requestedServerName.
      • setRequestedServerName

        public Permission.Builder setRequestedServerName​(StringMatcher value)
         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;
      • setRequestedServerName

        public Permission.Builder setRequestedServerName​(StringMatcher.Builder builderForValue)
         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;
      • mergeRequestedServerName

        public Permission.Builder mergeRequestedServerName​(StringMatcher value)
         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;
      • clearRequestedServerName

        public Permission.Builder clearRequestedServerName()
         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;
      • getRequestedServerNameBuilder

        public StringMatcher.Builder getRequestedServerNameBuilder()
         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;
      • getRequestedServerNameOrBuilder

        public StringMatcherOrBuilder getRequestedServerNameOrBuilder()
         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;
        Specified by:
        getRequestedServerNameOrBuilder in interface PermissionOrBuilder
      • getRequestedServerNameFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<StringMatcher,​StringMatcher.Builder,​StringMatcherOrBuilder> getRequestedServerNameFieldBuilder()
         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;
      • hasMatcher

        public boolean hasMatcher()
         Extension for configuring custom matchers for RBAC.
         [#extension-category: envoy.rbac.matchers]
         
        .envoy.config.core.v3.TypedExtensionConfig matcher = 12;
        Specified by:
        hasMatcher in interface PermissionOrBuilder
        Returns:
        Whether the matcher field is set.
      • getMatcher

        public TypedExtensionConfig getMatcher()
         Extension for configuring custom matchers for RBAC.
         [#extension-category: envoy.rbac.matchers]
         
        .envoy.config.core.v3.TypedExtensionConfig matcher = 12;
        Specified by:
        getMatcher in interface PermissionOrBuilder
        Returns:
        The matcher.
      • setMatcher

        public Permission.Builder setMatcher​(TypedExtensionConfig value)
         Extension for configuring custom matchers for RBAC.
         [#extension-category: envoy.rbac.matchers]
         
        .envoy.config.core.v3.TypedExtensionConfig matcher = 12;
      • setMatcher

        public Permission.Builder setMatcher​(TypedExtensionConfig.Builder builderForValue)
         Extension for configuring custom matchers for RBAC.
         [#extension-category: envoy.rbac.matchers]
         
        .envoy.config.core.v3.TypedExtensionConfig matcher = 12;
      • mergeMatcher

        public Permission.Builder mergeMatcher​(TypedExtensionConfig value)
         Extension for configuring custom matchers for RBAC.
         [#extension-category: envoy.rbac.matchers]
         
        .envoy.config.core.v3.TypedExtensionConfig matcher = 12;
      • clearMatcher

        public Permission.Builder clearMatcher()
         Extension for configuring custom matchers for RBAC.
         [#extension-category: envoy.rbac.matchers]
         
        .envoy.config.core.v3.TypedExtensionConfig matcher = 12;
      • getMatcherBuilder

        public TypedExtensionConfig.Builder getMatcherBuilder()
         Extension for configuring custom matchers for RBAC.
         [#extension-category: envoy.rbac.matchers]
         
        .envoy.config.core.v3.TypedExtensionConfig matcher = 12;
      • hasUriTemplate

        public boolean hasUriTemplate()
         URI template path matching.
         [#extension-category: envoy.path.match]
         
        .envoy.config.core.v3.TypedExtensionConfig uri_template = 13;
        Specified by:
        hasUriTemplate in interface PermissionOrBuilder
        Returns:
        Whether the uriTemplate field is set.
      • getUriTemplate

        public TypedExtensionConfig getUriTemplate()
         URI template path matching.
         [#extension-category: envoy.path.match]
         
        .envoy.config.core.v3.TypedExtensionConfig uri_template = 13;
        Specified by:
        getUriTemplate in interface PermissionOrBuilder
        Returns:
        The uriTemplate.
      • setUriTemplate

        public Permission.Builder setUriTemplate​(TypedExtensionConfig value)
         URI template path matching.
         [#extension-category: envoy.path.match]
         
        .envoy.config.core.v3.TypedExtensionConfig uri_template = 13;
      • setUriTemplate

        public Permission.Builder setUriTemplate​(TypedExtensionConfig.Builder builderForValue)
         URI template path matching.
         [#extension-category: envoy.path.match]
         
        .envoy.config.core.v3.TypedExtensionConfig uri_template = 13;
      • mergeUriTemplate

        public Permission.Builder mergeUriTemplate​(TypedExtensionConfig value)
         URI template path matching.
         [#extension-category: envoy.path.match]
         
        .envoy.config.core.v3.TypedExtensionConfig uri_template = 13;
      • clearUriTemplate

        public Permission.Builder clearUriTemplate()
         URI template path matching.
         [#extension-category: envoy.path.match]
         
        .envoy.config.core.v3.TypedExtensionConfig uri_template = 13;
      • getUriTemplateBuilder

        public TypedExtensionConfig.Builder getUriTemplateBuilder()
         URI template path matching.
         [#extension-category: envoy.path.match]
         
        .envoy.config.core.v3.TypedExtensionConfig uri_template = 13;