@type t() :: %Envoy.Config.Rbac.V3.Principal{
__unknown_fields__: [
{field_number :: integer(), Protobuf.Wire.Types.wire_type(),
value :: term()}
],
identifier:
{:and_ids, Envoy.Config.Rbac.V3.Principal.Set.t() | nil}
| {:or_ids, Envoy.Config.Rbac.V3.Principal.Set.t() | nil}
| {:any, boolean()}
| {:authenticated, Envoy.Config.Rbac.V3.Principal.Authenticated.t() | nil}
| {:source_ip, Envoy.Config.Core.V3.CidrRange.t() | nil}
| {:header, Envoy.Config.Route.V3.HeaderMatcher.t() | nil}
| {:metadata, Envoy.Type.Matcher.V3.MetadataMatcher.t() | nil}
| {:not_id, t() | nil}
| {:url_path, Envoy.Type.Matcher.V3.PathMatcher.t() | nil}
| {:direct_remote_ip, Envoy.Config.Core.V3.CidrRange.t() | nil}
| {:remote_ip, Envoy.Config.Core.V3.CidrRange.t() | nil}
| {:filter_state, Envoy.Type.Matcher.V3.FilterStateMatcher.t() | nil}
| nil
}