@aws-amplify/graphql-api-construct 1.18.3 → 1.18.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (986) hide show
  1. package/.jsii +162 -187
  2. package/CHANGELOG.md +8 -0
  3. package/jest.config.js +0 -7
  4. package/lib/amplify-dynamodb-table-wrapper.js +1 -1
  5. package/lib/amplify-graphql-api.js +1 -1
  6. package/lib/amplify-graphql-definition.js +1 -1
  7. package/lib/index.js +23 -1
  8. package/lib/sql-model-datasource-strategy.js +1 -1
  9. package/lib/types.js +11 -1
  10. package/node_modules/@aws-amplify/graphql-auth-transformer/CHANGELOG.md +4 -0
  11. package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +10 -11
  12. package/node_modules/@aws-amplify/graphql-conversation-transformer/CHANGELOG.md +4 -0
  13. package/node_modules/@aws-amplify/graphql-conversation-transformer/package.json +7 -8
  14. package/node_modules/@aws-amplify/graphql-default-value-transformer/CHANGELOG.md +4 -0
  15. package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +5 -6
  16. package/node_modules/@aws-amplify/graphql-directives/package.json +1 -2
  17. package/node_modules/@aws-amplify/graphql-function-transformer/CHANGELOG.md +4 -0
  18. package/node_modules/@aws-amplify/graphql-function-transformer/package.json +4 -5
  19. package/node_modules/@aws-amplify/graphql-generation-transformer/CHANGELOG.md +4 -0
  20. package/node_modules/@aws-amplify/graphql-generation-transformer/package.json +4 -5
  21. package/node_modules/@aws-amplify/graphql-http-transformer/CHANGELOG.md +4 -0
  22. package/node_modules/@aws-amplify/graphql-http-transformer/package.json +4 -5
  23. package/node_modules/@aws-amplify/graphql-index-transformer/CHANGELOG.md +4 -0
  24. package/node_modules/@aws-amplify/graphql-index-transformer/package.json +5 -6
  25. package/node_modules/@aws-amplify/graphql-maps-to-transformer/CHANGELOG.md +4 -0
  26. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/assets/mapping-lambda.zip +0 -0
  27. package/node_modules/@aws-amplify/graphql-maps-to-transformer/package.json +8 -9
  28. package/node_modules/@aws-amplify/graphql-model-transformer/CHANGELOG.md +4 -0
  29. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-lambda.zip +0 -0
  30. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-notification-lambda.zip +0 -0
  31. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-patching-lambda.zip +0 -0
  32. package/node_modules/@aws-amplify/graphql-model-transformer/package.json +4 -5
  33. package/node_modules/@aws-amplify/graphql-predictions-transformer/CHANGELOG.md +4 -0
  34. package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/predictionsLambdaFunction.zip +0 -0
  35. package/node_modules/@aws-amplify/graphql-predictions-transformer/package.json +4 -5
  36. package/node_modules/@aws-amplify/graphql-relational-transformer/CHANGELOG.md +4 -0
  37. package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +6 -7
  38. package/node_modules/@aws-amplify/graphql-searchable-transformer/CHANGELOG.md +4 -0
  39. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/streaming-lambda.zip +0 -0
  40. package/node_modules/@aws-amplify/graphql-searchable-transformer/package.json +5 -6
  41. package/node_modules/@aws-amplify/graphql-sql-transformer/CHANGELOG.md +4 -0
  42. package/node_modules/@aws-amplify/graphql-sql-transformer/package.json +5 -6
  43. package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +4 -0
  44. package/node_modules/@aws-amplify/graphql-transformer/package.json +17 -18
  45. package/node_modules/@aws-amplify/graphql-transformer-core/CHANGELOG.md +4 -0
  46. package/node_modules/@aws-amplify/graphql-transformer-core/package.json +2 -4
  47. package/node_modules/@aws-amplify/graphql-transformer-interfaces/package.json +1 -2
  48. package/node_modules/graphql-mapping-template/package.json +1 -2
  49. package/node_modules/graphql-transformer-common/package.json +1 -2
  50. package/package.json +18 -68
  51. package/src/index.ts +33 -0
  52. package/src/types.ts +100 -0
  53. package/node_modules/@aws-amplify/graphql-auth-transformer/LICENSE +0 -201
  54. package/node_modules/@aws-amplify/graphql-conversation-transformer/LICENSE +0 -201
  55. package/node_modules/@aws-amplify/graphql-default-value-transformer/LICENSE +0 -201
  56. package/node_modules/@aws-amplify/graphql-directives/LICENSE +0 -201
  57. package/node_modules/@aws-amplify/graphql-function-transformer/LICENSE +0 -201
  58. package/node_modules/@aws-amplify/graphql-generation-transformer/LICENSE +0 -201
  59. package/node_modules/@aws-amplify/graphql-http-transformer/LICENSE +0 -201
  60. package/node_modules/@aws-amplify/graphql-index-transformer/LICENSE +0 -201
  61. package/node_modules/@aws-amplify/graphql-maps-to-transformer/LICENSE +0 -201
  62. package/node_modules/@aws-amplify/graphql-model-transformer/LICENSE +0 -201
  63. package/node_modules/@aws-amplify/graphql-predictions-transformer/LICENSE +0 -201
  64. package/node_modules/@aws-amplify/graphql-relational-transformer/LICENSE +0 -201
  65. package/node_modules/@aws-amplify/graphql-searchable-transformer/LICENSE +0 -201
  66. package/node_modules/@aws-amplify/graphql-sql-transformer/LICENSE +0 -201
  67. package/node_modules/@aws-amplify/graphql-transformer/LICENSE +0 -201
  68. package/node_modules/@aws-amplify/graphql-transformer-core/LICENSE +0 -201
  69. package/node_modules/@aws-amplify/graphql-transformer-interfaces/LICENSE +0 -201
  70. package/node_modules/@aws-cdk/assert/BUILD.md +0 -15
  71. package/node_modules/@aws-cdk/assert/LICENSE +0 -201
  72. package/node_modules/@aws-cdk/assert/NOTICE +0 -2
  73. package/node_modules/@aws-cdk/assert/README.md +0 -228
  74. package/node_modules/@aws-cdk/assert/clone.sh +0 -29
  75. package/node_modules/@aws-cdk/assert/jest.d.ts +0 -14
  76. package/node_modules/@aws-cdk/assert/jest.js +0 -57
  77. package/node_modules/@aws-cdk/assert/lib/assertion.d.ts +0 -17
  78. package/node_modules/@aws-cdk/assert/lib/assertion.js +0 -31
  79. package/node_modules/@aws-cdk/assert/lib/assertions/and-assertion.d.ts +0 -10
  80. package/node_modules/@aws-cdk/assert/lib/assertions/and-assertion.js +0 -21
  81. package/node_modules/@aws-cdk/assert/lib/assertions/count-resources.d.ts +0 -10
  82. package/node_modules/@aws-cdk/assert/lib/assertions/count-resources.js +0 -54
  83. package/node_modules/@aws-cdk/assert/lib/assertions/exist.d.ts +0 -3
  84. package/node_modules/@aws-cdk/assert/lib/assertions/exist.js +0 -18
  85. package/node_modules/@aws-cdk/assert/lib/assertions/have-output.d.ts +0 -29
  86. package/node_modules/@aws-cdk/assert/lib/assertions/have-output.js +0 -77
  87. package/node_modules/@aws-cdk/assert/lib/assertions/have-resource-matchers.d.ts +0 -123
  88. package/node_modules/@aws-cdk/assert/lib/assertions/have-resource-matchers.js +0 -404
  89. package/node_modules/@aws-cdk/assert/lib/assertions/have-resource.d.ts +0 -69
  90. package/node_modules/@aws-cdk/assert/lib/assertions/have-resource.js +0 -130
  91. package/node_modules/@aws-cdk/assert/lib/assertions/have-type.d.ts +0 -3
  92. package/node_modules/@aws-cdk/assert/lib/assertions/have-type.js +0 -22
  93. package/node_modules/@aws-cdk/assert/lib/assertions/match-template.d.ts +0 -19
  94. package/node_modules/@aws-cdk/assert/lib/assertions/match-template.js +0 -98
  95. package/node_modules/@aws-cdk/assert/lib/assertions/negated-assertion.d.ts +0 -8
  96. package/node_modules/@aws-cdk/assert/lib/assertions/negated-assertion.js +0 -18
  97. package/node_modules/@aws-cdk/assert/lib/canonicalize-assets.d.ts +0 -11
  98. package/node_modules/@aws-cdk/assert/lib/canonicalize-assets.js +0 -70
  99. package/node_modules/@aws-cdk/assert/lib/expect.d.ts +0 -4
  100. package/node_modules/@aws-cdk/assert/lib/expect.js +0 -16
  101. package/node_modules/@aws-cdk/assert/lib/index.d.ts +0 -14
  102. package/node_modules/@aws-cdk/assert/lib/index.js +0 -27
  103. package/node_modules/@aws-cdk/assert/lib/inspector.d.ts +0 -31
  104. package/node_modules/@aws-cdk/assert/lib/inspector.js +0 -69
  105. package/node_modules/@aws-cdk/assert/lib/synth-utils.d.ts +0 -30
  106. package/node_modules/@aws-cdk/assert/lib/synth-utils.js +0 -92
  107. package/node_modules/@aws-cdk/assert/package.json +0 -77
  108. package/node_modules/@aws-cdk/cfnspec/CHANGELOG.md +0 -16795
  109. package/node_modules/@aws-cdk/cfnspec/LICENSE +0 -201
  110. package/node_modules/@aws-cdk/cfnspec/NOTICE +0 -2
  111. package/node_modules/@aws-cdk/cfnspec/README.md +0 -14
  112. package/node_modules/@aws-cdk/cfnspec/build-tools/build.d.ts +0 -1
  113. package/node_modules/@aws-cdk/cfnspec/build-tools/build.js +0 -37
  114. package/node_modules/@aws-cdk/cfnspec/build-tools/create-missing-libraries.d.ts +0 -6
  115. package/node_modules/@aws-cdk/cfnspec/build-tools/create-missing-libraries.js +0 -311
  116. package/node_modules/@aws-cdk/cfnspec/build-tools/massage-spec.d.ts +0 -10
  117. package/node_modules/@aws-cdk/cfnspec/build-tools/massage-spec.js +0 -70
  118. package/node_modules/@aws-cdk/cfnspec/build-tools/patch-set.d.ts +0 -25
  119. package/node_modules/@aws-cdk/cfnspec/build-tools/patch-set.js +0 -241
  120. package/node_modules/@aws-cdk/cfnspec/build-tools/report-issues.d.ts +0 -9
  121. package/node_modules/@aws-cdk/cfnspec/build-tools/report-issues.js +0 -72
  122. package/node_modules/@aws-cdk/cfnspec/build-tools/scrutiny.d.ts +0 -12
  123. package/node_modules/@aws-cdk/cfnspec/build-tools/scrutiny.js +0 -85
  124. package/node_modules/@aws-cdk/cfnspec/build-tools/spec-diff.d.ts +0 -1
  125. package/node_modules/@aws-cdk/cfnspec/build-tools/spec-diff.js +0 -248
  126. package/node_modules/@aws-cdk/cfnspec/build-tools/split-spec-by-service.d.ts +0 -1
  127. package/node_modules/@aws-cdk/cfnspec/build-tools/split-spec-by-service.js +0 -120
  128. package/node_modules/@aws-cdk/cfnspec/build-tools/template/LICENSE +0 -201
  129. package/node_modules/@aws-cdk/cfnspec/build-tools/template/NOTICE +0 -2
  130. package/node_modules/@aws-cdk/cfnspec/build-tools/update-cfnlint.sh +0 -18
  131. package/node_modules/@aws-cdk/cfnspec/build-tools/update-metrics.sh +0 -15
  132. package/node_modules/@aws-cdk/cfnspec/build-tools/update.sh +0 -113
  133. package/node_modules/@aws-cdk/cfnspec/build-tools/validate-cfn.d.ts +0 -67
  134. package/node_modules/@aws-cdk/cfnspec/build-tools/validate-cfn.js +0 -285
  135. package/node_modules/@aws-cdk/cfnspec/cfn.version +0 -1
  136. package/node_modules/@aws-cdk/cfnspec/lib/_private_schema/cfn-lint.d.ts +0 -24
  137. package/node_modules/@aws-cdk/cfnspec/lib/_private_schema/cfn-lint.js +0 -3
  138. package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_EC2_VPNConnection.json +0 -27
  139. package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_Lambda_Function.json +0 -27
  140. package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_RDS_DBCluster.json +0 -70
  141. package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_RDS_DBInstance.json +0 -37
  142. package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_SNS_Topic.json +0 -52
  143. package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_SQS_Queue.json +0 -53
  144. package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics/README.md +0 -168
  145. package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics/canned-metrics-schema.d.ts +0 -60
  146. package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics/canned-metrics-schema.js +0 -12
  147. package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics/services.json +0 -31957
  148. package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics.d.ts +0 -41
  149. package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics.js +0 -75
  150. package/node_modules/@aws-cdk/cfnspec/lib/index.d.ts +0 -63
  151. package/node_modules/@aws-cdk/cfnspec/lib/index.js +0 -200
  152. package/node_modules/@aws-cdk/cfnspec/lib/schema/augmentation.d.ts +0 -87
  153. package/node_modules/@aws-cdk/cfnspec/lib/schema/augmentation.js +0 -28
  154. package/node_modules/@aws-cdk/cfnspec/lib/schema/base-types.d.ts +0 -14
  155. package/node_modules/@aws-cdk/cfnspec/lib/schema/base-types.js +0 -29
  156. package/node_modules/@aws-cdk/cfnspec/lib/schema/cfn-lint.d.ts +0 -13
  157. package/node_modules/@aws-cdk/cfnspec/lib/schema/cfn-lint.js +0 -3
  158. package/node_modules/@aws-cdk/cfnspec/lib/schema/docs.d.ts +0 -20
  159. package/node_modules/@aws-cdk/cfnspec/lib/schema/docs.js +0 -3
  160. package/node_modules/@aws-cdk/cfnspec/lib/schema/index.d.ts +0 -7
  161. package/node_modules/@aws-cdk/cfnspec/lib/schema/index.js +0 -20
  162. package/node_modules/@aws-cdk/cfnspec/lib/schema/property.d.ts +0 -179
  163. package/node_modules/@aws-cdk/cfnspec/lib/schema/property.js +0 -168
  164. package/node_modules/@aws-cdk/cfnspec/lib/schema/resource-type.d.ts +0 -118
  165. package/node_modules/@aws-cdk/cfnspec/lib/schema/resource-type.js +0 -99
  166. package/node_modules/@aws-cdk/cfnspec/lib/schema/specification.d.ts +0 -56
  167. package/node_modules/@aws-cdk/cfnspec/lib/schema/specification.js +0 -11
  168. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/CHANGELOG.md +0 -902
  169. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/LICENSE +0 -15
  170. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/README.md +0 -264
  171. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/copy/copy.js +0 -232
  172. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/copy/index.js +0 -6
  173. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/copy-sync/copy-sync.js +0 -166
  174. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/copy-sync/index.js +0 -5
  175. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/empty/index.js +0 -48
  176. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/ensure/file.js +0 -69
  177. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/ensure/index.js +0 -23
  178. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/ensure/link.js +0 -61
  179. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/ensure/symlink-paths.js +0 -99
  180. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/ensure/symlink-type.js +0 -31
  181. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/ensure/symlink.js +0 -63
  182. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/fs/index.js +0 -130
  183. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/index.js +0 -27
  184. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/json/index.js +0 -16
  185. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/json/jsonfile.js +0 -11
  186. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/json/output-json-sync.js +0 -12
  187. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/json/output-json.js +0 -12
  188. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/mkdirs/index.js +0 -14
  189. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/mkdirs/make-dir.js +0 -141
  190. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/move/index.js +0 -6
  191. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/move/move.js +0 -65
  192. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/move-sync/index.js +0 -5
  193. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/move-sync/move-sync.js +0 -47
  194. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/output/index.js +0 -40
  195. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/path-exists/index.js +0 -12
  196. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/remove/index.js +0 -9
  197. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/remove/rimraf.js +0 -302
  198. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/util/stat.js +0 -139
  199. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/util/utimes.js +0 -26
  200. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/package.json +0 -70
  201. package/node_modules/@aws-cdk/cfnspec/node_modules/jsonfile/CHANGELOG.md +0 -171
  202. package/node_modules/@aws-cdk/cfnspec/node_modules/jsonfile/LICENSE +0 -15
  203. package/node_modules/@aws-cdk/cfnspec/node_modules/jsonfile/README.md +0 -230
  204. package/node_modules/@aws-cdk/cfnspec/node_modules/jsonfile/index.js +0 -88
  205. package/node_modules/@aws-cdk/cfnspec/node_modules/jsonfile/package.json +0 -40
  206. package/node_modules/@aws-cdk/cfnspec/node_modules/jsonfile/utils.js +0 -14
  207. package/node_modules/@aws-cdk/cfnspec/node_modules/universalify/LICENSE +0 -20
  208. package/node_modules/@aws-cdk/cfnspec/node_modules/universalify/README.md +0 -76
  209. package/node_modules/@aws-cdk/cfnspec/node_modules/universalify/index.js +0 -24
  210. package/node_modules/@aws-cdk/cfnspec/node_modules/universalify/package.json +0 -34
  211. package/node_modules/@aws-cdk/cfnspec/package.json +0 -63
  212. package/node_modules/@aws-cdk/cfnspec/spec/cfn-docs.json +0 -51044
  213. package/node_modules/@aws-cdk/cfnspec/spec/cfn-lint.json +0 -35
  214. package/node_modules/@aws-cdk/cfnspec/spec/specification.json +0 -148332
  215. package/node_modules/@aws-cdk/cloudformation-diff/LICENSE +0 -201
  216. package/node_modules/@aws-cdk/cloudformation-diff/NOTICE +0 -2
  217. package/node_modules/@aws-cdk/cloudformation-diff/README.md +0 -12
  218. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/index.d.ts +0 -9
  219. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/index.js +0 -94
  220. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/types.d.ts +0 -326
  221. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/types.js +0 -457
  222. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/util.d.ts +0 -41
  223. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/util.js +0 -165
  224. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff-template.d.ts +0 -21
  225. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff-template.js +0 -166
  226. package/node_modules/@aws-cdk/cloudformation-diff/lib/diffable.d.ts +0 -22
  227. package/node_modules/@aws-cdk/cloudformation-diff/lib/diffable.js +0 -47
  228. package/node_modules/@aws-cdk/cloudformation-diff/lib/format-table.d.ts +0 -6
  229. package/node_modules/@aws-cdk/cloudformation-diff/lib/format-table.js +0 -109
  230. package/node_modules/@aws-cdk/cloudformation-diff/lib/format.d.ts +0 -23
  231. package/node_modules/@aws-cdk/cloudformation-diff/lib/format.js +0 -414
  232. package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/iam-changes.d.ts +0 -62
  233. package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/iam-changes.js +0 -246
  234. package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/managed-policy.d.ts +0 -18
  235. package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/managed-policy.js +0 -29
  236. package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/statement.d.ts +0 -127
  237. package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/statement.js +0 -268
  238. package/node_modules/@aws-cdk/cloudformation-diff/lib/index.d.ts +0 -4
  239. package/node_modules/@aws-cdk/cloudformation-diff/lib/index.js +0 -18
  240. package/node_modules/@aws-cdk/cloudformation-diff/lib/network/security-group-changes.d.ts +0 -32
  241. package/node_modules/@aws-cdk/cloudformation-diff/lib/network/security-group-changes.js +0 -95
  242. package/node_modules/@aws-cdk/cloudformation-diff/lib/network/security-group-rule.d.ts +0 -50
  243. package/node_modules/@aws-cdk/cloudformation-diff/lib/network/security-group-rule.js +0 -91
  244. package/node_modules/@aws-cdk/cloudformation-diff/lib/render-intrinsics.d.ts +0 -21
  245. package/node_modules/@aws-cdk/cloudformation-diff/lib/render-intrinsics.js +0 -79
  246. package/node_modules/@aws-cdk/cloudformation-diff/lib/util.d.ts +0 -7
  247. package/node_modules/@aws-cdk/cloudformation-diff/lib/util.js +0 -63
  248. package/node_modules/@aws-cdk/cloudformation-diff/package.json +0 -60
  249. package/node_modules/ajv/.runkit_example.js +0 -23
  250. package/node_modules/ajv/LICENSE +0 -22
  251. package/node_modules/ajv/README.md +0 -207
  252. package/node_modules/ajv/dist/2019.d.ts +0 -19
  253. package/node_modules/ajv/dist/2019.js +0 -61
  254. package/node_modules/ajv/dist/2019.js.map +0 -1
  255. package/node_modules/ajv/dist/2020.d.ts +0 -19
  256. package/node_modules/ajv/dist/2020.js +0 -55
  257. package/node_modules/ajv/dist/2020.js.map +0 -1
  258. package/node_modules/ajv/dist/ajv.d.ts +0 -18
  259. package/node_modules/ajv/dist/ajv.js +0 -50
  260. package/node_modules/ajv/dist/ajv.js.map +0 -1
  261. package/node_modules/ajv/dist/compile/codegen/code.d.ts +0 -40
  262. package/node_modules/ajv/dist/compile/codegen/code.js +0 -156
  263. package/node_modules/ajv/dist/compile/codegen/code.js.map +0 -1
  264. package/node_modules/ajv/dist/compile/codegen/index.d.ts +0 -79
  265. package/node_modules/ajv/dist/compile/codegen/index.js +0 -697
  266. package/node_modules/ajv/dist/compile/codegen/index.js.map +0 -1
  267. package/node_modules/ajv/dist/compile/codegen/scope.d.ts +0 -79
  268. package/node_modules/ajv/dist/compile/codegen/scope.js +0 -143
  269. package/node_modules/ajv/dist/compile/codegen/scope.js.map +0 -1
  270. package/node_modules/ajv/dist/compile/errors.d.ts +0 -13
  271. package/node_modules/ajv/dist/compile/errors.js +0 -123
  272. package/node_modules/ajv/dist/compile/errors.js.map +0 -1
  273. package/node_modules/ajv/dist/compile/index.d.ts +0 -80
  274. package/node_modules/ajv/dist/compile/index.js +0 -242
  275. package/node_modules/ajv/dist/compile/index.js.map +0 -1
  276. package/node_modules/ajv/dist/compile/jtd/parse.d.ts +0 -4
  277. package/node_modules/ajv/dist/compile/jtd/parse.js +0 -350
  278. package/node_modules/ajv/dist/compile/jtd/parse.js.map +0 -1
  279. package/node_modules/ajv/dist/compile/jtd/serialize.d.ts +0 -4
  280. package/node_modules/ajv/dist/compile/jtd/serialize.js +0 -229
  281. package/node_modules/ajv/dist/compile/jtd/serialize.js.map +0 -1
  282. package/node_modules/ajv/dist/compile/jtd/types.d.ts +0 -6
  283. package/node_modules/ajv/dist/compile/jtd/types.js +0 -14
  284. package/node_modules/ajv/dist/compile/jtd/types.js.map +0 -1
  285. package/node_modules/ajv/dist/compile/names.d.ts +0 -20
  286. package/node_modules/ajv/dist/compile/names.js +0 -28
  287. package/node_modules/ajv/dist/compile/names.js.map +0 -1
  288. package/node_modules/ajv/dist/compile/ref_error.d.ts +0 -6
  289. package/node_modules/ajv/dist/compile/ref_error.js +0 -12
  290. package/node_modules/ajv/dist/compile/ref_error.js.map +0 -1
  291. package/node_modules/ajv/dist/compile/resolve.d.ts +0 -12
  292. package/node_modules/ajv/dist/compile/resolve.js +0 -155
  293. package/node_modules/ajv/dist/compile/resolve.js.map +0 -1
  294. package/node_modules/ajv/dist/compile/rules.d.ts +0 -28
  295. package/node_modules/ajv/dist/compile/rules.js +0 -26
  296. package/node_modules/ajv/dist/compile/rules.js.map +0 -1
  297. package/node_modules/ajv/dist/compile/util.d.ts +0 -40
  298. package/node_modules/ajv/dist/compile/util.js +0 -178
  299. package/node_modules/ajv/dist/compile/util.js.map +0 -1
  300. package/node_modules/ajv/dist/compile/validate/applicability.d.ts +0 -6
  301. package/node_modules/ajv/dist/compile/validate/applicability.js +0 -19
  302. package/node_modules/ajv/dist/compile/validate/applicability.js.map +0 -1
  303. package/node_modules/ajv/dist/compile/validate/boolSchema.d.ts +0 -4
  304. package/node_modules/ajv/dist/compile/validate/boolSchema.js +0 -50
  305. package/node_modules/ajv/dist/compile/validate/boolSchema.js.map +0 -1
  306. package/node_modules/ajv/dist/compile/validate/dataType.d.ts +0 -17
  307. package/node_modules/ajv/dist/compile/validate/dataType.js +0 -203
  308. package/node_modules/ajv/dist/compile/validate/dataType.js.map +0 -1
  309. package/node_modules/ajv/dist/compile/validate/defaults.d.ts +0 -2
  310. package/node_modules/ajv/dist/compile/validate/defaults.js +0 -35
  311. package/node_modules/ajv/dist/compile/validate/defaults.js.map +0 -1
  312. package/node_modules/ajv/dist/compile/validate/index.d.ts +0 -42
  313. package/node_modules/ajv/dist/compile/validate/index.js +0 -520
  314. package/node_modules/ajv/dist/compile/validate/index.js.map +0 -1
  315. package/node_modules/ajv/dist/compile/validate/keyword.d.ts +0 -8
  316. package/node_modules/ajv/dist/compile/validate/keyword.js +0 -124
  317. package/node_modules/ajv/dist/compile/validate/keyword.js.map +0 -1
  318. package/node_modules/ajv/dist/compile/validate/subschema.d.ts +0 -47
  319. package/node_modules/ajv/dist/compile/validate/subschema.js +0 -81
  320. package/node_modules/ajv/dist/compile/validate/subschema.js.map +0 -1
  321. package/node_modules/ajv/dist/core.d.ts +0 -173
  322. package/node_modules/ajv/dist/core.js +0 -618
  323. package/node_modules/ajv/dist/core.js.map +0 -1
  324. package/node_modules/ajv/dist/jtd.d.ts +0 -47
  325. package/node_modules/ajv/dist/jtd.js +0 -72
  326. package/node_modules/ajv/dist/jtd.js.map +0 -1
  327. package/node_modules/ajv/dist/refs/data.json +0 -13
  328. package/node_modules/ajv/dist/refs/json-schema-2019-09/index.d.ts +0 -2
  329. package/node_modules/ajv/dist/refs/json-schema-2019-09/index.js +0 -28
  330. package/node_modules/ajv/dist/refs/json-schema-2019-09/index.js.map +0 -1
  331. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/applicator.json +0 -53
  332. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/content.json +0 -17
  333. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/core.json +0 -57
  334. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/format.json +0 -14
  335. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/meta-data.json +0 -37
  336. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/validation.json +0 -90
  337. package/node_modules/ajv/dist/refs/json-schema-2019-09/schema.json +0 -39
  338. package/node_modules/ajv/dist/refs/json-schema-2020-12/index.d.ts +0 -2
  339. package/node_modules/ajv/dist/refs/json-schema-2020-12/index.js +0 -30
  340. package/node_modules/ajv/dist/refs/json-schema-2020-12/index.js.map +0 -1
  341. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json +0 -48
  342. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json +0 -17
  343. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json +0 -51
  344. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json +0 -14
  345. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json +0 -37
  346. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json +0 -15
  347. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json +0 -90
  348. package/node_modules/ajv/dist/refs/json-schema-2020-12/schema.json +0 -55
  349. package/node_modules/ajv/dist/refs/json-schema-draft-06.json +0 -137
  350. package/node_modules/ajv/dist/refs/json-schema-draft-07.json +0 -151
  351. package/node_modules/ajv/dist/refs/json-schema-secure.json +0 -88
  352. package/node_modules/ajv/dist/refs/jtd-schema.d.ts +0 -3
  353. package/node_modules/ajv/dist/refs/jtd-schema.js +0 -118
  354. package/node_modules/ajv/dist/refs/jtd-schema.js.map +0 -1
  355. package/node_modules/ajv/dist/runtime/equal.d.ts +0 -6
  356. package/node_modules/ajv/dist/runtime/equal.js +0 -7
  357. package/node_modules/ajv/dist/runtime/equal.js.map +0 -1
  358. package/node_modules/ajv/dist/runtime/parseJson.d.ts +0 -18
  359. package/node_modules/ajv/dist/runtime/parseJson.js +0 -185
  360. package/node_modules/ajv/dist/runtime/parseJson.js.map +0 -1
  361. package/node_modules/ajv/dist/runtime/quote.d.ts +0 -5
  362. package/node_modules/ajv/dist/runtime/quote.js +0 -30
  363. package/node_modules/ajv/dist/runtime/quote.js.map +0 -1
  364. package/node_modules/ajv/dist/runtime/re2.d.ts +0 -6
  365. package/node_modules/ajv/dist/runtime/re2.js +0 -6
  366. package/node_modules/ajv/dist/runtime/re2.js.map +0 -1
  367. package/node_modules/ajv/dist/runtime/timestamp.d.ts +0 -5
  368. package/node_modules/ajv/dist/runtime/timestamp.js +0 -42
  369. package/node_modules/ajv/dist/runtime/timestamp.js.map +0 -1
  370. package/node_modules/ajv/dist/runtime/ucs2length.d.ts +0 -5
  371. package/node_modules/ajv/dist/runtime/ucs2length.js +0 -24
  372. package/node_modules/ajv/dist/runtime/ucs2length.js.map +0 -1
  373. package/node_modules/ajv/dist/runtime/uri.d.ts +0 -6
  374. package/node_modules/ajv/dist/runtime/uri.js +0 -6
  375. package/node_modules/ajv/dist/runtime/uri.js.map +0 -1
  376. package/node_modules/ajv/dist/runtime/validation_error.d.ts +0 -7
  377. package/node_modules/ajv/dist/runtime/validation_error.js +0 -11
  378. package/node_modules/ajv/dist/runtime/validation_error.js.map +0 -1
  379. package/node_modules/ajv/dist/standalone/index.d.ts +0 -6
  380. package/node_modules/ajv/dist/standalone/index.js +0 -90
  381. package/node_modules/ajv/dist/standalone/index.js.map +0 -1
  382. package/node_modules/ajv/dist/standalone/instance.d.ts +0 -12
  383. package/node_modules/ajv/dist/standalone/instance.js +0 -35
  384. package/node_modules/ajv/dist/standalone/instance.js.map +0 -1
  385. package/node_modules/ajv/dist/types/index.d.ts +0 -183
  386. package/node_modules/ajv/dist/types/index.js +0 -3
  387. package/node_modules/ajv/dist/types/index.js.map +0 -1
  388. package/node_modules/ajv/dist/types/json-schema.d.ts +0 -125
  389. package/node_modules/ajv/dist/types/json-schema.js +0 -3
  390. package/node_modules/ajv/dist/types/json-schema.js.map +0 -1
  391. package/node_modules/ajv/dist/types/jtd-schema.d.ts +0 -174
  392. package/node_modules/ajv/dist/types/jtd-schema.js +0 -3
  393. package/node_modules/ajv/dist/types/jtd-schema.js.map +0 -1
  394. package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.d.ts +0 -8
  395. package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +0 -49
  396. package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +0 -1
  397. package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.d.ts +0 -6
  398. package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +0 -106
  399. package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +0 -1
  400. package/node_modules/ajv/dist/vocabularies/applicator/allOf.d.ts +0 -3
  401. package/node_modules/ajv/dist/vocabularies/applicator/allOf.js +0 -23
  402. package/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +0 -1
  403. package/node_modules/ajv/dist/vocabularies/applicator/anyOf.d.ts +0 -4
  404. package/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +0 -12
  405. package/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +0 -1
  406. package/node_modules/ajv/dist/vocabularies/applicator/contains.d.ts +0 -7
  407. package/node_modules/ajv/dist/vocabularies/applicator/contains.js +0 -95
  408. package/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +0 -1
  409. package/node_modules/ajv/dist/vocabularies/applicator/dependencies.d.ts +0 -21
  410. package/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +0 -85
  411. package/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +0 -1
  412. package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.d.ts +0 -3
  413. package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js +0 -11
  414. package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js.map +0 -1
  415. package/node_modules/ajv/dist/vocabularies/applicator/if.d.ts +0 -6
  416. package/node_modules/ajv/dist/vocabularies/applicator/if.js +0 -66
  417. package/node_modules/ajv/dist/vocabularies/applicator/if.js.map +0 -1
  418. package/node_modules/ajv/dist/vocabularies/applicator/index.d.ts +0 -13
  419. package/node_modules/ajv/dist/vocabularies/applicator/index.js +0 -44
  420. package/node_modules/ajv/dist/vocabularies/applicator/index.js.map +0 -1
  421. package/node_modules/ajv/dist/vocabularies/applicator/items.d.ts +0 -5
  422. package/node_modules/ajv/dist/vocabularies/applicator/items.js +0 -52
  423. package/node_modules/ajv/dist/vocabularies/applicator/items.js.map +0 -1
  424. package/node_modules/ajv/dist/vocabularies/applicator/items2020.d.ts +0 -6
  425. package/node_modules/ajv/dist/vocabularies/applicator/items2020.js +0 -30
  426. package/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +0 -1
  427. package/node_modules/ajv/dist/vocabularies/applicator/not.d.ts +0 -4
  428. package/node_modules/ajv/dist/vocabularies/applicator/not.js +0 -26
  429. package/node_modules/ajv/dist/vocabularies/applicator/not.js.map +0 -1
  430. package/node_modules/ajv/dist/vocabularies/applicator/oneOf.d.ts +0 -6
  431. package/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +0 -60
  432. package/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +0 -1
  433. package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.d.ts +0 -3
  434. package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +0 -75
  435. package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +0 -1
  436. package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.d.ts +0 -3
  437. package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +0 -12
  438. package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +0 -1
  439. package/node_modules/ajv/dist/vocabularies/applicator/properties.d.ts +0 -3
  440. package/node_modules/ajv/dist/vocabularies/applicator/properties.js +0 -54
  441. package/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +0 -1
  442. package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.d.ts +0 -6
  443. package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +0 -38
  444. package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +0 -1
  445. package/node_modules/ajv/dist/vocabularies/applicator/thenElse.d.ts +0 -3
  446. package/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +0 -13
  447. package/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +0 -1
  448. package/node_modules/ajv/dist/vocabularies/code.d.ts +0 -17
  449. package/node_modules/ajv/dist/vocabularies/code.js +0 -131
  450. package/node_modules/ajv/dist/vocabularies/code.js.map +0 -1
  451. package/node_modules/ajv/dist/vocabularies/core/id.d.ts +0 -3
  452. package/node_modules/ajv/dist/vocabularies/core/id.js +0 -10
  453. package/node_modules/ajv/dist/vocabularies/core/id.js.map +0 -1
  454. package/node_modules/ajv/dist/vocabularies/core/index.d.ts +0 -3
  455. package/node_modules/ajv/dist/vocabularies/core/index.js +0 -16
  456. package/node_modules/ajv/dist/vocabularies/core/index.js.map +0 -1
  457. package/node_modules/ajv/dist/vocabularies/core/ref.d.ts +0 -8
  458. package/node_modules/ajv/dist/vocabularies/core/ref.js +0 -122
  459. package/node_modules/ajv/dist/vocabularies/core/ref.js.map +0 -1
  460. package/node_modules/ajv/dist/vocabularies/discriminator/index.d.ts +0 -5
  461. package/node_modules/ajv/dist/vocabularies/discriminator/index.js +0 -104
  462. package/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +0 -1
  463. package/node_modules/ajv/dist/vocabularies/discriminator/types.d.ts +0 -10
  464. package/node_modules/ajv/dist/vocabularies/discriminator/types.js +0 -9
  465. package/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +0 -1
  466. package/node_modules/ajv/dist/vocabularies/draft2020.d.ts +0 -3
  467. package/node_modules/ajv/dist/vocabularies/draft2020.js +0 -23
  468. package/node_modules/ajv/dist/vocabularies/draft2020.js.map +0 -1
  469. package/node_modules/ajv/dist/vocabularies/draft7.d.ts +0 -3
  470. package/node_modules/ajv/dist/vocabularies/draft7.js +0 -17
  471. package/node_modules/ajv/dist/vocabularies/draft7.js.map +0 -1
  472. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.d.ts +0 -5
  473. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +0 -30
  474. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js.map +0 -1
  475. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.d.ts +0 -5
  476. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js +0 -51
  477. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js.map +0 -1
  478. package/node_modules/ajv/dist/vocabularies/dynamic/index.d.ts +0 -3
  479. package/node_modules/ajv/dist/vocabularies/dynamic/index.js +0 -9
  480. package/node_modules/ajv/dist/vocabularies/dynamic/index.js.map +0 -1
  481. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.d.ts +0 -3
  482. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +0 -16
  483. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js.map +0 -1
  484. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.d.ts +0 -3
  485. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js +0 -10
  486. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js.map +0 -1
  487. package/node_modules/ajv/dist/vocabularies/errors.d.ts +0 -9
  488. package/node_modules/ajv/dist/vocabularies/errors.js +0 -3
  489. package/node_modules/ajv/dist/vocabularies/errors.js.map +0 -1
  490. package/node_modules/ajv/dist/vocabularies/format/format.d.ts +0 -8
  491. package/node_modules/ajv/dist/vocabularies/format/format.js +0 -92
  492. package/node_modules/ajv/dist/vocabularies/format/format.js.map +0 -1
  493. package/node_modules/ajv/dist/vocabularies/format/index.d.ts +0 -3
  494. package/node_modules/ajv/dist/vocabularies/format/index.js +0 -6
  495. package/node_modules/ajv/dist/vocabularies/format/index.js.map +0 -1
  496. package/node_modules/ajv/dist/vocabularies/jtd/discriminator.d.ts +0 -6
  497. package/node_modules/ajv/dist/vocabularies/jtd/discriminator.js +0 -71
  498. package/node_modules/ajv/dist/vocabularies/jtd/discriminator.js.map +0 -1
  499. package/node_modules/ajv/dist/vocabularies/jtd/elements.d.ts +0 -5
  500. package/node_modules/ajv/dist/vocabularies/jtd/elements.js +0 -24
  501. package/node_modules/ajv/dist/vocabularies/jtd/elements.js.map +0 -1
  502. package/node_modules/ajv/dist/vocabularies/jtd/enum.d.ts +0 -6
  503. package/node_modules/ajv/dist/vocabularies/jtd/enum.js +0 -43
  504. package/node_modules/ajv/dist/vocabularies/jtd/enum.js.map +0 -1
  505. package/node_modules/ajv/dist/vocabularies/jtd/error.d.ts +0 -9
  506. package/node_modules/ajv/dist/vocabularies/jtd/error.js +0 -20
  507. package/node_modules/ajv/dist/vocabularies/jtd/error.js.map +0 -1
  508. package/node_modules/ajv/dist/vocabularies/jtd/index.d.ts +0 -10
  509. package/node_modules/ajv/dist/vocabularies/jtd/index.js +0 -29
  510. package/node_modules/ajv/dist/vocabularies/jtd/index.js.map +0 -1
  511. package/node_modules/ajv/dist/vocabularies/jtd/metadata.d.ts +0 -5
  512. package/node_modules/ajv/dist/vocabularies/jtd/metadata.js +0 -25
  513. package/node_modules/ajv/dist/vocabularies/jtd/metadata.js.map +0 -1
  514. package/node_modules/ajv/dist/vocabularies/jtd/nullable.d.ts +0 -4
  515. package/node_modules/ajv/dist/vocabularies/jtd/nullable.js +0 -22
  516. package/node_modules/ajv/dist/vocabularies/jtd/nullable.js.map +0 -1
  517. package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.d.ts +0 -3
  518. package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js +0 -15
  519. package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js.map +0 -1
  520. package/node_modules/ajv/dist/vocabularies/jtd/properties.d.ts +0 -22
  521. package/node_modules/ajv/dist/vocabularies/jtd/properties.js +0 -149
  522. package/node_modules/ajv/dist/vocabularies/jtd/properties.js.map +0 -1
  523. package/node_modules/ajv/dist/vocabularies/jtd/ref.d.ts +0 -4
  524. package/node_modules/ajv/dist/vocabularies/jtd/ref.js +0 -67
  525. package/node_modules/ajv/dist/vocabularies/jtd/ref.js.map +0 -1
  526. package/node_modules/ajv/dist/vocabularies/jtd/type.d.ts +0 -10
  527. package/node_modules/ajv/dist/vocabularies/jtd/type.js +0 -69
  528. package/node_modules/ajv/dist/vocabularies/jtd/type.js.map +0 -1
  529. package/node_modules/ajv/dist/vocabularies/jtd/union.d.ts +0 -3
  530. package/node_modules/ajv/dist/vocabularies/jtd/union.js +0 -12
  531. package/node_modules/ajv/dist/vocabularies/jtd/union.js.map +0 -1
  532. package/node_modules/ajv/dist/vocabularies/jtd/values.d.ts +0 -5
  533. package/node_modules/ajv/dist/vocabularies/jtd/values.js +0 -51
  534. package/node_modules/ajv/dist/vocabularies/jtd/values.js.map +0 -1
  535. package/node_modules/ajv/dist/vocabularies/metadata.d.ts +0 -3
  536. package/node_modules/ajv/dist/vocabularies/metadata.js +0 -18
  537. package/node_modules/ajv/dist/vocabularies/metadata.js.map +0 -1
  538. package/node_modules/ajv/dist/vocabularies/next.d.ts +0 -3
  539. package/node_modules/ajv/dist/vocabularies/next.js +0 -8
  540. package/node_modules/ajv/dist/vocabularies/next.js.map +0 -1
  541. package/node_modules/ajv/dist/vocabularies/unevaluated/index.d.ts +0 -3
  542. package/node_modules/ajv/dist/vocabularies/unevaluated/index.js +0 -7
  543. package/node_modules/ajv/dist/vocabularies/unevaluated/index.js.map +0 -1
  544. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.d.ts +0 -6
  545. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +0 -40
  546. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js.map +0 -1
  547. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts +0 -6
  548. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +0 -65
  549. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js.map +0 -1
  550. package/node_modules/ajv/dist/vocabularies/validation/const.d.ts +0 -6
  551. package/node_modules/ajv/dist/vocabularies/validation/const.js +0 -25
  552. package/node_modules/ajv/dist/vocabularies/validation/const.js.map +0 -1
  553. package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.d.ts +0 -5
  554. package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js +0 -12
  555. package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js.map +0 -1
  556. package/node_modules/ajv/dist/vocabularies/validation/enum.d.ts +0 -8
  557. package/node_modules/ajv/dist/vocabularies/validation/enum.js +0 -48
  558. package/node_modules/ajv/dist/vocabularies/validation/enum.js.map +0 -1
  559. package/node_modules/ajv/dist/vocabularies/validation/index.d.ts +0 -16
  560. package/node_modules/ajv/dist/vocabularies/validation/index.js +0 -33
  561. package/node_modules/ajv/dist/vocabularies/validation/index.js.map +0 -1
  562. package/node_modules/ajv/dist/vocabularies/validation/limitContains.d.ts +0 -3
  563. package/node_modules/ajv/dist/vocabularies/validation/limitContains.js +0 -15
  564. package/node_modules/ajv/dist/vocabularies/validation/limitContains.js.map +0 -1
  565. package/node_modules/ajv/dist/vocabularies/validation/limitItems.d.ts +0 -3
  566. package/node_modules/ajv/dist/vocabularies/validation/limitItems.js +0 -24
  567. package/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +0 -1
  568. package/node_modules/ajv/dist/vocabularies/validation/limitLength.d.ts +0 -3
  569. package/node_modules/ajv/dist/vocabularies/validation/limitLength.js +0 -27
  570. package/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +0 -1
  571. package/node_modules/ajv/dist/vocabularies/validation/limitNumber.d.ts +0 -11
  572. package/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +0 -27
  573. package/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +0 -1
  574. package/node_modules/ajv/dist/vocabularies/validation/limitProperties.d.ts +0 -3
  575. package/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +0 -24
  576. package/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +0 -1
  577. package/node_modules/ajv/dist/vocabularies/validation/multipleOf.d.ts +0 -8
  578. package/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +0 -26
  579. package/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +0 -1
  580. package/node_modules/ajv/dist/vocabularies/validation/pattern.d.ts +0 -8
  581. package/node_modules/ajv/dist/vocabularies/validation/pattern.js +0 -24
  582. package/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +0 -1
  583. package/node_modules/ajv/dist/vocabularies/validation/required.d.ts +0 -8
  584. package/node_modules/ajv/dist/vocabularies/validation/required.js +0 -79
  585. package/node_modules/ajv/dist/vocabularies/validation/required.js.map +0 -1
  586. package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.d.ts +0 -9
  587. package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +0 -64
  588. package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +0 -1
  589. package/node_modules/ajv/lib/2019.ts +0 -81
  590. package/node_modules/ajv/lib/2020.ts +0 -75
  591. package/node_modules/ajv/lib/ajv.ts +0 -70
  592. package/node_modules/ajv/lib/compile/codegen/code.ts +0 -169
  593. package/node_modules/ajv/lib/compile/codegen/index.ts +0 -852
  594. package/node_modules/ajv/lib/compile/codegen/scope.ts +0 -215
  595. package/node_modules/ajv/lib/compile/errors.ts +0 -184
  596. package/node_modules/ajv/lib/compile/index.ts +0 -324
  597. package/node_modules/ajv/lib/compile/jtd/parse.ts +0 -411
  598. package/node_modules/ajv/lib/compile/jtd/serialize.ts +0 -266
  599. package/node_modules/ajv/lib/compile/jtd/types.ts +0 -16
  600. package/node_modules/ajv/lib/compile/names.ts +0 -27
  601. package/node_modules/ajv/lib/compile/ref_error.ts +0 -13
  602. package/node_modules/ajv/lib/compile/resolve.ts +0 -149
  603. package/node_modules/ajv/lib/compile/rules.ts +0 -50
  604. package/node_modules/ajv/lib/compile/util.ts +0 -213
  605. package/node_modules/ajv/lib/compile/validate/applicability.ts +0 -22
  606. package/node_modules/ajv/lib/compile/validate/boolSchema.ts +0 -47
  607. package/node_modules/ajv/lib/compile/validate/dataType.ts +0 -230
  608. package/node_modules/ajv/lib/compile/validate/defaults.ts +0 -32
  609. package/node_modules/ajv/lib/compile/validate/index.ts +0 -582
  610. package/node_modules/ajv/lib/compile/validate/keyword.ts +0 -171
  611. package/node_modules/ajv/lib/compile/validate/subschema.ts +0 -135
  612. package/node_modules/ajv/lib/core.ts +0 -891
  613. package/node_modules/ajv/lib/jtd.ts +0 -132
  614. package/node_modules/ajv/lib/refs/data.json +0 -13
  615. package/node_modules/ajv/lib/refs/json-schema-2019-09/index.ts +0 -28
  616. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/applicator.json +0 -53
  617. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/content.json +0 -17
  618. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/core.json +0 -57
  619. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/format.json +0 -14
  620. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/meta-data.json +0 -37
  621. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/validation.json +0 -90
  622. package/node_modules/ajv/lib/refs/json-schema-2019-09/schema.json +0 -39
  623. package/node_modules/ajv/lib/refs/json-schema-2020-12/index.ts +0 -30
  624. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/applicator.json +0 -48
  625. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/content.json +0 -17
  626. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/core.json +0 -51
  627. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/format-annotation.json +0 -14
  628. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/meta-data.json +0 -37
  629. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/unevaluated.json +0 -15
  630. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/validation.json +0 -90
  631. package/node_modules/ajv/lib/refs/json-schema-2020-12/schema.json +0 -55
  632. package/node_modules/ajv/lib/refs/json-schema-draft-06.json +0 -137
  633. package/node_modules/ajv/lib/refs/json-schema-draft-07.json +0 -151
  634. package/node_modules/ajv/lib/refs/json-schema-secure.json +0 -88
  635. package/node_modules/ajv/lib/refs/jtd-schema.ts +0 -130
  636. package/node_modules/ajv/lib/runtime/equal.ts +0 -7
  637. package/node_modules/ajv/lib/runtime/parseJson.ts +0 -177
  638. package/node_modules/ajv/lib/runtime/quote.ts +0 -31
  639. package/node_modules/ajv/lib/runtime/re2.ts +0 -6
  640. package/node_modules/ajv/lib/runtime/timestamp.ts +0 -46
  641. package/node_modules/ajv/lib/runtime/ucs2length.ts +0 -20
  642. package/node_modules/ajv/lib/runtime/uri.ts +0 -6
  643. package/node_modules/ajv/lib/runtime/validation_error.ts +0 -13
  644. package/node_modules/ajv/lib/standalone/index.ts +0 -100
  645. package/node_modules/ajv/lib/standalone/instance.ts +0 -36
  646. package/node_modules/ajv/lib/types/index.ts +0 -244
  647. package/node_modules/ajv/lib/types/json-schema.ts +0 -187
  648. package/node_modules/ajv/lib/types/jtd-schema.ts +0 -273
  649. package/node_modules/ajv/lib/vocabularies/applicator/additionalItems.ts +0 -56
  650. package/node_modules/ajv/lib/vocabularies/applicator/additionalProperties.ts +0 -118
  651. package/node_modules/ajv/lib/vocabularies/applicator/allOf.ts +0 -22
  652. package/node_modules/ajv/lib/vocabularies/applicator/anyOf.ts +0 -14
  653. package/node_modules/ajv/lib/vocabularies/applicator/contains.ts +0 -109
  654. package/node_modules/ajv/lib/vocabularies/applicator/dependencies.ts +0 -112
  655. package/node_modules/ajv/lib/vocabularies/applicator/dependentSchemas.ts +0 -11
  656. package/node_modules/ajv/lib/vocabularies/applicator/if.ts +0 -80
  657. package/node_modules/ajv/lib/vocabularies/applicator/index.ts +0 -53
  658. package/node_modules/ajv/lib/vocabularies/applicator/items.ts +0 -59
  659. package/node_modules/ajv/lib/vocabularies/applicator/items2020.ts +0 -36
  660. package/node_modules/ajv/lib/vocabularies/applicator/not.ts +0 -38
  661. package/node_modules/ajv/lib/vocabularies/applicator/oneOf.ts +0 -82
  662. package/node_modules/ajv/lib/vocabularies/applicator/patternProperties.ts +0 -91
  663. package/node_modules/ajv/lib/vocabularies/applicator/prefixItems.ts +0 -12
  664. package/node_modules/ajv/lib/vocabularies/applicator/properties.ts +0 -57
  665. package/node_modules/ajv/lib/vocabularies/applicator/propertyNames.ts +0 -50
  666. package/node_modules/ajv/lib/vocabularies/applicator/thenElse.ts +0 -13
  667. package/node_modules/ajv/lib/vocabularies/code.ts +0 -168
  668. package/node_modules/ajv/lib/vocabularies/core/id.ts +0 -10
  669. package/node_modules/ajv/lib/vocabularies/core/index.ts +0 -16
  670. package/node_modules/ajv/lib/vocabularies/core/ref.ts +0 -129
  671. package/node_modules/ajv/lib/vocabularies/discriminator/index.ts +0 -113
  672. package/node_modules/ajv/lib/vocabularies/discriminator/types.ts +0 -12
  673. package/node_modules/ajv/lib/vocabularies/draft2020.ts +0 -23
  674. package/node_modules/ajv/lib/vocabularies/draft7.ts +0 -17
  675. package/node_modules/ajv/lib/vocabularies/dynamic/dynamicAnchor.ts +0 -31
  676. package/node_modules/ajv/lib/vocabularies/dynamic/dynamicRef.ts +0 -51
  677. package/node_modules/ajv/lib/vocabularies/dynamic/index.ts +0 -9
  678. package/node_modules/ajv/lib/vocabularies/dynamic/recursiveAnchor.ts +0 -14
  679. package/node_modules/ajv/lib/vocabularies/dynamic/recursiveRef.ts +0 -10
  680. package/node_modules/ajv/lib/vocabularies/errors.ts +0 -18
  681. package/node_modules/ajv/lib/vocabularies/format/format.ts +0 -120
  682. package/node_modules/ajv/lib/vocabularies/format/index.ts +0 -6
  683. package/node_modules/ajv/lib/vocabularies/jtd/discriminator.ts +0 -89
  684. package/node_modules/ajv/lib/vocabularies/jtd/elements.ts +0 -32
  685. package/node_modules/ajv/lib/vocabularies/jtd/enum.ts +0 -45
  686. package/node_modules/ajv/lib/vocabularies/jtd/error.ts +0 -23
  687. package/node_modules/ajv/lib/vocabularies/jtd/index.ts +0 -37
  688. package/node_modules/ajv/lib/vocabularies/jtd/metadata.ts +0 -24
  689. package/node_modules/ajv/lib/vocabularies/jtd/nullable.ts +0 -21
  690. package/node_modules/ajv/lib/vocabularies/jtd/optionalProperties.ts +0 -15
  691. package/node_modules/ajv/lib/vocabularies/jtd/properties.ts +0 -184
  692. package/node_modules/ajv/lib/vocabularies/jtd/ref.ts +0 -76
  693. package/node_modules/ajv/lib/vocabularies/jtd/type.ts +0 -75
  694. package/node_modules/ajv/lib/vocabularies/jtd/union.ts +0 -12
  695. package/node_modules/ajv/lib/vocabularies/jtd/values.ts +0 -58
  696. package/node_modules/ajv/lib/vocabularies/metadata.ts +0 -17
  697. package/node_modules/ajv/lib/vocabularies/next.ts +0 -8
  698. package/node_modules/ajv/lib/vocabularies/unevaluated/index.ts +0 -7
  699. package/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedItems.ts +0 -47
  700. package/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedProperties.ts +0 -85
  701. package/node_modules/ajv/lib/vocabularies/validation/const.ts +0 -28
  702. package/node_modules/ajv/lib/vocabularies/validation/dependentRequired.ts +0 -23
  703. package/node_modules/ajv/lib/vocabularies/validation/enum.ts +0 -54
  704. package/node_modules/ajv/lib/vocabularies/validation/index.ts +0 -49
  705. package/node_modules/ajv/lib/vocabularies/validation/limitContains.ts +0 -16
  706. package/node_modules/ajv/lib/vocabularies/validation/limitItems.ts +0 -26
  707. package/node_modules/ajv/lib/vocabularies/validation/limitLength.ts +0 -30
  708. package/node_modules/ajv/lib/vocabularies/validation/limitNumber.ts +0 -42
  709. package/node_modules/ajv/lib/vocabularies/validation/limitProperties.ts +0 -26
  710. package/node_modules/ajv/lib/vocabularies/validation/multipleOf.ts +0 -34
  711. package/node_modules/ajv/lib/vocabularies/validation/pattern.ts +0 -28
  712. package/node_modules/ajv/lib/vocabularies/validation/required.ts +0 -98
  713. package/node_modules/ajv/lib/vocabularies/validation/uniqueItems.ts +0 -79
  714. package/node_modules/ajv/package.json +0 -126
  715. package/node_modules/ansi-regex/index.d.ts +0 -37
  716. package/node_modules/ansi-regex/index.js +0 -10
  717. package/node_modules/ansi-regex/license +0 -9
  718. package/node_modules/ansi-regex/package.json +0 -55
  719. package/node_modules/ansi-regex/readme.md +0 -78
  720. package/node_modules/ansi-styles/index.d.ts +0 -345
  721. package/node_modules/ansi-styles/index.js +0 -163
  722. package/node_modules/ansi-styles/license +0 -9
  723. package/node_modules/ansi-styles/package.json +0 -56
  724. package/node_modules/ansi-styles/readme.md +0 -152
  725. package/node_modules/astral-regex/index.d.ts +0 -28
  726. package/node_modules/astral-regex/index.js +0 -6
  727. package/node_modules/astral-regex/license +0 -9
  728. package/node_modules/astral-regex/package.json +0 -33
  729. package/node_modules/astral-regex/readme.md +0 -46
  730. package/node_modules/at-least-node/LICENSE +0 -6
  731. package/node_modules/at-least-node/README.md +0 -25
  732. package/node_modules/at-least-node/index.js +0 -5
  733. package/node_modules/at-least-node/package.json +0 -32
  734. package/node_modules/chalk/index.d.ts +0 -415
  735. package/node_modules/chalk/license +0 -9
  736. package/node_modules/chalk/package.json +0 -68
  737. package/node_modules/chalk/readme.md +0 -341
  738. package/node_modules/chalk/source/index.js +0 -229
  739. package/node_modules/chalk/source/templates.js +0 -134
  740. package/node_modules/chalk/source/util.js +0 -39
  741. package/node_modules/color-convert/CHANGELOG.md +0 -54
  742. package/node_modules/color-convert/LICENSE +0 -21
  743. package/node_modules/color-convert/README.md +0 -68
  744. package/node_modules/color-convert/conversions.js +0 -839
  745. package/node_modules/color-convert/index.js +0 -81
  746. package/node_modules/color-convert/package.json +0 -48
  747. package/node_modules/color-convert/route.js +0 -97
  748. package/node_modules/color-name/LICENSE +0 -8
  749. package/node_modules/color-name/README.md +0 -11
  750. package/node_modules/color-name/index.js +0 -152
  751. package/node_modules/color-name/package.json +0 -28
  752. package/node_modules/diff/CONTRIBUTING.md +0 -36
  753. package/node_modules/diff/LICENSE +0 -29
  754. package/node_modules/diff/README.md +0 -339
  755. package/node_modules/diff/dist/diff.js +0 -1730
  756. package/node_modules/diff/dist/diff.min.js +0 -1
  757. package/node_modules/diff/lib/convert/dmp.js +0 -32
  758. package/node_modules/diff/lib/convert/xml.js +0 -42
  759. package/node_modules/diff/lib/diff/array.js +0 -45
  760. package/node_modules/diff/lib/diff/base.js +0 -358
  761. package/node_modules/diff/lib/diff/character.js +0 -37
  762. package/node_modules/diff/lib/diff/css.js +0 -41
  763. package/node_modules/diff/lib/diff/json.js +0 -163
  764. package/node_modules/diff/lib/diff/line.js +0 -94
  765. package/node_modules/diff/lib/diff/sentence.js +0 -41
  766. package/node_modules/diff/lib/diff/word.js +0 -108
  767. package/node_modules/diff/lib/index.es6.js +0 -1699
  768. package/node_modules/diff/lib/index.js +0 -234
  769. package/node_modules/diff/lib/index.mjs +0 -1699
  770. package/node_modules/diff/lib/patch/apply.js +0 -238
  771. package/node_modules/diff/lib/patch/create.js +0 -276
  772. package/node_modules/diff/lib/patch/merge.js +0 -613
  773. package/node_modules/diff/lib/patch/parse.js +0 -167
  774. package/node_modules/diff/lib/patch/reverse.js +0 -63
  775. package/node_modules/diff/lib/util/array.js +0 -32
  776. package/node_modules/diff/lib/util/distance-iterator.js +0 -57
  777. package/node_modules/diff/lib/util/params.js +0 -24
  778. package/node_modules/diff/package.json +0 -89
  779. package/node_modules/diff/release-notes.md +0 -317
  780. package/node_modules/diff/runtime.js +0 -3
  781. package/node_modules/emoji-regex/LICENSE-MIT.txt +0 -20
  782. package/node_modules/emoji-regex/README.md +0 -73
  783. package/node_modules/emoji-regex/es2015/index.js +0 -6
  784. package/node_modules/emoji-regex/es2015/text.js +0 -6
  785. package/node_modules/emoji-regex/index.d.ts +0 -23
  786. package/node_modules/emoji-regex/index.js +0 -6
  787. package/node_modules/emoji-regex/package.json +0 -50
  788. package/node_modules/emoji-regex/text.js +0 -6
  789. package/node_modules/fast-deep-equal/LICENSE +0 -21
  790. package/node_modules/fast-deep-equal/README.md +0 -96
  791. package/node_modules/fast-deep-equal/es6/index.d.ts +0 -2
  792. package/node_modules/fast-deep-equal/es6/index.js +0 -72
  793. package/node_modules/fast-deep-equal/es6/react.d.ts +0 -2
  794. package/node_modules/fast-deep-equal/es6/react.js +0 -79
  795. package/node_modules/fast-deep-equal/index.d.ts +0 -4
  796. package/node_modules/fast-deep-equal/index.js +0 -46
  797. package/node_modules/fast-deep-equal/package.json +0 -61
  798. package/node_modules/fast-deep-equal/react.d.ts +0 -2
  799. package/node_modules/fast-deep-equal/react.js +0 -53
  800. package/node_modules/fast-uri/.gitattributes +0 -2
  801. package/node_modules/fast-uri/.github/.stale.yml +0 -21
  802. package/node_modules/fast-uri/.github/dependabot.yml +0 -13
  803. package/node_modules/fast-uri/.github/tests_checker.yml +0 -8
  804. package/node_modules/fast-uri/.github/workflows/ci.yml +0 -23
  805. package/node_modules/fast-uri/.github/workflows/package-manager-ci.yml +0 -20
  806. package/node_modules/fast-uri/LICENSE +0 -30
  807. package/node_modules/fast-uri/README.md +0 -125
  808. package/node_modules/fast-uri/benchmark.js +0 -105
  809. package/node_modules/fast-uri/index.js +0 -303
  810. package/node_modules/fast-uri/lib/schemes.js +0 -188
  811. package/node_modules/fast-uri/lib/scopedChars.js +0 -30
  812. package/node_modules/fast-uri/lib/utils.js +0 -242
  813. package/node_modules/fast-uri/package.json +0 -39
  814. package/node_modules/fast-uri/test/.gitkeep +0 -0
  815. package/node_modules/fast-uri/test/ajv.test.js +0 -39
  816. package/node_modules/fast-uri/test/compatibility.test.js +0 -131
  817. package/node_modules/fast-uri/test/equal.test.js +0 -103
  818. package/node_modules/fast-uri/test/parse.test.js +0 -318
  819. package/node_modules/fast-uri/test/resolve.test.js +0 -75
  820. package/node_modules/fast-uri/test/serialize.test.js +0 -143
  821. package/node_modules/fast-uri/test/uri-js.test.js +0 -912
  822. package/node_modules/fast-uri/test/util.test.js +0 -23
  823. package/node_modules/fast-uri/types/index.d.ts +0 -53
  824. package/node_modules/fast-uri/types/index.test-d.ts +0 -17
  825. package/node_modules/graphql-mapping-template/LICENSE +0 -201
  826. package/node_modules/graphql-transformer-common/LICENSE +0 -201
  827. package/node_modules/has-flag/index.d.ts +0 -39
  828. package/node_modules/has-flag/index.js +0 -8
  829. package/node_modules/has-flag/license +0 -9
  830. package/node_modules/has-flag/package.json +0 -46
  831. package/node_modules/has-flag/readme.md +0 -89
  832. package/node_modules/is-fullwidth-code-point/index.d.ts +0 -17
  833. package/node_modules/is-fullwidth-code-point/index.js +0 -50
  834. package/node_modules/is-fullwidth-code-point/license +0 -9
  835. package/node_modules/is-fullwidth-code-point/package.json +0 -42
  836. package/node_modules/is-fullwidth-code-point/readme.md +0 -39
  837. package/node_modules/json-schema-traverse/.eslintrc.yml +0 -27
  838. package/node_modules/json-schema-traverse/.github/FUNDING.yml +0 -2
  839. package/node_modules/json-schema-traverse/.github/workflows/build.yml +0 -28
  840. package/node_modules/json-schema-traverse/.github/workflows/publish.yml +0 -27
  841. package/node_modules/json-schema-traverse/LICENSE +0 -21
  842. package/node_modules/json-schema-traverse/README.md +0 -95
  843. package/node_modules/json-schema-traverse/index.d.ts +0 -40
  844. package/node_modules/json-schema-traverse/index.js +0 -93
  845. package/node_modules/json-schema-traverse/package.json +0 -43
  846. package/node_modules/json-schema-traverse/spec/.eslintrc.yml +0 -6
  847. package/node_modules/json-schema-traverse/spec/fixtures/schema.js +0 -125
  848. package/node_modules/json-schema-traverse/spec/index.spec.js +0 -171
  849. package/node_modules/lodash.truncate/LICENSE +0 -47
  850. package/node_modules/lodash.truncate/README.md +0 -18
  851. package/node_modules/lodash.truncate/index.js +0 -632
  852. package/node_modules/lodash.truncate/package.json +0 -17
  853. package/node_modules/require-from-string/index.js +0 -34
  854. package/node_modules/require-from-string/license +0 -21
  855. package/node_modules/require-from-string/package.json +0 -28
  856. package/node_modules/require-from-string/readme.md +0 -56
  857. package/node_modules/slice-ansi/index.js +0 -103
  858. package/node_modules/slice-ansi/license +0 -10
  859. package/node_modules/slice-ansi/package.json +0 -52
  860. package/node_modules/slice-ansi/readme.md +0 -66
  861. package/node_modules/string-width/index.d.ts +0 -29
  862. package/node_modules/string-width/index.js +0 -47
  863. package/node_modules/string-width/license +0 -9
  864. package/node_modules/string-width/package.json +0 -56
  865. package/node_modules/string-width/readme.md +0 -50
  866. package/node_modules/strip-ansi/index.d.ts +0 -17
  867. package/node_modules/strip-ansi/index.js +0 -4
  868. package/node_modules/strip-ansi/license +0 -9
  869. package/node_modules/strip-ansi/package.json +0 -54
  870. package/node_modules/strip-ansi/readme.md +0 -46
  871. package/node_modules/supports-color/browser.js +0 -5
  872. package/node_modules/supports-color/index.js +0 -135
  873. package/node_modules/supports-color/license +0 -9
  874. package/node_modules/supports-color/package.json +0 -53
  875. package/node_modules/supports-color/readme.md +0 -76
  876. package/node_modules/table/LICENSE +0 -24
  877. package/node_modules/table/README.md +0 -837
  878. package/node_modules/table/dist/src/alignSpanningCell.d.ts +0 -7
  879. package/node_modules/table/dist/src/alignSpanningCell.js +0 -48
  880. package/node_modules/table/dist/src/alignSpanningCell.js.map +0 -1
  881. package/node_modules/table/dist/src/alignString.d.ts +0 -6
  882. package/node_modules/table/dist/src/alignString.js +0 -60
  883. package/node_modules/table/dist/src/alignString.js.map +0 -1
  884. package/node_modules/table/dist/src/alignTableData.d.ts +0 -2
  885. package/node_modules/table/dist/src/alignTableData.js +0 -20
  886. package/node_modules/table/dist/src/alignTableData.js.map +0 -1
  887. package/node_modules/table/dist/src/calculateCellHeight.d.ts +0 -4
  888. package/node_modules/table/dist/src/calculateCellHeight.js +0 -12
  889. package/node_modules/table/dist/src/calculateCellHeight.js.map +0 -1
  890. package/node_modules/table/dist/src/calculateMaximumColumnWidths.d.ts +0 -7
  891. package/node_modules/table/dist/src/calculateMaximumColumnWidths.js +0 -36
  892. package/node_modules/table/dist/src/calculateMaximumColumnWidths.js.map +0 -1
  893. package/node_modules/table/dist/src/calculateOutputColumnWidths.d.ts +0 -2
  894. package/node_modules/table/dist/src/calculateOutputColumnWidths.js +0 -10
  895. package/node_modules/table/dist/src/calculateOutputColumnWidths.js.map +0 -1
  896. package/node_modules/table/dist/src/calculateRowHeights.d.ts +0 -5
  897. package/node_modules/table/dist/src/calculateRowHeights.js +0 -42
  898. package/node_modules/table/dist/src/calculateRowHeights.js.map +0 -1
  899. package/node_modules/table/dist/src/calculateSpanningCellWidth.d.ts +0 -3
  900. package/node_modules/table/dist/src/calculateSpanningCellWidth.js +0 -26
  901. package/node_modules/table/dist/src/calculateSpanningCellWidth.js.map +0 -1
  902. package/node_modules/table/dist/src/createStream.d.ts +0 -2
  903. package/node_modules/table/dist/src/createStream.js +0 -74
  904. package/node_modules/table/dist/src/createStream.js.map +0 -1
  905. package/node_modules/table/dist/src/drawBorder.d.ts +0 -34
  906. package/node_modules/table/dist/src/drawBorder.js +0 -202
  907. package/node_modules/table/dist/src/drawBorder.js.map +0 -1
  908. package/node_modules/table/dist/src/drawContent.d.ts +0 -14
  909. package/node_modules/table/dist/src/drawContent.js +0 -51
  910. package/node_modules/table/dist/src/drawContent.js.map +0 -1
  911. package/node_modules/table/dist/src/drawRow.d.ts +0 -10
  912. package/node_modules/table/dist/src/drawRow.js +0 -25
  913. package/node_modules/table/dist/src/drawRow.js.map +0 -1
  914. package/node_modules/table/dist/src/drawTable.d.ts +0 -2
  915. package/node_modules/table/dist/src/drawTable.js +0 -31
  916. package/node_modules/table/dist/src/drawTable.js.map +0 -1
  917. package/node_modules/table/dist/src/generated/validators.d.ts +0 -13
  918. package/node_modules/table/dist/src/generated/validators.js +0 -2694
  919. package/node_modules/table/dist/src/generated/validators.js.map +0 -1
  920. package/node_modules/table/dist/src/getBorderCharacters.d.ts +0 -2
  921. package/node_modules/table/dist/src/getBorderCharacters.js +0 -105
  922. package/node_modules/table/dist/src/getBorderCharacters.js.map +0 -1
  923. package/node_modules/table/dist/src/index.d.ts +0 -5
  924. package/node_modules/table/dist/src/index.js +0 -21
  925. package/node_modules/table/dist/src/index.js.map +0 -1
  926. package/node_modules/table/dist/src/injectHeaderConfig.d.ts +0 -3
  927. package/node_modules/table/dist/src/injectHeaderConfig.js +0 -29
  928. package/node_modules/table/dist/src/injectHeaderConfig.js.map +0 -1
  929. package/node_modules/table/dist/src/makeRangeConfig.d.ts +0 -3
  930. package/node_modules/table/dist/src/makeRangeConfig.js +0 -18
  931. package/node_modules/table/dist/src/makeRangeConfig.js.map +0 -1
  932. package/node_modules/table/dist/src/makeStreamConfig.d.ts +0 -7
  933. package/node_modules/table/dist/src/makeStreamConfig.js +0 -43
  934. package/node_modules/table/dist/src/makeStreamConfig.js.map +0 -1
  935. package/node_modules/table/dist/src/makeTableConfig.d.ts +0 -7
  936. package/node_modules/table/dist/src/makeTableConfig.js +0 -62
  937. package/node_modules/table/dist/src/makeTableConfig.js.map +0 -1
  938. package/node_modules/table/dist/src/mapDataUsingRowHeights.d.ts +0 -4
  939. package/node_modules/table/dist/src/mapDataUsingRowHeights.js +0 -52
  940. package/node_modules/table/dist/src/mapDataUsingRowHeights.js.map +0 -1
  941. package/node_modules/table/dist/src/padTableData.d.ts +0 -3
  942. package/node_modules/table/dist/src/padTableData.js +0 -23
  943. package/node_modules/table/dist/src/padTableData.js.map +0 -1
  944. package/node_modules/table/dist/src/schemas/config.json +0 -95
  945. package/node_modules/table/dist/src/schemas/shared.json +0 -139
  946. package/node_modules/table/dist/src/schemas/streamConfig.json +0 -25
  947. package/node_modules/table/dist/src/spanningCellManager.d.ts +0 -23
  948. package/node_modules/table/dist/src/spanningCellManager.js +0 -95
  949. package/node_modules/table/dist/src/spanningCellManager.js.map +0 -1
  950. package/node_modules/table/dist/src/stringifyTableData.d.ts +0 -2
  951. package/node_modules/table/dist/src/stringifyTableData.js +0 -13
  952. package/node_modules/table/dist/src/stringifyTableData.js.map +0 -1
  953. package/node_modules/table/dist/src/table.d.ts +0 -2
  954. package/node_modules/table/dist/src/table.js +0 -32
  955. package/node_modules/table/dist/src/table.js.map +0 -1
  956. package/node_modules/table/dist/src/truncateTableData.d.ts +0 -6
  957. package/node_modules/table/dist/src/truncateTableData.js +0 -24
  958. package/node_modules/table/dist/src/truncateTableData.js.map +0 -1
  959. package/node_modules/table/dist/src/types/api.d.ts +0 -130
  960. package/node_modules/table/dist/src/types/api.js +0 -3
  961. package/node_modules/table/dist/src/types/api.js.map +0 -1
  962. package/node_modules/table/dist/src/types/internal.d.ts +0 -1
  963. package/node_modules/table/dist/src/types/internal.js +0 -3
  964. package/node_modules/table/dist/src/types/internal.js.map +0 -1
  965. package/node_modules/table/dist/src/utils.d.ts +0 -9
  966. package/node_modules/table/dist/src/utils.js +0 -134
  967. package/node_modules/table/dist/src/utils.js.map +0 -1
  968. package/node_modules/table/dist/src/validateConfig.d.ts +0 -2
  969. package/node_modules/table/dist/src/validateConfig.js +0 -27
  970. package/node_modules/table/dist/src/validateConfig.js.map +0 -1
  971. package/node_modules/table/dist/src/validateSpanningCellConfig.d.ts +0 -3
  972. package/node_modules/table/dist/src/validateSpanningCellConfig.js +0 -46
  973. package/node_modules/table/dist/src/validateSpanningCellConfig.js.map +0 -1
  974. package/node_modules/table/dist/src/validateTableData.d.ts +0 -1
  975. package/node_modules/table/dist/src/validateTableData.js +0 -32
  976. package/node_modules/table/dist/src/validateTableData.js.map +0 -1
  977. package/node_modules/table/dist/src/wrapCell.d.ts +0 -8
  978. package/node_modules/table/dist/src/wrapCell.js +0 -33
  979. package/node_modules/table/dist/src/wrapCell.js.map +0 -1
  980. package/node_modules/table/dist/src/wrapString.d.ts +0 -9
  981. package/node_modules/table/dist/src/wrapString.js +0 -27
  982. package/node_modules/table/dist/src/wrapString.js.map +0 -1
  983. package/node_modules/table/dist/src/wrapWord.d.ts +0 -1
  984. package/node_modules/table/dist/src/wrapWord.js +0 -42
  985. package/node_modules/table/dist/src/wrapWord.js.map +0 -1
  986. package/node_modules/table/package.json +0 -77
