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