@propulsionworks/cfn-resource-schemas 0.1.0 → 0.1.2
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/README.md +18 -0
- package/out/types.d.ts +48 -44
- package/out/types.d.ts.map +1 -1
- package/package.json +10 -1
- package/schemas.ndjson.gz +0 -0
- package/src/types.ts +126 -132
package/README.md
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# @propulsionworks/cfn-resource-schemas
|
|
2
|
+
|
|
3
|
+
This repository contains the [CloudFormation resource provider schemas](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-type-schemas.html) for the `us-east-1` region.
|
|
4
|
+
|
|
5
|
+
The schemas are checked daily for changes, and if there are any, a new version of this package is automatically published.
|
|
6
|
+
|
|
7
|
+
## Usage
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
import { loadSchemas } from "@propulsionworks/cfn-resource-schemas";
|
|
11
|
+
import { ResourceTypeSchemaWithMeta } from "@propulsionworks/cfn-resource-schemas/types";
|
|
12
|
+
|
|
13
|
+
const schemas = loadSchemas();
|
|
14
|
+
|
|
15
|
+
for await (const schema of schemas) {
|
|
16
|
+
// schema is a ResourceTypeSchemaWithMeta
|
|
17
|
+
}
|
|
18
|
+
```
|
package/out/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export type JsonValue = boolean | null | number | string | JsonValue[] | {
|
|
2
2
|
[key: string]: JsonValue;
|
|
3
3
|
};
|
|
4
|
-
export type
|
|
4
|
+
export type JsonSchemaObject = Exclude<JsonSchema, boolean>;
|
|
5
5
|
export type ResourceTypeSchemaWithMeta = {
|
|
6
6
|
$id: string;
|
|
7
7
|
$integrity: string;
|
|
@@ -11,33 +11,32 @@ export type JsonSchema = {
|
|
|
11
11
|
$id?: string | undefined;
|
|
12
12
|
$ref?: string | undefined;
|
|
13
13
|
$schema?: string | undefined;
|
|
14
|
-
additionalItems?:
|
|
15
|
-
additionalProperties?:
|
|
16
|
-
allOf?:
|
|
17
|
-
anyOf?:
|
|
18
|
-
const?:
|
|
19
|
-
contains?:
|
|
14
|
+
additionalItems?: JsonSchema | undefined;
|
|
15
|
+
additionalProperties?: JsonSchema | undefined;
|
|
16
|
+
allOf?: JsonSchema[] | undefined;
|
|
17
|
+
anyOf?: JsonSchema[] | undefined;
|
|
18
|
+
const?: unknown;
|
|
19
|
+
contains?: JsonSchema | undefined;
|
|
20
20
|
contentEncoding?: string | undefined;
|
|
21
21
|
contentMediaType?: string | undefined;
|
|
22
|
-
default?:
|
|
22
|
+
default?: unknown;
|
|
23
23
|
/**
|
|
24
24
|
* @default {}
|
|
25
25
|
*/
|
|
26
|
-
definitions?: Record<string,
|
|
27
|
-
dependencies?: Record<string,
|
|
26
|
+
definitions?: Record<string, JsonSchema> | undefined;
|
|
27
|
+
dependencies?: Record<string, JsonSchema | string[]> | undefined;
|
|
28
28
|
description?: string | undefined;
|
|
29
|
-
else?:
|
|
30
|
-
enum?:
|
|
31
|
-
examples?:
|
|
29
|
+
else?: JsonSchema | undefined;
|
|
30
|
+
enum?: unknown[] | undefined;
|
|
31
|
+
examples?: unknown[] | undefined;
|
|
32
32
|
exclusiveMaximum?: number | undefined;
|
|
33
33
|
exclusiveMinimum?: number | undefined;
|
|
34
34
|
format?: string | undefined;
|
|
35
|
-
if?:
|
|
35
|
+
if?: JsonSchema | undefined;
|
|
36
36
|
/**
|
|
37
37
|
* @default true
|
|
38
38
|
*/
|
|
39
|
-
items?:
|
|
40
|
-
maximum?: number | undefined;
|
|
39
|
+
items?: JsonSchema | JsonSchema[] | undefined;
|
|
41
40
|
/**
|
|
42
41
|
* @min 0
|
|
43
42
|
*/
|
|
@@ -50,7 +49,7 @@ export type JsonSchema = {
|
|
|
50
49
|
* @min 0
|
|
51
50
|
*/
|
|
52
51
|
maxProperties?: number | undefined;
|
|
53
|
-
|
|
52
|
+
maximum?: number | undefined;
|
|
54
53
|
/**
|
|
55
54
|
* @min 0
|
|
56
55
|
* @default 0
|
|
@@ -66,19 +65,20 @@ export type JsonSchema = {
|
|
|
66
65
|
* @default 0
|
|
67
66
|
*/
|
|
68
67
|
minProperties?: number | undefined;
|
|
68
|
+
minimum?: number | undefined;
|
|
69
69
|
multipleOf?: number | undefined;
|
|
70
|
-
not?:
|
|
71
|
-
oneOf?:
|
|
70
|
+
not?: JsonSchema | undefined;
|
|
71
|
+
oneOf?: JsonSchema[] | undefined;
|
|
72
72
|
pattern?: string | undefined;
|
|
73
73
|
/**
|
|
74
74
|
* @default {}
|
|
75
75
|
*/
|
|
76
|
-
patternProperties?: Record<string,
|
|
76
|
+
patternProperties?: Record<string, JsonSchema> | undefined;
|
|
77
77
|
/**
|
|
78
78
|
* @default {}
|
|
79
79
|
*/
|
|
80
|
-
properties?: Record<string,
|
|
81
|
-
propertyNames?:
|
|
80
|
+
properties?: Record<string, JsonSchema> | undefined;
|
|
81
|
+
propertyNames?: JsonSchema | undefined;
|
|
82
82
|
/**
|
|
83
83
|
* @default false
|
|
84
84
|
*/
|
|
@@ -87,9 +87,9 @@ export type JsonSchema = {
|
|
|
87
87
|
* @default []
|
|
88
88
|
*/
|
|
89
89
|
required?: string[] | undefined;
|
|
90
|
-
then?:
|
|
90
|
+
then?: JsonSchema | undefined;
|
|
91
91
|
title?: string | undefined;
|
|
92
|
-
type?:
|
|
92
|
+
type?: JsonSchemaType | JsonSchemaType[] | undefined;
|
|
93
93
|
/**
|
|
94
94
|
* @default false
|
|
95
95
|
*/
|
|
@@ -98,7 +98,8 @@ export type JsonSchema = {
|
|
|
98
98
|
* @default false
|
|
99
99
|
*/
|
|
100
100
|
writeOnly?: boolean | undefined;
|
|
101
|
-
};
|
|
101
|
+
} | boolean;
|
|
102
|
+
export type JsonSchemaType = "array" | "boolean" | "integer" | "null" | "number" | "object" | "string";
|
|
102
103
|
/**
|
|
103
104
|
* This schema validates a CloudFormation resource provider definition.
|
|
104
105
|
*/
|
|
@@ -161,11 +162,7 @@ export type ResourceTypeSchema = {
|
|
|
161
162
|
* Reserved for CloudFormation use. A namespace to inline remote schemas.
|
|
162
163
|
*/
|
|
163
164
|
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;
|
|
165
|
+
replacementStrategy?: ReplacementStrategy | undefined;
|
|
169
166
|
/**
|
|
170
167
|
* @default []
|
|
171
168
|
*/
|
|
@@ -217,11 +214,6 @@ export type ResourceTagging = {
|
|
|
217
214
|
*/
|
|
218
215
|
cloudFormationSystemTags?: boolean | undefined;
|
|
219
216
|
permissions?: string[] | undefined;
|
|
220
|
-
/**
|
|
221
|
-
* A boolean flag indicating whether this resource type supports tagging.
|
|
222
|
-
* @default true
|
|
223
|
-
*/
|
|
224
|
-
taggable: boolean;
|
|
225
217
|
/**
|
|
226
218
|
* A boolean flag indicating whether this resource type supports tagging resources upon creation.
|
|
227
219
|
* @default true
|
|
@@ -237,6 +229,11 @@ export type ResourceTagging = {
|
|
|
237
229
|
* @default true
|
|
238
230
|
*/
|
|
239
231
|
tagUpdatable?: boolean | undefined;
|
|
232
|
+
/**
|
|
233
|
+
* A boolean flag indicating whether this resource type supports tagging.
|
|
234
|
+
* @default true
|
|
235
|
+
*/
|
|
236
|
+
taggable: boolean;
|
|
240
237
|
};
|
|
241
238
|
/**
|
|
242
239
|
* Reserved for CloudFormation use. A inlined remote schema.
|
|
@@ -257,13 +254,16 @@ export type PropertySchema = {
|
|
|
257
254
|
* @default Standard
|
|
258
255
|
*/
|
|
259
256
|
arrayType?: "Standard" | "AttributeList" | undefined;
|
|
260
|
-
const?:
|
|
261
|
-
|
|
262
|
-
|
|
257
|
+
const?: unknown;
|
|
258
|
+
/**
|
|
259
|
+
* @default true
|
|
260
|
+
*/
|
|
261
|
+
contains?: JsonSchema | undefined;
|
|
262
|
+
default?: unknown;
|
|
263
263
|
dependencies?: Record<string, PropertySchema | string[]> | undefined;
|
|
264
264
|
description?: string | undefined;
|
|
265
|
-
enum?:
|
|
266
|
-
examples?:
|
|
265
|
+
enum?: unknown[] | undefined;
|
|
266
|
+
examples?: unknown[] | undefined;
|
|
267
267
|
exclusiveMaximum?: number | undefined;
|
|
268
268
|
exclusiveMinimum?: number | undefined;
|
|
269
269
|
format?: string | undefined;
|
|
@@ -276,7 +276,6 @@ export type PropertySchema = {
|
|
|
276
276
|
* @default {}
|
|
277
277
|
*/
|
|
278
278
|
items?: PropertySchema | undefined;
|
|
279
|
-
maximum?: number | undefined;
|
|
280
279
|
/**
|
|
281
280
|
* @min 0
|
|
282
281
|
*/
|
|
@@ -289,7 +288,7 @@ export type PropertySchema = {
|
|
|
289
288
|
* @min 0
|
|
290
289
|
*/
|
|
291
290
|
maxProperties?: number | undefined;
|
|
292
|
-
|
|
291
|
+
maximum?: number | undefined;
|
|
293
292
|
/**
|
|
294
293
|
* @min 0
|
|
295
294
|
* @default 0
|
|
@@ -305,10 +304,11 @@ export type PropertySchema = {
|
|
|
305
304
|
* @default 0
|
|
306
305
|
*/
|
|
307
306
|
minProperties?: number | undefined;
|
|
307
|
+
minimum?: number | undefined;
|
|
308
308
|
multipleOf?: number | undefined;
|
|
309
309
|
oneOf?: PropertySchema[] | undefined;
|
|
310
310
|
pattern?: string | undefined;
|
|
311
|
-
patternProperties?: Record<string,
|
|
311
|
+
patternProperties?: Record<string, unknown> | undefined;
|
|
312
312
|
properties?: Record<string, PropertySchema> | undefined;
|
|
313
313
|
relationshipRef?: RelationshipRef | undefined;
|
|
314
314
|
/**
|
|
@@ -316,7 +316,7 @@ export type PropertySchema = {
|
|
|
316
316
|
*/
|
|
317
317
|
required?: string[] | undefined;
|
|
318
318
|
title?: string | undefined;
|
|
319
|
-
type?:
|
|
319
|
+
type?: JsonSchemaType | JsonSchemaType[] | undefined;
|
|
320
320
|
/**
|
|
321
321
|
* @default false
|
|
322
322
|
*/
|
|
@@ -360,6 +360,10 @@ export type TypeConfiguration = {
|
|
|
360
360
|
*/
|
|
361
361
|
required?: string[] | undefined;
|
|
362
362
|
};
|
|
363
|
+
/**
|
|
364
|
+
* The valid replacement strategies are [create_then_delete] and [delete_then_create]. All other inputs are invalid.
|
|
365
|
+
*/
|
|
366
|
+
export type ReplacementStrategy = "create_then_delete" | "delete_then_create";
|
|
363
367
|
export type ResourceLink = {
|
|
364
368
|
$comment?: string | undefined;
|
|
365
369
|
mappings: Record<string, string>;
|
package/out/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GACjB,OAAO,GACP,IAAI,GACJ,MAAM,GACN,MAAM,GACN,SAAS,EAAE,GACX;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEjC,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@propulsionworks/cfn-resource-schemas",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"type": "module",
|
|
5
|
+
"description": "Versioned mirror of AWS CloudFormation Resource Schemas (unofficial)",
|
|
6
|
+
"author": {
|
|
7
|
+
"name": "Gordon Leigh"
|
|
8
|
+
},
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/propulsionworks/cfn-resource-schemas.git"
|
|
12
|
+
},
|
|
13
|
+
"homepage": "https://github.com/propulsionworks/cfn-resource-schemas#readme",
|
|
5
14
|
"engines": {
|
|
6
15
|
"node": ">=20"
|
|
7
16
|
},
|
package/schemas.ndjson.gz
CHANGED
|
Binary file
|
package/src/types.ts
CHANGED
|
@@ -6,7 +6,7 @@ export type JsonValue =
|
|
|
6
6
|
| JsonValue[]
|
|
7
7
|
| { [key: string]: JsonValue };
|
|
8
8
|
|
|
9
|
-
export type
|
|
9
|
+
export type JsonSchemaObject = Exclude<JsonSchema, boolean>;
|
|
10
10
|
|
|
11
11
|
export type ResourceTypeSchemaWithMeta = {
|
|
12
12
|
$id: string;
|
|
@@ -14,118 +14,109 @@ export type ResourceTypeSchemaWithMeta = {
|
|
|
14
14
|
} & ResourceTypeSchema;
|
|
15
15
|
|
|
16
16
|
/// GENERATED CODE BELOW ///
|
|
17
|
-
export type JsonSchema =
|
|
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
|
-
* @default false
|
|
122
|
-
*/
|
|
123
|
-
uniqueItems?: boolean | undefined;
|
|
124
|
-
/**
|
|
125
|
-
* @default false
|
|
126
|
-
*/
|
|
127
|
-
writeOnly?: boolean | undefined;
|
|
128
|
-
};
|
|
17
|
+
export type JsonSchema =
|
|
18
|
+
| {
|
|
19
|
+
$comment?: string | undefined;
|
|
20
|
+
$id?: string | undefined;
|
|
21
|
+
$ref?: string | undefined;
|
|
22
|
+
$schema?: string | undefined;
|
|
23
|
+
additionalItems?: JsonSchema | undefined;
|
|
24
|
+
additionalProperties?: JsonSchema | undefined;
|
|
25
|
+
allOf?: JsonSchema[] | undefined;
|
|
26
|
+
anyOf?: JsonSchema[] | undefined;
|
|
27
|
+
const?: unknown;
|
|
28
|
+
contains?: JsonSchema | undefined;
|
|
29
|
+
contentEncoding?: string | undefined;
|
|
30
|
+
contentMediaType?: string | undefined;
|
|
31
|
+
default?: unknown;
|
|
32
|
+
/**
|
|
33
|
+
* @default {}
|
|
34
|
+
*/
|
|
35
|
+
definitions?: Record<string, JsonSchema> | undefined;
|
|
36
|
+
dependencies?: Record<string, JsonSchema | string[]> | undefined;
|
|
37
|
+
description?: string | undefined;
|
|
38
|
+
else?: JsonSchema | undefined;
|
|
39
|
+
enum?: unknown[] | undefined;
|
|
40
|
+
examples?: unknown[] | undefined;
|
|
41
|
+
exclusiveMaximum?: number | undefined;
|
|
42
|
+
exclusiveMinimum?: number | undefined;
|
|
43
|
+
format?: string | undefined;
|
|
44
|
+
if?: JsonSchema | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* @default true
|
|
47
|
+
*/
|
|
48
|
+
items?: JsonSchema | JsonSchema[] | 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
|
+
maximum?: 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
|
+
minimum?: number | undefined;
|
|
78
|
+
multipleOf?: number | undefined;
|
|
79
|
+
not?: JsonSchema | undefined;
|
|
80
|
+
oneOf?: JsonSchema[] | undefined;
|
|
81
|
+
pattern?: string | undefined;
|
|
82
|
+
/**
|
|
83
|
+
* @default {}
|
|
84
|
+
*/
|
|
85
|
+
patternProperties?: Record<string, JsonSchema> | undefined;
|
|
86
|
+
/**
|
|
87
|
+
* @default {}
|
|
88
|
+
*/
|
|
89
|
+
properties?: Record<string, JsonSchema> | undefined;
|
|
90
|
+
propertyNames?: JsonSchema | undefined;
|
|
91
|
+
/**
|
|
92
|
+
* @default false
|
|
93
|
+
*/
|
|
94
|
+
readOnly?: boolean | undefined;
|
|
95
|
+
/**
|
|
96
|
+
* @default []
|
|
97
|
+
*/
|
|
98
|
+
required?: string[] | undefined;
|
|
99
|
+
then?: JsonSchema | undefined;
|
|
100
|
+
title?: string | undefined;
|
|
101
|
+
type?: JsonSchemaType | JsonSchemaType[] | undefined;
|
|
102
|
+
/**
|
|
103
|
+
* @default false
|
|
104
|
+
*/
|
|
105
|
+
uniqueItems?: boolean | undefined;
|
|
106
|
+
/**
|
|
107
|
+
* @default false
|
|
108
|
+
*/
|
|
109
|
+
writeOnly?: boolean | undefined;
|
|
110
|
+
}
|
|
111
|
+
| boolean;
|
|
112
|
+
export type JsonSchemaType =
|
|
113
|
+
| "array"
|
|
114
|
+
| "boolean"
|
|
115
|
+
| "integer"
|
|
116
|
+
| "null"
|
|
117
|
+
| "number"
|
|
118
|
+
| "object"
|
|
119
|
+
| "string";
|
|
129
120
|
/**
|
|
130
121
|
* This schema validates a CloudFormation resource provider definition.
|
|
131
122
|
*/
|
|
@@ -188,11 +179,7 @@ export type ResourceTypeSchema = {
|
|
|
188
179
|
* Reserved for CloudFormation use. A namespace to inline remote schemas.
|
|
189
180
|
*/
|
|
190
181
|
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;
|
|
182
|
+
replacementStrategy?: ReplacementStrategy | undefined;
|
|
196
183
|
/**
|
|
197
184
|
* @default []
|
|
198
185
|
*/
|
|
@@ -244,11 +231,6 @@ export type ResourceTagging = {
|
|
|
244
231
|
*/
|
|
245
232
|
cloudFormationSystemTags?: boolean | undefined;
|
|
246
233
|
permissions?: string[] | undefined;
|
|
247
|
-
/**
|
|
248
|
-
* A boolean flag indicating whether this resource type supports tagging.
|
|
249
|
-
* @default true
|
|
250
|
-
*/
|
|
251
|
-
taggable: boolean;
|
|
252
234
|
/**
|
|
253
235
|
* A boolean flag indicating whether this resource type supports tagging resources upon creation.
|
|
254
236
|
* @default true
|
|
@@ -264,6 +246,11 @@ export type ResourceTagging = {
|
|
|
264
246
|
* @default true
|
|
265
247
|
*/
|
|
266
248
|
tagUpdatable?: boolean | undefined;
|
|
249
|
+
/**
|
|
250
|
+
* A boolean flag indicating whether this resource type supports tagging.
|
|
251
|
+
* @default true
|
|
252
|
+
*/
|
|
253
|
+
taggable: boolean;
|
|
267
254
|
};
|
|
268
255
|
/**
|
|
269
256
|
* Reserved for CloudFormation use. A inlined remote schema.
|
|
@@ -284,13 +271,16 @@ export type PropertySchema = {
|
|
|
284
271
|
* @default Standard
|
|
285
272
|
*/
|
|
286
273
|
arrayType?: "Standard" | "AttributeList" | undefined;
|
|
287
|
-
const?:
|
|
288
|
-
|
|
289
|
-
|
|
274
|
+
const?: unknown;
|
|
275
|
+
/**
|
|
276
|
+
* @default true
|
|
277
|
+
*/
|
|
278
|
+
contains?: JsonSchema | undefined;
|
|
279
|
+
default?: unknown;
|
|
290
280
|
dependencies?: Record<string, PropertySchema | string[]> | undefined;
|
|
291
281
|
description?: string | undefined;
|
|
292
|
-
enum?:
|
|
293
|
-
examples?:
|
|
282
|
+
enum?: unknown[] | undefined;
|
|
283
|
+
examples?: unknown[] | undefined;
|
|
294
284
|
exclusiveMaximum?: number | undefined;
|
|
295
285
|
exclusiveMinimum?: number | undefined;
|
|
296
286
|
format?: string | undefined;
|
|
@@ -303,7 +293,6 @@ export type PropertySchema = {
|
|
|
303
293
|
* @default {}
|
|
304
294
|
*/
|
|
305
295
|
items?: PropertySchema | undefined;
|
|
306
|
-
maximum?: number | undefined;
|
|
307
296
|
/**
|
|
308
297
|
* @min 0
|
|
309
298
|
*/
|
|
@@ -316,7 +305,7 @@ export type PropertySchema = {
|
|
|
316
305
|
* @min 0
|
|
317
306
|
*/
|
|
318
307
|
maxProperties?: number | undefined;
|
|
319
|
-
|
|
308
|
+
maximum?: number | undefined;
|
|
320
309
|
/**
|
|
321
310
|
* @min 0
|
|
322
311
|
* @default 0
|
|
@@ -332,10 +321,11 @@ export type PropertySchema = {
|
|
|
332
321
|
* @default 0
|
|
333
322
|
*/
|
|
334
323
|
minProperties?: number | undefined;
|
|
324
|
+
minimum?: number | undefined;
|
|
335
325
|
multipleOf?: number | undefined;
|
|
336
326
|
oneOf?: PropertySchema[] | undefined;
|
|
337
327
|
pattern?: string | undefined;
|
|
338
|
-
patternProperties?: Record<string,
|
|
328
|
+
patternProperties?: Record<string, unknown> | undefined;
|
|
339
329
|
properties?: Record<string, PropertySchema> | undefined;
|
|
340
330
|
relationshipRef?: RelationshipRef | undefined;
|
|
341
331
|
/**
|
|
@@ -343,7 +333,7 @@ export type PropertySchema = {
|
|
|
343
333
|
*/
|
|
344
334
|
required?: string[] | undefined;
|
|
345
335
|
title?: string | undefined;
|
|
346
|
-
type?:
|
|
336
|
+
type?: JsonSchemaType | JsonSchemaType[] | undefined;
|
|
347
337
|
/**
|
|
348
338
|
* @default false
|
|
349
339
|
*/
|
|
@@ -387,6 +377,10 @@ export type TypeConfiguration = {
|
|
|
387
377
|
*/
|
|
388
378
|
required?: string[] | undefined;
|
|
389
379
|
};
|
|
380
|
+
/**
|
|
381
|
+
* The valid replacement strategies are [create_then_delete] and [delete_then_create]. All other inputs are invalid.
|
|
382
|
+
*/
|
|
383
|
+
export type ReplacementStrategy = "create_then_delete" | "delete_then_create";
|
|
390
384
|
export type ResourceLink = {
|
|
391
385
|
$comment?: string | undefined;
|
|
392
386
|
mappings: Record<string, string>;
|