-
Notifications
You must be signed in to change notification settings - Fork 0
/
types.d.ts
77 lines (62 loc) · 1.68 KB
/
types.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
type HttpVerb = "GET" | "POST" | "PUT" | "PATCH" | "HEAD" | "DELETE" | "OPTIONS" | "*";
type Effect = "Allow" | "Deny";
type StringConditionOperator =
| "StringEquals"
| "StringNotEquals"
| "StringEqualsIgnoreCase"
| "StringNotEqualsIgnoreCase"
| "StringLike"
| "StringNotLike";
type NumericConditionOperator =
| "NumericEquals"
| "NumericNotEquals"
| "NumericLessThan"
| "NumericLessThanEquals"
| "NumericGreaterThan"
| "NumericGreaterThanEquals";
type DateConditionOperator =
| "DateEquals"
| "DateNotEquals"
| "DateLessThan"
| "DateLessThanEquals"
| "DateGreaterThan"
| "DateGreaterThanEquals";
type BooleanConditionOperator = "Bool";
type IPAddressConditionOperator = "IpAddress" | "NotIpAddress";
type ARNConditionOperator = "ArnEquals" | "ArnLike" | "ArnNotEquals" | "ArnNotLike";
type NullConditionOperator = "Null";
type ConditionOperator =
| StringConditionOperator
| NumericConditionOperator
| DateConditionOperator
| BooleanConditionOperator
| IPAddressConditionOperator
| ARNConditionOperator
| NullConditionOperator;
type Condition = Map<ConditionOperator, Map<string, any>>;
type ApiOptions = {
region: string;
restApiId: string;
stage: string;
};
type Method = {
resourceArn: string;
conditions: Condition[];
};
type PolicyStatement = {
Sid?: string;
Action: string;
Effect: Effect;
Resource: string[];
Condition?: Condition[];
};
type PolicyDocument = {
Version: string;
Statement: PolicyStatement[];
};
type Policy = {
principalId: string;
policyDocument: PolicyDocument;
usageIdentifierKey?: string;
context?: { [P: string]: string | number | boolean | { [P: string]: string | number | boolean } };
};