@propulsionworks/cfn-resource-schemas 0.1.17 → 0.1.22
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/paths.d.ts +10 -0
- package/out/paths.d.ts.map +1 -0
- package/out/paths.js +12 -0
- package/out/paths.js.map +1 -0
- package/out/schemas.d.ts +5 -1
- package/out/schemas.d.ts.map +1 -1
- package/out/schemas.js +12 -4
- package/out/schemas.js.map +1 -1
- package/out/types.d.ts +38 -3
- package/out/types.d.ts.map +1 -1
- package/package.d.ts +14 -0
- package/package.js +12 -0
- package/package.json +23 -6
- package/schemas.ndjson.gz +0 -0
- package/src/paths.ts +13 -0
- package/src/schemas.ts +21 -5
- package/src/types.ts +147 -98
- package/supplemental.ndjson.gz +0 -0
package/out/paths.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO;;;;CAInB,CAAC;AAEF,eAAO,MAAM,OAAO;;;CAGnB,CAAC"}
|
package/out/paths.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PackageRoot } from "#package";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
export const Sources = {
|
|
4
|
+
policies: join(PackageRoot, "policy-props.json"),
|
|
5
|
+
schemas: join(PackageRoot, "schemas"),
|
|
6
|
+
supplemental: join(PackageRoot, "supplemental"),
|
|
7
|
+
};
|
|
8
|
+
export const Bundles = {
|
|
9
|
+
schemas: join(PackageRoot, "schemas.ndjson.gz"),
|
|
10
|
+
supplemental: join(PackageRoot, "supplemental.ndjson.gz"),
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=paths.js.map
|
package/out/paths.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAChD,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC;IACrC,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC;CAChD,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAC/C,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,wBAAwB,CAAC;CAC1D,CAAC"}
|
package/out/schemas.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import type { ResourceTypeSchemaWithMeta } from "./types.ts";
|
|
1
|
+
import type { ResourceSupplemental, ResourceTypeSchemaWithMeta } from "./types.ts";
|
|
2
2
|
/**
|
|
3
3
|
* Load the AWS schemas from the bundle.
|
|
4
4
|
*/
|
|
5
5
|
export declare function loadSchemas(): AsyncIterable<ResourceTypeSchemaWithMeta, void, void>;
|
|
6
|
+
/**
|
|
7
|
+
* Load the AWS schemas from the bundle.
|
|
8
|
+
*/
|
|
9
|
+
export declare function loadSupplemental(): AsyncIterable<ResourceSupplemental, void, void>;
|
|
6
10
|
//# sourceMappingURL=schemas.d.ts.map
|
package/out/schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AAoCpB;;GAEG;AACH,wBAAgB,WAAW,IAAI,aAAa,CAC1C,0BAA0B,EAC1B,IAAI,EACJ,IAAI,CACL,CAIA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAC/C,oBAAoB,EACpB,IAAI,EACJ,IAAI,CACL,CAIA"}
|
package/out/schemas.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { createReadStream } from "node:fs";
|
|
2
|
-
import { join } from "node:path";
|
|
3
2
|
import { Transform } from "node:stream";
|
|
4
3
|
import { StringDecoder } from "node:string_decoder";
|
|
5
4
|
import { createGunzip } from "node:zlib";
|
|
5
|
+
import { Bundles } from "./paths.js";
|
|
6
6
|
/**
|
|
7
7
|
* Stream transform to convert the input into a stream of JSON objects.
|
|
8
8
|
*/
|
|
9
|
-
class
|
|
9
|
+
class FromNdJsonTransform extends Transform {
|
|
10
10
|
#decoder = new StringDecoder();
|
|
11
11
|
#last = "";
|
|
12
12
|
constructor() {
|
|
@@ -32,8 +32,16 @@ class NdJsonTransform extends Transform {
|
|
|
32
32
|
* Load the AWS schemas from the bundle.
|
|
33
33
|
*/
|
|
34
34
|
export function loadSchemas() {
|
|
35
|
-
return createReadStream(
|
|
35
|
+
return createReadStream(Bundles.schemas)
|
|
36
36
|
.pipe(createGunzip())
|
|
37
|
-
.pipe(new
|
|
37
|
+
.pipe(new FromNdJsonTransform());
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Load the AWS schemas from the bundle.
|
|
41
|
+
*/
|
|
42
|
+
export function loadSupplemental() {
|
|
43
|
+
return createReadStream(Bundles.supplemental)
|
|
44
|
+
.pipe(createGunzip())
|
|
45
|
+
.pipe(new FromNdJsonTransform());
|
|
38
46
|
}
|
|
39
47
|
//# sourceMappingURL=schemas.js.map
|
package/out/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAA0B,SAAS,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAMrC;;GAEG;AACH,MAAM,mBAAoB,SAAQ,SAAS;IAChC,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,OAAO,CAAC,OAAO,CAAC;SACrC,IAAI,CAAC,YAAY,EAAE,CAAC;SACpB,IAAI,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAK9B,OAAO,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC;SAC1C,IAAI,CAAC,YAAY,EAAE,CAAC;SACpB,IAAI,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;AACrC,CAAC"}
|
package/out/types.d.ts
CHANGED
|
@@ -1,9 +1,43 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* A {@link ResourceTypeSchema} with additional metadata.
|
|
3
|
+
*/
|
|
2
4
|
export type ResourceTypeSchemaWithMeta = {
|
|
3
5
|
$id: string;
|
|
4
6
|
$integrity: string;
|
|
5
7
|
} & ResourceTypeSchema;
|
|
6
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Describes the nature of data in a resource schema that doesn't have a more
|
|
10
|
+
* specific type in the schema itself.
|
|
11
|
+
*/
|
|
12
|
+
export type WellKnownType = "iam-policy";
|
|
13
|
+
/**
|
|
14
|
+
* Contains extra information about a property.
|
|
15
|
+
*/
|
|
16
|
+
export type PropertySupplemental = {
|
|
17
|
+
description?: string | undefined;
|
|
18
|
+
documentationUrl?: string | undefined;
|
|
19
|
+
wellKnownType?: WellKnownType | undefined;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Contains extra information about an object.
|
|
23
|
+
*/
|
|
24
|
+
export type ObjectSupplemental = {
|
|
25
|
+
description?: string | undefined;
|
|
26
|
+
documentationUrl?: string | undefined;
|
|
27
|
+
properties: Record<string, PropertySupplemental>;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Contains extra information about a resource and its related types.
|
|
31
|
+
*/
|
|
32
|
+
export type ResourceSupplemental = {
|
|
33
|
+
attributes: ObjectSupplemental;
|
|
34
|
+
definitions: Record<string, ObjectSupplemental>;
|
|
35
|
+
description?: string | undefined;
|
|
36
|
+
documentationUrl?: string | undefined;
|
|
37
|
+
properties: Record<string, PropertySupplemental>;
|
|
38
|
+
typeName: string;
|
|
39
|
+
};
|
|
40
|
+
export type JsonSchemaObject = {
|
|
7
41
|
$comment?: string | undefined;
|
|
8
42
|
$id?: string | undefined;
|
|
9
43
|
$ref?: string | undefined;
|
|
@@ -95,7 +129,8 @@ export type JsonSchema = {
|
|
|
95
129
|
* @default false
|
|
96
130
|
*/
|
|
97
131
|
writeOnly?: boolean | undefined;
|
|
98
|
-
}
|
|
132
|
+
};
|
|
133
|
+
export type JsonSchema = JsonSchemaObject | boolean;
|
|
99
134
|
export type JsonSchemaType = "array" | "boolean" | "integer" | "null" | "number" | "object" | "string";
|
|
100
135
|
/**
|
|
101
136
|
* This schema validates a CloudFormation resource provider definition.
|
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,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,kBAAkB,CAAC;AAEvB;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,YAAY,CAAC;AAEzC;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CAClD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAChD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACjD,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,eAAe,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACzC,oBAAoB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC9C,KAAK,CAAC,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IACjC,KAAK,CAAC,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC;IACjE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,EAAE,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC5B;;OAEG;IACH,KAAK,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,GAAG,SAAS,CAAC;IAC9C;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,GAAG,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC;IAC3D;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC;IACpD,aAAa,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACvC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAChC,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,cAAc,GAAG,cAAc,EAAE,GAAG,SAAS,CAAC;IACrD;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG,OAAO,CAAC;AAEpD,MAAM,MAAM,cAAc,GACtB,OAAO,GACP,SAAS,GACT,SAAS,GACT,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,SAAS,CAAC;IAC/C,oBAAoB,EAAE,KAAK,CAAC;IAC5B,KAAK,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACrC,KAAK,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACrC;;OAEG;IACH,+BAA+B,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACvD;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC;IACzD;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC;;OAEG;IACH,QAAQ,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACxC;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5C;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3C,KAAK,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACrC;;OAEG;IACH,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC3C;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACvD;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC1C;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,SAAS,CAAC;IAClD,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACtD;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAChC;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACxC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC9B;;OAEG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAClD;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC5C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACvC,MAAM,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACvC,IAAI,CAAC,EAAE,mCAAmC,GAAG,SAAS,CAAC;IACvD,IAAI,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACrC,MAAM,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACnC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,oBAAoB,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IACzC,KAAK,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACrC,KAAK,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACrC;;;OAGG;IACH,SAAS,CAAC,EAAE,UAAU,GAAG,eAAe,GAAG,SAAS,CAAC;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC;IACrE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC;;OAEG;IACH,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACnC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,KAAK,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC;IACxD,eAAe,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IAC9C;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,cAAc,GAAG,cAAc,EAAE,GAAG,SAAS,CAAC;IACrD;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,oBAAoB,EAAE,KAAK,CAAC;IAC5B,KAAK,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACrC,KAAK,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACrC;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,KAAK,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC3C;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;AAE9E,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAC1C,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACrC,KAAK,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACrC,KAAK,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC3C;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACjC,CAAC"}
|
package/package.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The root folder of the package.
|
|
3
|
+
*/
|
|
4
|
+
export declare const PackageRoot: string;
|
|
5
|
+
|
|
6
|
+
export type PackageJson = {
|
|
7
|
+
name: string;
|
|
8
|
+
version: string;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The contents of package.json.
|
|
13
|
+
*/
|
|
14
|
+
export declare const PackageJson: PackageJson;
|
package/package.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The root folder of the package.
|
|
5
|
+
* @type {string}
|
|
6
|
+
*/
|
|
7
|
+
export const PackageRoot = import.meta.dirname;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* The contents of package.json.
|
|
11
|
+
*/
|
|
12
|
+
export const PackageJson = JSON.parse(readFileSync("./package.json"));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@propulsionworks/cfn-resource-schemas",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.22",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Versioned mirror of AWS CloudFormation Resource Schemas (unofficial)",
|
|
6
6
|
"author": {
|
|
@@ -24,29 +24,46 @@
|
|
|
24
24
|
"types": "./out/types.d.ts"
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
|
+
"imports": {
|
|
28
|
+
"#package": {
|
|
29
|
+
"types": "./package.d.ts",
|
|
30
|
+
"default": "./package.js"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
27
33
|
"files": [
|
|
28
34
|
"src/",
|
|
35
|
+
"!src/build/",
|
|
29
36
|
"out/",
|
|
30
|
-
"
|
|
37
|
+
"!out/build/",
|
|
38
|
+
"*.ndjson.gz",
|
|
39
|
+
"package.*"
|
|
31
40
|
],
|
|
32
41
|
"scripts": {
|
|
33
42
|
"build": "npm run clean && npm run compile",
|
|
34
|
-
"bundle": "node --experimental-strip-types ./bundle.ts",
|
|
43
|
+
"bundle": "node --experimental-strip-types ./src/build/bundle.ts",
|
|
44
|
+
"check": "tsc -p tsconfig.json",
|
|
45
|
+
"ci-build": "node --enable-source-maps --experimental-strip-types ./src/build/ci.ts",
|
|
35
46
|
"clean": "rimraf out/ *.tsbuildinfo",
|
|
36
47
|
"compile": "tsc -p tsconfig.lib.json",
|
|
37
|
-
"download": "node --experimental-strip-types ./download.ts",
|
|
38
|
-
"
|
|
48
|
+
"download": "node --experimental-strip-types ./src/build/download.ts",
|
|
49
|
+
"supplemental": "node --experimental-strip-types ./src/build/supplemental.ts",
|
|
50
|
+
"test": "node --enable-source-maps --experimental-strip-types ./src/build/test.ts"
|
|
39
51
|
},
|
|
40
52
|
"devDependencies": {
|
|
53
|
+
"@aws-cdk/aws-service-spec": "^0.1.67",
|
|
54
|
+
"@aws-cdk/service-spec-types": "^0.0.133",
|
|
41
55
|
"@propulsionworks/eslint-config": "^0.4.1",
|
|
56
|
+
"@types/fs-extra": "^11.0.4",
|
|
42
57
|
"@types/node": "^22.13.13",
|
|
43
58
|
"@types/ssri": "^7.1.5",
|
|
44
59
|
"canonicalize": "^2.1.0",
|
|
45
60
|
"eslint": "^9.23.0",
|
|
61
|
+
"inquirer": "^12.5.2",
|
|
46
62
|
"prettier": "^3.5.3",
|
|
47
63
|
"rimraf": "^6.0.1",
|
|
48
64
|
"ssri": "^12.0.0",
|
|
49
65
|
"typescript": "^5.8.2",
|
|
50
|
-
"zip24": "^0.1.
|
|
66
|
+
"zip24": "^0.1.7",
|
|
67
|
+
"zx": "^8.5.2"
|
|
51
68
|
}
|
|
52
69
|
}
|
package/schemas.ndjson.gz
CHANGED
|
Binary file
|
package/src/paths.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PackageRoot } from "#package";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
|
|
4
|
+
export const Sources = {
|
|
5
|
+
policies: join(PackageRoot, "policy-props.json"),
|
|
6
|
+
schemas: join(PackageRoot, "schemas"),
|
|
7
|
+
supplemental: join(PackageRoot, "supplemental"),
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export const Bundles = {
|
|
11
|
+
schemas: join(PackageRoot, "schemas.ndjson.gz"),
|
|
12
|
+
supplemental: join(PackageRoot, "supplemental.ndjson.gz"),
|
|
13
|
+
};
|
package/src/schemas.ts
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { createReadStream } from "node:fs";
|
|
2
|
-
import { join } from "node:path";
|
|
3
2
|
import { type TransformCallback, Transform } from "node:stream";
|
|
4
3
|
import { StringDecoder } from "node:string_decoder";
|
|
5
4
|
import { createGunzip } from "node:zlib";
|
|
6
|
-
import
|
|
5
|
+
import { Bundles } from "./paths.ts";
|
|
6
|
+
import type {
|
|
7
|
+
ResourceSupplemental,
|
|
8
|
+
ResourceTypeSchemaWithMeta,
|
|
9
|
+
} from "./types.ts";
|
|
7
10
|
|
|
8
11
|
/**
|
|
9
12
|
* Stream transform to convert the input into a stream of JSON objects.
|
|
10
13
|
*/
|
|
11
|
-
class
|
|
14
|
+
class FromNdJsonTransform extends Transform {
|
|
12
15
|
readonly #decoder = new StringDecoder();
|
|
13
16
|
#last = "";
|
|
14
17
|
|
|
@@ -47,7 +50,20 @@ export function loadSchemas(): AsyncIterable<
|
|
|
47
50
|
void,
|
|
48
51
|
void
|
|
49
52
|
> {
|
|
50
|
-
return createReadStream(
|
|
53
|
+
return createReadStream(Bundles.schemas)
|
|
54
|
+
.pipe(createGunzip())
|
|
55
|
+
.pipe(new FromNdJsonTransform());
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Load the AWS schemas from the bundle.
|
|
60
|
+
*/
|
|
61
|
+
export function loadSupplemental(): AsyncIterable<
|
|
62
|
+
ResourceSupplemental,
|
|
63
|
+
void,
|
|
64
|
+
void
|
|
65
|
+
> {
|
|
66
|
+
return createReadStream(Bundles.supplemental)
|
|
51
67
|
.pipe(createGunzip())
|
|
52
|
-
.pipe(new
|
|
68
|
+
.pipe(new FromNdJsonTransform());
|
|
53
69
|
}
|
package/src/types.ts
CHANGED
|
@@ -1,106 +1,143 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* A {@link ResourceTypeSchema} with additional metadata.
|
|
3
|
+
*/
|
|
3
4
|
export type ResourceTypeSchemaWithMeta = {
|
|
4
5
|
$id: string;
|
|
5
6
|
$integrity: string;
|
|
6
7
|
} & ResourceTypeSchema;
|
|
7
8
|
|
|
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
|
-
|
|
|
9
|
+
/**
|
|
10
|
+
* Describes the nature of data in a resource schema that doesn't have a more
|
|
11
|
+
* specific type in the schema itself.
|
|
12
|
+
*/
|
|
13
|
+
export type WellKnownType = "iam-policy";
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Contains extra information about a property.
|
|
17
|
+
*/
|
|
18
|
+
export type PropertySupplemental = {
|
|
19
|
+
description?: string | undefined;
|
|
20
|
+
documentationUrl?: string | undefined;
|
|
21
|
+
wellKnownType?: WellKnownType | undefined;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Contains extra information about an object.
|
|
26
|
+
*/
|
|
27
|
+
export type ObjectSupplemental = {
|
|
28
|
+
description?: string | undefined;
|
|
29
|
+
documentationUrl?: string | undefined;
|
|
30
|
+
properties: Record<string, PropertySupplemental>;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Contains extra information about a resource and its related types.
|
|
35
|
+
*/
|
|
36
|
+
export type ResourceSupplemental = {
|
|
37
|
+
attributes: ObjectSupplemental;
|
|
38
|
+
definitions: Record<string, ObjectSupplemental>;
|
|
39
|
+
description?: string | undefined;
|
|
40
|
+
documentationUrl?: string | undefined;
|
|
41
|
+
properties: Record<string, PropertySupplemental>;
|
|
42
|
+
typeName: string;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export type JsonSchemaObject = {
|
|
46
|
+
$comment?: string | undefined;
|
|
47
|
+
$id?: string | undefined;
|
|
48
|
+
$ref?: string | undefined;
|
|
49
|
+
$schema?: string | undefined;
|
|
50
|
+
additionalItems?: JsonSchema | undefined;
|
|
51
|
+
additionalProperties?: JsonSchema | undefined;
|
|
52
|
+
allOf?: JsonSchema[] | undefined;
|
|
53
|
+
anyOf?: JsonSchema[] | undefined;
|
|
54
|
+
const?: unknown;
|
|
55
|
+
contains?: JsonSchema | undefined;
|
|
56
|
+
contentEncoding?: string | undefined;
|
|
57
|
+
contentMediaType?: string | undefined;
|
|
58
|
+
default?: unknown;
|
|
59
|
+
/**
|
|
60
|
+
* @default {}
|
|
61
|
+
*/
|
|
62
|
+
definitions?: Record<string, JsonSchema> | undefined;
|
|
63
|
+
dependencies?: Record<string, JsonSchema | string[]> | undefined;
|
|
64
|
+
description?: string | undefined;
|
|
65
|
+
else?: JsonSchema | undefined;
|
|
66
|
+
enum?: unknown[] | undefined;
|
|
67
|
+
examples?: unknown[] | undefined;
|
|
68
|
+
exclusiveMaximum?: number | undefined;
|
|
69
|
+
exclusiveMinimum?: number | undefined;
|
|
70
|
+
format?: string | undefined;
|
|
71
|
+
if?: JsonSchema | undefined;
|
|
72
|
+
/**
|
|
73
|
+
* @default true
|
|
74
|
+
*/
|
|
75
|
+
items?: JsonSchema | JsonSchema[] | undefined;
|
|
76
|
+
/**
|
|
77
|
+
* @min 0
|
|
78
|
+
*/
|
|
79
|
+
maxItems?: number | undefined;
|
|
80
|
+
/**
|
|
81
|
+
* @min 0
|
|
82
|
+
*/
|
|
83
|
+
maxLength?: number | undefined;
|
|
84
|
+
/**
|
|
85
|
+
* @min 0
|
|
86
|
+
*/
|
|
87
|
+
maxProperties?: number | undefined;
|
|
88
|
+
maximum?: number | undefined;
|
|
89
|
+
/**
|
|
90
|
+
* @min 0
|
|
91
|
+
* @default 0
|
|
92
|
+
*/
|
|
93
|
+
minItems?: number | undefined;
|
|
94
|
+
/**
|
|
95
|
+
* @min 0
|
|
96
|
+
* @default 0
|
|
97
|
+
*/
|
|
98
|
+
minLength?: number | undefined;
|
|
99
|
+
/**
|
|
100
|
+
* @min 0
|
|
101
|
+
* @default 0
|
|
102
|
+
*/
|
|
103
|
+
minProperties?: number | undefined;
|
|
104
|
+
minimum?: number | undefined;
|
|
105
|
+
multipleOf?: number | undefined;
|
|
106
|
+
not?: JsonSchema | undefined;
|
|
107
|
+
oneOf?: JsonSchema[] | undefined;
|
|
108
|
+
pattern?: string | undefined;
|
|
109
|
+
/**
|
|
110
|
+
* @default {}
|
|
111
|
+
*/
|
|
112
|
+
patternProperties?: Record<string, JsonSchema> | undefined;
|
|
113
|
+
/**
|
|
114
|
+
* @default {}
|
|
115
|
+
*/
|
|
116
|
+
properties?: Record<string, JsonSchema> | undefined;
|
|
117
|
+
propertyNames?: JsonSchema | undefined;
|
|
118
|
+
/**
|
|
119
|
+
* @default false
|
|
120
|
+
*/
|
|
121
|
+
readOnly?: boolean | undefined;
|
|
122
|
+
/**
|
|
123
|
+
* @default []
|
|
124
|
+
*/
|
|
125
|
+
required?: string[] | undefined;
|
|
126
|
+
then?: JsonSchema | undefined;
|
|
127
|
+
title?: string | undefined;
|
|
128
|
+
type?: JsonSchemaType | JsonSchemaType[] | undefined;
|
|
129
|
+
/**
|
|
130
|
+
* @default false
|
|
131
|
+
*/
|
|
132
|
+
uniqueItems?: boolean | undefined;
|
|
133
|
+
/**
|
|
134
|
+
* @default false
|
|
135
|
+
*/
|
|
136
|
+
writeOnly?: boolean | undefined;
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
export type JsonSchema = JsonSchemaObject | boolean;
|
|
140
|
+
|
|
104
141
|
export type JsonSchemaType =
|
|
105
142
|
| "array"
|
|
106
143
|
| "boolean"
|
|
@@ -109,6 +146,7 @@ export type JsonSchemaType =
|
|
|
109
146
|
| "number"
|
|
110
147
|
| "object"
|
|
111
148
|
| "string";
|
|
149
|
+
|
|
112
150
|
/**
|
|
113
151
|
* This schema validates a CloudFormation resource provider definition.
|
|
114
152
|
*/
|
|
@@ -206,6 +244,7 @@ export type ResourceTypeSchema = {
|
|
|
206
244
|
*/
|
|
207
245
|
writeOnlyProperties?: string[] | undefined;
|
|
208
246
|
};
|
|
247
|
+
|
|
209
248
|
/**
|
|
210
249
|
* Defines the provisioning operations which can be performed on this resource type
|
|
211
250
|
*/
|
|
@@ -216,6 +255,7 @@ export type ResourceHandlers = {
|
|
|
216
255
|
read?: HandlerDefinition | undefined;
|
|
217
256
|
update?: HandlerDefinition | undefined;
|
|
218
257
|
};
|
|
258
|
+
|
|
219
259
|
export type ResourceTagging = {
|
|
220
260
|
/**
|
|
221
261
|
* A boolean flag indicating whether this resource type supports CloudFormation system tags.
|
|
@@ -244,6 +284,7 @@ export type ResourceTagging = {
|
|
|
244
284
|
*/
|
|
245
285
|
taggable: boolean;
|
|
246
286
|
};
|
|
287
|
+
|
|
247
288
|
/**
|
|
248
289
|
* Reserved for CloudFormation use. A inlined remote schema.
|
|
249
290
|
*/
|
|
@@ -252,6 +293,7 @@ export type RemoteSchema = {
|
|
|
252
293
|
definitions?: Record<string, PropertySchema> | undefined;
|
|
253
294
|
properties?: Record<string, PropertySchema> | undefined;
|
|
254
295
|
};
|
|
296
|
+
|
|
255
297
|
export type PropertySchema = {
|
|
256
298
|
$comment?: string | undefined;
|
|
257
299
|
$ref?: string | undefined;
|
|
@@ -331,6 +373,7 @@ export type PropertySchema = {
|
|
|
331
373
|
*/
|
|
332
374
|
uniqueItems?: boolean | undefined;
|
|
333
375
|
};
|
|
376
|
+
|
|
334
377
|
export type RelationshipRef = {
|
|
335
378
|
/**
|
|
336
379
|
* @min 1
|
|
@@ -350,6 +393,7 @@ export type RelationshipRef = {
|
|
|
350
393
|
*/
|
|
351
394
|
typeName: string;
|
|
352
395
|
};
|
|
396
|
+
|
|
353
397
|
/**
|
|
354
398
|
* This schema validates a CloudFormation type provider configuration definition.
|
|
355
399
|
*/
|
|
@@ -369,10 +413,12 @@ export type TypeConfiguration = {
|
|
|
369
413
|
*/
|
|
370
414
|
required?: string[] | undefined;
|
|
371
415
|
};
|
|
416
|
+
|
|
372
417
|
/**
|
|
373
418
|
* The valid replacement strategies are [create_then_delete] and [delete_then_create]. All other inputs are invalid.
|
|
374
419
|
*/
|
|
375
420
|
export type ReplacementStrategy = "create_then_delete" | "delete_then_create";
|
|
421
|
+
|
|
376
422
|
export type ResourceLink = {
|
|
377
423
|
$comment?: string | undefined;
|
|
378
424
|
mappings: Record<string, string>;
|
|
@@ -381,6 +427,7 @@ export type ResourceLink = {
|
|
|
381
427
|
*/
|
|
382
428
|
templateUri: string;
|
|
383
429
|
};
|
|
430
|
+
|
|
384
431
|
/**
|
|
385
432
|
* Defines any execution operations which can be performed on this resource provider
|
|
386
433
|
*/
|
|
@@ -394,6 +441,7 @@ export type HandlerDefinition = {
|
|
|
394
441
|
*/
|
|
395
442
|
timeoutInMinutes?: number | undefined;
|
|
396
443
|
};
|
|
444
|
+
|
|
397
445
|
/**
|
|
398
446
|
* Defines any execution operations which can be performed on this resource provider
|
|
399
447
|
*/
|
|
@@ -408,6 +456,7 @@ export type HandlerDefinitionWithSchemaOverride = {
|
|
|
408
456
|
*/
|
|
409
457
|
timeoutInMinutes?: number | undefined;
|
|
410
458
|
};
|
|
459
|
+
|
|
411
460
|
export type HandlerSchema = {
|
|
412
461
|
allOf?: PropertySchema[] | undefined;
|
|
413
462
|
anyOf?: PropertySchema[] | undefined;
|
|
Binary file
|