local types = import 'types.libsonnet'; types.envoy.config.rbac.v3.Principal .withAndIds(types.envoy.config.rbac.v3.Principal.Set) .withAny(false) .withAuthenticated(types.envoy.config.rbac.v3.Principal.Authenticated) .withDirectRemoteIp(types.envoy.config.core.v3.CidrRange) .withFilterState(types.envoy.type.matcher.v3.FilterStateMatcher) .withHeader(types.envoy.config.route.v3.HeaderMatcher) .withMetadata(types.envoy.type.matcher.v3.MetadataMatcher) .withNotId(types.envoy.config.rbac.v3.Principal) .withOrIds(types.envoy.config.rbac.v3.Principal.Set) .withRemoteIp(types.envoy.config.core.v3.CidrRange) .withSourceIp(types.envoy.config.core.v3.CidrRange) .withUrlPath(types.envoy.type.matcher.v3.PathMatcher) ._validate()
| Name | Type | One-of group | Required | Constraints | 
|---|---|---|---|---|
| and_ids | envoy.config.rbac.v3.Principal.Set | identifier |  | |
| any | bool | identifier | {"Bool":{"const":true}} | |
| authenticated | envoy.config.rbac.v3.Principal.Authenticated | identifier |  | |
| direct_remote_ip | envoy.config.core.v3.CidrRange | identifier |  | |
| filter_state | envoy.type.matcher.v3.FilterStateMatcher | identifier |  | |
| header | envoy.config.route.v3.HeaderMatcher | identifier |  | |
| metadata | envoy.type.matcher.v3.MetadataMatcher | identifier |  | |
| not_id | envoy.config.rbac.v3.Principal | identifier |  | |
| or_ids | envoy.config.rbac.v3.Principal.Set | identifier |  | |
| remote_ip | envoy.config.core.v3.CidrRange | identifier |  | |
| source_ip | envoy.config.core.v3.CidrRange | identifier |  | |
| url_path | envoy.type.matcher.v3.PathMatcher | identifier |  |