@type t() :: %Envoy.Config.Rbac.V2.Permission{
__unknown_fields__: [
{field_number :: integer(), Protobuf.Wire.Types.wire_type(),
value :: term()}
],
rule:
{:and_rules, Envoy.Config.Rbac.V2.Permission.Set.t() | nil}
| {:or_rules, Envoy.Config.Rbac.V2.Permission.Set.t() | nil}
| {:any, boolean()}
| {:header, Envoy.Api.V2.Route.HeaderMatcher.t() | nil}
| {:destination_ip, Envoy.Api.V2.Core.CidrRange.t() | nil}
| {:destination_port, non_neg_integer()}
| {:metadata, Envoy.Type.Matcher.MetadataMatcher.t() | nil}
| {:not_rule, t() | nil}
| {:requested_server_name, Envoy.Type.Matcher.StringMatcher.t() | nil}
| {:url_path, Envoy.Type.Matcher.PathMatcher.t() | nil}
| nil
}