@propulsionworks/cfn-resource-schemas 0.1.0
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/out/schemas.d.ts +6 -0
- package/out/schemas.d.ts.map +1 -0
- package/out/schemas.js +39 -0
- package/out/schemas.js.map +1 -0
- package/out/types.d.ts +408 -0
- package/out/types.d.ts.map +1 -0
- package/out/types.js +2 -0
- package/out/types.js.map +1 -0
- package/package.json +43 -0
- package/schemas.ndjson.gz +0 -0
- package/src/schemas.ts +53 -0
- package/src/types.ts +434 -0
package/out/schemas.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAoC7D;;GAEG;AACH,wBAAgB,WAAW,IAAI,aAAa,CAC1C,0BAA0B,EAC1B,IAAI,EACJ,IAAI,CACL,CAIA"}
|
package/out/schemas.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { createReadStream } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { Transform } from "node:stream";
|
|
4
|
+
import { StringDecoder } from "node:string_decoder";
|
|
5
|
+
import { createGunzip } from "node:zlib";
|
|
6
|
+
/**
|
|
7
|
+
* Stream transform to convert the input into a stream of JSON objects.
|
|
8
|
+
*/
|
|
9
|
+
class NdJsonTransform extends Transform {
|
|
10
|
+
#decoder = new StringDecoder();
|
|
11
|
+
#last = "";
|
|
12
|
+
constructor() {
|
|
13
|
+
super({
|
|
14
|
+
readableObjectMode: true,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
_transform(chunk, encoding, callback) {
|
|
18
|
+
const current = this.#last + this.#decoder.write(chunk);
|
|
19
|
+
const lines = current.split(`\n`);
|
|
20
|
+
this.#last = lines.pop() ?? "";
|
|
21
|
+
for (const line of lines) {
|
|
22
|
+
this.push(JSON.parse(line));
|
|
23
|
+
}
|
|
24
|
+
callback();
|
|
25
|
+
}
|
|
26
|
+
_flush(callback) {
|
|
27
|
+
const current = this.#last + this.#decoder.end();
|
|
28
|
+
callback(undefined, current ? JSON.parse(current) : undefined);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Load the AWS schemas from the bundle.
|
|
33
|
+
*/
|
|
34
|
+
export function loadSchemas() {
|
|
35
|
+
return createReadStream(join(import.meta.dirname, "../schemas.ndjson.gz"))
|
|
36
|
+
.pipe(createGunzip())
|
|
37
|
+
.pipe(new NdJsonTransform());
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAA0B,SAAS,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC;;GAEG;AACH,MAAM,eAAgB,SAAQ,SAAS;IAC5B,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;IACxC,KAAK,GAAG,EAAE,CAAC;IAEX;QACE,KAAK,CAAC;YACJ,kBAAkB,EAAE,IAAI;SACzB,CAAC,CAAC;IACL,CAAC;IAEe,UAAU,CACxB,KAAsB,EACtB,QAAwB,EACxB,QAA2B;QAE3B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QAE/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,QAAQ,EAAE,CAAC;IACb,CAAC;IAEe,MAAM,CAAC,QAA2B;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACjD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IAKzB,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;SACvE,IAAI,CAAC,YAAY,EAAE,CAAC;SACpB,IAAI,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;AACjC,CAAC"}
|
package/out/types.d.ts
ADDED
|
@@ -0,0 +1,408 @@
|
|
|
1
|
+
export type JsonValue = boolean | null | number | string | JsonValue[] | {
|
|
2
|
+
[key: string]: JsonValue;
|
|
3
|
+
};
|
|
4
|
+
export type JsonSchemaDefinition = JsonSchema | boolean;
|
|
5
|
+
export type ResourceTypeSchemaWithMeta = {
|
|
6
|
+
$id: string;
|
|
7
|
+
$integrity: string;
|
|
8
|
+
} & ResourceTypeSchema;
|
|
9
|
+
export type JsonSchema = {
|
|
10
|
+
$comment?: string | undefined;
|
|
11
|
+
$id?: string | undefined;
|
|
12
|
+
$ref?: string | undefined;
|
|
13
|
+
$schema?: string | undefined;
|
|
14
|
+
additionalItems?: JsonSchemaDefinition | undefined;
|
|
15
|
+
additionalProperties?: JsonSchemaDefinition | undefined;
|
|
16
|
+
allOf?: JsonSchemaDefinition[] | undefined;
|
|
17
|
+
anyOf?: JsonSchemaDefinition[] | undefined;
|
|
18
|
+
const?: JsonValue;
|
|
19
|
+
contains?: JsonSchemaDefinition | undefined;
|
|
20
|
+
contentEncoding?: string | undefined;
|
|
21
|
+
contentMediaType?: string | undefined;
|
|
22
|
+
default?: JsonValue;
|
|
23
|
+
/**
|
|
24
|
+
* @default {}
|
|
25
|
+
*/
|
|
26
|
+
definitions?: Record<string, JsonSchemaDefinition> | undefined;
|
|
27
|
+
dependencies?: Record<string, JsonSchemaDefinition | string[]> | undefined;
|
|
28
|
+
description?: string | undefined;
|
|
29
|
+
else?: JsonSchemaDefinition | undefined;
|
|
30
|
+
enum?: JsonValue[] | undefined;
|
|
31
|
+
examples?: JsonValue[] | undefined;
|
|
32
|
+
exclusiveMaximum?: number | undefined;
|
|
33
|
+
exclusiveMinimum?: number | undefined;
|
|
34
|
+
format?: string | undefined;
|
|
35
|
+
if?: JsonSchemaDefinition | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* @default true
|
|
38
|
+
*/
|
|
39
|
+
items?: JsonSchemaDefinition | JsonSchemaDefinition[] | undefined;
|
|
40
|
+
maximum?: number | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* @min 0
|
|
43
|
+
*/
|
|
44
|
+
maxItems?: number | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* @min 0
|
|
47
|
+
*/
|
|
48
|
+
maxLength?: number | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* @min 0
|
|
51
|
+
*/
|
|
52
|
+
maxProperties?: number | undefined;
|
|
53
|
+
minimum?: number | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* @min 0
|
|
56
|
+
* @default 0
|
|
57
|
+
*/
|
|
58
|
+
minItems?: number | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* @min 0
|
|
61
|
+
* @default 0
|
|
62
|
+
*/
|
|
63
|
+
minLength?: number | undefined;
|
|
64
|
+
/**
|
|
65
|
+
* @min 0
|
|
66
|
+
* @default 0
|
|
67
|
+
*/
|
|
68
|
+
minProperties?: number | undefined;
|
|
69
|
+
multipleOf?: number | undefined;
|
|
70
|
+
not?: JsonSchemaDefinition | undefined;
|
|
71
|
+
oneOf?: JsonSchemaDefinition[] | undefined;
|
|
72
|
+
pattern?: string | undefined;
|
|
73
|
+
/**
|
|
74
|
+
* @default {}
|
|
75
|
+
*/
|
|
76
|
+
patternProperties?: Record<string, JsonSchemaDefinition> | undefined;
|
|
77
|
+
/**
|
|
78
|
+
* @default {}
|
|
79
|
+
*/
|
|
80
|
+
properties?: Record<string, JsonSchemaDefinition> | undefined;
|
|
81
|
+
propertyNames?: JsonSchemaDefinition | undefined;
|
|
82
|
+
/**
|
|
83
|
+
* @default false
|
|
84
|
+
*/
|
|
85
|
+
readOnly?: boolean | undefined;
|
|
86
|
+
/**
|
|
87
|
+
* @default []
|
|
88
|
+
*/
|
|
89
|
+
required?: string[] | undefined;
|
|
90
|
+
then?: JsonSchemaDefinition | undefined;
|
|
91
|
+
title?: string | undefined;
|
|
92
|
+
type?: ("array" | "boolean" | "integer" | "null" | "number" | "object" | "string") | ("array" | "boolean" | "integer" | "null" | "number" | "object" | "string")[] | undefined;
|
|
93
|
+
/**
|
|
94
|
+
* @default false
|
|
95
|
+
*/
|
|
96
|
+
uniqueItems?: boolean | undefined;
|
|
97
|
+
/**
|
|
98
|
+
* @default false
|
|
99
|
+
*/
|
|
100
|
+
writeOnly?: boolean | undefined;
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* This schema validates a CloudFormation resource provider definition.
|
|
104
|
+
*/
|
|
105
|
+
export type ResourceTypeSchema = {
|
|
106
|
+
$comment?: string | undefined;
|
|
107
|
+
$schema?: string | undefined;
|
|
108
|
+
/**
|
|
109
|
+
* An optional list of supplementary identifiers, each of which uniquely identifies an instance of this resource type. An identifier is a non-zero-length list of JSON pointers to properties that form a single key. An identifier can be a single or multiple properties to support composite-key identifiers.
|
|
110
|
+
*/
|
|
111
|
+
additionalIdentifiers?: string[][] | undefined;
|
|
112
|
+
additionalProperties: false;
|
|
113
|
+
allOf?: PropertySchema[] | undefined;
|
|
114
|
+
anyOf?: PropertySchema[] | undefined;
|
|
115
|
+
/**
|
|
116
|
+
* A list of JSON pointers for properties that can only be updated under certain conditions. For example, you can upgrade the engine version of an RDS DBInstance but you cannot downgrade it. When updating this property for a resource in a CloudFormation stack, the resource will be replaced if it cannot be updated.
|
|
117
|
+
*/
|
|
118
|
+
conditionalCreateOnlyProperties?: string[] | undefined;
|
|
119
|
+
/**
|
|
120
|
+
* A list of JSON pointers to properties that are only able to be specified by the customer when creating a resource. Conversely, any property *not* in this list can be applied to an Update request.
|
|
121
|
+
*/
|
|
122
|
+
createOnlyProperties?: string[] | undefined;
|
|
123
|
+
definitions?: Record<string, PropertySchema> | undefined;
|
|
124
|
+
/**
|
|
125
|
+
* A list of JSON pointers to properties that have been deprecated by the underlying service provider. These properties are still accepted in create & update operations, however they may be ignored, or converted to a consistent model on application. Deprecated properties are not guaranteed to be present in read paths.
|
|
126
|
+
*/
|
|
127
|
+
deprecatedProperties?: string[] | undefined;
|
|
128
|
+
description: string;
|
|
129
|
+
/**
|
|
130
|
+
* @maxLength 4096
|
|
131
|
+
* @pattern ^https://[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$
|
|
132
|
+
*/
|
|
133
|
+
documentationUrl?: string | undefined;
|
|
134
|
+
/**
|
|
135
|
+
* Defines the provisioning operations which can be performed on this resource type
|
|
136
|
+
*/
|
|
137
|
+
handlers?: ResourceHandlers | undefined;
|
|
138
|
+
/**
|
|
139
|
+
* A list of JSON pointers for definitions that are hidden. These definitions will still be used but will not be visible
|
|
140
|
+
*/
|
|
141
|
+
nonPublicDefinitions?: string[] | undefined;
|
|
142
|
+
/**
|
|
143
|
+
* A list of JSON pointers for properties that are hidden. These properties will still be used but will not be visible
|
|
144
|
+
*/
|
|
145
|
+
nonPublicProperties?: string[] | undefined;
|
|
146
|
+
oneOf?: PropertySchema[] | undefined;
|
|
147
|
+
/**
|
|
148
|
+
* A required identifier which uniquely identifies an instance of this resource type. An identifier is a non-zero-length list of JSON pointers to properties that form a single key. An identifier can be a single or multiple properties to support composite-key identifiers.
|
|
149
|
+
*/
|
|
150
|
+
primaryIdentifier: string[];
|
|
151
|
+
properties: Record<string, PropertySchema>;
|
|
152
|
+
/**
|
|
153
|
+
* A map which allows resource owners to define a function for a property with possible transformation. This property helps ensure the input to the model is equal to output
|
|
154
|
+
*/
|
|
155
|
+
propertyTransform?: Record<string, string> | undefined;
|
|
156
|
+
/**
|
|
157
|
+
* A list of JSON pointers to properties that are able to be found in a Read request but unable to be specified by the customer
|
|
158
|
+
*/
|
|
159
|
+
readOnlyProperties?: string[] | undefined;
|
|
160
|
+
/**
|
|
161
|
+
* Reserved for CloudFormation use. A namespace to inline remote schemas.
|
|
162
|
+
*/
|
|
163
|
+
remote?: Record<string, RemoteSchema> | undefined;
|
|
164
|
+
/**
|
|
165
|
+
* The valid replacement strategies are [create_then_delete] and [delete_then_create]. All other inputs are invalid.
|
|
166
|
+
* @default create_then_delete
|
|
167
|
+
*/
|
|
168
|
+
replacementStrategy?: "create_then_delete" | "delete_then_create" | undefined;
|
|
169
|
+
/**
|
|
170
|
+
* @default []
|
|
171
|
+
*/
|
|
172
|
+
required?: string[] | undefined;
|
|
173
|
+
/**
|
|
174
|
+
* A template-able link to a resource instance. AWS-internal service links must be relative to the AWS console domain. External service links must be absolute, HTTPS URIs.
|
|
175
|
+
*/
|
|
176
|
+
resourceLink?: ResourceLink | undefined;
|
|
177
|
+
/**
|
|
178
|
+
* @maxLength 4096
|
|
179
|
+
* @pattern ^https://[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$
|
|
180
|
+
*/
|
|
181
|
+
sourceUrl?: string | undefined;
|
|
182
|
+
/**
|
|
183
|
+
* (Deprecated, please use new metadata attribute tagging) A boolean flag indicating whether this resource type supports tagging.
|
|
184
|
+
* @default true
|
|
185
|
+
*/
|
|
186
|
+
taggable?: boolean | undefined;
|
|
187
|
+
tagging?: ResourceTagging | undefined;
|
|
188
|
+
title?: string | undefined;
|
|
189
|
+
type?: "RESOURCE" | undefined;
|
|
190
|
+
/**
|
|
191
|
+
* TypeConfiguration to set the configuration data for registry types. This configuration data is not passed through the resource properties in template. One of the possible use cases is configuring auth keys for 3P resource providers.
|
|
192
|
+
*/
|
|
193
|
+
typeConfiguration?: TypeConfiguration | undefined;
|
|
194
|
+
/**
|
|
195
|
+
* @pattern ^[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}$
|
|
196
|
+
*/
|
|
197
|
+
typeName: string;
|
|
198
|
+
/**
|
|
199
|
+
* A list of JSON pointers to properties (typically sensitive) that are able to be specified by the customer but unable to be returned in a Read request
|
|
200
|
+
*/
|
|
201
|
+
writeOnlyProperties?: string[] | undefined;
|
|
202
|
+
};
|
|
203
|
+
/**
|
|
204
|
+
* Defines the provisioning operations which can be performed on this resource type
|
|
205
|
+
*/
|
|
206
|
+
export type ResourceHandlers = {
|
|
207
|
+
create?: HandlerDefinition | undefined;
|
|
208
|
+
delete?: HandlerDefinition | undefined;
|
|
209
|
+
list?: HandlerDefinitionWithSchemaOverride | undefined;
|
|
210
|
+
read?: HandlerDefinition | undefined;
|
|
211
|
+
update?: HandlerDefinition | undefined;
|
|
212
|
+
};
|
|
213
|
+
export type ResourceTagging = {
|
|
214
|
+
/**
|
|
215
|
+
* A boolean flag indicating whether this resource type supports CloudFormation system tags.
|
|
216
|
+
* @default true
|
|
217
|
+
*/
|
|
218
|
+
cloudFormationSystemTags?: boolean | undefined;
|
|
219
|
+
permissions?: string[] | undefined;
|
|
220
|
+
/**
|
|
221
|
+
* A boolean flag indicating whether this resource type supports tagging.
|
|
222
|
+
* @default true
|
|
223
|
+
*/
|
|
224
|
+
taggable: boolean;
|
|
225
|
+
/**
|
|
226
|
+
* A boolean flag indicating whether this resource type supports tagging resources upon creation.
|
|
227
|
+
* @default true
|
|
228
|
+
*/
|
|
229
|
+
tagOnCreate?: boolean | undefined;
|
|
230
|
+
/**
|
|
231
|
+
* A reference to the Tags property in the schema.
|
|
232
|
+
* @default /properties/Tags
|
|
233
|
+
*/
|
|
234
|
+
tagProperty?: string | undefined;
|
|
235
|
+
/**
|
|
236
|
+
* A boolean flag indicating whether this resource type supports updatable tagging.
|
|
237
|
+
* @default true
|
|
238
|
+
*/
|
|
239
|
+
tagUpdatable?: boolean | undefined;
|
|
240
|
+
};
|
|
241
|
+
/**
|
|
242
|
+
* Reserved for CloudFormation use. A inlined remote schema.
|
|
243
|
+
*/
|
|
244
|
+
export type RemoteSchema = {
|
|
245
|
+
$comment?: string | undefined;
|
|
246
|
+
definitions?: Record<string, PropertySchema> | undefined;
|
|
247
|
+
properties?: Record<string, PropertySchema> | undefined;
|
|
248
|
+
};
|
|
249
|
+
export type PropertySchema = {
|
|
250
|
+
$comment?: string | undefined;
|
|
251
|
+
$ref?: string | undefined;
|
|
252
|
+
additionalProperties?: false | undefined;
|
|
253
|
+
allOf?: PropertySchema[] | undefined;
|
|
254
|
+
anyOf?: PropertySchema[] | undefined;
|
|
255
|
+
/**
|
|
256
|
+
* When set to AttributeList, it indicates that the array is of nested type objects, and when set to Standard it indicates that the array consists of primitive types
|
|
257
|
+
* @default Standard
|
|
258
|
+
*/
|
|
259
|
+
arrayType?: "Standard" | "AttributeList" | undefined;
|
|
260
|
+
const?: JsonSchema["const"] | undefined;
|
|
261
|
+
contains?: JsonSchemaDefinition | undefined;
|
|
262
|
+
default?: JsonSchema["default"] | undefined;
|
|
263
|
+
dependencies?: Record<string, PropertySchema | string[]> | undefined;
|
|
264
|
+
description?: string | undefined;
|
|
265
|
+
enum?: JsonValue[] | undefined;
|
|
266
|
+
examples?: JsonValue[] | undefined;
|
|
267
|
+
exclusiveMaximum?: number | undefined;
|
|
268
|
+
exclusiveMinimum?: number | undefined;
|
|
269
|
+
format?: string | undefined;
|
|
270
|
+
/**
|
|
271
|
+
* When set to true, this flag indicates that the order of insertion of the array will be honored, and that changing the order of the array would indicate a diff
|
|
272
|
+
* @default true
|
|
273
|
+
*/
|
|
274
|
+
insertionOrder?: boolean | undefined;
|
|
275
|
+
/**
|
|
276
|
+
* @default {}
|
|
277
|
+
*/
|
|
278
|
+
items?: PropertySchema | undefined;
|
|
279
|
+
maximum?: number | undefined;
|
|
280
|
+
/**
|
|
281
|
+
* @min 0
|
|
282
|
+
*/
|
|
283
|
+
maxItems?: number | undefined;
|
|
284
|
+
/**
|
|
285
|
+
* @min 0
|
|
286
|
+
*/
|
|
287
|
+
maxLength?: number | undefined;
|
|
288
|
+
/**
|
|
289
|
+
* @min 0
|
|
290
|
+
*/
|
|
291
|
+
maxProperties?: number | undefined;
|
|
292
|
+
minimum?: number | undefined;
|
|
293
|
+
/**
|
|
294
|
+
* @min 0
|
|
295
|
+
* @default 0
|
|
296
|
+
*/
|
|
297
|
+
minItems?: number | undefined;
|
|
298
|
+
/**
|
|
299
|
+
* @min 0
|
|
300
|
+
* @default 0
|
|
301
|
+
*/
|
|
302
|
+
minLength?: number | undefined;
|
|
303
|
+
/**
|
|
304
|
+
* @min 0
|
|
305
|
+
* @default 0
|
|
306
|
+
*/
|
|
307
|
+
minProperties?: number | undefined;
|
|
308
|
+
multipleOf?: number | undefined;
|
|
309
|
+
oneOf?: PropertySchema[] | undefined;
|
|
310
|
+
pattern?: string | undefined;
|
|
311
|
+
patternProperties?: Record<string, JsonValue> | undefined;
|
|
312
|
+
properties?: Record<string, PropertySchema> | undefined;
|
|
313
|
+
relationshipRef?: RelationshipRef | undefined;
|
|
314
|
+
/**
|
|
315
|
+
* @default []
|
|
316
|
+
*/
|
|
317
|
+
required?: string[] | undefined;
|
|
318
|
+
title?: string | undefined;
|
|
319
|
+
type?: JsonSchema["type"] | undefined;
|
|
320
|
+
/**
|
|
321
|
+
* @default false
|
|
322
|
+
*/
|
|
323
|
+
uniqueItems?: boolean | undefined;
|
|
324
|
+
};
|
|
325
|
+
export type RelationshipRef = {
|
|
326
|
+
/**
|
|
327
|
+
* @min 1
|
|
328
|
+
* @max 10000
|
|
329
|
+
*/
|
|
330
|
+
majorVersion?: number | undefined;
|
|
331
|
+
/**
|
|
332
|
+
* @pattern ^(/properties/)[A-Za-z0-9]*$
|
|
333
|
+
*/
|
|
334
|
+
propertyPath: string;
|
|
335
|
+
/**
|
|
336
|
+
* @pattern [0-9a-zA-Z]{12,40}
|
|
337
|
+
*/
|
|
338
|
+
publisherId?: string | undefined;
|
|
339
|
+
/**
|
|
340
|
+
* @pattern ^[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}$
|
|
341
|
+
*/
|
|
342
|
+
typeName: string;
|
|
343
|
+
};
|
|
344
|
+
/**
|
|
345
|
+
* This schema validates a CloudFormation type provider configuration definition.
|
|
346
|
+
*/
|
|
347
|
+
export type TypeConfiguration = {
|
|
348
|
+
additionalProperties: false;
|
|
349
|
+
allOf?: PropertySchema[] | undefined;
|
|
350
|
+
anyOf?: PropertySchema[] | undefined;
|
|
351
|
+
/**
|
|
352
|
+
* A list of JSON pointers to properties that have been deprecated by the underlying service provider. These properties are still accepted in create & update operations, however they may be ignored, or converted to a consistent model on application. Deprecated properties are not guaranteed to be present in read paths.
|
|
353
|
+
*/
|
|
354
|
+
deprecatedProperties?: string[] | undefined;
|
|
355
|
+
description?: string | undefined;
|
|
356
|
+
oneOf?: PropertySchema[] | undefined;
|
|
357
|
+
properties: Record<string, PropertySchema>;
|
|
358
|
+
/**
|
|
359
|
+
* @default []
|
|
360
|
+
*/
|
|
361
|
+
required?: string[] | undefined;
|
|
362
|
+
};
|
|
363
|
+
export type ResourceLink = {
|
|
364
|
+
$comment?: string | undefined;
|
|
365
|
+
mappings: Record<string, string>;
|
|
366
|
+
/**
|
|
367
|
+
* @pattern ^(/|https:)
|
|
368
|
+
*/
|
|
369
|
+
templateUri: string;
|
|
370
|
+
};
|
|
371
|
+
/**
|
|
372
|
+
* Defines any execution operations which can be performed on this resource provider
|
|
373
|
+
*/
|
|
374
|
+
export type HandlerDefinition = {
|
|
375
|
+
permissions: string[];
|
|
376
|
+
/**
|
|
377
|
+
* Defines the timeout for the entire operation to be interpreted by the invoker of the handler. The default is 120 (2 hours).
|
|
378
|
+
* @min 2
|
|
379
|
+
* @max 2160
|
|
380
|
+
* @default 120
|
|
381
|
+
*/
|
|
382
|
+
timeoutInMinutes?: number | undefined;
|
|
383
|
+
};
|
|
384
|
+
/**
|
|
385
|
+
* Defines any execution operations which can be performed on this resource provider
|
|
386
|
+
*/
|
|
387
|
+
export type HandlerDefinitionWithSchemaOverride = {
|
|
388
|
+
handlerSchema?: HandlerSchema | undefined;
|
|
389
|
+
permissions: string[];
|
|
390
|
+
/**
|
|
391
|
+
* Defines the timeout for the entire operation to be interpreted by the invoker of the handler. The default is 120 (2 hours).
|
|
392
|
+
* @min 2
|
|
393
|
+
* @max 2160
|
|
394
|
+
* @default 120
|
|
395
|
+
*/
|
|
396
|
+
timeoutInMinutes?: number | undefined;
|
|
397
|
+
};
|
|
398
|
+
export type HandlerSchema = {
|
|
399
|
+
allOf?: PropertySchema[] | undefined;
|
|
400
|
+
anyOf?: PropertySchema[] | undefined;
|
|
401
|
+
oneOf?: PropertySchema[] | undefined;
|
|
402
|
+
properties: Record<string, PropertySchema>;
|
|
403
|
+
/**
|
|
404
|
+
* @default []
|
|
405
|
+
*/
|
|
406
|
+
required?: string[] | undefined;
|
|
407
|
+
};
|
|
408
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/out/types.js
ADDED
package/out/types.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@propulsionworks/cfn-resource-schemas",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"engines": {
|
|
6
|
+
"node": ">=20"
|
|
7
|
+
},
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"default": "./out/schemas.js",
|
|
11
|
+
"types": "./out/schemas.d.ts"
|
|
12
|
+
},
|
|
13
|
+
"./types": {
|
|
14
|
+
"default": "./out/types.js",
|
|
15
|
+
"types": "./out/types.d.ts"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"src/",
|
|
20
|
+
"out/",
|
|
21
|
+
"schemas.ndjson.gz"
|
|
22
|
+
],
|
|
23
|
+
"scripts": {
|
|
24
|
+
"build": "npm run clean && npm run compile",
|
|
25
|
+
"bundle": "node --experimental-strip-types ./bundle.ts",
|
|
26
|
+
"clean": "rimraf out/ *.tsbuildinfo",
|
|
27
|
+
"compile": "tsc -p tsconfig.lib.json",
|
|
28
|
+
"download": "node --experimental-strip-types ./download.ts",
|
|
29
|
+
"test": "node --enable-source-maps --experimental-strip-types ./test.ts"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@propulsionworks/eslint-config": "^0.4.1",
|
|
33
|
+
"@types/node": "^22.13.13",
|
|
34
|
+
"@types/ssri": "^7.1.5",
|
|
35
|
+
"canonicalize": "^2.1.0",
|
|
36
|
+
"eslint": "^9.23.0",
|
|
37
|
+
"prettier": "^3.5.3",
|
|
38
|
+
"rimraf": "^6.0.1",
|
|
39
|
+
"ssri": "^12.0.0",
|
|
40
|
+
"typescript": "^5.8.2",
|
|
41
|
+
"zip24": "^0.1.6"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
Binary file
|
package/src/schemas.ts
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { createReadStream } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { type TransformCallback, Transform } from "node:stream";
|
|
4
|
+
import { StringDecoder } from "node:string_decoder";
|
|
5
|
+
import { createGunzip } from "node:zlib";
|
|
6
|
+
import type { ResourceTypeSchemaWithMeta } from "./types.ts";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Stream transform to convert the input into a stream of JSON objects.
|
|
10
|
+
*/
|
|
11
|
+
class NdJsonTransform extends Transform {
|
|
12
|
+
readonly #decoder = new StringDecoder();
|
|
13
|
+
#last = "";
|
|
14
|
+
|
|
15
|
+
public constructor() {
|
|
16
|
+
super({
|
|
17
|
+
readableObjectMode: true,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
public override _transform(
|
|
22
|
+
chunk: string | Buffer,
|
|
23
|
+
encoding: BufferEncoding,
|
|
24
|
+
callback: TransformCallback
|
|
25
|
+
): void {
|
|
26
|
+
const current = this.#last + this.#decoder.write(chunk);
|
|
27
|
+
const lines = current.split(`\n`);
|
|
28
|
+
this.#last = lines.pop() ?? "";
|
|
29
|
+
|
|
30
|
+
for (const line of lines) {
|
|
31
|
+
this.push(JSON.parse(line));
|
|
32
|
+
}
|
|
33
|
+
callback();
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
public override _flush(callback: TransformCallback): void {
|
|
37
|
+
const current = this.#last + this.#decoder.end();
|
|
38
|
+
callback(undefined, current ? JSON.parse(current) : undefined);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Load the AWS schemas from the bundle.
|
|
44
|
+
*/
|
|
45
|
+
export function loadSchemas(): AsyncIterable<
|
|
46
|
+
ResourceTypeSchemaWithMeta,
|
|
47
|
+
void,
|
|
48
|
+
void
|
|
49
|
+
> {
|
|
50
|
+
return createReadStream(join(import.meta.dirname, "../schemas.ndjson.gz"))
|
|
51
|
+
.pipe(createGunzip())
|
|
52
|
+
.pipe(new NdJsonTransform());
|
|
53
|
+
}
|
package/src/types.ts
ADDED
|
@@ -0,0 +1,434 @@
|
|
|
1
|
+
export type JsonValue =
|
|
2
|
+
| boolean
|
|
3
|
+
| null
|
|
4
|
+
| number
|
|
5
|
+
| string
|
|
6
|
+
| JsonValue[]
|
|
7
|
+
| { [key: string]: JsonValue };
|
|
8
|
+
|
|
9
|
+
export type JsonSchemaDefinition = JsonSchema | boolean;
|
|
10
|
+
|
|
11
|
+
export type ResourceTypeSchemaWithMeta = {
|
|
12
|
+
$id: string;
|
|
13
|
+
$integrity: string;
|
|
14
|
+
} & ResourceTypeSchema;
|
|
15
|
+
|
|
16
|
+
/// GENERATED CODE BELOW ///
|
|
17
|
+
export type JsonSchema = {
|
|
18
|
+
$comment?: string | undefined;
|
|
19
|
+
$id?: string | undefined;
|
|
20
|
+
$ref?: string | undefined;
|
|
21
|
+
$schema?: string | undefined;
|
|
22
|
+
additionalItems?: JsonSchemaDefinition | undefined;
|
|
23
|
+
additionalProperties?: JsonSchemaDefinition | undefined;
|
|
24
|
+
allOf?: JsonSchemaDefinition[] | undefined;
|
|
25
|
+
anyOf?: JsonSchemaDefinition[] | undefined;
|
|
26
|
+
const?: JsonValue;
|
|
27
|
+
contains?: JsonSchemaDefinition | undefined;
|
|
28
|
+
contentEncoding?: string | undefined;
|
|
29
|
+
contentMediaType?: string | undefined;
|
|
30
|
+
default?: JsonValue;
|
|
31
|
+
/**
|
|
32
|
+
* @default {}
|
|
33
|
+
*/
|
|
34
|
+
definitions?: Record<string, JsonSchemaDefinition> | undefined;
|
|
35
|
+
dependencies?: Record<string, JsonSchemaDefinition | string[]> | undefined;
|
|
36
|
+
description?: string | undefined;
|
|
37
|
+
else?: JsonSchemaDefinition | undefined;
|
|
38
|
+
enum?: JsonValue[] | undefined;
|
|
39
|
+
examples?: JsonValue[] | undefined;
|
|
40
|
+
exclusiveMaximum?: number | undefined;
|
|
41
|
+
exclusiveMinimum?: number | undefined;
|
|
42
|
+
format?: string | undefined;
|
|
43
|
+
if?: JsonSchemaDefinition | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* @default true
|
|
46
|
+
*/
|
|
47
|
+
items?: JsonSchemaDefinition | JsonSchemaDefinition[] | undefined;
|
|
48
|
+
maximum?: number | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* @min 0
|
|
51
|
+
*/
|
|
52
|
+
maxItems?: number | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* @min 0
|
|
55
|
+
*/
|
|
56
|
+
maxLength?: number | undefined;
|
|
57
|
+
/**
|
|
58
|
+
* @min 0
|
|
59
|
+
*/
|
|
60
|
+
maxProperties?: number | undefined;
|
|
61
|
+
minimum?: number | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* @min 0
|
|
64
|
+
* @default 0
|
|
65
|
+
*/
|
|
66
|
+
minItems?: number | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* @min 0
|
|
69
|
+
* @default 0
|
|
70
|
+
*/
|
|
71
|
+
minLength?: number | undefined;
|
|
72
|
+
/**
|
|
73
|
+
* @min 0
|
|
74
|
+
* @default 0
|
|
75
|
+
*/
|
|
76
|
+
minProperties?: number | undefined;
|
|
77
|
+
multipleOf?: number | undefined;
|
|
78
|
+
not?: JsonSchemaDefinition | undefined;
|
|
79
|
+
oneOf?: JsonSchemaDefinition[] | undefined;
|
|
80
|
+
pattern?: string | undefined;
|
|
81
|
+
/**
|
|
82
|
+
* @default {}
|
|
83
|
+
*/
|
|
84
|
+
patternProperties?: Record<string, JsonSchemaDefinition> | undefined;
|
|
85
|
+
/**
|
|
86
|
+
* @default {}
|
|
87
|
+
*/
|
|
88
|
+
properties?: Record<string, JsonSchemaDefinition> | undefined;
|
|
89
|
+
propertyNames?: JsonSchemaDefinition | undefined;
|
|
90
|
+
/**
|
|
91
|
+
* @default false
|
|
92
|
+
*/
|
|
93
|
+
readOnly?: boolean | undefined;
|
|
94
|
+
/**
|
|
95
|
+
* @default []
|
|
96
|
+
*/
|
|
97
|
+
required?: string[] | undefined;
|
|
98
|
+
then?: JsonSchemaDefinition | undefined;
|
|
99
|
+
title?: string | undefined;
|
|
100
|
+
type?:
|
|
101
|
+
| (
|
|
102
|
+
| "array"
|
|
103
|
+
| "boolean"
|
|
104
|
+
| "integer"
|
|
105
|
+
| "null"
|
|
106
|
+
| "number"
|
|
107
|
+
| "object"
|
|
108
|
+
| "string"
|
|
109
|
+
)
|
|
110
|
+
| (
|
|
111
|
+
| "array"
|
|
112
|
+
| "boolean"
|
|
113
|
+
| "integer"
|
|
114
|
+
| "null"
|
|
115
|
+
| "number"
|
|
116
|
+
| "object"
|
|
117
|
+
| "string"
|
|
118
|
+
)[]
|
|
119
|
+
| undefined;
|
|
120
|
+
/**
|
|
121
|
+
* @default false
|
|
122
|
+
*/
|
|
123
|
+
uniqueItems?: boolean | undefined;
|
|
124
|
+
/**
|
|
125
|
+
* @default false
|
|
126
|
+
*/
|
|
127
|
+
writeOnly?: boolean | undefined;
|
|
128
|
+
};
|
|
129
|
+
/**
|
|
130
|
+
* This schema validates a CloudFormation resource provider definition.
|
|
131
|
+
*/
|
|
132
|
+
export type ResourceTypeSchema = {
|
|
133
|
+
$comment?: string | undefined;
|
|
134
|
+
$schema?: string | undefined;
|
|
135
|
+
/**
|
|
136
|
+
* An optional list of supplementary identifiers, each of which uniquely identifies an instance of this resource type. An identifier is a non-zero-length list of JSON pointers to properties that form a single key. An identifier can be a single or multiple properties to support composite-key identifiers.
|
|
137
|
+
*/
|
|
138
|
+
additionalIdentifiers?: string[][] | undefined;
|
|
139
|
+
additionalProperties: false;
|
|
140
|
+
allOf?: PropertySchema[] | undefined;
|
|
141
|
+
anyOf?: PropertySchema[] | undefined;
|
|
142
|
+
/**
|
|
143
|
+
* A list of JSON pointers for properties that can only be updated under certain conditions. For example, you can upgrade the engine version of an RDS DBInstance but you cannot downgrade it. When updating this property for a resource in a CloudFormation stack, the resource will be replaced if it cannot be updated.
|
|
144
|
+
*/
|
|
145
|
+
conditionalCreateOnlyProperties?: string[] | undefined;
|
|
146
|
+
/**
|
|
147
|
+
* A list of JSON pointers to properties that are only able to be specified by the customer when creating a resource. Conversely, any property *not* in this list can be applied to an Update request.
|
|
148
|
+
*/
|
|
149
|
+
createOnlyProperties?: string[] | undefined;
|
|
150
|
+
definitions?: Record<string, PropertySchema> | undefined;
|
|
151
|
+
/**
|
|
152
|
+
* A list of JSON pointers to properties that have been deprecated by the underlying service provider. These properties are still accepted in create & update operations, however they may be ignored, or converted to a consistent model on application. Deprecated properties are not guaranteed to be present in read paths.
|
|
153
|
+
*/
|
|
154
|
+
deprecatedProperties?: string[] | undefined;
|
|
155
|
+
description: string;
|
|
156
|
+
/**
|
|
157
|
+
* @maxLength 4096
|
|
158
|
+
* @pattern ^https://[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$
|
|
159
|
+
*/
|
|
160
|
+
documentationUrl?: string | undefined;
|
|
161
|
+
/**
|
|
162
|
+
* Defines the provisioning operations which can be performed on this resource type
|
|
163
|
+
*/
|
|
164
|
+
handlers?: ResourceHandlers | undefined;
|
|
165
|
+
/**
|
|
166
|
+
* A list of JSON pointers for definitions that are hidden. These definitions will still be used but will not be visible
|
|
167
|
+
*/
|
|
168
|
+
nonPublicDefinitions?: string[] | undefined;
|
|
169
|
+
/**
|
|
170
|
+
* A list of JSON pointers for properties that are hidden. These properties will still be used but will not be visible
|
|
171
|
+
*/
|
|
172
|
+
nonPublicProperties?: string[] | undefined;
|
|
173
|
+
oneOf?: PropertySchema[] | undefined;
|
|
174
|
+
/**
|
|
175
|
+
* A required identifier which uniquely identifies an instance of this resource type. An identifier is a non-zero-length list of JSON pointers to properties that form a single key. An identifier can be a single or multiple properties to support composite-key identifiers.
|
|
176
|
+
*/
|
|
177
|
+
primaryIdentifier: string[];
|
|
178
|
+
properties: Record<string, PropertySchema>;
|
|
179
|
+
/**
|
|
180
|
+
* A map which allows resource owners to define a function for a property with possible transformation. This property helps ensure the input to the model is equal to output
|
|
181
|
+
*/
|
|
182
|
+
propertyTransform?: Record<string, string> | undefined;
|
|
183
|
+
/**
|
|
184
|
+
* A list of JSON pointers to properties that are able to be found in a Read request but unable to be specified by the customer
|
|
185
|
+
*/
|
|
186
|
+
readOnlyProperties?: string[] | undefined;
|
|
187
|
+
/**
|
|
188
|
+
* Reserved for CloudFormation use. A namespace to inline remote schemas.
|
|
189
|
+
*/
|
|
190
|
+
remote?: Record<string, RemoteSchema> | undefined;
|
|
191
|
+
/**
|
|
192
|
+
* The valid replacement strategies are [create_then_delete] and [delete_then_create]. All other inputs are invalid.
|
|
193
|
+
* @default create_then_delete
|
|
194
|
+
*/
|
|
195
|
+
replacementStrategy?: "create_then_delete" | "delete_then_create" | undefined;
|
|
196
|
+
/**
|
|
197
|
+
* @default []
|
|
198
|
+
*/
|
|
199
|
+
required?: string[] | undefined;
|
|
200
|
+
/**
|
|
201
|
+
* A template-able link to a resource instance. AWS-internal service links must be relative to the AWS console domain. External service links must be absolute, HTTPS URIs.
|
|
202
|
+
*/
|
|
203
|
+
resourceLink?: ResourceLink | undefined;
|
|
204
|
+
/**
|
|
205
|
+
* @maxLength 4096
|
|
206
|
+
* @pattern ^https://[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$
|
|
207
|
+
*/
|
|
208
|
+
sourceUrl?: string | undefined;
|
|
209
|
+
/**
|
|
210
|
+
* (Deprecated, please use new metadata attribute tagging) A boolean flag indicating whether this resource type supports tagging.
|
|
211
|
+
* @default true
|
|
212
|
+
*/
|
|
213
|
+
taggable?: boolean | undefined;
|
|
214
|
+
tagging?: ResourceTagging | undefined;
|
|
215
|
+
title?: string | undefined;
|
|
216
|
+
type?: "RESOURCE" | undefined;
|
|
217
|
+
/**
|
|
218
|
+
* TypeConfiguration to set the configuration data for registry types. This configuration data is not passed through the resource properties in template. One of the possible use cases is configuring auth keys for 3P resource providers.
|
|
219
|
+
*/
|
|
220
|
+
typeConfiguration?: TypeConfiguration | undefined;
|
|
221
|
+
/**
|
|
222
|
+
* @pattern ^[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}$
|
|
223
|
+
*/
|
|
224
|
+
typeName: string;
|
|
225
|
+
/**
|
|
226
|
+
* A list of JSON pointers to properties (typically sensitive) that are able to be specified by the customer but unable to be returned in a Read request
|
|
227
|
+
*/
|
|
228
|
+
writeOnlyProperties?: string[] | undefined;
|
|
229
|
+
};
|
|
230
|
+
/**
|
|
231
|
+
* Defines the provisioning operations which can be performed on this resource type
|
|
232
|
+
*/
|
|
233
|
+
export type ResourceHandlers = {
|
|
234
|
+
create?: HandlerDefinition | undefined;
|
|
235
|
+
delete?: HandlerDefinition | undefined;
|
|
236
|
+
list?: HandlerDefinitionWithSchemaOverride | undefined;
|
|
237
|
+
read?: HandlerDefinition | undefined;
|
|
238
|
+
update?: HandlerDefinition | undefined;
|
|
239
|
+
};
|
|
240
|
+
export type ResourceTagging = {
|
|
241
|
+
/**
|
|
242
|
+
* A boolean flag indicating whether this resource type supports CloudFormation system tags.
|
|
243
|
+
* @default true
|
|
244
|
+
*/
|
|
245
|
+
cloudFormationSystemTags?: boolean | undefined;
|
|
246
|
+
permissions?: string[] | undefined;
|
|
247
|
+
/**
|
|
248
|
+
* A boolean flag indicating whether this resource type supports tagging.
|
|
249
|
+
* @default true
|
|
250
|
+
*/
|
|
251
|
+
taggable: boolean;
|
|
252
|
+
/**
|
|
253
|
+
* A boolean flag indicating whether this resource type supports tagging resources upon creation.
|
|
254
|
+
* @default true
|
|
255
|
+
*/
|
|
256
|
+
tagOnCreate?: boolean | undefined;
|
|
257
|
+
/**
|
|
258
|
+
* A reference to the Tags property in the schema.
|
|
259
|
+
* @default /properties/Tags
|
|
260
|
+
*/
|
|
261
|
+
tagProperty?: string | undefined;
|
|
262
|
+
/**
|
|
263
|
+
* A boolean flag indicating whether this resource type supports updatable tagging.
|
|
264
|
+
* @default true
|
|
265
|
+
*/
|
|
266
|
+
tagUpdatable?: boolean | undefined;
|
|
267
|
+
};
|
|
268
|
+
/**
|
|
269
|
+
* Reserved for CloudFormation use. A inlined remote schema.
|
|
270
|
+
*/
|
|
271
|
+
export type RemoteSchema = {
|
|
272
|
+
$comment?: string | undefined;
|
|
273
|
+
definitions?: Record<string, PropertySchema> | undefined;
|
|
274
|
+
properties?: Record<string, PropertySchema> | undefined;
|
|
275
|
+
};
|
|
276
|
+
export type PropertySchema = {
|
|
277
|
+
$comment?: string | undefined;
|
|
278
|
+
$ref?: string | undefined;
|
|
279
|
+
additionalProperties?: false | undefined;
|
|
280
|
+
allOf?: PropertySchema[] | undefined;
|
|
281
|
+
anyOf?: PropertySchema[] | undefined;
|
|
282
|
+
/**
|
|
283
|
+
* When set to AttributeList, it indicates that the array is of nested type objects, and when set to Standard it indicates that the array consists of primitive types
|
|
284
|
+
* @default Standard
|
|
285
|
+
*/
|
|
286
|
+
arrayType?: "Standard" | "AttributeList" | undefined;
|
|
287
|
+
const?: JsonSchema["const"] | undefined;
|
|
288
|
+
contains?: JsonSchemaDefinition | undefined;
|
|
289
|
+
default?: JsonSchema["default"] | undefined;
|
|
290
|
+
dependencies?: Record<string, PropertySchema | string[]> | undefined;
|
|
291
|
+
description?: string | undefined;
|
|
292
|
+
enum?: JsonValue[] | undefined;
|
|
293
|
+
examples?: JsonValue[] | undefined;
|
|
294
|
+
exclusiveMaximum?: number | undefined;
|
|
295
|
+
exclusiveMinimum?: number | undefined;
|
|
296
|
+
format?: string | undefined;
|
|
297
|
+
/**
|
|
298
|
+
* When set to true, this flag indicates that the order of insertion of the array will be honored, and that changing the order of the array would indicate a diff
|
|
299
|
+
* @default true
|
|
300
|
+
*/
|
|
301
|
+
insertionOrder?: boolean | undefined;
|
|
302
|
+
/**
|
|
303
|
+
* @default {}
|
|
304
|
+
*/
|
|
305
|
+
items?: PropertySchema | undefined;
|
|
306
|
+
maximum?: number | undefined;
|
|
307
|
+
/**
|
|
308
|
+
* @min 0
|
|
309
|
+
*/
|
|
310
|
+
maxItems?: number | undefined;
|
|
311
|
+
/**
|
|
312
|
+
* @min 0
|
|
313
|
+
*/
|
|
314
|
+
maxLength?: number | undefined;
|
|
315
|
+
/**
|
|
316
|
+
* @min 0
|
|
317
|
+
*/
|
|
318
|
+
maxProperties?: number | undefined;
|
|
319
|
+
minimum?: number | undefined;
|
|
320
|
+
/**
|
|
321
|
+
* @min 0
|
|
322
|
+
* @default 0
|
|
323
|
+
*/
|
|
324
|
+
minItems?: number | undefined;
|
|
325
|
+
/**
|
|
326
|
+
* @min 0
|
|
327
|
+
* @default 0
|
|
328
|
+
*/
|
|
329
|
+
minLength?: number | undefined;
|
|
330
|
+
/**
|
|
331
|
+
* @min 0
|
|
332
|
+
* @default 0
|
|
333
|
+
*/
|
|
334
|
+
minProperties?: number | undefined;
|
|
335
|
+
multipleOf?: number | undefined;
|
|
336
|
+
oneOf?: PropertySchema[] | undefined;
|
|
337
|
+
pattern?: string | undefined;
|
|
338
|
+
patternProperties?: Record<string, JsonValue> | undefined;
|
|
339
|
+
properties?: Record<string, PropertySchema> | undefined;
|
|
340
|
+
relationshipRef?: RelationshipRef | undefined;
|
|
341
|
+
/**
|
|
342
|
+
* @default []
|
|
343
|
+
*/
|
|
344
|
+
required?: string[] | undefined;
|
|
345
|
+
title?: string | undefined;
|
|
346
|
+
type?: JsonSchema["type"] | undefined;
|
|
347
|
+
/**
|
|
348
|
+
* @default false
|
|
349
|
+
*/
|
|
350
|
+
uniqueItems?: boolean | undefined;
|
|
351
|
+
};
|
|
352
|
+
export type RelationshipRef = {
|
|
353
|
+
/**
|
|
354
|
+
* @min 1
|
|
355
|
+
* @max 10000
|
|
356
|
+
*/
|
|
357
|
+
majorVersion?: number | undefined;
|
|
358
|
+
/**
|
|
359
|
+
* @pattern ^(/properties/)[A-Za-z0-9]*$
|
|
360
|
+
*/
|
|
361
|
+
propertyPath: string;
|
|
362
|
+
/**
|
|
363
|
+
* @pattern [0-9a-zA-Z]{12,40}
|
|
364
|
+
*/
|
|
365
|
+
publisherId?: string | undefined;
|
|
366
|
+
/**
|
|
367
|
+
* @pattern ^[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}$
|
|
368
|
+
*/
|
|
369
|
+
typeName: string;
|
|
370
|
+
};
|
|
371
|
+
/**
|
|
372
|
+
* This schema validates a CloudFormation type provider configuration definition.
|
|
373
|
+
*/
|
|
374
|
+
export type TypeConfiguration = {
|
|
375
|
+
additionalProperties: false;
|
|
376
|
+
allOf?: PropertySchema[] | undefined;
|
|
377
|
+
anyOf?: PropertySchema[] | undefined;
|
|
378
|
+
/**
|
|
379
|
+
* A list of JSON pointers to properties that have been deprecated by the underlying service provider. These properties are still accepted in create & update operations, however they may be ignored, or converted to a consistent model on application. Deprecated properties are not guaranteed to be present in read paths.
|
|
380
|
+
*/
|
|
381
|
+
deprecatedProperties?: string[] | undefined;
|
|
382
|
+
description?: string | undefined;
|
|
383
|
+
oneOf?: PropertySchema[] | undefined;
|
|
384
|
+
properties: Record<string, PropertySchema>;
|
|
385
|
+
/**
|
|
386
|
+
* @default []
|
|
387
|
+
*/
|
|
388
|
+
required?: string[] | undefined;
|
|
389
|
+
};
|
|
390
|
+
export type ResourceLink = {
|
|
391
|
+
$comment?: string | undefined;
|
|
392
|
+
mappings: Record<string, string>;
|
|
393
|
+
/**
|
|
394
|
+
* @pattern ^(/|https:)
|
|
395
|
+
*/
|
|
396
|
+
templateUri: string;
|
|
397
|
+
};
|
|
398
|
+
/**
|
|
399
|
+
* Defines any execution operations which can be performed on this resource provider
|
|
400
|
+
*/
|
|
401
|
+
export type HandlerDefinition = {
|
|
402
|
+
permissions: string[];
|
|
403
|
+
/**
|
|
404
|
+
* Defines the timeout for the entire operation to be interpreted by the invoker of the handler. The default is 120 (2 hours).
|
|
405
|
+
* @min 2
|
|
406
|
+
* @max 2160
|
|
407
|
+
* @default 120
|
|
408
|
+
*/
|
|
409
|
+
timeoutInMinutes?: number | undefined;
|
|
410
|
+
};
|
|
411
|
+
/**
|
|
412
|
+
* Defines any execution operations which can be performed on this resource provider
|
|
413
|
+
*/
|
|
414
|
+
export type HandlerDefinitionWithSchemaOverride = {
|
|
415
|
+
handlerSchema?: HandlerSchema | undefined;
|
|
416
|
+
permissions: string[];
|
|
417
|
+
/**
|
|
418
|
+
* Defines the timeout for the entire operation to be interpreted by the invoker of the handler. The default is 120 (2 hours).
|
|
419
|
+
* @min 2
|
|
420
|
+
* @max 2160
|
|
421
|
+
* @default 120
|
|
422
|
+
*/
|
|
423
|
+
timeoutInMinutes?: number | undefined;
|
|
424
|
+
};
|
|
425
|
+
export type HandlerSchema = {
|
|
426
|
+
allOf?: PropertySchema[] | undefined;
|
|
427
|
+
anyOf?: PropertySchema[] | undefined;
|
|
428
|
+
oneOf?: PropertySchema[] | undefined;
|
|
429
|
+
properties: Record<string, PropertySchema>;
|
|
430
|
+
/**
|
|
431
|
+
* @default []
|
|
432
|
+
*/
|
|
433
|
+
required?: string[] | undefined;
|
|
434
|
+
};
|