@@ -1,15 +0,0 @@
1
- #!/bin/bash
2
- set -eu
3
-
4
- # Run this script on the tarball found in the release artifacts of the CloudWatchConsoleServiceDirectory package.
5
-
6
- explorer_tarball="$1"
7
-
8
- target_file=lib/canned-metrics/services.json
9
-
10
- mkdir -p $(dirname $target_file)
11
-
12
- tar xzOf "$explorer_tarball" "package/dist/lib/configuration/generated/services.json" > $target_file.json
13
- node -p "JSON.stringify(require('./${target_file}.json'), undefined, 2)" > $target_file
14
- rm $target_file.json
15
- echo "Wrote $target_file"
@@ -1,113 +0,0 @@
1
- #!/bin/bash
2
-
3
- ###
4
- # Updates the AWS CloudFormation Resource Specification using the files published on the AWS Documentaiton.
5
- # See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-resource-specification.html
6
- ###
7
-
8
- set -euo pipefail
9
- scriptdir=$(cd $(dirname $0) && pwd)
10
-
11
- rm -f CHANGELOG.md.new
12
-
13
- function update-spec() {
14
- local title=$1
15
- local url=$2
16
- local targetdir=$3
17
- local gunzip=$4
18
- local split=$5
19
- local services=${@:6}
20
-
21
- local tmpdir="$(mktemp -d)"
22
- local newspec="${tmpdir}/new_proposed.json"
23
- local newcombined="${tmpdir}/new.json"
24
- local oldcombined="${tmpdir}/old.json"
25
-
26
- # fail if the spec has changes, otherwise we won't be able to determine the diff
27
- if [ -n "$(git status --porcelain ${targetdir})" ]; then
28
- echo "The directory ${targetdir} has changes, revert them before cfn-update"
29
- exit 1
30
- fi
31
-
32
- if [[ "${url}" == "http"* ]]; then
33
- echo >&2 "Downloading from ${url}..."
34
- if ${gunzip}; then
35
- curl -sL "${url}" | gunzip - > ${newspec}
36
- else
37
- curl -sL "${url}" > ${newspec}
38
- fi
39
- else
40
- echo >&2 "Copying file ${url}..."
41
- cp "${url}" "${newspec}"
42
- fi
43
-
44
- # Calculate the old and new combined specs, so we can do a diff on the changes
45
- echo >&2 "Updating source spec..."
46
- mkdir -p ${targetdir}
47
-
48
- node build-tools/patch-set.js --quiet "${targetdir}" "${oldcombined}"
49
- if ${split}; then
50
- node build-tools/split-spec-by-service.js "${newspec}" "${targetdir}" "${services}"
51
- else
52
- cp "${newspec}" "${targetdir}/spec.json"
53
- sort-json "${targetdir}/spec.json"
54
- fi
55
- node build-tools/patch-set.js --quiet "${targetdir}" "${newcombined}"
56
-
57
- echo >&2 "Updating CHANGELOG.md..."
58
- node build-tools/spec-diff.js "${title}" "${oldcombined}" "${newcombined}" >> CHANGELOG.md.new
59
-
60
- echo "" >> CHANGELOG.md.new
61
- }
62
-
63
- # First run a build to get a complete version of the old spec
64
-
65
- update-spec \
66
- "CloudFormation Resource Specification" \
67
- "${1:-https://d1uauaxba7bl26.cloudfront.net/latest/gzip/CloudFormationResourceSpecification.json}" \
68
- spec-source/specification/000_cfn/000_official \
69
- true true
70
-
71
- update-spec \
72
- "CloudFormation Resource Specification (us-west-2)" \
73
- "${2:-https://d201a2mn26r7lk.cloudfront.net/latest/gzip/CloudFormationResourceSpecification.json}" \
74
- spec-source/specification/001_cfn_us-west-2/000_official \
75
- true true AWS_DeviceFarm
76
-
77
- old_version=$(cat cfn.version)
78
- new_version=$(node -p "require('${scriptdir}/../spec-source/specification/000_cfn/000_official/001_Version.json').ResourceSpecificationVersion")
79
- echo >&2 "Recording new version..."
80
- rm -f cfn.version
81
- echo "$new_version" > cfn.version
82
-
83
- # Only report outdated specs if we made changes, otherwise we're stuck reporting changes every time.
84
- if [[ "$new_version" != "$old_version" ]]; then
85
- echo >&2 "Reporting outdated specs..."
86
- node build-tools/report-issues spec-source/specification/000_cfn/000_official/ outdated >> CHANGELOG.md.new
87
- node build-tools/report-issues spec-source/specification/001_cfn_us-west-2/000_official/ outdated >> CHANGELOG.md.new
88
- fi
89
-
90
- update-spec \
91
- "Serverless Application Model (SAM) Resource Specification" \
92
- "https://raw.githubusercontent.com/awslabs/goformation/master/generate/sam-2016-10-31.json" \
93
- spec-source/specification/100_sam/000_official \
94
- false false
95
-
96
- npm run build
97
-
98
- echo >&2 "Creating missing AWS construct libraries for new resource types..."
99
- node ${scriptdir}/create-missing-libraries.js || {
100
- echo "------------------------------------------------------------------------------------"
101
- echo "cfn-spec update script failed when trying to create modules for new services"
102
- echo "Fix the error (you will likely need to add RefKind patches), and then run 'npm run update' again"
103
- exit 1
104
- }
105
-
106
- # append old changelog after new and replace as the last step because otherwise we will not be idempotent
107
- _changelog_contents=$(cat CHANGELOG.md.new)
108
- if [ -n "${_changelog_contents}" ]; then
109
- cat CHANGELOG.md >> CHANGELOG.md.new
110
- cp CHANGELOG.md.new CHANGELOG.md
111
- fi
112
-
113
- exec /bin/bash ${scriptdir}/update-cfnlint.sh
@@ -1,67 +0,0 @@
1
- export interface CfnSpec {
2
- PropertyTypes: Record<string, any>;
3
- ResourceTypes: Record<string, any>;
4
- ResourceSpecificationVersion: string;
5
- }
6
- export interface ValidationError {
7
- readonly value: JsonValue<any>;
8
- readonly message: string;
9
- }
10
- export declare class CfnSpecValidator {
11
- static validate(spec: CfnSpec): ValidationError[];
12
- readonly errors: ValidationError[];
13
- private readonly root;
14
- constructor(spec: CfnSpec);
15
- validateSpec(): void;
16
- /**
17
- * Property types are extremely weird
18
- *
19
- * Nominally, they define "records" that have a `Properties` field with the defined
20
- * properties.
21
- *
22
- * However, they are also commonly used as aliases for other types, meaning they have
23
- * the same type-indicating fields as individual property *fields* would have.
24
- *
25
- * Also also, it seems to be quite common to have them empty--have no fields at all.
26
- * This seems to be taken as an alias for an unstructured `Json` type. It's probably
27
- * just a mistake, but unfortunately a mistake that S3 is participating in, so if we
28
- * fail on that we won't be able to consume updates to S3's schema. Our codegen is
29
- * ready to deal with this and just renders it to an empty struct.
30
- */
31
- private validatePropertyType;
32
- private validateResourceType;
33
- private validateProperties;
34
- /**
35
- * Validate the type
36
- *
37
- * There must be:
38
- * - Either Type or PrimitiveType
39
- * - Only if Type is List or Map, there will be either an ItemType or a PrimitiveItemType
40
- * - Non-primitive Types must correspond to a property type
41
- */
42
- private validateType;
43
- private assertValidPropertyTypeReference;
44
- private assertOptional;
45
- private assert;
46
- private validateMap;
47
- private report;
48
- }
49
- interface JsonValue<A> {
50
- readonly path: string[];
51
- readonly pathValue: any;
52
- readonly hasValue: boolean;
53
- readonly value: A;
54
- readonly valueOrUndefined: A | undefined;
55
- get<K extends keyof A>(k: K): JsonValue<A[K]>;
56
- }
57
- declare class JsonValue<A> implements JsonValue<A> {
58
- readonly value: A;
59
- readonly path: string[];
60
- static of<B>(x: B): JsonValue<B>;
61
- readonly hasValue: boolean;
62
- readonly valueOrUndefined: A | undefined;
63
- readonly pathValue: any;
64
- constructor(value: A, path: string[]);
65
- }
66
- export declare function formatErrorInContext(error: ValidationError): string;
67
- export {};
@@ -1,285 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatErrorInContext = exports.CfnSpecValidator = void 0;
4
- /* eslint-disable no-console */
5
- /**
6
- * CloudFormation spec validator
7
- *
8
- * "Why not JSON Schema?", you might ask, and it's a fair question. The answer is:
9
- * because the error reporting from JSON schema is pretty bad, and I want the validation
10
- * errors reported from this check to be blindingly obvious, as non-spec-experts
11
- * are going to have to consume and understand them.
12
- *
13
- * I tried JSON Schema validation and its errors look like:
14
- *
15
- * ```
16
- * - instance.PropertyTypes["..."].Properties.Xyz does not match allOf schema <#/definitions/Typed> with 7 error[s]:
17
- * - instance.PropertyTypes["..."].Properties.Xyz requires property "PrimitiveType"
18
- * - instance.PropertyTypes["..."].Properties.Xyz requires property "Type"
19
- * - instance.PropertyTypes["..."].Properties.Xyz requires property "Type"
20
- * - instance.PropertyTypes["..."].Properties.Xyz requires property "ItemType"
21
- * - instance.PropertyTypes["..."].Properties.Xyz requires property "Type"
22
- * - instance.PropertyTypes["..."].Properties.Xyz requires property "PrimitiveItemType"
23
- * - instance.PropertyTypes["..."].Properties.Xyz is not exactly one from "Primitive","Complex Type","Collection of Primitives","Collection of Complex Types"
24
- * ```
25
- *
26
- * No bueno. In contrast, this script prints:
27
- *
28
- * ```
29
- * {
30
- * "ResourceTypes": {
31
- * "AWS::SageMaker::Device": {
32
- * "Properties": {
33
- * "Device": {
34
- *
35
- * !!! must have exactly one of 'Type', 'PrimitiveType', found: {"Type":"Device","PrimitiveType":"Json"} !!!
36
- *
37
- * "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-device.html#cfn-sagemaker-device-device",
38
- * "UpdateType": "Mutable",
39
- * "Required": false,
40
- * "PrimitiveType": "Json",
41
- * "Type": "Device"
42
- * }
43
- * }
44
- * }
45
- * }
46
- * }
47
- * ```
48
- */
49
- const fs = require("fs-extra");
50
- class CfnSpecValidator {
51
- constructor(spec) {
52
- this.errors = new Array();
53
- this.root = JsonValue.of(spec);
54
- }
55
- static validate(spec) {
56
- const ret = new CfnSpecValidator(spec);
57
- ret.validateSpec();
58
- return ret.errors;
59
- }
60
- validateSpec() {
61
- this.assert(this.root.get('PropertyTypes'), isObject, (propTypes) => {
62
- this.validateMap(propTypes, (propType) => this.validatePropertyType(propType));
63
- });
64
- this.assert(this.root.get('ResourceTypes'), isObject, (resTypes) => {
65
- this.validateMap(resTypes, (propType) => this.validateResourceType(propType));
66
- });
67
- }
68
- /**
69
- * Property types are extremely weird
70
- *
71
- * Nominally, they define "records" that have a `Properties` field with the defined
72
- * properties.
73
- *
74
- * However, they are also commonly used as aliases for other types, meaning they have
75
- * the same type-indicating fields as individual property *fields* would have.
76
- *
77
- * Also also, it seems to be quite common to have them empty--have no fields at all.
78
- * This seems to be taken as an alias for an unstructured `Json` type. It's probably
79
- * just a mistake, but unfortunately a mistake that S3 is participating in, so if we
80
- * fail on that we won't be able to consume updates to S3's schema. Our codegen is
81
- * ready to deal with this and just renders it to an empty struct.
82
- */
83
- validatePropertyType(propType) {
84
- // If the only set of properties is "Documentation", we take this to be an alias
85
- // for an empty struct and allow it. I feel icky allowing this, but it seems to
86
- // be pragmatic for now.
87
- if (Object.keys(propType.value).join(',') === 'Documentation') {
88
- return;
89
- }
90
- const properties = propType.get('Properties');
91
- if (properties.hasValue) {
92
- this.assert(properties, isObject, (props) => {
93
- this.validateProperties(props);
94
- });
95
- }
96
- else {
97
- this.validateType(propType, 'if a property type doesn\'t have "Properties", it ');
98
- }
99
- }
100
- validateResourceType(resType) {
101
- this.assertOptional(resType.get('Properties'), isObject, (props) => {
102
- this.validateProperties(props);
103
- });
104
- this.assertOptional(resType.get('Attributes'), isObject, (attrs) => {
105
- this.validateMap(attrs, attr => {
106
- this.validateType(attr);
107
- });
108
- });
109
- }
110
- validateProperties(properties) {
111
- this.validateMap(properties, prop => {
112
- this.validateType(prop);
113
- this.assertOptional(prop.get('UpdateType'), (x) => {
114
- if (!['Mutable', 'Immutable', 'Conditional'].includes(x)) {
115
- throw new Error(`invalid value for enum: '${x}'`);
116
- }
117
- });
118
- });
119
- }
120
- /**
121
- * Validate the type
122
- *
123
- * There must be:
124
- * - Either Type or PrimitiveType
125
- * - Only if Type is List or Map, there will be either an ItemType or a PrimitiveItemType
126
- * - Non-primitive Types must correspond to a property type
127
- */
128
- validateType(typedObject, errorPrefix = '') {
129
- const type = typedObject.get('Type');
130
- const primitiveType = typedObject.get('PrimitiveType');
131
- if (type.hasValue === primitiveType.hasValue) {
132
- this.report(typedObject, `${errorPrefix}must have exactly one of 'Type', 'PrimitiveType', found: ${JSON.stringify({
133
- Type: type.valueOrUndefined,
134
- PrimitiveType: primitiveType.valueOrUndefined,
135
- })}`);
136
- }
137
- this.assertOptional(primitiveType, isValidPrimitive);
138
- let isCollectionType = false;
139
- const itemType = typedObject.get('ItemType');
140
- const primitiveItemType = typedObject.get('PrimitiveItemType');
141
- if (type.hasValue) {
142
- isCollectionType = COLLECTION_TYPES.includes(type.value);
143
- if (isCollectionType) {
144
- if (itemType.hasValue === primitiveItemType.hasValue) {
145
- this.report(typedObject, `must have exactly one of 'ItemType', 'PrimitiveItemType', found: ${JSON.stringify({
146
- ItemType: itemType.valueOrUndefined,
147
- PrimitiveItemType: primitiveItemType.valueOrUndefined,
148
- })}`);
149
- }
150
- this.assertOptional(primitiveItemType, isValidPrimitive);
151
- if (itemType.hasValue) {
152
- this.assertValidPropertyTypeReference(itemType);
153
- }
154
- }
155
- else {
156
- this.assertValidPropertyTypeReference(type);
157
- }
158
- }
159
- if (!isCollectionType) {
160
- if (itemType.hasValue || primitiveItemType.hasValue) {
161
- this.report(typedObject, 'only \'List\' or \'Map\' types can have \'ItemType\', \'PrimitiveItemType\'');
162
- }
163
- }
164
- const dupes = typedObject.get('DuplicatesAllowed');
165
- if (dupes.hasValue && !isCollectionType) {
166
- this.report(dupes, 'occurs on non-collection type');
167
- }
168
- }
169
- assertValidPropertyTypeReference(typeName) {
170
- if (BUILTIN_COMPLEX_TYPES.includes(typeName.value)) {
171
- return;
172
- }
173
- const cfnName = typeName.path[1]; // AWS::Xyz::Resource[.Property]
174
- const namespace = cfnName.split('.')[0];
175
- const propTypeName = `${namespace}.${typeName.value}`;
176
- if (!this.root.get('PropertyTypes').get(propTypeName).hasValue) {
177
- this.report(typeName, `unknown property type name '${typeName.value}' (missing definition for '${propTypeName}')`);
178
- }
179
- }
180
- assertOptional(x, pred, block) {
181
- return x.hasValue ? this.assert(x, pred, block) : true;
182
- }
183
- assert(x, pred, block) {
184
- try {
185
- pred(x.value);
186
- if (block) {
187
- block(new JsonValue(x.value, x.path));
188
- }
189
- return true;
190
- }
191
- catch (e) {
192
- this.report(x, e.message);
193
- return false;
194
- }
195
- }
196
- validateMap(x, block) {
197
- for (const key in x.value) {
198
- block(x.get(key));
199
- }
200
- }
201
- report(value, message) {
202
- this.errors.push({ value, message });
203
- }
204
- }
205
- exports.CfnSpecValidator = CfnSpecValidator;
206
- function isObject(x) {
207
- if (x == null || typeof x !== 'object' || Array.isArray(x)) {
208
- throw new Error(`expected object, found '${x}'`);
209
- }
210
- }
211
- const COLLECTION_TYPES = ['List', 'Map'];
212
- const BUILTIN_COMPLEX_TYPES = ['Tag'];
213
- function isValidPrimitive(x) {
214
- const primitives = ['String', 'Long', 'Integer', 'Double', 'Boolean', 'Timestamp', 'Json'];
215
- if (!primitives.includes(x)) {
216
- throw new Error(`must be one of ${primitives.join(', ')}, got: ${x}`);
217
- }
218
- }
219
- class JsonValue {
220
- constructor(value, path) {
221
- this.value = value;
222
- this.path = path;
223
- this.hasValue = true;
224
- this.valueOrUndefined = this.value;
225
- this.pathValue = this.value;
226
- }
227
- static of(x) {
228
- return new JsonValue(x, []);
229
- }
230
- get(k) {
231
- if (!this.value || typeof this.value !== 'object' || Array.isArray(this.value)) {
232
- return new ErrorValue(`expected object, found ${this.value}`, this.path, this.value);
233
- }
234
- const ret = this.value[k];
235
- if (ret === undefined) {
236
- return new ErrorValue(`missing required key '${k}'`, this.path, this.value);
237
- }
238
- return new JsonValue(ret, [...this.path, `${k}`]);
239
- }
240
- }
241
- class ErrorValue {
242
- constructor(error, path, pathValue) {
243
- this.error = error;
244
- this.path = path;
245
- this.pathValue = pathValue;
246
- this.hasValue = false;
247
- this.valueOrUndefined = undefined;
248
- }
249
- get(_k) {
250
- return this;
251
- }
252
- get value() {
253
- throw new Error(this.error);
254
- }
255
- }
256
- function formatErrorInContext(error) {
257
- let reportValue = error.value.pathValue;
258
- for (let i = error.value.path.length; i > 0; i--) {
259
- reportValue = { [error.value.path[i - 1]]: reportValue };
260
- }
261
- const formattedLines = JSON.stringify(reportValue, undefined, 2).split('\n');
262
- const indent = 2 * (error.value.path.length + 1);
263
- // Insert the error message at line N with an appropriate indent
264
- formattedLines.splice(error.value.path.length + 1, 0, `\n!!!${' '.repeat(indent - 3)}${error.message} !!!\n`);
265
- return formattedLines.join('\n');
266
- }
267
- exports.formatErrorInContext = formatErrorInContext;
268
- async function main(args) {
269
- const spec = await fs.readJson(args[0]);
270
- const errors = CfnSpecValidator.validate(spec);
271
- if (errors.length !== 0) {
272
- for (const error of errors) {
273
- console.error(formatErrorInContext(error));
274
- }
275
- process.exitCode = 1;
276
- }
277
- }
278
- if (require.main === module) {
279
- main(process.argv.slice(2)).catch(e => {
280
- process.exitCode = 1;
281
- // eslint-disable-next-line no-console
282
- console.error(e.message);
283
- });
284
- }
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtY2ZuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidmFsaWRhdGUtY2ZuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUErQjtBQUMvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJDRztBQUNILCtCQUErQjtBQWEvQixNQUFhLGdCQUFnQjtJQVUzQixZQUFZLElBQWE7UUFIVCxXQUFNLEdBQUcsSUFBSSxLQUFLLEVBQW1CLENBQUM7UUFJcEQsSUFBSSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFYTSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQWE7UUFDbEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbkIsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQ3BCLENBQUM7SUFTTSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNqRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixD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LWNvbnNvbGUgKi9cbi8qKlxuICogQ2xvdWRGb3JtYXRpb24gc3BlYyB2YWxpZGF0b3JcbiAqXG4gKiBcIldoeSBub3QgSlNPTiBTY2hlbWE/XCIsIHlvdSBtaWdodCBhc2ssIGFuZCBpdCdzIGEgZmFpciBxdWVzdGlvbi4gVGhlIGFuc3dlciBpczpcbiAqIGJlY2F1c2UgdGhlIGVycm9yIHJlcG9ydGluZyBmcm9tIEpTT04gc2NoZW1hIGlzIHByZXR0eSBiYWQsIGFuZCBJIHdhbnQgdGhlIHZhbGlkYXRpb25cbiAqIGVycm9ycyByZXBvcnRlZCBmcm9tIHRoaXMgY2hlY2sgdG8gYmUgYmxpbmRpbmdseSBvYnZpb3VzLCBhcyBub24tc3BlYy1leHBlcnRzXG4gKiBhcmUgZ29pbmcgdG8gaGF2ZSB0byBjb25zdW1lIGFuZCB1bmRlcnN0YW5kIHRoZW0uXG4gKlxuICogSSB0cmllZCBKU09OIFNjaGVtYSB2YWxpZGF0aW9uIGFuZCBpdHMgZXJyb3JzIGxvb2sgbGlrZTpcbiAqXG4gKiBgYGBcbiAqIC0gaW5zdGFuY2UuUHJvcGVydHlUeXBlc1tcIi4uLlwiXS5Qcm9wZXJ0aWVzLlh5eiBkb2VzIG5vdCBtYXRjaCBhbGxPZiBzY2hlbWEgPCMvZGVmaW5pdGlvbnMvVHlwZWQ+IHdpdGggNyBlcnJvcltzXTpcbiAqIC0gaW5zdGFuY2UuUHJvcGVydHlUeXBlc1tcIi4uLlwiXS5Qcm9wZXJ0aWVzLlh5eiByZXF1aXJlcyBwcm9wZXJ0eSBcIlByaW1pdGl2ZVR5cGVcIlxuICogLSBpbnN0YW5jZS5Qcm9wZXJ0eVR5cGVzW1wiLi4uXCJdLlByb3BlcnRpZXMuWHl6IHJlcXVpcmVzIHByb3BlcnR5IFwiVHlwZVwiXG4gKiAtIGluc3RhbmNlLlByb3BlcnR5VHlwZXNbXCIuLi5cIl0uUHJvcGVydGllcy5YeXogcmVxdWlyZXMgcHJvcGVydHkgXCJUeXBlXCJcbiAqIC0gaW5zdGFuY2UuUHJvcGVydHlUeXBlc1tcIi4uLlwiXS5Qcm9wZXJ0aWVzLlh5eiByZXF1aXJlcyBwcm9wZXJ0eSBcIkl0ZW1UeXBlXCJcbiAqIC0gaW5zdGFuY2UuUHJvcGVydHlUeXBlc1tcIi4uLlwiXS5Qcm9wZXJ0aWVzLlh5eiByZXF1aXJlcyBwcm9wZXJ0eSBcIlR5cGVcIlxuICogLSBpbnN0YW5jZS5Qcm9wZXJ0eVR5cGVzW1wiLi4uXCJdLlByb3BlcnRpZXMuWHl6IHJlcXVpcmVzIHByb3BlcnR5IFwiUHJpbWl0aXZlSXRlbVR5cGVcIlxuICogLSBpbnN0YW5jZS5Qcm9wZXJ0eVR5cGVzW1wiLi4uXCJdLlByb3BlcnRpZXMuWHl6IGlzIG5vdCBleGFjdGx5IG9uZSBmcm9tIFwiUHJpbWl0aXZlXCIsXCJDb21wbGV4IFR5cGVcIixcIkNvbGxlY3Rpb24gb2YgUHJpbWl0aXZlc1wiLFwiQ29sbGVjdGlvbiBvZiBDb21wbGV4IFR5cGVzXCJcbiAqIGBgYFxuICpcbiAqIE5vIGJ1ZW5vLiBJbiBjb250cmFzdCwgdGhpcyBzY3JpcHQgcHJpbnRzOlxuICpcbiAqIGBgYFxuICoge1xuICogICBcIlJlc291cmNlVHlwZXNcIjoge1xuICogICAgIFwiQVdTOjpTYWdlTWFrZXI6OkRldmljZVwiOiB7XG4gKiAgICAgICBcIlByb3BlcnRpZXNcIjoge1xuICogICAgICAgICBcIkRldmljZVwiOiB7XG4gKlxuICogISEhICAgICAgIG11c3QgaGF2ZSBleGFjdGx5IG9uZSBvZiAnVHlwZScsICdQcmltaXRpdmVUeXBlJywgZm91bmQ6IHtcIlR5cGVcIjpcIkRldmljZVwiLFwiUHJpbWl0aXZlVHlwZVwiOlwiSnNvblwifSAhISFcbiAqXG4gKiAgICAgICAgICAgXCJEb2N1bWVudGF0aW9uXCI6IFwiaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2Utc2FnZW1ha2VyLWRldmljZS5odG1sI2Nmbi1zYWdlbWFrZXItZGV2aWNlLWRldmljZVwiLFxuICogICAgICAgICAgIFwiVXBkYXRlVHlwZVwiOiBcIk11dGFibGVcIixcbiAqICAgICAgICAgICBcIlJlcXVpcmVkXCI6IGZhbHNlLFxuICogICAgICAgICAgIFwiUHJpbWl0aXZlVHlwZVwiOiBcIkpzb25cIixcbiAqICAgICAgICAgICBcIlR5cGVcIjogXCJEZXZpY2VcIlxuICogICAgICAgICB9XG4gKiAgICAgICB9XG4gKiAgICAgfVxuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqL1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMtZXh0cmEnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENmblNwZWMge1xuICBQcm9wZXJ0eVR5cGVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBSZXNvdXJjZVR5cGVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBSZXNvdXJjZVNwZWNpZmljYXRpb25WZXJzaW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvbkVycm9yIHtcbiAgcmVhZG9ubHkgdmFsdWU6IEpzb25WYWx1ZTxhbnk+O1xuICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBDZm5TcGVjVmFsaWRhdG9yIHtcbiAgcHVibGljIHN0YXRpYyB2YWxpZGF0ZShzcGVjOiBDZm5TcGVjKSB7XG4gICAgY29uc3QgcmV0ID0gbmV3IENmblNwZWNWYWxpZGF0b3Ioc3BlYyk7XG4gICAgcmV0LnZhbGlkYXRlU3BlYygpO1xuICAgIHJldHVybiByZXQuZXJyb3JzO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGVycm9ycyA9IG5ldyBBcnJheTxWYWxpZGF0aW9uRXJyb3I+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm9vdDogSnNvblZhbHVlPENmblNwZWM+O1xuXG4gIGNvbnN0cnVjdG9yKHNwZWM6IENmblNwZWMpIHtcbiAgICB0aGlzLnJvb3QgPSBKc29uVmFsdWUub2Yoc3BlYyk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGVTcGVjKCkge1xuICAgIHRoaXMuYXNzZXJ0KHRoaXMucm9vdC5nZXQoJ1Byb3BlcnR5VHlwZXMnKSwgaXNPYmplY3QsIChwcm9wVHlwZXMpID0+IHtcbiAgICAgIHRoaXMudmFsaWRhdGVNYXAocHJvcFR5cGVzLCAocHJvcFR5cGUpID0+IHRoaXMudmFsaWRhdGVQcm9wZXJ0eVR5cGUocHJvcFR5cGUpKTtcbiAgICB9KTtcblxuICAgIHRoaXMuYXNzZXJ0KHRoaXMucm9vdC5nZXQoJ1Jlc291cmNlVHlwZXMnKSwgaXNPYmplY3QsIChyZXNUeXBlcykgPT4ge1xuICAgICAgdGhpcy52YWxpZGF0ZU1hcChyZXNUeXBlcywgKHByb3BUeXBlKSA9PiB0aGlzLnZhbGlkYXRlUmVzb3VyY2VUeXBlKHByb3BUeXBlKSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUHJvcGVydHkgdHlwZXMgYXJlIGV4dHJlbWVseSB3ZWlyZFxuICAgKlxuICAgKiBOb21pbmFsbHksIHRoZXkgZGVmaW5lIFwicmVjb3Jkc1wiIHRoYXQgaGF2ZSBhIGBQcm9wZXJ0aWVzYCBmaWVsZCB3aXRoIHRoZSBkZWZpbmVkXG4gICAqIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIEhvd2V2ZXIsIHRoZXkgYXJlIGFsc28gY29tbW9ubHkgdXNlZCBhcyBhbGlhc2VzIGZvciBvdGhlciB0eXBlcywgbWVhbmluZyB0aGV5IGhhdmVcbiAgICogdGhlIHNhbWUgdHlwZS1pbmRpY2F0aW5nIGZpZWxkcyBhcyBpbmRpdmlkdWFsIHByb3BlcnR5ICpmaWVsZHMqIHdvdWxkIGhhdmUuXG4gICAqXG4gICAqIEFsc28gYWxzbywgaXQgc2VlbXMgdG8gYmUgcXVpdGUgY29tbW9uIHRvIGhhdmUgdGhlbSBlbXB0eS0taGF2ZSBubyBmaWVsZHMgYXQgYWxsLlxuICAgKiBUaGlzIHNlZW1zIHRvIGJlIHRha2VuIGFzIGFuIGFsaWFzIGZvciBhbiB1bnN0cnVjdHVyZWQgYEpzb25gIHR5cGUuIEl0J3MgcHJvYmFibHlcbiAgICoganVzdCBhIG1pc3Rha2UsIGJ1dCB1bmZvcnR1bmF0ZWx5IGEgbWlzdGFrZSB0aGF0IFMzIGlzIHBhcnRpY2lwYXRpbmcgaW4sIHNvIGlmIHdlXG4gICAqIGZhaWwgb24gdGhhdCB3ZSB3b24ndCBiZSBhYmxlIHRvIGNvbnN1bWUgdXBkYXRlcyB0byBTMydzIHNjaGVtYS4gT3VyIGNvZGVnZW4gaXNcbiAgICogcmVhZHkgdG8gZGVhbCB3aXRoIHRoaXMgYW5kIGp1c3QgcmVuZGVycyBpdCB0byBhbiBlbXB0eSBzdHJ1Y3QuXG4gICAqL1xuICBwcml2YXRlIHZhbGlkYXRlUHJvcGVydHlUeXBlKHByb3BUeXBlOiBKc29uVmFsdWU8UmVjb3JkPHN0cmluZywgYW55Pj4pIHtcbiAgICAvLyBJZiB0aGUgb25seSBzZXQgb2YgcHJvcGVydGllcyBpcyBcIkRvY3VtZW50YXRpb25cIiwgd2UgdGFrZSB0aGlzIHRvIGJlIGFuIGFsaWFzXG4gICAgLy8gZm9yIGFuIGVtcHR5IHN0cnVjdCBhbmQgYWxsb3cgaXQuIEkgZmVlbCBpY2t5IGFsbG93aW5nIHRoaXMsIGJ1dCBpdCBzZWVtcyB0b1xuICAgIC8vIGJlIHByYWdtYXRpYyBmb3Igbm93LlxuICAgIGlmIChPYmplY3Qua2V5cyhwcm9wVHlwZS52YWx1ZSkuam9pbignLCcpID09PSAnRG9jdW1lbnRhdGlvbicpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gcHJvcFR5cGUuZ2V0KCdQcm9wZXJ0aWVzJyk7XG4gICAgaWYgKHByb3BlcnRpZXMuaGFzVmFsdWUpIHtcbiAgICAgIHRoaXMuYXNzZXJ0KHByb3BlcnRpZXMsIGlzT2JqZWN0LCAocHJvcHMpID0+IHtcbiAgICAgICAgdGhpcy52YWxpZGF0ZVByb3BlcnRpZXMocHJvcHMpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsaWRhdGVUeXBlKHByb3BUeXBlLCAnaWYgYSBwcm9wZXJ0eSB0eXBlIGRvZXNuXFwndCBoYXZlIFwiUHJvcGVydGllc1wiLCBpdCAnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlUmVzb3VyY2VUeXBlKHJlc1R5cGU6IEpzb25WYWx1ZTxhbnk+KSB7XG4gICAgdGhpcy5hc3NlcnRPcHRpb25hbChyZXNUeXBlLmdldCgnUHJvcGVydGllcycpLCBpc09iamVjdCwgKHByb3BzKSA9PiB7XG4gICAgICB0aGlzLnZhbGlkYXRlUHJvcGVydGllcyhwcm9wcyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmFzc2VydE9wdGlvbmFsKHJlc1R5cGUuZ2V0KCdBdHRyaWJ1dGVzJyksIGlzT2JqZWN0LCAoYXR0cnMpID0+IHtcbiAgICAgIHRoaXMudmFsaWRhdGVNYXAoYXR0cnMsIGF0dHIgPT4ge1xuICAgICAgICB0aGlzLnZhbGlkYXRlVHlwZShhdHRyKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVByb3BlcnRpZXMocHJvcGVydGllczogSnNvblZhbHVlPFJlY29yZDxzdHJpbmcsIGFueT4+KSB7XG4gICAgdGhpcy52YWxpZGF0ZU1hcChwcm9wZXJ0aWVzLCBwcm9wID0+IHtcbiAgICAgIHRoaXMudmFsaWRhdGVUeXBlKHByb3ApO1xuXG4gICAgICB0aGlzLmFzc2VydE9wdGlvbmFsKHByb3AuZ2V0KCdVcGRhdGVUeXBlJyksICh4OiBhbnkpID0+IHtcbiAgICAgICAgaWYgKCFbJ011dGFibGUnLCAnSW1tdXRhYmxlJywgJ0NvbmRpdGlvbmFsJ10uaW5jbHVkZXMoeCkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgdmFsdWUgZm9yIGVudW06ICcke3h9J2ApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSB0aGUgdHlwZVxuICAgKlxuICAgKiBUaGVyZSBtdXN0IGJlOlxuICAgKiAtIEVpdGhlciBUeXBlIG9yIFByaW1pdGl2ZVR5cGVcbiAgICogLSBPbmx5IGlmIFR5cGUgaXMgTGlzdCBvciBNYXAsIHRoZXJlIHdpbGwgYmUgZWl0aGVyIGFuIEl0ZW1UeXBlIG9yIGEgUHJpbWl0aXZlSXRlbVR5cGVcbiAgICogLSBOb24tcHJpbWl0aXZlIFR5cGVzIG11c3QgY29ycmVzcG9uZCB0byBhIHByb3BlcnR5IHR5cGVcbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGVUeXBlKHR5cGVkT2JqZWN0OiBKc29uVmFsdWU8UmVjb3JkPHN0cmluZywgYW55Pj4sIGVycm9yUHJlZml4ID0gJycpIHtcbiAgICBjb25zdCB0eXBlID0gdHlwZWRPYmplY3QuZ2V0KCdUeXBlJyk7XG4gICAgY29uc3QgcHJpbWl0aXZlVHlwZSA9IHR5cGVkT2JqZWN0LmdldCgnUHJpbWl0aXZlVHlwZScpO1xuXG4gICAgaWYgKHR5cGUuaGFzVmFsdWUgPT09IHByaW1pdGl2ZVR5cGUuaGFzVmFsdWUpIHtcbiAgICAgIHRoaXMucmVwb3J0KHR5cGVkT2JqZWN0LCBgJHtlcnJvclByZWZpeH1tdXN0IGhhdmUgZXhhY3RseSBvbmUgb2YgJ1R5cGUnLCAnUHJpbWl0aXZlVHlwZScsIGZvdW5kOiAke0pTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgVHlwZTogdHlwZS52YWx1ZU9yVW5kZWZpbmVkLFxuICAgICAgICBQcmltaXRpdmVUeXBlOiBwcmltaXRpdmVUeXBlLnZhbHVlT3JVbmRlZmluZWQsXG4gICAgICB9KX1gKTtcbiAgICB9XG5cbiAgICB0aGlzLmFzc2VydE9wdGlvbmFsKHByaW1pdGl2ZVR5cGUsIGlzVmFsaWRQcmltaXRpdmUpO1xuXG4gICAgbGV0IGlzQ29sbGVjdGlvblR5cGUgPSBmYWxzZTtcbiAgICBjb25zdCBpdGVtVHlwZSA9IHR5cGVkT2JqZWN0LmdldCgnSXRlbVR5cGUnKTtcbiAgICBjb25zdCBwcmltaXRpdmVJdGVtVHlwZSA9IHR5cGVkT2JqZWN0LmdldCgnUHJpbWl0aXZlSXRlbVR5cGUnKTtcblxuICAgIGlmICh0eXBlLmhhc1ZhbHVlKSB7XG4gICAgICBpc0NvbGxlY3Rpb25UeXBlID0gQ09MTEVDVElPTl9UWVBFUy5pbmNsdWRlcyh0eXBlLnZhbHVlKTtcbiAgICAgIGlmIChpc0NvbGxlY3Rpb25UeXBlKSB7XG4gICAgICAgIGlmIChpdGVtVHlwZS5oYXNWYWx1ZSA9PT0gcHJpbWl0aXZlSXRlbVR5cGUuaGFzVmFsdWUpIHtcbiAgICAgICAgICB0aGlzLnJlcG9ydCh0eXBlZE9iamVjdCwgYG11c3QgaGF2ZSBleGFjdGx5IG9uZSBvZiAnSXRlbVR5cGUnLCAnUHJpbWl0aXZlSXRlbVR5cGUnLCBmb3VuZDogJHtKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBJdGVtVHlwZTogaXRlbVR5cGUudmFsdWVPclVuZGVmaW5lZCxcbiAgICAgICAgICAgIFByaW1pdGl2ZUl0ZW1UeXBlOiBwcmltaXRpdmVJdGVtVHlwZS52YWx1ZU9yVW5kZWZpbmVkLFxuICAgICAgICAgIH0pfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hc3NlcnRPcHRpb25hbChwcmltaXRpdmVJdGVtVHlwZSwgaXNWYWxpZFByaW1pdGl2ZSk7XG4gICAgICAgIGlmIChpdGVtVHlwZS5oYXNWYWx1ZSkge1xuICAgICAgICAgIHRoaXMuYXNzZXJ0VmFsaWRQcm9wZXJ0eVR5cGVSZWZlcmVuY2UoaXRlbVR5cGUpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFzc2VydFZhbGlkUHJvcGVydHlUeXBlUmVmZXJlbmNlKHR5cGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghaXNDb2xsZWN0aW9uVHlwZSkge1xuICAgICAgaWYgKGl0ZW1UeXBlLmhhc1ZhbHVlIHx8IHByaW1pdGl2ZUl0ZW1UeXBlLmhhc1ZhbHVlKSB7XG4gICAgICAgIHRoaXMucmVwb3J0KHR5cGVkT2JqZWN0LCAnb25seSBcXCdMaXN0XFwnIG9yIFxcJ01hcFxcJyB0eXBlcyBjYW4gaGF2ZSBcXCdJdGVtVHlwZVxcJywgXFwnUHJpbWl0aXZlSXRlbVR5cGVcXCcnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBkdXBlcyA9IHR5cGVkT2JqZWN0LmdldCgnRHVwbGljYXRlc0FsbG93ZWQnKTtcbiAgICBpZiAoZHVwZXMuaGFzVmFsdWUgJiYgIWlzQ29sbGVjdGlvblR5cGUpIHtcbiAgICAgIHRoaXMucmVwb3J0KGR1cGVzLCAnb2NjdXJzIG9uIG5vbi1jb2xsZWN0aW9uIHR5cGUnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzc2VydFZhbGlkUHJvcGVydHlUeXBlUmVmZXJlbmNlKHR5cGVOYW1lOiBKc29uVmFsdWU8c3RyaW5nPikge1xuICAgIGlmIChCVUlMVElOX0NPTVBMRVhfVFlQRVMuaW5jbHVkZXModHlwZU5hbWUudmFsdWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY2ZuTmFtZSA9IHR5cGVOYW1lLnBhdGhbMV07IC8vIEFXUzo6WHl6OjpSZXNvdXJjZVsuUHJvcGVydHldXG4gICAgY29uc3QgbmFtZXNwYWNlID0gY2ZuTmFtZS5zcGxpdCgnLicpWzBdO1xuXG4gICAgY29uc3QgcHJvcFR5cGVOYW1lID0gYCR7bmFtZXNwYWNlfS4ke3R5cGVOYW1lLnZhbHVlfWA7XG4gICAgaWYgKCF0aGlzLnJvb3QuZ2V0KCdQcm9wZXJ0eVR5cGVzJykuZ2V0KHByb3BUeXBlTmFtZSkuaGFzVmFsdWUpIHtcbiAgICAgIHRoaXMucmVwb3J0KHR5cGVOYW1lLCBgdW5rbm93biBwcm9wZXJ0eSB0eXBlIG5hbWUgJyR7dHlwZU5hbWUudmFsdWV9JyAobWlzc2luZyBkZWZpbml0aW9uIGZvciAnJHtwcm9wVHlwZU5hbWV9JylgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzc2VydE9wdGlvbmFsPEEsIEIgZXh0ZW5kcyBBPih4OiBKc29uVmFsdWU8QT4sIHByZWQ6ICh4OiBBKSA9PiBhc3NlcnRzIHggaXMgQiwgYmxvY2s/OiAoeDogSnNvblZhbHVlPEI+KSA9PiB2b2lkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHguaGFzVmFsdWUgPyB0aGlzLmFzc2VydCh4LCBwcmVkLCBibG9jaykgOiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3NlcnQ8QSwgQiBleHRlbmRzIEE+KHg6IEpzb25WYWx1ZTxBPiwgcHJlZDogKHg6IEEpID0+IGFzc2VydHMgeCBpcyBCLCBibG9jaz86ICh4OiBKc29uVmFsdWU8Qj4pID0+IHZvaWQpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgcHJlZCh4LnZhbHVlKTtcbiAgICAgIGlmIChibG9jaykge1xuICAgICAgICBibG9jayhuZXcgSnNvblZhbHVlKHgudmFsdWUsIHgucGF0aCkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5yZXBvcnQoeCwgZS5tZXNzYWdlKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlTWFwPEE+KHg6IEpzb25WYWx1ZTxSZWNvcmQ8c3RyaW5nLCBBPj4sIGJsb2NrOiAoeDogSnNvblZhbHVlPEE+KSA9PiB2b2lkKSB7XG4gICAgZm9yIChjb25zdCBrZXkgaW4geC52YWx1ZSkge1xuICAgICAgYmxvY2soeC5nZXQoa2V5KSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXBvcnQodmFsdWU6IEpzb25WYWx1ZTxhbnk+LCBtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmVycm9ycy5wdXNoKHsgdmFsdWUsIG1lc3NhZ2UgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNPYmplY3QoeDogYW55KTogYXNzZXJ0cyB4IGlzIFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICBpZiAoeCA9PSBudWxsIHx8IHR5cGVvZiB4ICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KHgpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBleHBlY3RlZCBvYmplY3QsIGZvdW5kICcke3h9J2ApO1xuICB9XG59XG5cbmNvbnN0IENPTExFQ1RJT05fVFlQRVMgPSBbJ0xpc3QnLCAnTWFwJ107XG5jb25zdCBCVUlMVElOX0NPTVBMRVhfVFlQRVMgPSBbJ1RhZyddO1xuXG5mdW5jdGlvbiBpc1ZhbGlkUHJpbWl0aXZlKHg6IGFueSk6IGFzc2VydHMgeCBpcyBzdHJpbmcge1xuICBjb25zdCBwcmltaXRpdmVzID0gWydTdHJpbmcnLCAnTG9uZycsICdJbnRlZ2VyJywgJ0RvdWJsZScsICdCb29sZWFuJywgJ1RpbWVzdGFtcCcsICdKc29uJ107XG5cbiAgaWYgKCFwcmltaXRpdmVzLmluY2x1ZGVzKHgpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBtdXN0IGJlIG9uZSBvZiAke3ByaW1pdGl2ZXMuam9pbignLCAnKX0sIGdvdDogJHt4fWApO1xuICB9XG59XG5cbmludGVyZmFjZSBKc29uVmFsdWU8QT4ge1xuICByZWFkb25seSBwYXRoOiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgcGF0aFZhbHVlOiBhbnk7XG4gIHJlYWRvbmx5IGhhc1ZhbHVlOiBib29sZWFuO1xuICByZWFkb25seSB2YWx1ZTogQTtcbiAgcmVhZG9ubHkgdmFsdWVPclVuZGVmaW5lZDogQSB8IHVuZGVmaW5lZDtcbiAgZ2V0PEsgZXh0ZW5kcyBrZXlvZiBBPihrOiBLKTogSnNvblZhbHVlPEFbS10+O1xufVxuXG5jbGFzcyBKc29uVmFsdWU8QT4gaW1wbGVtZW50cyBKc29uVmFsdWU8QT4ge1xuICBwdWJsaWMgc3RhdGljIG9mPEI+KHg6IEIpOiBKc29uVmFsdWU8Qj4ge1xuICAgIHJldHVybiBuZXcgSnNvblZhbHVlKHgsIFtdKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBoYXNWYWx1ZTogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyByZWFkb25seSB2YWx1ZU9yVW5kZWZpbmVkOiBBIHwgdW5kZWZpbmVkID0gdGhpcy52YWx1ZTtcbiAgcHVibGljIHJlYWRvbmx5IHBhdGhWYWx1ZTogYW55ID0gdGhpcy52YWx1ZTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgdmFsdWU6IEEsIHB1YmxpYyByZWFkb25seSBwYXRoOiBzdHJpbmdbXSkge1xuICB9XG5cbiAgcHVibGljIGdldDxLIGV4dGVuZHMga2V5b2YgQT4oazogSyk6IEpzb25WYWx1ZTxBW0tdPiB7XG4gICAgaWYgKCF0aGlzLnZhbHVlIHx8IHR5cGVvZiB0aGlzLnZhbHVlICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpKSB7XG4gICAgICByZXR1cm4gbmV3IEVycm9yVmFsdWUoYGV4cGVjdGVkIG9iamVjdCwgZm91bmQgJHt0aGlzLnZhbHVlfWAsIHRoaXMucGF0aCwgdGhpcy52YWx1ZSk7XG4gICAgfVxuICAgIGNvbnN0IHJldCA9IHRoaXMudmFsdWVba107XG4gICAgaWYgKHJldCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gbmV3IEVycm9yVmFsdWUoYG1pc3NpbmcgcmVxdWlyZWQga2V5ICcke2t9J2AsIHRoaXMucGF0aCwgdGhpcy52YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgSnNvblZhbHVlKHJldCwgWy4uLnRoaXMucGF0aCwgYCR7a31gXSk7XG4gIH1cbn1cblxuY2xhc3MgRXJyb3JWYWx1ZTxBPiBpbXBsZW1lbnRzIEpzb25WYWx1ZTxBPiB7XG4gIHB1YmxpYyByZWFkb25seSBoYXNWYWx1ZSA9IGZhbHNlO1xuICBwdWJsaWMgcmVhZG9ubHkgdmFsdWVPclVuZGVmaW5lZDogQSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGVycm9yOiBzdHJpbmcsIHB1YmxpYyByZWFkb25seSBwYXRoOiBzdHJpbmdbXSwgcHVibGljIHJlYWRvbmx5IHBhdGhWYWx1ZTogYW55KSB7XG4gIH1cblxuICBwdWJsaWMgZ2V0PEsgZXh0ZW5kcyBrZXlvZiBBPihfazogSyk6IEpzb25WYWx1ZTxBW0tdPiB7XG4gICAgcmV0dXJuIHRoaXMgYXMgYW55O1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBBIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5lcnJvcik7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEVycm9ySW5Db250ZXh0KGVycm9yOiBWYWxpZGF0aW9uRXJyb3IpIHtcbiAgbGV0IHJlcG9ydFZhbHVlID0gZXJyb3IudmFsdWUucGF0aFZhbHVlO1xuICBmb3IgKGxldCBpID0gZXJyb3IudmFsdWUucGF0aC5sZW5ndGg7IGkgPiAwOyBpLS0pIHtcbiAgICByZXBvcnRWYWx1ZSA9IHsgW2Vycm9yLnZhbHVlLnBhdGhbaSAtIDFdXTogcmVwb3J0VmFsdWUgfTtcbiAgfVxuXG4gIGNvbnN0IGZvcm1hdHRlZExpbmVzID0gSlNPTi5zdHJpbmdpZnkocmVwb3J0VmFsdWUsIHVuZGVmaW5lZCwgMikuc3BsaXQoJ1xcbicpO1xuXG4gIGNvbnN0IGluZGVudCA9IDIgKiAoZXJyb3IudmFsdWUucGF0aC5sZW5ndGggKyAxKTtcblxuICAvLyBJbnNlcnQgdGhlIGVycm9yIG1lc3NhZ2UgYXQgbGluZSBOIHdpdGggYW4gYXBwcm9wcmlhdGUgaW5kZW50XG4gIGZvcm1hdHRlZExpbmVzLnNwbGljZShlcnJvci52YWx1ZS5wYXRoLmxlbmd0aCArIDEsIDAsIGBcXG4hISEkeycgJy5yZXBlYXQoaW5kZW50IC0gMyl9JHtlcnJvci5tZXNzYWdlfSAhISFcXG5gKTtcblxuICByZXR1cm4gZm9ybWF0dGVkTGluZXMuam9pbignXFxuJyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oYXJnczogc3RyaW5nW10pIHtcbiAgY29uc3Qgc3BlYyA9IGF3YWl0IGZzLnJlYWRKc29uKGFyZ3NbMF0pO1xuICBjb25zdCBlcnJvcnMgPSBDZm5TcGVjVmFsaWRhdG9yLnZhbGlkYXRlKHNwZWMpO1xuICBpZiAoZXJyb3JzLmxlbmd0aCAhPT0gMCkge1xuICAgIGZvciAoY29uc3QgZXJyb3Igb2YgZXJyb3JzKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGZvcm1hdEVycm9ySW5Db250ZXh0KGVycm9yKSk7XG4gICAgfVxuICAgIHByb2Nlc3MuZXhpdENvZGUgPSAxO1xuICB9XG59XG5cbmlmIChyZXF1aXJlLm1haW4gPT09IG1vZHVsZSkge1xuICBtYWluKHByb2Nlc3MuYXJndi5zbGljZSgyKSkuY2F0Y2goZSA9PiB7XG4gICAgcHJvY2Vzcy5leGl0Q29kZSA9IDE7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICBjb25zb2xlLmVycm9yKGUubWVzc2FnZSk7XG4gIH0pO1xufSJdfQ==
@@ -1 +0,0 @@
1
- 109.0.0
@@ -1,24 +0,0 @@
1
- /**
2
- * All annotations imported from cfn-lint
3
- */
4
- export interface CfnLintFileSchema {
5
- /**
6
- * Resource types that are in this map are stateful
7
- *
8
- * There is more information in the structure this maps to.
9
- */
10
- readonly StatefulResources: {
11
- readonly ResourceTypes: Record<string, CfnLintStatefulSchema>;
12
- };
13
- }
14
- /**
15
- * Extra information on stateful resource types
16
- */
17
- export interface CfnLintStatefulSchema {
18
- /**
19
- * Whether or not a Delete operation requires the resource to be empty
20
- *
21
- * @default false
22
- */
23
- readonly DeleteRequiresEmptyResource?: boolean;
24
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZuLWxpbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjZm4tbGludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBbGwgYW5ub3RhdGlvbnMgaW1wb3J0ZWQgZnJvbSBjZm4tbGludFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENmbkxpbnRGaWxlU2NoZW1hIHtcbiAgLyoqXG4gICAqIFJlc291cmNlIHR5cGVzIHRoYXQgYXJlIGluIHRoaXMgbWFwIGFyZSBzdGF0ZWZ1bFxuICAgKlxuICAgKiBUaGVyZSBpcyBtb3JlIGluZm9ybWF0aW9uIGluIHRoZSBzdHJ1Y3R1cmUgdGhpcyBtYXBzIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgU3RhdGVmdWxSZXNvdXJjZXM6IHsgcmVhZG9ubHkgUmVzb3VyY2VUeXBlczogUmVjb3JkPHN0cmluZywgQ2ZuTGludFN0YXRlZnVsU2NoZW1hPiB9O1xufVxuXG4vKipcbiAqIEV4dHJhIGluZm9ybWF0aW9uIG9uIHN0YXRlZnVsIHJlc291cmNlIHR5cGVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2ZuTGludFN0YXRlZnVsU2NoZW1hIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IGEgRGVsZXRlIG9wZXJhdGlvbiByZXF1aXJlcyB0aGUgcmVzb3VyY2UgdG8gYmUgZW1wdHlcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IERlbGV0ZVJlcXVpcmVzRW1wdHlSZXNvdXJjZT86IGJvb2xlYW47XG59XG4iXX0=
@@ -1,27 +0,0 @@
1
- {
2
- "options": {
3
- "classFile": "vpn",
4
- "class": "VpnConnectionBase",
5
- "interface": "IVpnConnection"
6
- },
7
- "metrics": {
8
- "namespace": "AWS/VPN",
9
- "dimensions": { "VpnId": "this.vpnId" },
10
- "metrics": [
11
- {
12
- "name": "TunnelState",
13
- "documentation": "The state of the tunnel. 0 indicates DOWN and 1 indicates UP."
14
- },
15
- {
16
- "name": "TunnelDataIn",
17
- "documentation": "The bytes received through the VPN tunnel.",
18
- "type": "count"
19
- },
20
- {
21
- "name": "TunnelDataOut",
22
- "documentation": "The bytes sent through the VPN tunnel.",
23
- "type": "count"
24
- }
25
- ]
26
- }
27
- }
@@ -1,27 +0,0 @@
1
- {
2
- "metrics": {
3
- "namespace": "AWS/Lambda",
4
- "dimensions": { "FunctionName": "this.functionName" },
5
- "metrics": [
6
- {
7
- "name": "Throttles",
8
- "documentation": "How often this Lambda is throttled",
9
- "type": "count"
10
- },
11
- {
12
- "name": "Invocations",
13
- "documentation": "How often this Lambda is invoked",
14
- "type": "count"
15
- },
16
- {
17
- "name": "Errors",
18
- "documentation": "How many invocations of this Lambda fail",
19
- "type": "count"
20
- },
21
- {
22
- "name": "Duration",
23
- "documentation": "How long execution of this Lambda takes"
24
- }
25
- ]
26
- }
27
- }