-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathindex.d.ts
167 lines (141 loc) · 3.85 KB
/
index.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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
/**
* Describes the IAM authorization details for an AWS service.
*/
export interface ServiceAuthorizationReference {
/**
* Name of the service as listed in the service authorization
* reference.
*/
name: string;
/**
* Prefix seen in IAM action statements for this service.
*/
servicePrefix: string;
/**
* URL of the service authorization reference page for this service.
*/
authReferenceHref: string;
/**
* URL of the API reference for this service, if any.
*/
apiReferenceHref?: string;
/**
* List of actions that can be specified for this service in IAM action statements.
*/
actions: Action[];
/**
* Types of resources that can be specified for this service in IAM resource statements.
*
* These resources can come from other services; check the ARN to see the service type.
*/
resourceTypes: ResourceType[];
/**
* Condition keys that can be specified for this service in IAM statements.
*/
conditionKeys: ConditionKey[];
}
/**
* A action that can be allowed or denied via IAM policy.
*/
export interface Action {
/**
* Action name as it appears in IAM policy statements.
*/
name: string;
/**
* True if this action is not actually associated with an API call.
*/
permissionOnly: boolean;
/**
* URL of the API or user guide reference for this action.
*/
referenceHref?: string;
/**
* Description of the action.
*/
description: string;
/**
* The access level classification for this action.
*
* See the [IAM user guide](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_understand-policy-summary-access-level-summaries.html) for more information.
*/
accessLevel: 'List' | 'Read' | 'Write' | 'Permissions management' | 'Tagging';
/**
* Resource types that can be specified for this action.
*
* If empty, you must specify all resources (`"*"`) in the policy when using this action.
*/
resourceTypes: ActionResourceType[];
}
/**
* A resource that can be specified on an action.
*/
export interface ActionResourceType {
/**
* A resource type that can be used with an action.
*/
resourceType: string;
/**
* True if a resource of this type is required in order to execute the action.
* That is, if the IAM statement specifies resources, at least one resource of this type is required.
*/
required: boolean;
/**
* Condition keys that can be specified for this resource type.
*
* If a statement specifies a condition key not on this list,
* and its scope includes a resource of this type, the statement will
* have no effect.
*/
conditionKeys: string[];
/**
* Additional permissions you must have in order to use the action.
*/
dependentActions: string[];
}
/**
* A type of resource that can be specified for a service in an IAM policy.
*/
export interface ResourceType {
/**
* Name of the resource type.
*/
name: string;
/**
* URL of the API or user guide reference for this action.
*/
referenceHref?: string;
/**
* Pattern for ARNs for this resource type with `${placeholder}` markers.
*/
arnPattern: string;
/**
* List of condition keys that are valid for this resource type.
*/
conditionKeys: string[];
}
/**
* A condition that can be specified for an action in an IAM policy.
*/
export interface ConditionKey {
/**
* Name of the condition key, which may contain a template (`${param}`) element.
*/
name: string;
/**
* Link to reference information about the condition key.
*/
referenceHref?: string;
/**
* A short description of the condition key.
*/
description: string;
/**
* The type of the condition key.
*
* This can be a primitive type such as String or a compound type such as ArrayOfString.
*/
type: string;
}
declare const serviceAuth: ServiceAuthorizationReference[];
export { serviceAuth };