@cedar-policy/cedar-wasm 3.3.0 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/cedar_wasm.d.ts +225 -145
- package/esm/cedar_wasm_bg.js +126 -88
- package/esm/cedar_wasm_bg.wasm +0 -0
- package/esm/cedar_wasm_bg.wasm.d.ts +13 -8
- package/esm/package.json +1 -1
- package/nodejs/cedar_wasm.d.ts +225 -145
- package/nodejs/cedar_wasm.js +126 -88
- package/nodejs/cedar_wasm_bg.wasm +0 -0
- package/nodejs/cedar_wasm_bg.wasm.d.ts +13 -8
- package/nodejs/package.json +1 -1
- package/package.json +1 -1
- package/web/cedar_wasm.d.ts +238 -153
- package/web/cedar_wasm.js +125 -87
- package/web/cedar_wasm_bg.wasm +0 -0
- package/web/cedar_wasm_bg.wasm.d.ts +13 -8
- package/web/package.json +1 -1
package/esm/cedar_wasm.d.ts
CHANGED
|
@@ -1,79 +1,180 @@
|
|
|
1
1
|
/* tslint:disable */
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* @
|
|
4
|
+
* Get valid request environment
|
|
5
|
+
* @param {Template} t
|
|
6
|
+
* @param {Schema} s
|
|
7
|
+
* @returns {GetValidRequestEnvsResult}
|
|
6
8
|
*/
|
|
7
|
-
export function
|
|
9
|
+
export function getValidRequestEnvsTemplate(t: Template, s: Schema): GetValidRequestEnvsResult;
|
|
8
10
|
/**
|
|
9
|
-
*
|
|
10
|
-
* @
|
|
11
|
+
* Get valid request environment
|
|
12
|
+
* @param {Policy} t
|
|
13
|
+
* @param {Schema} s
|
|
14
|
+
* @returns {GetValidRequestEnvsResult}
|
|
11
15
|
*/
|
|
12
|
-
export function
|
|
16
|
+
export function getValidRequestEnvsPolicy(t: Policy, s: Schema): GetValidRequestEnvsResult;
|
|
13
17
|
/**
|
|
14
|
-
* @
|
|
15
|
-
* @returns {CheckParsePolicySetResult}
|
|
18
|
+
* @returns {string}
|
|
16
19
|
*/
|
|
17
|
-
export function
|
|
20
|
+
export function getCedarVersion(): string;
|
|
18
21
|
/**
|
|
19
|
-
*
|
|
20
|
-
* @
|
|
22
|
+
* Basic interface, using [`AuthorizationCall`] and [`AuthorizationAnswer`] types
|
|
23
|
+
* @param {AuthorizationCall} call
|
|
24
|
+
* @returns {AuthorizationAnswer}
|
|
21
25
|
*/
|
|
22
|
-
export function
|
|
26
|
+
export function isAuthorized(call: AuthorizationCall): AuthorizationAnswer;
|
|
23
27
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
+
* Parse a policy set and optionally validate it against a provided schema
|
|
29
|
+
*
|
|
30
|
+
* This is the basic validator interface, using [`ValidationCall`] and
|
|
31
|
+
* [`ValidationAnswer`] types
|
|
32
|
+
* @param {ValidationCall} call
|
|
33
|
+
* @returns {ValidationAnswer}
|
|
28
34
|
*/
|
|
29
|
-
export function
|
|
35
|
+
export function validate(call: ValidationCall): ValidationAnswer;
|
|
30
36
|
/**
|
|
31
|
-
*
|
|
32
|
-
* @
|
|
37
|
+
* Apply the Cedar policy formatter to a policy set in the Cedar policy format
|
|
38
|
+
* @param {FormattingCall} call
|
|
39
|
+
* @returns {FormattingAnswer}
|
|
33
40
|
*/
|
|
34
|
-
export function
|
|
41
|
+
export function formatPolicies(call: FormattingCall): FormattingAnswer;
|
|
35
42
|
/**
|
|
36
|
-
*
|
|
37
|
-
* @param {
|
|
38
|
-
* @returns {
|
|
43
|
+
* Return the Cedar (textual) representation of a policy.
|
|
44
|
+
* @param {Policy} policy
|
|
45
|
+
* @returns {PolicyToTextAnswer}
|
|
39
46
|
*/
|
|
40
|
-
export function
|
|
47
|
+
export function policyToText(policy: Policy): PolicyToTextAnswer;
|
|
41
48
|
/**
|
|
42
|
-
*
|
|
43
|
-
* @param {
|
|
44
|
-
* @
|
|
45
|
-
* @returns {CheckParseResult}
|
|
49
|
+
* Return the Cedar (textual) representation of a template.
|
|
50
|
+
* @param {Template} template
|
|
51
|
+
* @returns {PolicyToTextAnswer}
|
|
46
52
|
*/
|
|
47
|
-
export function
|
|
53
|
+
export function templateToText(template: Template): PolicyToTextAnswer;
|
|
48
54
|
/**
|
|
49
|
-
*
|
|
55
|
+
* Return the JSON representation of a policy.
|
|
56
|
+
* @param {Policy} policy
|
|
57
|
+
* @returns {PolicyToJsonAnswer}
|
|
50
58
|
*/
|
|
51
|
-
export function
|
|
59
|
+
export function policyToJson(policy: Policy): PolicyToJsonAnswer;
|
|
52
60
|
/**
|
|
53
|
-
*
|
|
54
|
-
* @
|
|
61
|
+
* Return the JSON representation of a template.
|
|
62
|
+
* @param {Template} template
|
|
63
|
+
* @returns {PolicyToJsonAnswer}
|
|
55
64
|
*/
|
|
56
|
-
export function
|
|
65
|
+
export function templateToJson(template: Template): PolicyToJsonAnswer;
|
|
57
66
|
/**
|
|
58
|
-
*
|
|
59
|
-
* @
|
|
67
|
+
* Return the Cedar (textual) representation of a schema.
|
|
68
|
+
* @param {Schema} schema
|
|
69
|
+
* @returns {SchemaToTextAnswer}
|
|
60
70
|
*/
|
|
61
|
-
export function
|
|
62
|
-
|
|
71
|
+
export function schemaToText(schema: Schema): SchemaToTextAnswer;
|
|
72
|
+
/**
|
|
73
|
+
* Return the JSON representation of a schema.
|
|
74
|
+
* @param {Schema} schema
|
|
75
|
+
* @returns {SchemaToJsonAnswer}
|
|
76
|
+
*/
|
|
77
|
+
export function schemaToJson(schema: Schema): SchemaToJsonAnswer;
|
|
78
|
+
/**
|
|
79
|
+
* Check whether a policy set successfully parses.
|
|
80
|
+
* @param {PolicySet} policies
|
|
81
|
+
* @returns {CheckParseAnswer}
|
|
82
|
+
*/
|
|
83
|
+
export function checkParsePolicySet(policies: PolicySet): CheckParseAnswer;
|
|
84
|
+
/**
|
|
85
|
+
* Check whether a schema successfully parses.
|
|
86
|
+
* @param {Schema} schema
|
|
87
|
+
* @returns {CheckParseAnswer}
|
|
88
|
+
*/
|
|
89
|
+
export function checkParseSchema(schema: Schema): CheckParseAnswer;
|
|
90
|
+
/**
|
|
91
|
+
* Check whether a set of entities successfully parses.
|
|
92
|
+
* @param {EntitiesParsingCall} call
|
|
93
|
+
* @returns {CheckParseAnswer}
|
|
94
|
+
*/
|
|
95
|
+
export function checkParseEntities(call: EntitiesParsingCall): CheckParseAnswer;
|
|
96
|
+
/**
|
|
97
|
+
* Check whether a context successfully parses.
|
|
98
|
+
* @param {ContextParsingCall} call
|
|
99
|
+
* @returns {CheckParseAnswer}
|
|
100
|
+
*/
|
|
101
|
+
export function checkParseContext(call: ContextParsingCall): CheckParseAnswer;
|
|
102
|
+
export type GetValidRequestEnvsResult = { type: "success"; principals: string[]; actions: string[]; resources: string[] } | { type: "failure"; error: string };
|
|
103
|
+
|
|
104
|
+
export type SlotId = string;
|
|
105
|
+
|
|
106
|
+
export type PolicyId = string;
|
|
107
|
+
|
|
108
|
+
export interface Response {
|
|
109
|
+
decision: Decision;
|
|
110
|
+
diagnostics: Diagnostics;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export interface Diagnostics {
|
|
114
|
+
reason: PolicyId[];
|
|
115
|
+
errors: AuthorizationError[];
|
|
116
|
+
}
|
|
63
117
|
|
|
64
|
-
export
|
|
118
|
+
export interface AuthorizationError {
|
|
119
|
+
policyId: string;
|
|
120
|
+
error: DetailedError;
|
|
121
|
+
}
|
|
65
122
|
|
|
66
|
-
export type
|
|
123
|
+
export type AuthorizationAnswer = { type: "failure"; errors: DetailedError[]; warnings: DetailedError[] } | { type: "success"; response: Response; warnings: DetailedError[] };
|
|
67
124
|
|
|
68
|
-
export
|
|
125
|
+
export interface AuthorizationCall {
|
|
126
|
+
principal: EntityUid;
|
|
127
|
+
action: EntityUid;
|
|
128
|
+
resource: EntityUid;
|
|
129
|
+
context: Context;
|
|
130
|
+
schema?: Schema;
|
|
131
|
+
validateRequest?: boolean;
|
|
132
|
+
policies: PolicySet;
|
|
133
|
+
entities: Entities;
|
|
134
|
+
}
|
|
69
135
|
|
|
70
|
-
export
|
|
136
|
+
export interface ValidationCall {
|
|
137
|
+
validationSettings?: ValidationSettings;
|
|
138
|
+
schema: Schema;
|
|
139
|
+
policies: PolicySet;
|
|
140
|
+
}
|
|
71
141
|
|
|
72
|
-
export
|
|
142
|
+
export interface ValidationSettings {
|
|
143
|
+
mode: ValidationMode;
|
|
144
|
+
}
|
|
73
145
|
|
|
74
|
-
export
|
|
146
|
+
export interface ValidationError {
|
|
147
|
+
policyId: string;
|
|
148
|
+
error: DetailedError;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
export type ValidationAnswer = { type: "failure"; errors: DetailedError[]; warnings: DetailedError[] } | { type: "success"; validationErrors: ValidationError[]; validationWarnings: ValidationError[]; otherWarnings: DetailedError[] };
|
|
152
|
+
|
|
153
|
+
export type Schema = string | SchemaJson<string>;
|
|
75
154
|
|
|
76
|
-
export
|
|
155
|
+
export interface PolicySet {
|
|
156
|
+
staticPolicies?: StaticPolicySet;
|
|
157
|
+
templates?: Record<PolicyId, Template>;
|
|
158
|
+
templateLinks?: TemplateLink[];
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export interface TemplateLink {
|
|
162
|
+
templateId: PolicyId;
|
|
163
|
+
newId: PolicyId;
|
|
164
|
+
values: Record<SlotId, EntityUid>;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
export type StaticPolicySet = string | Policy[] | Record<PolicyId, Policy>;
|
|
168
|
+
|
|
169
|
+
export type Template = string | PolicyJson;
|
|
170
|
+
|
|
171
|
+
export type Policy = string | PolicyJson;
|
|
172
|
+
|
|
173
|
+
export type Entities = Array<EntityJson>;
|
|
174
|
+
|
|
175
|
+
export type Context = Record<string, CedarValueJson>;
|
|
176
|
+
|
|
177
|
+
export type EntityUid = EntityUidJson;
|
|
77
178
|
|
|
78
179
|
export interface SourceLocation {
|
|
79
180
|
start: number;
|
|
@@ -96,112 +197,114 @@ export interface DetailedError {
|
|
|
96
197
|
related?: DetailedError[];
|
|
97
198
|
}
|
|
98
199
|
|
|
99
|
-
export type
|
|
200
|
+
export type ValidationMode = "strict";
|
|
100
201
|
|
|
101
|
-
export interface
|
|
102
|
-
|
|
103
|
-
|
|
202
|
+
export interface FormattingCall {
|
|
203
|
+
policyText: string;
|
|
204
|
+
lineWidth?: number;
|
|
205
|
+
indentWidth?: number;
|
|
104
206
|
}
|
|
105
207
|
|
|
106
|
-
export type
|
|
208
|
+
export type FormattingAnswer = { type: "failure"; errors: DetailedError[] } | { type: "success"; formatted_policy: string };
|
|
107
209
|
|
|
108
|
-
export
|
|
109
|
-
enabled: ValidationEnabled;
|
|
110
|
-
}
|
|
210
|
+
export type PolicyToTextAnswer = { type: "success"; text: string } | { type: "failure"; errors: DetailedError[] };
|
|
111
211
|
|
|
112
|
-
export
|
|
113
|
-
validationSettings?: ValidationSettings;
|
|
114
|
-
schema: Schema;
|
|
115
|
-
policySet: PolicySet;
|
|
116
|
-
}
|
|
212
|
+
export type PolicyToJsonAnswer = { type: "success"; json: PolicyJson } | { type: "failure"; errors: DetailedError[] };
|
|
117
213
|
|
|
118
|
-
export
|
|
119
|
-
policies: PolicySet;
|
|
120
|
-
entities: Array<EntityJson>;
|
|
121
|
-
templates?: Record<string, string> | null;
|
|
122
|
-
templateInstantiations: TemplateLink[] | null;
|
|
123
|
-
}
|
|
214
|
+
export type SchemaToTextAnswer = { type: "success"; text: string; warnings: DetailedError[] } | { type: "failure"; errors: DetailedError[] };
|
|
124
215
|
|
|
125
|
-
export type
|
|
216
|
+
export type SchemaToJsonAnswer = { type: "success"; json: SchemaJson<string>; warnings: DetailedError[] } | { type: "failure"; errors: DetailedError[] };
|
|
126
217
|
|
|
127
|
-
export
|
|
128
|
-
templateId: string;
|
|
129
|
-
resultPolicyId: string;
|
|
130
|
-
instantiations: Links;
|
|
131
|
-
}
|
|
218
|
+
export type CheckParseAnswer = { type: "success" } | { type: "failure"; errors: DetailedError[] };
|
|
132
219
|
|
|
133
|
-
export interface
|
|
134
|
-
|
|
135
|
-
|
|
220
|
+
export interface EntitiesParsingCall {
|
|
221
|
+
entities: Entities;
|
|
222
|
+
schema?: Schema | null;
|
|
136
223
|
}
|
|
137
224
|
|
|
138
|
-
export interface
|
|
139
|
-
|
|
140
|
-
|
|
225
|
+
export interface ContextParsingCall {
|
|
226
|
+
context: Context;
|
|
227
|
+
schema?: Schema | null;
|
|
228
|
+
action?: EntityUid | null;
|
|
141
229
|
}
|
|
142
230
|
|
|
143
|
-
export
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
231
|
+
export type RecordAttributeType<N> = { required?: boolean } & Type<N>;
|
|
232
|
+
|
|
233
|
+
export type EntityAttributeType<N> = { required?: boolean } & EntityAttributeTypeInternal<N>;
|
|
234
|
+
|
|
235
|
+
export type EntityAttributeTypeInternal<N> = { Type: Type<N> } | { EAMap: { value_type: Type<N> } };
|
|
236
|
+
|
|
237
|
+
export type TypeVariant<N> = { type: "String" } | { type: "Long" } | { type: "Boolean" } | { type: "Set"; element: Type<N> } | ({ type: "Record" } & RecordType<RecordAttributeType<N>>) | { type: "Entity"; name: N } | { type: "EntityOrCommon"; name: N } | { type: "Extension"; name: UnreservedId };
|
|
238
|
+
|
|
239
|
+
export interface RecordType<V> {
|
|
240
|
+
attributes: Record<SmolStr, V>;
|
|
241
|
+
additionalAttributes?: boolean;
|
|
151
242
|
}
|
|
152
243
|
|
|
153
|
-
export type
|
|
244
|
+
export type Type<N> = TypeVariant<N> | { type: N };
|
|
154
245
|
|
|
155
|
-
export interface
|
|
156
|
-
|
|
157
|
-
|
|
246
|
+
export interface ActionEntityUID<N> {
|
|
247
|
+
id: SmolStr;
|
|
248
|
+
type?: N;
|
|
158
249
|
}
|
|
159
250
|
|
|
160
|
-
export interface
|
|
161
|
-
|
|
162
|
-
|
|
251
|
+
export interface ApplySpec<N> {
|
|
252
|
+
resourceTypes: N[];
|
|
253
|
+
principalTypes: N[];
|
|
254
|
+
context?: RecordOrContextAttributes<N>;
|
|
163
255
|
}
|
|
164
256
|
|
|
165
|
-
export interface
|
|
166
|
-
|
|
167
|
-
|
|
257
|
+
export interface ActionType<N> {
|
|
258
|
+
attributes?: Record<SmolStr, CedarValueJson>;
|
|
259
|
+
appliesTo?: ApplySpec<N>;
|
|
260
|
+
memberOf?: ActionEntityUID<N>[];
|
|
168
261
|
}
|
|
169
262
|
|
|
170
|
-
export
|
|
263
|
+
export interface EntityAttributesInternal<N> extends RecordType<EntityAttributeType<N>> {
|
|
264
|
+
type: "Record";
|
|
265
|
+
}
|
|
171
266
|
|
|
172
|
-
export type
|
|
267
|
+
export type EntityAttributes<N> = RecordOrContextAttributes<N> | EntityAttributesInternal<N>;
|
|
173
268
|
|
|
174
|
-
export
|
|
175
|
-
id: SmolStr;
|
|
176
|
-
type?: Name;
|
|
177
|
-
}
|
|
269
|
+
export type RecordOrContextAttributes<N> = Type<N>;
|
|
178
270
|
|
|
179
|
-
export interface
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
context?: AttributesOrContext;
|
|
271
|
+
export interface EntityType<N> {
|
|
272
|
+
memberOfTypes?: N[];
|
|
273
|
+
shape?: EntityAttributes<N>;
|
|
183
274
|
}
|
|
184
275
|
|
|
185
|
-
export interface
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
276
|
+
export interface NamespaceDefinition<N> {
|
|
277
|
+
commonTypes?: Record<CommonTypeId, Type<N>>;
|
|
278
|
+
entityTypes: Record<UnreservedId, EntityType<N>>;
|
|
279
|
+
actions: Record<SmolStr, ActionType<N>>;
|
|
189
280
|
}
|
|
190
281
|
|
|
191
|
-
export type
|
|
282
|
+
export type CommonTypeId = string;
|
|
283
|
+
|
|
284
|
+
export type SchemaJson<N> = Record<string, NamespaceDefinition<N>>;
|
|
285
|
+
|
|
286
|
+
export type Clause = { kind: "when"; body: Expr } | { kind: "unless"; body: Expr };
|
|
192
287
|
|
|
193
|
-
export interface
|
|
194
|
-
|
|
195
|
-
|
|
288
|
+
export interface PolicyJson {
|
|
289
|
+
effect: Effect;
|
|
290
|
+
principal: PrincipalConstraint;
|
|
291
|
+
action: ActionConstraint;
|
|
292
|
+
resource: ResourceConstraint;
|
|
293
|
+
conditions: Clause[];
|
|
294
|
+
annotations?: Record<string, string>;
|
|
196
295
|
}
|
|
197
296
|
|
|
198
|
-
export
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
297
|
+
export type Decision = "allow" | "deny";
|
|
298
|
+
|
|
299
|
+
export interface EntityJson {
|
|
300
|
+
uid: EntityUidJson;
|
|
301
|
+
attrs: Record<string, CedarValueJson>;
|
|
302
|
+
parents: EntityUidJson[];
|
|
202
303
|
}
|
|
203
304
|
|
|
204
|
-
export type
|
|
305
|
+
export type UnreservedId = string;
|
|
306
|
+
|
|
307
|
+
export type Var = "principal" | "action" | "resource" | "context";
|
|
205
308
|
|
|
206
309
|
export type ActionInConstraint = { entity: EntityUidJson } | { entities: EntityUidJson[] };
|
|
207
310
|
|
|
@@ -220,7 +323,7 @@ export type ActionConstraint = { op: "All" } | ({ op: "==" } & EqConstraint) | (
|
|
|
220
323
|
|
|
221
324
|
export type PrincipalConstraint = { op: "All" } | ({ op: "==" } & EqConstraint) | ({ op: "in" } & PrincipalOrResourceInConstraint) | ({ op: "is" } & PrincipalOrResourceIsConstraint);
|
|
222
325
|
|
|
223
|
-
export type EntityUidJson = {
|
|
326
|
+
export type EntityUidJson = { __entity: TypeAndId } | TypeAndId;
|
|
224
327
|
|
|
225
328
|
export interface FnAndArg {
|
|
226
329
|
fn: string;
|
|
@@ -232,39 +335,16 @@ export interface TypeAndId {
|
|
|
232
335
|
id: string;
|
|
233
336
|
}
|
|
234
337
|
|
|
235
|
-
export type CedarValueJson = {
|
|
338
|
+
export type CedarValueJson = { __entity: TypeAndId } | { __extn: FnAndArg } | boolean | number | string | CedarValueJson[] | { [key: string]: CedarValueJson } | null;
|
|
236
339
|
|
|
237
340
|
export type ExtFuncCall = {} & Record<string, Array<Expr>>;
|
|
238
341
|
|
|
239
|
-
export type ExprNoExt = { Value: CedarValueJson } | { Var: Var } | { Slot: string } | {
|
|
342
|
+
export type ExprNoExt = { Value: CedarValueJson } | { Var: Var } | { Slot: string } | { "!": { arg: Expr } } | { neg: { arg: Expr } } | { "==": { left: Expr; right: Expr } } | { "!=": { left: Expr; right: Expr } } | { in: { left: Expr; right: Expr } } | { "<": { left: Expr; right: Expr } } | { "<=": { left: Expr; right: Expr } } | { ">": { left: Expr; right: Expr } } | { ">=": { left: Expr; right: Expr } } | { "&&": { left: Expr; right: Expr } } | { "||": { left: Expr; right: Expr } } | { "+": { left: Expr; right: Expr } } | { "-": { left: Expr; right: Expr } } | { "*": { left: Expr; right: Expr } } | { contains: { left: Expr; right: Expr } } | { containsAll: { left: Expr; right: Expr } } | { containsAny: { left: Expr; right: Expr } } | { ".": { left: Expr; attr: SmolStr } } | { has: { left: Expr; attr: SmolStr } } | { like: { left: Expr; pattern: PatternElem[] } } | { is: { left: Expr; entity_type: SmolStr; in?: Expr } } | { "if-then-else": { if: Expr; then: Expr; else: Expr } } | { Set: Expr[] } | { Record: Record<string, Expr> };
|
|
240
343
|
|
|
241
|
-
export type
|
|
344
|
+
export type PatternElem = "Wildcard" | { Literal: SmolStr };
|
|
242
345
|
|
|
243
|
-
export type
|
|
346
|
+
export type Expr = ExprNoExt | ExtFuncCall;
|
|
244
347
|
|
|
245
348
|
export type Effect = "permit" | "forbid";
|
|
246
349
|
|
|
247
|
-
export interface EntityJson {
|
|
248
|
-
uid: EntityUidJson;
|
|
249
|
-
attrs: Record<string, CedarValueJson>;
|
|
250
|
-
parents: EntityUidJson[];
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
export type Clause = { kind: "when"; body: Expr } | { kind: "unless"; body: Expr };
|
|
254
|
-
|
|
255
|
-
export interface Policy {
|
|
256
|
-
effect: Effect;
|
|
257
|
-
principal: PrincipalConstraint;
|
|
258
|
-
action: ActionConstraint;
|
|
259
|
-
resource: ResourceConstraint;
|
|
260
|
-
conditions: Clause[];
|
|
261
|
-
annotations?: Record<string, string>;
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
export type Var = "principal" | "action" | "resource" | "context";
|
|
265
|
-
|
|
266
350
|
type SmolStr = string;
|
|
267
|
-
type Name = string;
|
|
268
|
-
type Id = string;
|
|
269
|
-
export type TypeOfAttribute = SchemaType & { required?: boolean };
|
|
270
|
-
export type Context = Record<string, CedarValueJson>;
|