Class Permission

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, PermissionOrBuilder, Serializable

    public final class Permission
    extends com.google.protobuf.GeneratedMessageV3
    implements PermissionOrBuilder
     Permission defines an action (or actions) that a principal can take.
     [#next-free-field: 11]
     
    Protobuf type envoy.config.rbac.v2.Permission
    See Also:
    Serialized Form
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getUnknownFields

        public final com.google.protobuf.UnknownFieldSet getUnknownFields()
        Specified by:
        getUnknownFields in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getUnknownFields in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

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

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • hasAndRules

        public 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;
        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.v2.Permission.Set and_rules = 1;
        Specified by:
        getAndRules in interface PermissionOrBuilder
        Returns:
        The andRules.
      • hasOrRules

        public 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;
        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.v2.Permission.Set or_rules = 2;
        Specified by:
        getOrRules in interface PermissionOrBuilder
        Returns:
        The orRules.
      • 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.
      • 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.api.v2.route.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.api.v2.route.HeaderMatcher header = 4;
        Specified by:
        getHeader in interface PermissionOrBuilder
        Returns:
        The header.
      • 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.api.v2.route.HeaderMatcher header = 4;
        Specified by:
        getHeaderOrBuilder in interface PermissionOrBuilder
      • hasUrlPath

        public boolean hasUrlPath()
         A URL path on the incoming HTTP request. Only available for HTTP.
         
        .envoy.type.matcher.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.PathMatcher url_path = 10;
        Specified by:
        getUrlPath in interface PermissionOrBuilder
        Returns:
        The urlPath.
      • hasDestinationIp

        public boolean hasDestinationIp()
         A CIDR block that describes the destination IP.
         
        .envoy.api.v2.core.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.api.v2.core.CidrRange destination_ip = 5;
        Specified by:
        getDestinationIp in interface PermissionOrBuilder
        Returns:
        The destinationIp.
      • 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.
      • hasMetadata

        public boolean hasMetadata()
         Metadata that describes additional information about the action.
         
        .envoy.type.matcher.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.MetadataMatcher metadata = 7;
        Specified by:
        getMetadata in interface PermissionOrBuilder
        Returns:
        The metadata.
      • 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.v2.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.v2.Permission not_rule = 8;
        Specified by:
        getNotRule in interface PermissionOrBuilder
        Returns:
        The notRule.
      • 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.v2.Permission not_rule = 8;
        Specified by:
        getNotRuleOrBuilder in interface PermissionOrBuilder
      • 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_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;
        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_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;
        Specified by:
        getRequestedServerName in interface PermissionOrBuilder
        Returns:
        The requestedServerName.
      • 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_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;
        Specified by:
        getRequestedServerNameOrBuilder in interface PermissionOrBuilder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static Permission parseFrom​(ByteBuffer data)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Permission parseFrom​(ByteBuffer data,
                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Permission parseFrom​(com.google.protobuf.ByteString data)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Permission parseFrom​(com.google.protobuf.ByteString data,
                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Permission parseFrom​(byte[] data)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Permission parseFrom​(byte[] data,
                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Permission parseFrom​(com.google.protobuf.CodedInputStream input,
                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                    throws IOException
        Throws:
        IOException
      • newBuilderForType

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

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

        protected Permission.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static Permission getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<Permission> parser()
      • getParserForType

        public com.google.protobuf.Parser<Permission> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

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