@aws-amplify/graphql-api-construct 1.18.3-ai-next.0 → 1.18.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1042) hide show
  1. package/.jsii +456 -59
  2. package/API.md +17 -0
  3. package/CHANGELOG.md +1 -1
  4. package/jest.config.js +12 -0
  5. package/lib/amplify-dynamodb-table-wrapper.js +1 -1
  6. package/lib/amplify-graphql-api.js +4 -3
  7. package/lib/amplify-graphql-definition.js +1 -1
  8. package/lib/index.d.ts +2 -0
  9. package/lib/index.js +5 -2
  10. package/lib/log-config-types.d.ts +78 -0
  11. package/lib/log-config-types.js +8 -0
  12. package/lib/sql-model-datasource-strategy.js +1 -1
  13. package/lib/types.d.ts +5 -0
  14. package/lib/types.js +1 -1
  15. package/node_modules/@aws-amplify/graphql-auth-transformer/CHANGELOG.md +4 -0
  16. package/node_modules/@aws-amplify/graphql-auth-transformer/LICENSE +201 -0
  17. package/node_modules/@aws-amplify/graphql-auth-transformer/jest.config.js +12 -0
  18. package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +15 -54
  19. package/node_modules/@aws-amplify/graphql-conversation-transformer/CHANGELOG.md +2 -2
  20. package/node_modules/@aws-amplify/graphql-conversation-transformer/jest.config.js +10 -0
  21. package/node_modules/@aws-amplify/graphql-conversation-transformer/package.json +12 -48
  22. package/node_modules/@aws-amplify/graphql-default-value-transformer/CHANGELOG.md +4 -0
  23. package/node_modules/@aws-amplify/graphql-default-value-transformer/LICENSE +201 -0
  24. package/node_modules/@aws-amplify/graphql-default-value-transformer/jest.config.js +12 -0
  25. package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +9 -49
  26. package/node_modules/@aws-amplify/graphql-directives/CHANGELOG.md +4 -0
  27. package/node_modules/@aws-amplify/graphql-directives/LICENSE +201 -0
  28. package/node_modules/@aws-amplify/graphql-directives/jest.config.js +6 -0
  29. package/node_modules/@aws-amplify/graphql-directives/package.json +2 -42
  30. package/node_modules/@aws-amplify/graphql-function-transformer/CHANGELOG.md +4 -0
  31. package/node_modules/@aws-amplify/graphql-function-transformer/LICENSE +201 -0
  32. package/node_modules/@aws-amplify/graphql-function-transformer/jest.config.js +12 -0
  33. package/node_modules/@aws-amplify/graphql-function-transformer/package.json +9 -48
  34. package/node_modules/@aws-amplify/graphql-generation-transformer/CHANGELOG.md +4 -0
  35. package/node_modules/@aws-amplify/graphql-generation-transformer/LICENSE +201 -0
  36. package/node_modules/@aws-amplify/graphql-generation-transformer/jest.config.js +9 -0
  37. package/node_modules/@aws-amplify/graphql-generation-transformer/package.json +9 -44
  38. package/node_modules/@aws-amplify/graphql-http-transformer/CHANGELOG.md +4 -0
  39. package/node_modules/@aws-amplify/graphql-http-transformer/LICENSE +201 -0
  40. package/node_modules/@aws-amplify/graphql-http-transformer/jest.config.js +12 -0
  41. package/node_modules/@aws-amplify/graphql-http-transformer/package.json +9 -48
  42. package/node_modules/@aws-amplify/graphql-index-transformer/CHANGELOG.md +4 -0
  43. package/node_modules/@aws-amplify/graphql-index-transformer/LICENSE +201 -0
  44. package/node_modules/@aws-amplify/graphql-index-transformer/jest.config.js +12 -0
  45. package/node_modules/@aws-amplify/graphql-index-transformer/package.json +10 -46
  46. package/node_modules/@aws-amplify/graphql-maps-to-transformer/CHANGELOG.md +4 -0
  47. package/node_modules/@aws-amplify/graphql-maps-to-transformer/LICENSE +201 -0
  48. package/node_modules/@aws-amplify/graphql-maps-to-transformer/jest.config.js +12 -0
  49. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/assets/mapping-lambda.zip +0 -0
  50. package/node_modules/@aws-amplify/graphql-maps-to-transformer/package.json +13 -49
  51. package/node_modules/@aws-amplify/graphql-model-transformer/CHANGELOG.md +4 -0
  52. package/node_modules/@aws-amplify/graphql-model-transformer/LICENSE +201 -0
  53. package/node_modules/@aws-amplify/graphql-model-transformer/jest.config.js +12 -0
  54. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-lambda.zip +0 -0
  55. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-notification-lambda.zip +0 -0
  56. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-patching-lambda.zip +0 -0
  57. package/node_modules/@aws-amplify/graphql-model-transformer/package.json +9 -49
  58. package/node_modules/@aws-amplify/graphql-predictions-transformer/CHANGELOG.md +4 -0
  59. package/node_modules/@aws-amplify/graphql-predictions-transformer/LICENSE +201 -0
  60. package/node_modules/@aws-amplify/graphql-predictions-transformer/jest.config.js +5 -0
  61. package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/predictionsLambdaFunction.zip +0 -0
  62. package/node_modules/@aws-amplify/graphql-predictions-transformer/package.json +9 -48
  63. package/node_modules/@aws-amplify/graphql-relational-transformer/CHANGELOG.md +4 -0
  64. package/node_modules/@aws-amplify/graphql-relational-transformer/LICENSE +201 -0
  65. package/node_modules/@aws-amplify/graphql-relational-transformer/jest.config.js +12 -0
  66. package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +11 -47
  67. package/node_modules/@aws-amplify/graphql-searchable-transformer/CHANGELOG.md +4 -0
  68. package/node_modules/@aws-amplify/graphql-searchable-transformer/LICENSE +201 -0
  69. package/node_modules/@aws-amplify/graphql-searchable-transformer/jest.config.js +12 -0
  70. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/streaming-lambda.zip +0 -0
  71. package/node_modules/@aws-amplify/graphql-searchable-transformer/package.json +10 -52
  72. package/node_modules/@aws-amplify/graphql-sql-transformer/CHANGELOG.md +4 -0
  73. package/node_modules/@aws-amplify/graphql-sql-transformer/LICENSE +201 -0
  74. package/node_modules/@aws-amplify/graphql-sql-transformer/jest.config.js +12 -0
  75. package/node_modules/@aws-amplify/graphql-sql-transformer/package.json +10 -49
  76. package/node_modules/@aws-amplify/graphql-transformer/API.md +2 -0
  77. package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +1 -1
  78. package/node_modules/@aws-amplify/graphql-transformer/jest.config.js +12 -0
  79. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts +2 -1
  80. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts.map +1 -1
  81. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js +2 -1
  82. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js.map +1 -1
  83. package/node_modules/@aws-amplify/graphql-transformer/package.json +20 -61
  84. package/node_modules/@aws-amplify/graphql-transformer/src/graphql-transformer.ts +4 -0
  85. package/node_modules/@aws-amplify/graphql-transformer-core/API.md +3 -3
  86. package/node_modules/@aws-amplify/graphql-transformer-core/CHANGELOG.md +4 -0
  87. package/node_modules/@aws-amplify/graphql-transformer-core/LICENSE +201 -0
  88. package/node_modules/@aws-amplify/graphql-transformer-core/jest.config.js +12 -0
  89. package/node_modules/@aws-amplify/graphql-transformer-core/lib/graphql-api.d.ts +4 -3
  90. package/node_modules/@aws-amplify/graphql-transformer-core/lib/graphql-api.d.ts.map +1 -1
  91. package/node_modules/@aws-amplify/graphql-transformer-core/lib/graphql-api.js +27 -7
  92. package/node_modules/@aws-amplify/graphql-transformer-core/lib/graphql-api.js.map +1 -1
  93. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts +4 -3
  94. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts.map +1 -1
  95. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js +5 -3
  96. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js.map +1 -1
  97. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts +3 -1
  98. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts.map +1 -1
  99. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js +2 -1
  100. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js.map +1 -1
  101. package/node_modules/@aws-amplify/graphql-transformer-core/package.json +8 -46
  102. package/node_modules/@aws-amplify/graphql-transformer-interfaces/API.md +12 -0
  103. package/node_modules/@aws-amplify/graphql-transformer-interfaces/CHANGELOG.md +4 -0
  104. package/node_modules/@aws-amplify/graphql-transformer-interfaces/LICENSE +201 -0
  105. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.d.ts +1 -0
  106. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.d.ts.map +1 -1
  107. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/logConfig.d.ts +8 -0
  108. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/logConfig.d.ts.map +1 -0
  109. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/logConfig.js +3 -0
  110. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/logConfig.js.map +1 -0
  111. package/node_modules/@aws-amplify/graphql-transformer-interfaces/package.json +3 -35
  112. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/index.ts +1 -0
  113. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/logConfig.ts +8 -0
  114. package/node_modules/@aws-amplify/graphql-transformer-interfaces/tsconfig.tsbuildinfo +1 -1
  115. package/node_modules/@aws-cdk/assert/BUILD.md +15 -0
  116. package/node_modules/@aws-cdk/assert/LICENSE +201 -0
  117. package/node_modules/@aws-cdk/assert/NOTICE +2 -0
  118. package/node_modules/@aws-cdk/assert/README.md +228 -0
  119. package/node_modules/@aws-cdk/assert/clone.sh +29 -0
  120. package/node_modules/@aws-cdk/assert/jest.d.ts +14 -0
  121. package/node_modules/@aws-cdk/assert/jest.js +57 -0
  122. package/node_modules/@aws-cdk/assert/lib/assertion.d.ts +17 -0
  123. package/node_modules/@aws-cdk/assert/lib/assertion.js +31 -0
  124. package/node_modules/@aws-cdk/assert/lib/assertions/and-assertion.d.ts +10 -0
  125. package/node_modules/@aws-cdk/assert/lib/assertions/and-assertion.js +21 -0
  126. package/node_modules/@aws-cdk/assert/lib/assertions/count-resources.d.ts +10 -0
  127. package/node_modules/@aws-cdk/assert/lib/assertions/count-resources.js +54 -0
  128. package/node_modules/@aws-cdk/assert/lib/assertions/exist.d.ts +3 -0
  129. package/node_modules/@aws-cdk/assert/lib/assertions/exist.js +18 -0
  130. package/node_modules/@aws-cdk/assert/lib/assertions/have-output.d.ts +29 -0
  131. package/node_modules/@aws-cdk/assert/lib/assertions/have-output.js +77 -0
  132. package/node_modules/@aws-cdk/assert/lib/assertions/have-resource-matchers.d.ts +123 -0
  133. package/node_modules/@aws-cdk/assert/lib/assertions/have-resource-matchers.js +404 -0
  134. package/node_modules/@aws-cdk/assert/lib/assertions/have-resource.d.ts +69 -0
  135. package/node_modules/@aws-cdk/assert/lib/assertions/have-resource.js +130 -0
  136. package/node_modules/@aws-cdk/assert/lib/assertions/have-type.d.ts +3 -0
  137. package/node_modules/@aws-cdk/assert/lib/assertions/have-type.js +22 -0
  138. package/node_modules/@aws-cdk/assert/lib/assertions/match-template.d.ts +19 -0
  139. package/node_modules/@aws-cdk/assert/lib/assertions/match-template.js +98 -0
  140. package/node_modules/@aws-cdk/assert/lib/assertions/negated-assertion.d.ts +8 -0
  141. package/node_modules/@aws-cdk/assert/lib/assertions/negated-assertion.js +18 -0
  142. package/node_modules/@aws-cdk/assert/lib/canonicalize-assets.d.ts +11 -0
  143. package/node_modules/@aws-cdk/assert/lib/canonicalize-assets.js +70 -0
  144. package/node_modules/@aws-cdk/assert/lib/expect.d.ts +4 -0
  145. package/node_modules/@aws-cdk/assert/lib/expect.js +16 -0
  146. package/node_modules/@aws-cdk/assert/lib/index.d.ts +14 -0
  147. package/node_modules/@aws-cdk/assert/lib/index.js +27 -0
  148. package/node_modules/@aws-cdk/assert/lib/inspector.d.ts +31 -0
  149. package/node_modules/@aws-cdk/assert/lib/inspector.js +69 -0
  150. package/node_modules/@aws-cdk/assert/lib/synth-utils.d.ts +30 -0
  151. package/node_modules/@aws-cdk/assert/lib/synth-utils.js +92 -0
  152. package/node_modules/@aws-cdk/assert/package.json +77 -0
  153. package/node_modules/@aws-cdk/cfnspec/CHANGELOG.md +16795 -0
  154. package/node_modules/@aws-cdk/cfnspec/LICENSE +201 -0
  155. package/node_modules/@aws-cdk/cfnspec/NOTICE +2 -0
  156. package/node_modules/@aws-cdk/cfnspec/README.md +14 -0
  157. package/node_modules/@aws-cdk/cfnspec/build-tools/build.d.ts +1 -0
  158. package/node_modules/@aws-cdk/cfnspec/build-tools/build.js +37 -0
  159. package/node_modules/@aws-cdk/cfnspec/build-tools/create-missing-libraries.d.ts +6 -0
  160. package/node_modules/@aws-cdk/cfnspec/build-tools/create-missing-libraries.js +311 -0
  161. package/node_modules/@aws-cdk/cfnspec/build-tools/massage-spec.d.ts +10 -0
  162. package/node_modules/@aws-cdk/cfnspec/build-tools/massage-spec.js +70 -0
  163. package/node_modules/@aws-cdk/cfnspec/build-tools/patch-set.d.ts +25 -0
  164. package/node_modules/@aws-cdk/cfnspec/build-tools/patch-set.js +241 -0
  165. package/node_modules/@aws-cdk/cfnspec/build-tools/report-issues.d.ts +9 -0
  166. package/node_modules/@aws-cdk/cfnspec/build-tools/report-issues.js +72 -0
  167. package/node_modules/@aws-cdk/cfnspec/build-tools/scrutiny.d.ts +12 -0
  168. package/node_modules/@aws-cdk/cfnspec/build-tools/scrutiny.js +85 -0
  169. package/node_modules/@aws-cdk/cfnspec/build-tools/spec-diff.d.ts +1 -0
  170. package/node_modules/@aws-cdk/cfnspec/build-tools/spec-diff.js +248 -0
  171. package/node_modules/@aws-cdk/cfnspec/build-tools/split-spec-by-service.d.ts +1 -0
  172. package/node_modules/@aws-cdk/cfnspec/build-tools/split-spec-by-service.js +120 -0
  173. package/node_modules/@aws-cdk/cfnspec/build-tools/template/LICENSE +201 -0
  174. package/node_modules/@aws-cdk/cfnspec/build-tools/template/NOTICE +2 -0
  175. package/node_modules/@aws-cdk/cfnspec/build-tools/update-cfnlint.sh +18 -0
  176. package/node_modules/@aws-cdk/cfnspec/build-tools/update-metrics.sh +15 -0
  177. package/node_modules/@aws-cdk/cfnspec/build-tools/update.sh +113 -0
  178. package/node_modules/@aws-cdk/cfnspec/build-tools/validate-cfn.d.ts +67 -0
  179. package/node_modules/@aws-cdk/cfnspec/build-tools/validate-cfn.js +285 -0
  180. package/node_modules/@aws-cdk/cfnspec/cfn.version +1 -0
  181. package/node_modules/@aws-cdk/cfnspec/lib/_private_schema/cfn-lint.d.ts +24 -0
  182. package/node_modules/@aws-cdk/cfnspec/lib/_private_schema/cfn-lint.js +3 -0
  183. package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_EC2_VPNConnection.json +27 -0
  184. package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_Lambda_Function.json +27 -0
  185. package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_RDS_DBCluster.json +70 -0
  186. package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_RDS_DBInstance.json +37 -0
  187. package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_SNS_Topic.json +52 -0
  188. package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_SQS_Queue.json +53 -0
  189. package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics/README.md +168 -0
  190. package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics/canned-metrics-schema.d.ts +60 -0
  191. package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics/canned-metrics-schema.js +12 -0
  192. package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics/services.json +31957 -0
  193. package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics.d.ts +41 -0
  194. package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics.js +75 -0
  195. package/node_modules/@aws-cdk/cfnspec/lib/index.d.ts +63 -0
  196. package/node_modules/@aws-cdk/cfnspec/lib/index.js +200 -0
  197. package/node_modules/@aws-cdk/cfnspec/lib/schema/augmentation.d.ts +87 -0
  198. package/node_modules/@aws-cdk/cfnspec/lib/schema/augmentation.js +28 -0
  199. package/node_modules/@aws-cdk/cfnspec/lib/schema/base-types.d.ts +14 -0
  200. package/node_modules/@aws-cdk/cfnspec/lib/schema/base-types.js +29 -0
  201. package/node_modules/@aws-cdk/cfnspec/lib/schema/cfn-lint.d.ts +13 -0
  202. package/node_modules/@aws-cdk/cfnspec/lib/schema/cfn-lint.js +3 -0
  203. package/node_modules/@aws-cdk/cfnspec/lib/schema/docs.d.ts +20 -0
  204. package/node_modules/@aws-cdk/cfnspec/lib/schema/docs.js +3 -0
  205. package/node_modules/@aws-cdk/cfnspec/lib/schema/index.d.ts +7 -0
  206. package/node_modules/@aws-cdk/cfnspec/lib/schema/index.js +20 -0
  207. package/node_modules/@aws-cdk/cfnspec/lib/schema/property.d.ts +179 -0
  208. package/node_modules/@aws-cdk/cfnspec/lib/schema/property.js +168 -0
  209. package/node_modules/@aws-cdk/cfnspec/lib/schema/resource-type.d.ts +118 -0
  210. package/node_modules/@aws-cdk/cfnspec/lib/schema/resource-type.js +99 -0
  211. package/node_modules/@aws-cdk/cfnspec/lib/schema/specification.d.ts +56 -0
  212. package/node_modules/@aws-cdk/cfnspec/lib/schema/specification.js +11 -0
  213. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/CHANGELOG.md +902 -0
  214. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/LICENSE +15 -0
  215. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/README.md +264 -0
  216. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/copy/copy.js +232 -0
  217. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/copy/index.js +6 -0
  218. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/copy-sync/copy-sync.js +166 -0
  219. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/copy-sync/index.js +5 -0
  220. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/empty/index.js +48 -0
  221. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/ensure/file.js +69 -0
  222. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/ensure/index.js +23 -0
  223. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/ensure/link.js +61 -0
  224. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/ensure/symlink-paths.js +99 -0
  225. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/ensure/symlink-type.js +31 -0
  226. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/ensure/symlink.js +63 -0
  227. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/fs/index.js +130 -0
  228. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/index.js +27 -0
  229. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/json/index.js +16 -0
  230. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/json/jsonfile.js +11 -0
  231. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/json/output-json-sync.js +12 -0
  232. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/json/output-json.js +12 -0
  233. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/mkdirs/index.js +14 -0
  234. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/mkdirs/make-dir.js +141 -0
  235. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/move/index.js +6 -0
  236. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/move/move.js +65 -0
  237. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/move-sync/index.js +5 -0
  238. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/move-sync/move-sync.js +47 -0
  239. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/output/index.js +40 -0
  240. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/path-exists/index.js +12 -0
  241. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/remove/index.js +9 -0
  242. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/remove/rimraf.js +302 -0
  243. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/util/stat.js +139 -0
  244. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/lib/util/utimes.js +26 -0
  245. package/node_modules/@aws-cdk/cfnspec/node_modules/fs-extra/package.json +70 -0
  246. package/node_modules/@aws-cdk/cfnspec/node_modules/jsonfile/CHANGELOG.md +171 -0
  247. package/node_modules/@aws-cdk/cfnspec/node_modules/jsonfile/LICENSE +15 -0
  248. package/node_modules/@aws-cdk/cfnspec/node_modules/jsonfile/README.md +230 -0
  249. package/node_modules/@aws-cdk/cfnspec/node_modules/jsonfile/index.js +88 -0
  250. package/node_modules/@aws-cdk/cfnspec/node_modules/jsonfile/package.json +40 -0
  251. package/node_modules/@aws-cdk/cfnspec/node_modules/jsonfile/utils.js +14 -0
  252. package/node_modules/@aws-cdk/cfnspec/node_modules/universalify/LICENSE +20 -0
  253. package/node_modules/@aws-cdk/cfnspec/node_modules/universalify/README.md +76 -0
  254. package/node_modules/@aws-cdk/cfnspec/node_modules/universalify/index.js +24 -0
  255. package/node_modules/@aws-cdk/cfnspec/node_modules/universalify/package.json +34 -0
  256. package/node_modules/@aws-cdk/cfnspec/package.json +63 -0
  257. package/node_modules/@aws-cdk/cfnspec/spec/cfn-docs.json +51044 -0
  258. package/node_modules/@aws-cdk/cfnspec/spec/cfn-lint.json +35 -0
  259. package/node_modules/@aws-cdk/cfnspec/spec/specification.json +148332 -0
  260. package/node_modules/@aws-cdk/cloudformation-diff/LICENSE +201 -0
  261. package/node_modules/@aws-cdk/cloudformation-diff/NOTICE +2 -0
  262. package/node_modules/@aws-cdk/cloudformation-diff/README.md +12 -0
  263. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/index.d.ts +9 -0
  264. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/index.js +94 -0
  265. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/types.d.ts +326 -0
  266. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/types.js +457 -0
  267. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/util.d.ts +41 -0
  268. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/util.js +165 -0
  269. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff-template.d.ts +21 -0
  270. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff-template.js +166 -0
  271. package/node_modules/@aws-cdk/cloudformation-diff/lib/diffable.d.ts +22 -0
  272. package/node_modules/@aws-cdk/cloudformation-diff/lib/diffable.js +47 -0
  273. package/node_modules/@aws-cdk/cloudformation-diff/lib/format-table.d.ts +6 -0
  274. package/node_modules/@aws-cdk/cloudformation-diff/lib/format-table.js +109 -0
  275. package/node_modules/@aws-cdk/cloudformation-diff/lib/format.d.ts +23 -0
  276. package/node_modules/@aws-cdk/cloudformation-diff/lib/format.js +414 -0
  277. package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/iam-changes.d.ts +62 -0
  278. package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/iam-changes.js +246 -0
  279. package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/managed-policy.d.ts +18 -0
  280. package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/managed-policy.js +29 -0
  281. package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/statement.d.ts +127 -0
  282. package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/statement.js +268 -0
  283. package/node_modules/@aws-cdk/cloudformation-diff/lib/index.d.ts +4 -0
  284. package/node_modules/@aws-cdk/cloudformation-diff/lib/index.js +18 -0
  285. package/node_modules/@aws-cdk/cloudformation-diff/lib/network/security-group-changes.d.ts +32 -0
  286. package/node_modules/@aws-cdk/cloudformation-diff/lib/network/security-group-changes.js +95 -0
  287. package/node_modules/@aws-cdk/cloudformation-diff/lib/network/security-group-rule.d.ts +50 -0
  288. package/node_modules/@aws-cdk/cloudformation-diff/lib/network/security-group-rule.js +91 -0
  289. package/node_modules/@aws-cdk/cloudformation-diff/lib/render-intrinsics.d.ts +21 -0
  290. package/node_modules/@aws-cdk/cloudformation-diff/lib/render-intrinsics.js +79 -0
  291. package/node_modules/@aws-cdk/cloudformation-diff/lib/util.d.ts +7 -0
  292. package/node_modules/@aws-cdk/cloudformation-diff/lib/util.js +63 -0
  293. package/node_modules/@aws-cdk/cloudformation-diff/package.json +60 -0
  294. package/node_modules/ajv/.runkit_example.js +23 -0
  295. package/node_modules/ajv/LICENSE +22 -0
  296. package/node_modules/ajv/README.md +207 -0
  297. package/node_modules/ajv/dist/2019.d.ts +19 -0
  298. package/node_modules/ajv/dist/2019.js +61 -0
  299. package/node_modules/ajv/dist/2019.js.map +1 -0
  300. package/node_modules/ajv/dist/2020.d.ts +19 -0
  301. package/node_modules/ajv/dist/2020.js +55 -0
  302. package/node_modules/ajv/dist/2020.js.map +1 -0
  303. package/node_modules/ajv/dist/ajv.d.ts +18 -0
  304. package/node_modules/ajv/dist/ajv.js +50 -0
  305. package/node_modules/ajv/dist/ajv.js.map +1 -0
  306. package/node_modules/ajv/dist/compile/codegen/code.d.ts +40 -0
  307. package/node_modules/ajv/dist/compile/codegen/code.js +156 -0
  308. package/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
  309. package/node_modules/ajv/dist/compile/codegen/index.d.ts +79 -0
  310. package/node_modules/ajv/dist/compile/codegen/index.js +697 -0
  311. package/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
  312. package/node_modules/ajv/dist/compile/codegen/scope.d.ts +79 -0
  313. package/node_modules/ajv/dist/compile/codegen/scope.js +143 -0
  314. package/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
  315. package/node_modules/ajv/dist/compile/errors.d.ts +13 -0
  316. package/node_modules/ajv/dist/compile/errors.js +123 -0
  317. package/node_modules/ajv/dist/compile/errors.js.map +1 -0
  318. package/node_modules/ajv/dist/compile/index.d.ts +80 -0
  319. package/node_modules/ajv/dist/compile/index.js +242 -0
  320. package/node_modules/ajv/dist/compile/index.js.map +1 -0
  321. package/node_modules/ajv/dist/compile/jtd/parse.d.ts +4 -0
  322. package/node_modules/ajv/dist/compile/jtd/parse.js +350 -0
  323. package/node_modules/ajv/dist/compile/jtd/parse.js.map +1 -0
  324. package/node_modules/ajv/dist/compile/jtd/serialize.d.ts +4 -0
  325. package/node_modules/ajv/dist/compile/jtd/serialize.js +229 -0
  326. package/node_modules/ajv/dist/compile/jtd/serialize.js.map +1 -0
  327. package/node_modules/ajv/dist/compile/jtd/types.d.ts +6 -0
  328. package/node_modules/ajv/dist/compile/jtd/types.js +14 -0
  329. package/node_modules/ajv/dist/compile/jtd/types.js.map +1 -0
  330. package/node_modules/ajv/dist/compile/names.d.ts +20 -0
  331. package/node_modules/ajv/dist/compile/names.js +28 -0
  332. package/node_modules/ajv/dist/compile/names.js.map +1 -0
  333. package/node_modules/ajv/dist/compile/ref_error.d.ts +6 -0
  334. package/node_modules/ajv/dist/compile/ref_error.js +12 -0
  335. package/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
  336. package/node_modules/ajv/dist/compile/resolve.d.ts +12 -0
  337. package/node_modules/ajv/dist/compile/resolve.js +155 -0
  338. package/node_modules/ajv/dist/compile/resolve.js.map +1 -0
  339. package/node_modules/ajv/dist/compile/rules.d.ts +28 -0
  340. package/node_modules/ajv/dist/compile/rules.js +26 -0
  341. package/node_modules/ajv/dist/compile/rules.js.map +1 -0
  342. package/node_modules/ajv/dist/compile/util.d.ts +40 -0
  343. package/node_modules/ajv/dist/compile/util.js +178 -0
  344. package/node_modules/ajv/dist/compile/util.js.map +1 -0
  345. package/node_modules/ajv/dist/compile/validate/applicability.d.ts +6 -0
  346. package/node_modules/ajv/dist/compile/validate/applicability.js +19 -0
  347. package/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
  348. package/node_modules/ajv/dist/compile/validate/boolSchema.d.ts +4 -0
  349. package/node_modules/ajv/dist/compile/validate/boolSchema.js +50 -0
  350. package/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
  351. package/node_modules/ajv/dist/compile/validate/dataType.d.ts +17 -0
  352. package/node_modules/ajv/dist/compile/validate/dataType.js +203 -0
  353. package/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
  354. package/node_modules/ajv/dist/compile/validate/defaults.d.ts +2 -0
  355. package/node_modules/ajv/dist/compile/validate/defaults.js +35 -0
  356. package/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
  357. package/node_modules/ajv/dist/compile/validate/index.d.ts +42 -0
  358. package/node_modules/ajv/dist/compile/validate/index.js +520 -0
  359. package/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
  360. package/node_modules/ajv/dist/compile/validate/keyword.d.ts +8 -0
  361. package/node_modules/ajv/dist/compile/validate/keyword.js +124 -0
  362. package/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
  363. package/node_modules/ajv/dist/compile/validate/subschema.d.ts +47 -0
  364. package/node_modules/ajv/dist/compile/validate/subschema.js +81 -0
  365. package/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
  366. package/node_modules/ajv/dist/core.d.ts +173 -0
  367. package/node_modules/ajv/dist/core.js +618 -0
  368. package/node_modules/ajv/dist/core.js.map +1 -0
  369. package/node_modules/ajv/dist/jtd.d.ts +47 -0
  370. package/node_modules/ajv/dist/jtd.js +72 -0
  371. package/node_modules/ajv/dist/jtd.js.map +1 -0
  372. package/node_modules/ajv/dist/refs/data.json +13 -0
  373. package/node_modules/ajv/dist/refs/json-schema-2019-09/index.d.ts +2 -0
  374. package/node_modules/ajv/dist/refs/json-schema-2019-09/index.js +28 -0
  375. package/node_modules/ajv/dist/refs/json-schema-2019-09/index.js.map +1 -0
  376. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/applicator.json +53 -0
  377. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/content.json +17 -0
  378. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/core.json +57 -0
  379. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/format.json +14 -0
  380. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/meta-data.json +37 -0
  381. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/validation.json +90 -0
  382. package/node_modules/ajv/dist/refs/json-schema-2019-09/schema.json +39 -0
  383. package/node_modules/ajv/dist/refs/json-schema-2020-12/index.d.ts +2 -0
  384. package/node_modules/ajv/dist/refs/json-schema-2020-12/index.js +30 -0
  385. package/node_modules/ajv/dist/refs/json-schema-2020-12/index.js.map +1 -0
  386. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json +48 -0
  387. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json +17 -0
  388. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json +51 -0
  389. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
  390. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json +37 -0
  391. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
  392. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json +90 -0
  393. package/node_modules/ajv/dist/refs/json-schema-2020-12/schema.json +55 -0
  394. package/node_modules/ajv/dist/refs/json-schema-draft-06.json +137 -0
  395. package/node_modules/ajv/dist/refs/json-schema-draft-07.json +151 -0
  396. package/node_modules/ajv/dist/refs/json-schema-secure.json +88 -0
  397. package/node_modules/ajv/dist/refs/jtd-schema.d.ts +3 -0
  398. package/node_modules/ajv/dist/refs/jtd-schema.js +118 -0
  399. package/node_modules/ajv/dist/refs/jtd-schema.js.map +1 -0
  400. package/node_modules/ajv/dist/runtime/equal.d.ts +6 -0
  401. package/node_modules/ajv/dist/runtime/equal.js +7 -0
  402. package/node_modules/ajv/dist/runtime/equal.js.map +1 -0
  403. package/node_modules/ajv/dist/runtime/parseJson.d.ts +18 -0
  404. package/node_modules/ajv/dist/runtime/parseJson.js +185 -0
  405. package/node_modules/ajv/dist/runtime/parseJson.js.map +1 -0
  406. package/node_modules/ajv/dist/runtime/quote.d.ts +5 -0
  407. package/node_modules/ajv/dist/runtime/quote.js +30 -0
  408. package/node_modules/ajv/dist/runtime/quote.js.map +1 -0
  409. package/node_modules/ajv/dist/runtime/re2.d.ts +6 -0
  410. package/node_modules/ajv/dist/runtime/re2.js +6 -0
  411. package/node_modules/ajv/dist/runtime/re2.js.map +1 -0
  412. package/node_modules/ajv/dist/runtime/timestamp.d.ts +5 -0
  413. package/node_modules/ajv/dist/runtime/timestamp.js +42 -0
  414. package/node_modules/ajv/dist/runtime/timestamp.js.map +1 -0
  415. package/node_modules/ajv/dist/runtime/ucs2length.d.ts +5 -0
  416. package/node_modules/ajv/dist/runtime/ucs2length.js +24 -0
  417. package/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
  418. package/node_modules/ajv/dist/runtime/uri.d.ts +6 -0
  419. package/node_modules/ajv/dist/runtime/uri.js +6 -0
  420. package/node_modules/ajv/dist/runtime/uri.js.map +1 -0
  421. package/node_modules/ajv/dist/runtime/validation_error.d.ts +7 -0
  422. package/node_modules/ajv/dist/runtime/validation_error.js +11 -0
  423. package/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
  424. package/node_modules/ajv/dist/standalone/index.d.ts +6 -0
  425. package/node_modules/ajv/dist/standalone/index.js +90 -0
  426. package/node_modules/ajv/dist/standalone/index.js.map +1 -0
  427. package/node_modules/ajv/dist/standalone/instance.d.ts +12 -0
  428. package/node_modules/ajv/dist/standalone/instance.js +35 -0
  429. package/node_modules/ajv/dist/standalone/instance.js.map +1 -0
  430. package/node_modules/ajv/dist/types/index.d.ts +183 -0
  431. package/node_modules/ajv/dist/types/index.js +3 -0
  432. package/node_modules/ajv/dist/types/index.js.map +1 -0
  433. package/node_modules/ajv/dist/types/json-schema.d.ts +125 -0
  434. package/node_modules/ajv/dist/types/json-schema.js +3 -0
  435. package/node_modules/ajv/dist/types/json-schema.js.map +1 -0
  436. package/node_modules/ajv/dist/types/jtd-schema.d.ts +174 -0
  437. package/node_modules/ajv/dist/types/jtd-schema.js +3 -0
  438. package/node_modules/ajv/dist/types/jtd-schema.js.map +1 -0
  439. package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.d.ts +8 -0
  440. package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +49 -0
  441. package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
  442. package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.d.ts +6 -0
  443. package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +106 -0
  444. package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
  445. package/node_modules/ajv/dist/vocabularies/applicator/allOf.d.ts +3 -0
  446. package/node_modules/ajv/dist/vocabularies/applicator/allOf.js +23 -0
  447. package/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
  448. package/node_modules/ajv/dist/vocabularies/applicator/anyOf.d.ts +4 -0
  449. package/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +12 -0
  450. package/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
  451. package/node_modules/ajv/dist/vocabularies/applicator/contains.d.ts +7 -0
  452. package/node_modules/ajv/dist/vocabularies/applicator/contains.js +95 -0
  453. package/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
  454. package/node_modules/ajv/dist/vocabularies/applicator/dependencies.d.ts +21 -0
  455. package/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +85 -0
  456. package/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
  457. package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.d.ts +3 -0
  458. package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js +11 -0
  459. package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js.map +1 -0
  460. package/node_modules/ajv/dist/vocabularies/applicator/if.d.ts +6 -0
  461. package/node_modules/ajv/dist/vocabularies/applicator/if.js +66 -0
  462. package/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
  463. package/node_modules/ajv/dist/vocabularies/applicator/index.d.ts +13 -0
  464. package/node_modules/ajv/dist/vocabularies/applicator/index.js +44 -0
  465. package/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
  466. package/node_modules/ajv/dist/vocabularies/applicator/items.d.ts +5 -0
  467. package/node_modules/ajv/dist/vocabularies/applicator/items.js +52 -0
  468. package/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
  469. package/node_modules/ajv/dist/vocabularies/applicator/items2020.d.ts +6 -0
  470. package/node_modules/ajv/dist/vocabularies/applicator/items2020.js +30 -0
  471. package/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
  472. package/node_modules/ajv/dist/vocabularies/applicator/not.d.ts +4 -0
  473. package/node_modules/ajv/dist/vocabularies/applicator/not.js +26 -0
  474. package/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
  475. package/node_modules/ajv/dist/vocabularies/applicator/oneOf.d.ts +6 -0
  476. package/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +60 -0
  477. package/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
  478. package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.d.ts +3 -0
  479. package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +75 -0
  480. package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
  481. package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.d.ts +3 -0
  482. package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +12 -0
  483. package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
  484. package/node_modules/ajv/dist/vocabularies/applicator/properties.d.ts +3 -0
  485. package/node_modules/ajv/dist/vocabularies/applicator/properties.js +54 -0
  486. package/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
  487. package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.d.ts +6 -0
  488. package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +38 -0
  489. package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
  490. package/node_modules/ajv/dist/vocabularies/applicator/thenElse.d.ts +3 -0
  491. package/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +13 -0
  492. package/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
  493. package/node_modules/ajv/dist/vocabularies/code.d.ts +17 -0
  494. package/node_modules/ajv/dist/vocabularies/code.js +131 -0
  495. package/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
  496. package/node_modules/ajv/dist/vocabularies/core/id.d.ts +3 -0
  497. package/node_modules/ajv/dist/vocabularies/core/id.js +10 -0
  498. package/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
  499. package/node_modules/ajv/dist/vocabularies/core/index.d.ts +3 -0
  500. package/node_modules/ajv/dist/vocabularies/core/index.js +16 -0
  501. package/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
  502. package/node_modules/ajv/dist/vocabularies/core/ref.d.ts +8 -0
  503. package/node_modules/ajv/dist/vocabularies/core/ref.js +122 -0
  504. package/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
  505. package/node_modules/ajv/dist/vocabularies/discriminator/index.d.ts +5 -0
  506. package/node_modules/ajv/dist/vocabularies/discriminator/index.js +104 -0
  507. package/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
  508. package/node_modules/ajv/dist/vocabularies/discriminator/types.d.ts +10 -0
  509. package/node_modules/ajv/dist/vocabularies/discriminator/types.js +9 -0
  510. package/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
  511. package/node_modules/ajv/dist/vocabularies/draft2020.d.ts +3 -0
  512. package/node_modules/ajv/dist/vocabularies/draft2020.js +23 -0
  513. package/node_modules/ajv/dist/vocabularies/draft2020.js.map +1 -0
  514. package/node_modules/ajv/dist/vocabularies/draft7.d.ts +3 -0
  515. package/node_modules/ajv/dist/vocabularies/draft7.js +17 -0
  516. package/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
  517. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.d.ts +5 -0
  518. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +30 -0
  519. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js.map +1 -0
  520. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.d.ts +5 -0
  521. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js +51 -0
  522. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js.map +1 -0
  523. package/node_modules/ajv/dist/vocabularies/dynamic/index.d.ts +3 -0
  524. package/node_modules/ajv/dist/vocabularies/dynamic/index.js +9 -0
  525. package/node_modules/ajv/dist/vocabularies/dynamic/index.js.map +1 -0
  526. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.d.ts +3 -0
  527. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +16 -0
  528. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js.map +1 -0
  529. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.d.ts +3 -0
  530. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js +10 -0
  531. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js.map +1 -0
  532. package/node_modules/ajv/dist/vocabularies/errors.d.ts +9 -0
  533. package/node_modules/ajv/dist/vocabularies/errors.js +3 -0
  534. package/node_modules/ajv/dist/vocabularies/errors.js.map +1 -0
  535. package/node_modules/ajv/dist/vocabularies/format/format.d.ts +8 -0
  536. package/node_modules/ajv/dist/vocabularies/format/format.js +92 -0
  537. package/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
  538. package/node_modules/ajv/dist/vocabularies/format/index.d.ts +3 -0
  539. package/node_modules/ajv/dist/vocabularies/format/index.js +6 -0
  540. package/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
  541. package/node_modules/ajv/dist/vocabularies/jtd/discriminator.d.ts +6 -0
  542. package/node_modules/ajv/dist/vocabularies/jtd/discriminator.js +71 -0
  543. package/node_modules/ajv/dist/vocabularies/jtd/discriminator.js.map +1 -0
  544. package/node_modules/ajv/dist/vocabularies/jtd/elements.d.ts +5 -0
  545. package/node_modules/ajv/dist/vocabularies/jtd/elements.js +24 -0
  546. package/node_modules/ajv/dist/vocabularies/jtd/elements.js.map +1 -0
  547. package/node_modules/ajv/dist/vocabularies/jtd/enum.d.ts +6 -0
  548. package/node_modules/ajv/dist/vocabularies/jtd/enum.js +43 -0
  549. package/node_modules/ajv/dist/vocabularies/jtd/enum.js.map +1 -0
  550. package/node_modules/ajv/dist/vocabularies/jtd/error.d.ts +9 -0
  551. package/node_modules/ajv/dist/vocabularies/jtd/error.js +20 -0
  552. package/node_modules/ajv/dist/vocabularies/jtd/error.js.map +1 -0
  553. package/node_modules/ajv/dist/vocabularies/jtd/index.d.ts +10 -0
  554. package/node_modules/ajv/dist/vocabularies/jtd/index.js +29 -0
  555. package/node_modules/ajv/dist/vocabularies/jtd/index.js.map +1 -0
  556. package/node_modules/ajv/dist/vocabularies/jtd/metadata.d.ts +5 -0
  557. package/node_modules/ajv/dist/vocabularies/jtd/metadata.js +25 -0
  558. package/node_modules/ajv/dist/vocabularies/jtd/metadata.js.map +1 -0
  559. package/node_modules/ajv/dist/vocabularies/jtd/nullable.d.ts +4 -0
  560. package/node_modules/ajv/dist/vocabularies/jtd/nullable.js +22 -0
  561. package/node_modules/ajv/dist/vocabularies/jtd/nullable.js.map +1 -0
  562. package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.d.ts +3 -0
  563. package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js +15 -0
  564. package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js.map +1 -0
  565. package/node_modules/ajv/dist/vocabularies/jtd/properties.d.ts +22 -0
  566. package/node_modules/ajv/dist/vocabularies/jtd/properties.js +149 -0
  567. package/node_modules/ajv/dist/vocabularies/jtd/properties.js.map +1 -0
  568. package/node_modules/ajv/dist/vocabularies/jtd/ref.d.ts +4 -0
  569. package/node_modules/ajv/dist/vocabularies/jtd/ref.js +67 -0
  570. package/node_modules/ajv/dist/vocabularies/jtd/ref.js.map +1 -0
  571. package/node_modules/ajv/dist/vocabularies/jtd/type.d.ts +10 -0
  572. package/node_modules/ajv/dist/vocabularies/jtd/type.js +69 -0
  573. package/node_modules/ajv/dist/vocabularies/jtd/type.js.map +1 -0
  574. package/node_modules/ajv/dist/vocabularies/jtd/union.d.ts +3 -0
  575. package/node_modules/ajv/dist/vocabularies/jtd/union.js +12 -0
  576. package/node_modules/ajv/dist/vocabularies/jtd/union.js.map +1 -0
  577. package/node_modules/ajv/dist/vocabularies/jtd/values.d.ts +5 -0
  578. package/node_modules/ajv/dist/vocabularies/jtd/values.js +51 -0
  579. package/node_modules/ajv/dist/vocabularies/jtd/values.js.map +1 -0
  580. package/node_modules/ajv/dist/vocabularies/metadata.d.ts +3 -0
  581. package/node_modules/ajv/dist/vocabularies/metadata.js +18 -0
  582. package/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
  583. package/node_modules/ajv/dist/vocabularies/next.d.ts +3 -0
  584. package/node_modules/ajv/dist/vocabularies/next.js +8 -0
  585. package/node_modules/ajv/dist/vocabularies/next.js.map +1 -0
  586. package/node_modules/ajv/dist/vocabularies/unevaluated/index.d.ts +3 -0
  587. package/node_modules/ajv/dist/vocabularies/unevaluated/index.js +7 -0
  588. package/node_modules/ajv/dist/vocabularies/unevaluated/index.js.map +1 -0
  589. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.d.ts +6 -0
  590. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +40 -0
  591. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js.map +1 -0
  592. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts +6 -0
  593. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +65 -0
  594. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js.map +1 -0
  595. package/node_modules/ajv/dist/vocabularies/validation/const.d.ts +6 -0
  596. package/node_modules/ajv/dist/vocabularies/validation/const.js +25 -0
  597. package/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
  598. package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.d.ts +5 -0
  599. package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js +12 -0
  600. package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js.map +1 -0
  601. package/node_modules/ajv/dist/vocabularies/validation/enum.d.ts +8 -0
  602. package/node_modules/ajv/dist/vocabularies/validation/enum.js +48 -0
  603. package/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
  604. package/node_modules/ajv/dist/vocabularies/validation/index.d.ts +16 -0
  605. package/node_modules/ajv/dist/vocabularies/validation/index.js +33 -0
  606. package/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
  607. package/node_modules/ajv/dist/vocabularies/validation/limitContains.d.ts +3 -0
  608. package/node_modules/ajv/dist/vocabularies/validation/limitContains.js +15 -0
  609. package/node_modules/ajv/dist/vocabularies/validation/limitContains.js.map +1 -0
  610. package/node_modules/ajv/dist/vocabularies/validation/limitItems.d.ts +3 -0
  611. package/node_modules/ajv/dist/vocabularies/validation/limitItems.js +24 -0
  612. package/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
  613. package/node_modules/ajv/dist/vocabularies/validation/limitLength.d.ts +3 -0
  614. package/node_modules/ajv/dist/vocabularies/validation/limitLength.js +27 -0
  615. package/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
  616. package/node_modules/ajv/dist/vocabularies/validation/limitNumber.d.ts +11 -0
  617. package/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +27 -0
  618. package/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
  619. package/node_modules/ajv/dist/vocabularies/validation/limitProperties.d.ts +3 -0
  620. package/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +24 -0
  621. package/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
  622. package/node_modules/ajv/dist/vocabularies/validation/multipleOf.d.ts +8 -0
  623. package/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +26 -0
  624. package/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
  625. package/node_modules/ajv/dist/vocabularies/validation/pattern.d.ts +8 -0
  626. package/node_modules/ajv/dist/vocabularies/validation/pattern.js +24 -0
  627. package/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
  628. package/node_modules/ajv/dist/vocabularies/validation/required.d.ts +8 -0
  629. package/node_modules/ajv/dist/vocabularies/validation/required.js +79 -0
  630. package/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
  631. package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.d.ts +9 -0
  632. package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +64 -0
  633. package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
  634. package/node_modules/ajv/lib/2019.ts +81 -0
  635. package/node_modules/ajv/lib/2020.ts +75 -0
  636. package/node_modules/ajv/lib/ajv.ts +70 -0
  637. package/node_modules/ajv/lib/compile/codegen/code.ts +169 -0
  638. package/node_modules/ajv/lib/compile/codegen/index.ts +852 -0
  639. package/node_modules/ajv/lib/compile/codegen/scope.ts +215 -0
  640. package/node_modules/ajv/lib/compile/errors.ts +184 -0
  641. package/node_modules/ajv/lib/compile/index.ts +324 -0
  642. package/node_modules/ajv/lib/compile/jtd/parse.ts +411 -0
  643. package/node_modules/ajv/lib/compile/jtd/serialize.ts +266 -0
  644. package/node_modules/ajv/lib/compile/jtd/types.ts +16 -0
  645. package/node_modules/ajv/lib/compile/names.ts +27 -0
  646. package/node_modules/ajv/lib/compile/ref_error.ts +13 -0
  647. package/node_modules/ajv/lib/compile/resolve.ts +149 -0
  648. package/node_modules/ajv/lib/compile/rules.ts +50 -0
  649. package/node_modules/ajv/lib/compile/util.ts +213 -0
  650. package/node_modules/ajv/lib/compile/validate/applicability.ts +22 -0
  651. package/node_modules/ajv/lib/compile/validate/boolSchema.ts +47 -0
  652. package/node_modules/ajv/lib/compile/validate/dataType.ts +230 -0
  653. package/node_modules/ajv/lib/compile/validate/defaults.ts +32 -0
  654. package/node_modules/ajv/lib/compile/validate/index.ts +582 -0
  655. package/node_modules/ajv/lib/compile/validate/keyword.ts +171 -0
  656. package/node_modules/ajv/lib/compile/validate/subschema.ts +135 -0
  657. package/node_modules/ajv/lib/core.ts +891 -0
  658. package/node_modules/ajv/lib/jtd.ts +132 -0
  659. package/node_modules/ajv/lib/refs/data.json +13 -0
  660. package/node_modules/ajv/lib/refs/json-schema-2019-09/index.ts +28 -0
  661. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/applicator.json +53 -0
  662. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/content.json +17 -0
  663. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/core.json +57 -0
  664. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/format.json +14 -0
  665. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/meta-data.json +37 -0
  666. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/validation.json +90 -0
  667. package/node_modules/ajv/lib/refs/json-schema-2019-09/schema.json +39 -0
  668. package/node_modules/ajv/lib/refs/json-schema-2020-12/index.ts +30 -0
  669. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/applicator.json +48 -0
  670. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/content.json +17 -0
  671. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/core.json +51 -0
  672. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
  673. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/meta-data.json +37 -0
  674. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
  675. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/validation.json +90 -0
  676. package/node_modules/ajv/lib/refs/json-schema-2020-12/schema.json +55 -0
  677. package/node_modules/ajv/lib/refs/json-schema-draft-06.json +137 -0
  678. package/node_modules/ajv/lib/refs/json-schema-draft-07.json +151 -0
  679. package/node_modules/ajv/lib/refs/json-schema-secure.json +88 -0
  680. package/node_modules/ajv/lib/refs/jtd-schema.ts +130 -0
  681. package/node_modules/ajv/lib/runtime/equal.ts +7 -0
  682. package/node_modules/ajv/lib/runtime/parseJson.ts +177 -0
  683. package/node_modules/ajv/lib/runtime/quote.ts +31 -0
  684. package/node_modules/ajv/lib/runtime/re2.ts +6 -0
  685. package/node_modules/ajv/lib/runtime/timestamp.ts +46 -0
  686. package/node_modules/ajv/lib/runtime/ucs2length.ts +20 -0
  687. package/node_modules/ajv/lib/runtime/uri.ts +6 -0
  688. package/node_modules/ajv/lib/runtime/validation_error.ts +13 -0
  689. package/node_modules/ajv/lib/standalone/index.ts +100 -0
  690. package/node_modules/ajv/lib/standalone/instance.ts +36 -0
  691. package/node_modules/ajv/lib/types/index.ts +244 -0
  692. package/node_modules/ajv/lib/types/json-schema.ts +187 -0
  693. package/node_modules/ajv/lib/types/jtd-schema.ts +273 -0
  694. package/node_modules/ajv/lib/vocabularies/applicator/additionalItems.ts +56 -0
  695. package/node_modules/ajv/lib/vocabularies/applicator/additionalProperties.ts +118 -0
  696. package/node_modules/ajv/lib/vocabularies/applicator/allOf.ts +22 -0
  697. package/node_modules/ajv/lib/vocabularies/applicator/anyOf.ts +14 -0
  698. package/node_modules/ajv/lib/vocabularies/applicator/contains.ts +109 -0
  699. package/node_modules/ajv/lib/vocabularies/applicator/dependencies.ts +112 -0
  700. package/node_modules/ajv/lib/vocabularies/applicator/dependentSchemas.ts +11 -0
  701. package/node_modules/ajv/lib/vocabularies/applicator/if.ts +80 -0
  702. package/node_modules/ajv/lib/vocabularies/applicator/index.ts +53 -0
  703. package/node_modules/ajv/lib/vocabularies/applicator/items.ts +59 -0
  704. package/node_modules/ajv/lib/vocabularies/applicator/items2020.ts +36 -0
  705. package/node_modules/ajv/lib/vocabularies/applicator/not.ts +38 -0
  706. package/node_modules/ajv/lib/vocabularies/applicator/oneOf.ts +82 -0
  707. package/node_modules/ajv/lib/vocabularies/applicator/patternProperties.ts +91 -0
  708. package/node_modules/ajv/lib/vocabularies/applicator/prefixItems.ts +12 -0
  709. package/node_modules/ajv/lib/vocabularies/applicator/properties.ts +57 -0
  710. package/node_modules/ajv/lib/vocabularies/applicator/propertyNames.ts +50 -0
  711. package/node_modules/ajv/lib/vocabularies/applicator/thenElse.ts +13 -0
  712. package/node_modules/ajv/lib/vocabularies/code.ts +168 -0
  713. package/node_modules/ajv/lib/vocabularies/core/id.ts +10 -0
  714. package/node_modules/ajv/lib/vocabularies/core/index.ts +16 -0
  715. package/node_modules/ajv/lib/vocabularies/core/ref.ts +129 -0
  716. package/node_modules/ajv/lib/vocabularies/discriminator/index.ts +113 -0
  717. package/node_modules/ajv/lib/vocabularies/discriminator/types.ts +12 -0
  718. package/node_modules/ajv/lib/vocabularies/draft2020.ts +23 -0
  719. package/node_modules/ajv/lib/vocabularies/draft7.ts +17 -0
  720. package/node_modules/ajv/lib/vocabularies/dynamic/dynamicAnchor.ts +31 -0
  721. package/node_modules/ajv/lib/vocabularies/dynamic/dynamicRef.ts +51 -0
  722. package/node_modules/ajv/lib/vocabularies/dynamic/index.ts +9 -0
  723. package/node_modules/ajv/lib/vocabularies/dynamic/recursiveAnchor.ts +14 -0
  724. package/node_modules/ajv/lib/vocabularies/dynamic/recursiveRef.ts +10 -0
  725. package/node_modules/ajv/lib/vocabularies/errors.ts +18 -0
  726. package/node_modules/ajv/lib/vocabularies/format/format.ts +120 -0
  727. package/node_modules/ajv/lib/vocabularies/format/index.ts +6 -0
  728. package/node_modules/ajv/lib/vocabularies/jtd/discriminator.ts +89 -0
  729. package/node_modules/ajv/lib/vocabularies/jtd/elements.ts +32 -0
  730. package/node_modules/ajv/lib/vocabularies/jtd/enum.ts +45 -0
  731. package/node_modules/ajv/lib/vocabularies/jtd/error.ts +23 -0
  732. package/node_modules/ajv/lib/vocabularies/jtd/index.ts +37 -0
  733. package/node_modules/ajv/lib/vocabularies/jtd/metadata.ts +24 -0
  734. package/node_modules/ajv/lib/vocabularies/jtd/nullable.ts +21 -0
  735. package/node_modules/ajv/lib/vocabularies/jtd/optionalProperties.ts +15 -0
  736. package/node_modules/ajv/lib/vocabularies/jtd/properties.ts +184 -0
  737. package/node_modules/ajv/lib/vocabularies/jtd/ref.ts +76 -0
  738. package/node_modules/ajv/lib/vocabularies/jtd/type.ts +75 -0
  739. package/node_modules/ajv/lib/vocabularies/jtd/union.ts +12 -0
  740. package/node_modules/ajv/lib/vocabularies/jtd/values.ts +58 -0
  741. package/node_modules/ajv/lib/vocabularies/metadata.ts +17 -0
  742. package/node_modules/ajv/lib/vocabularies/next.ts +8 -0
  743. package/node_modules/ajv/lib/vocabularies/unevaluated/index.ts +7 -0
  744. package/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedItems.ts +47 -0
  745. package/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedProperties.ts +85 -0
  746. package/node_modules/ajv/lib/vocabularies/validation/const.ts +28 -0
  747. package/node_modules/ajv/lib/vocabularies/validation/dependentRequired.ts +23 -0
  748. package/node_modules/ajv/lib/vocabularies/validation/enum.ts +54 -0
  749. package/node_modules/ajv/lib/vocabularies/validation/index.ts +49 -0
  750. package/node_modules/ajv/lib/vocabularies/validation/limitContains.ts +16 -0
  751. package/node_modules/ajv/lib/vocabularies/validation/limitItems.ts +26 -0
  752. package/node_modules/ajv/lib/vocabularies/validation/limitLength.ts +30 -0
  753. package/node_modules/ajv/lib/vocabularies/validation/limitNumber.ts +42 -0
  754. package/node_modules/ajv/lib/vocabularies/validation/limitProperties.ts +26 -0
  755. package/node_modules/ajv/lib/vocabularies/validation/multipleOf.ts +34 -0
  756. package/node_modules/ajv/lib/vocabularies/validation/pattern.ts +28 -0
  757. package/node_modules/ajv/lib/vocabularies/validation/required.ts +98 -0
  758. package/node_modules/ajv/lib/vocabularies/validation/uniqueItems.ts +79 -0
  759. package/node_modules/ajv/package.json +126 -0
  760. package/node_modules/ansi-regex/index.d.ts +37 -0
  761. package/node_modules/ansi-regex/index.js +10 -0
  762. package/node_modules/ansi-regex/license +9 -0
  763. package/node_modules/ansi-regex/package.json +55 -0
  764. package/node_modules/ansi-regex/readme.md +78 -0
  765. package/node_modules/ansi-styles/index.d.ts +345 -0
  766. package/node_modules/ansi-styles/index.js +163 -0
  767. package/node_modules/ansi-styles/license +9 -0
  768. package/node_modules/ansi-styles/package.json +56 -0
  769. package/node_modules/ansi-styles/readme.md +152 -0
  770. package/node_modules/astral-regex/index.d.ts +28 -0
  771. package/node_modules/astral-regex/index.js +6 -0
  772. package/node_modules/astral-regex/license +9 -0
  773. package/node_modules/astral-regex/package.json +33 -0
  774. package/node_modules/astral-regex/readme.md +46 -0
  775. package/node_modules/at-least-node/LICENSE +6 -0
  776. package/node_modules/at-least-node/README.md +25 -0
  777. package/node_modules/at-least-node/index.js +5 -0
  778. package/node_modules/at-least-node/package.json +32 -0
  779. package/node_modules/chalk/index.d.ts +415 -0
  780. package/node_modules/chalk/license +9 -0
  781. package/node_modules/chalk/package.json +68 -0
  782. package/node_modules/chalk/readme.md +341 -0
  783. package/node_modules/chalk/source/index.js +229 -0
  784. package/node_modules/chalk/source/templates.js +134 -0
  785. package/node_modules/chalk/source/util.js +39 -0
  786. package/node_modules/color-convert/CHANGELOG.md +54 -0
  787. package/node_modules/color-convert/LICENSE +21 -0
  788. package/node_modules/color-convert/README.md +68 -0
  789. package/node_modules/color-convert/conversions.js +839 -0
  790. package/node_modules/color-convert/index.js +81 -0
  791. package/node_modules/color-convert/package.json +48 -0
  792. package/node_modules/color-convert/route.js +97 -0
  793. package/node_modules/color-name/LICENSE +8 -0
  794. package/node_modules/color-name/README.md +11 -0
  795. package/node_modules/color-name/index.js +152 -0
  796. package/node_modules/color-name/package.json +28 -0
  797. package/node_modules/diff/CONTRIBUTING.md +36 -0
  798. package/node_modules/diff/LICENSE +29 -0
  799. package/node_modules/diff/README.md +339 -0
  800. package/node_modules/diff/dist/diff.js +1730 -0
  801. package/node_modules/diff/dist/diff.min.js +1 -0
  802. package/node_modules/diff/lib/convert/dmp.js +32 -0
  803. package/node_modules/diff/lib/convert/xml.js +42 -0
  804. package/node_modules/diff/lib/diff/array.js +45 -0
  805. package/node_modules/diff/lib/diff/base.js +358 -0
  806. package/node_modules/diff/lib/diff/character.js +37 -0
  807. package/node_modules/diff/lib/diff/css.js +41 -0
  808. package/node_modules/diff/lib/diff/json.js +163 -0
  809. package/node_modules/diff/lib/diff/line.js +94 -0
  810. package/node_modules/diff/lib/diff/sentence.js +41 -0
  811. package/node_modules/diff/lib/diff/word.js +108 -0
  812. package/node_modules/diff/lib/index.es6.js +1699 -0
  813. package/node_modules/diff/lib/index.js +234 -0
  814. package/node_modules/diff/lib/index.mjs +1699 -0
  815. package/node_modules/diff/lib/patch/apply.js +238 -0
  816. package/node_modules/diff/lib/patch/create.js +276 -0
  817. package/node_modules/diff/lib/patch/merge.js +613 -0
  818. package/node_modules/diff/lib/patch/parse.js +167 -0
  819. package/node_modules/diff/lib/patch/reverse.js +63 -0
  820. package/node_modules/diff/lib/util/array.js +32 -0
  821. package/node_modules/diff/lib/util/distance-iterator.js +57 -0
  822. package/node_modules/diff/lib/util/params.js +24 -0
  823. package/node_modules/diff/package.json +89 -0
  824. package/node_modules/diff/release-notes.md +317 -0
  825. package/node_modules/diff/runtime.js +3 -0
  826. package/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  827. package/node_modules/emoji-regex/README.md +73 -0
  828. package/node_modules/emoji-regex/es2015/index.js +6 -0
  829. package/node_modules/emoji-regex/es2015/text.js +6 -0
  830. package/node_modules/emoji-regex/index.d.ts +23 -0
  831. package/node_modules/emoji-regex/index.js +6 -0
  832. package/node_modules/emoji-regex/package.json +50 -0
  833. package/node_modules/emoji-regex/text.js +6 -0
  834. package/node_modules/fast-deep-equal/LICENSE +21 -0
  835. package/node_modules/fast-deep-equal/README.md +96 -0
  836. package/node_modules/fast-deep-equal/es6/index.d.ts +2 -0
  837. package/node_modules/fast-deep-equal/es6/index.js +72 -0
  838. package/node_modules/fast-deep-equal/es6/react.d.ts +2 -0
  839. package/node_modules/fast-deep-equal/es6/react.js +79 -0
  840. package/node_modules/fast-deep-equal/index.d.ts +4 -0
  841. package/node_modules/fast-deep-equal/index.js +46 -0
  842. package/node_modules/fast-deep-equal/package.json +61 -0
  843. package/node_modules/fast-deep-equal/react.d.ts +2 -0
  844. package/node_modules/fast-deep-equal/react.js +53 -0
  845. package/node_modules/fast-uri/.gitattributes +2 -0
  846. package/node_modules/fast-uri/.github/.stale.yml +21 -0
  847. package/node_modules/fast-uri/.github/dependabot.yml +13 -0
  848. package/node_modules/fast-uri/.github/tests_checker.yml +8 -0
  849. package/node_modules/fast-uri/.github/workflows/ci.yml +23 -0
  850. package/node_modules/fast-uri/.github/workflows/package-manager-ci.yml +20 -0
  851. package/node_modules/fast-uri/LICENSE +30 -0
  852. package/node_modules/fast-uri/README.md +125 -0
  853. package/node_modules/fast-uri/benchmark.js +105 -0
  854. package/node_modules/fast-uri/index.js +303 -0
  855. package/node_modules/fast-uri/lib/schemes.js +188 -0
  856. package/node_modules/fast-uri/lib/scopedChars.js +30 -0
  857. package/node_modules/fast-uri/lib/utils.js +242 -0
  858. package/node_modules/fast-uri/package.json +39 -0
  859. package/node_modules/fast-uri/test/.gitkeep +0 -0
  860. package/node_modules/fast-uri/test/ajv.test.js +39 -0
  861. package/node_modules/fast-uri/test/compatibility.test.js +131 -0
  862. package/node_modules/fast-uri/test/equal.test.js +103 -0
  863. package/node_modules/fast-uri/test/parse.test.js +318 -0
  864. package/node_modules/fast-uri/test/resolve.test.js +75 -0
  865. package/node_modules/fast-uri/test/serialize.test.js +143 -0
  866. package/node_modules/fast-uri/test/uri-js.test.js +912 -0
  867. package/node_modules/fast-uri/test/util.test.js +23 -0
  868. package/node_modules/fast-uri/types/index.d.ts +53 -0
  869. package/node_modules/fast-uri/types/index.test-d.ts +17 -0
  870. package/node_modules/graphql-mapping-template/CHANGELOG.md +4 -0
  871. package/node_modules/graphql-mapping-template/LICENSE +201 -0
  872. package/node_modules/graphql-mapping-template/jest.config.js +12 -0
  873. package/node_modules/graphql-mapping-template/package.json +2 -41
  874. package/node_modules/graphql-transformer-common/CHANGELOG.md +4 -0
  875. package/node_modules/graphql-transformer-common/LICENSE +201 -0
  876. package/node_modules/graphql-transformer-common/jest.config.js +12 -0
  877. package/node_modules/graphql-transformer-common/package.json +3 -42
  878. package/node_modules/has-flag/index.d.ts +39 -0
  879. package/node_modules/has-flag/index.js +8 -0
  880. package/node_modules/has-flag/license +9 -0
  881. package/node_modules/has-flag/package.json +46 -0
  882. package/node_modules/has-flag/readme.md +89 -0
  883. package/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
  884. package/node_modules/is-fullwidth-code-point/index.js +50 -0
  885. package/node_modules/is-fullwidth-code-point/license +9 -0
  886. package/node_modules/is-fullwidth-code-point/package.json +42 -0
  887. package/node_modules/is-fullwidth-code-point/readme.md +39 -0
  888. package/node_modules/json-schema-traverse/.eslintrc.yml +27 -0
  889. package/node_modules/json-schema-traverse/.github/FUNDING.yml +2 -0
  890. package/node_modules/json-schema-traverse/.github/workflows/build.yml +28 -0
  891. package/node_modules/json-schema-traverse/.github/workflows/publish.yml +27 -0
  892. package/node_modules/json-schema-traverse/LICENSE +21 -0
  893. package/node_modules/json-schema-traverse/README.md +95 -0
  894. package/node_modules/json-schema-traverse/index.d.ts +40 -0
  895. package/node_modules/json-schema-traverse/index.js +93 -0
  896. package/node_modules/json-schema-traverse/package.json +43 -0
  897. package/node_modules/json-schema-traverse/spec/.eslintrc.yml +6 -0
  898. package/node_modules/json-schema-traverse/spec/fixtures/schema.js +125 -0
  899. package/node_modules/json-schema-traverse/spec/index.spec.js +171 -0
  900. package/node_modules/lodash.truncate/LICENSE +47 -0
  901. package/node_modules/lodash.truncate/README.md +18 -0
  902. package/node_modules/lodash.truncate/index.js +632 -0
  903. package/node_modules/lodash.truncate/package.json +17 -0
  904. package/node_modules/require-from-string/index.js +34 -0
  905. package/node_modules/require-from-string/license +21 -0
  906. package/node_modules/require-from-string/package.json +28 -0
  907. package/node_modules/require-from-string/readme.md +56 -0
  908. package/node_modules/slice-ansi/index.js +103 -0
  909. package/node_modules/slice-ansi/license +10 -0
  910. package/node_modules/slice-ansi/package.json +52 -0
  911. package/node_modules/slice-ansi/readme.md +66 -0
  912. package/node_modules/string-width/index.d.ts +29 -0
  913. package/node_modules/string-width/index.js +47 -0
  914. package/node_modules/string-width/license +9 -0
  915. package/node_modules/string-width/package.json +56 -0
  916. package/node_modules/string-width/readme.md +50 -0
  917. package/node_modules/strip-ansi/index.d.ts +17 -0
  918. package/node_modules/strip-ansi/index.js +4 -0
  919. package/node_modules/strip-ansi/license +9 -0
  920. package/node_modules/strip-ansi/package.json +54 -0
  921. package/node_modules/strip-ansi/readme.md +46 -0
  922. package/node_modules/supports-color/browser.js +5 -0
  923. package/node_modules/supports-color/index.js +135 -0
  924. package/node_modules/supports-color/license +9 -0
  925. package/node_modules/supports-color/package.json +53 -0
  926. package/node_modules/supports-color/readme.md +76 -0
  927. package/node_modules/table/LICENSE +24 -0
  928. package/node_modules/table/README.md +837 -0
  929. package/node_modules/table/dist/src/alignSpanningCell.d.ts +7 -0
  930. package/node_modules/table/dist/src/alignSpanningCell.js +48 -0
  931. package/node_modules/table/dist/src/alignSpanningCell.js.map +1 -0
  932. package/node_modules/table/dist/src/alignString.d.ts +6 -0
  933. package/node_modules/table/dist/src/alignString.js +60 -0
  934. package/node_modules/table/dist/src/alignString.js.map +1 -0
  935. package/node_modules/table/dist/src/alignTableData.d.ts +2 -0
  936. package/node_modules/table/dist/src/alignTableData.js +20 -0
  937. package/node_modules/table/dist/src/alignTableData.js.map +1 -0
  938. package/node_modules/table/dist/src/calculateCellHeight.d.ts +4 -0
  939. package/node_modules/table/dist/src/calculateCellHeight.js +12 -0
  940. package/node_modules/table/dist/src/calculateCellHeight.js.map +1 -0
  941. package/node_modules/table/dist/src/calculateMaximumColumnWidths.d.ts +7 -0
  942. package/node_modules/table/dist/src/calculateMaximumColumnWidths.js +36 -0
  943. package/node_modules/table/dist/src/calculateMaximumColumnWidths.js.map +1 -0
  944. package/node_modules/table/dist/src/calculateOutputColumnWidths.d.ts +2 -0
  945. package/node_modules/table/dist/src/calculateOutputColumnWidths.js +10 -0
  946. package/node_modules/table/dist/src/calculateOutputColumnWidths.js.map +1 -0
  947. package/node_modules/table/dist/src/calculateRowHeights.d.ts +5 -0
  948. package/node_modules/table/dist/src/calculateRowHeights.js +42 -0
  949. package/node_modules/table/dist/src/calculateRowHeights.js.map +1 -0
  950. package/node_modules/table/dist/src/calculateSpanningCellWidth.d.ts +3 -0
  951. package/node_modules/table/dist/src/calculateSpanningCellWidth.js +26 -0
  952. package/node_modules/table/dist/src/calculateSpanningCellWidth.js.map +1 -0
  953. package/node_modules/table/dist/src/createStream.d.ts +2 -0
  954. package/node_modules/table/dist/src/createStream.js +74 -0
  955. package/node_modules/table/dist/src/createStream.js.map +1 -0
  956. package/node_modules/table/dist/src/drawBorder.d.ts +34 -0
  957. package/node_modules/table/dist/src/drawBorder.js +202 -0
  958. package/node_modules/table/dist/src/drawBorder.js.map +1 -0
  959. package/node_modules/table/dist/src/drawContent.d.ts +14 -0
  960. package/node_modules/table/dist/src/drawContent.js +51 -0
  961. package/node_modules/table/dist/src/drawContent.js.map +1 -0
  962. package/node_modules/table/dist/src/drawRow.d.ts +10 -0
  963. package/node_modules/table/dist/src/drawRow.js +25 -0
  964. package/node_modules/table/dist/src/drawRow.js.map +1 -0
  965. package/node_modules/table/dist/src/drawTable.d.ts +2 -0
  966. package/node_modules/table/dist/src/drawTable.js +31 -0
  967. package/node_modules/table/dist/src/drawTable.js.map +1 -0
  968. package/node_modules/table/dist/src/generated/validators.d.ts +13 -0
  969. package/node_modules/table/dist/src/generated/validators.js +2694 -0
  970. package/node_modules/table/dist/src/generated/validators.js.map +1 -0
  971. package/node_modules/table/dist/src/getBorderCharacters.d.ts +2 -0
  972. package/node_modules/table/dist/src/getBorderCharacters.js +105 -0
  973. package/node_modules/table/dist/src/getBorderCharacters.js.map +1 -0
  974. package/node_modules/table/dist/src/index.d.ts +5 -0
  975. package/node_modules/table/dist/src/index.js +21 -0
  976. package/node_modules/table/dist/src/index.js.map +1 -0
  977. package/node_modules/table/dist/src/injectHeaderConfig.d.ts +3 -0
  978. package/node_modules/table/dist/src/injectHeaderConfig.js +29 -0
  979. package/node_modules/table/dist/src/injectHeaderConfig.js.map +1 -0
  980. package/node_modules/table/dist/src/makeRangeConfig.d.ts +3 -0
  981. package/node_modules/table/dist/src/makeRangeConfig.js +18 -0
  982. package/node_modules/table/dist/src/makeRangeConfig.js.map +1 -0
  983. package/node_modules/table/dist/src/makeStreamConfig.d.ts +7 -0
  984. package/node_modules/table/dist/src/makeStreamConfig.js +43 -0
  985. package/node_modules/table/dist/src/makeStreamConfig.js.map +1 -0
  986. package/node_modules/table/dist/src/makeTableConfig.d.ts +7 -0
  987. package/node_modules/table/dist/src/makeTableConfig.js +62 -0
  988. package/node_modules/table/dist/src/makeTableConfig.js.map +1 -0
  989. package/node_modules/table/dist/src/mapDataUsingRowHeights.d.ts +4 -0
  990. package/node_modules/table/dist/src/mapDataUsingRowHeights.js +52 -0
  991. package/node_modules/table/dist/src/mapDataUsingRowHeights.js.map +1 -0
  992. package/node_modules/table/dist/src/padTableData.d.ts +3 -0
  993. package/node_modules/table/dist/src/padTableData.js +23 -0
  994. package/node_modules/table/dist/src/padTableData.js.map +1 -0
  995. package/node_modules/table/dist/src/schemas/config.json +95 -0
  996. package/node_modules/table/dist/src/schemas/shared.json +139 -0
  997. package/node_modules/table/dist/src/schemas/streamConfig.json +25 -0
  998. package/node_modules/table/dist/src/spanningCellManager.d.ts +23 -0
  999. package/node_modules/table/dist/src/spanningCellManager.js +95 -0
  1000. package/node_modules/table/dist/src/spanningCellManager.js.map +1 -0
  1001. package/node_modules/table/dist/src/stringifyTableData.d.ts +2 -0
  1002. package/node_modules/table/dist/src/stringifyTableData.js +13 -0
  1003. package/node_modules/table/dist/src/stringifyTableData.js.map +1 -0
  1004. package/node_modules/table/dist/src/table.d.ts +2 -0
  1005. package/node_modules/table/dist/src/table.js +32 -0
  1006. package/node_modules/table/dist/src/table.js.map +1 -0
  1007. package/node_modules/table/dist/src/truncateTableData.d.ts +6 -0
  1008. package/node_modules/table/dist/src/truncateTableData.js +24 -0
  1009. package/node_modules/table/dist/src/truncateTableData.js.map +1 -0
  1010. package/node_modules/table/dist/src/types/api.d.ts +130 -0
  1011. package/node_modules/table/dist/src/types/api.js +3 -0
  1012. package/node_modules/table/dist/src/types/api.js.map +1 -0
  1013. package/node_modules/table/dist/src/types/internal.d.ts +1 -0
  1014. package/node_modules/table/dist/src/types/internal.js +3 -0
  1015. package/node_modules/table/dist/src/types/internal.js.map +1 -0
  1016. package/node_modules/table/dist/src/utils.d.ts +9 -0
  1017. package/node_modules/table/dist/src/utils.js +134 -0
  1018. package/node_modules/table/dist/src/utils.js.map +1 -0
  1019. package/node_modules/table/dist/src/validateConfig.d.ts +2 -0
  1020. package/node_modules/table/dist/src/validateConfig.js +27 -0
  1021. package/node_modules/table/dist/src/validateConfig.js.map +1 -0
  1022. package/node_modules/table/dist/src/validateSpanningCellConfig.d.ts +3 -0
  1023. package/node_modules/table/dist/src/validateSpanningCellConfig.js +46 -0
  1024. package/node_modules/table/dist/src/validateSpanningCellConfig.js.map +1 -0
  1025. package/node_modules/table/dist/src/validateTableData.d.ts +1 -0
  1026. package/node_modules/table/dist/src/validateTableData.js +32 -0
  1027. package/node_modules/table/dist/src/validateTableData.js.map +1 -0
  1028. package/node_modules/table/dist/src/wrapCell.d.ts +8 -0
  1029. package/node_modules/table/dist/src/wrapCell.js +33 -0
  1030. package/node_modules/table/dist/src/wrapCell.js.map +1 -0
  1031. package/node_modules/table/dist/src/wrapString.d.ts +9 -0
  1032. package/node_modules/table/dist/src/wrapString.js +27 -0
  1033. package/node_modules/table/dist/src/wrapString.js.map +1 -0
  1034. package/node_modules/table/dist/src/wrapWord.d.ts +1 -0
  1035. package/node_modules/table/dist/src/wrapWord.js +42 -0
  1036. package/node_modules/table/dist/src/wrapWord.js.map +1 -0
  1037. package/node_modules/table/package.json +77 -0
  1038. package/package.json +132 -123
  1039. package/src/amplify-graphql-api.ts +2 -0
  1040. package/src/index.ts +2 -0
  1041. package/src/log-config-types.ts +84 -0
  1042. package/src/types.ts +6 -1
@@ -0,0 +1,246 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IamChanges = void 0;
4
+ const cfnspec = require("@aws-cdk/cfnspec");
5
+ const chalk = require("chalk");
6
+ const managed_policy_1 = require("./managed-policy");
7
+ const statement_1 = require("./statement");
8
+ const diffable_1 = require("../diffable");
9
+ const render_intrinsics_1 = require("../render-intrinsics");
10
+ const util_1 = require("../util");
11
+ /**
12
+ * Changes to IAM statements
13
+ */
14
+ class IamChanges {
15
+ constructor(props) {
16
+ this.statements = new diffable_1.DiffableCollection();
17
+ this.managedPolicies = new diffable_1.DiffableCollection();
18
+ for (const propertyChange of props.propertyChanges) {
19
+ this.readPropertyChange(propertyChange);
20
+ }
21
+ for (const resourceChange of props.resourceChanges) {
22
+ this.readResourceChange(resourceChange);
23
+ }
24
+ this.statements.calculateDiff();
25
+ this.managedPolicies.calculateDiff();
26
+ }
27
+ get hasChanges() {
28
+ return this.statements.hasChanges || this.managedPolicies.hasChanges;
29
+ }
30
+ /**
31
+ * Return whether the changes include broadened permissions
32
+ *
33
+ * Permissions are broadened if positive statements are added or
34
+ * negative statements are removed, or if managed policies are added.
35
+ */
36
+ get permissionsBroadened() {
37
+ return this.statements.additions.some(s => !s.isNegativeStatement)
38
+ || this.statements.removals.some(s => s.isNegativeStatement)
39
+ || this.managedPolicies.hasAdditions;
40
+ }
41
+ /**
42
+ * Return a summary table of changes
43
+ */
44
+ summarizeStatements() {
45
+ const ret = [];
46
+ const header = ['', 'Resource', 'Effect', 'Action', 'Principal', 'Condition'];
47
+ // First generate all lines, then sort on Resource so that similar resources are together
48
+ for (const statement of this.statements.additions) {
49
+ const renderedStatement = statement.render();
50
+ ret.push([
51
+ '+',
52
+ renderedStatement.resource,
53
+ renderedStatement.effect,
54
+ renderedStatement.action,
55
+ renderedStatement.principal,
56
+ renderedStatement.condition,
57
+ ].map(s => chalk.green(s)));
58
+ }
59
+ for (const statement of this.statements.removals) {
60
+ const renderedStatement = statement.render();
61
+ ret.push([
62
+ chalk.red('-'),
63
+ renderedStatement.resource,
64
+ renderedStatement.effect,
65
+ renderedStatement.action,
66
+ renderedStatement.principal,
67
+ renderedStatement.condition,
68
+ ].map(s => chalk.red(s)));
69
+ }
70
+ // Sort by 2nd column
71
+ ret.sort(util_1.makeComparator((row) => [row[1]]));
72
+ ret.splice(0, 0, header);
73
+ return ret;
74
+ }
75
+ summarizeManagedPolicies() {
76
+ const ret = [];
77
+ const header = ['', 'Resource', 'Managed Policy ARN'];
78
+ for (const att of this.managedPolicies.additions) {
79
+ ret.push([
80
+ '+',
81
+ att.identityArn,
82
+ att.managedPolicyArn,
83
+ ].map(s => chalk.green(s)));
84
+ }
85
+ for (const att of this.managedPolicies.removals) {
86
+ ret.push([
87
+ '-',
88
+ att.identityArn,
89
+ att.managedPolicyArn,
90
+ ].map(s => chalk.red(s)));
91
+ }
92
+ // Sort by 2nd column
93
+ ret.sort(util_1.makeComparator((row) => [row[1]]));
94
+ ret.splice(0, 0, header);
95
+ return ret;
96
+ }
97
+ /**
98
+ * Return a machine-readable version of the changes.
99
+ * This is only used in tests.
100
+ *
101
+ * @internal
102
+ */
103
+ _toJson() {
104
+ return util_1.deepRemoveUndefined({
105
+ statementAdditions: util_1.dropIfEmpty(this.statements.additions.map(s => s._toJson())),
106
+ statementRemovals: util_1.dropIfEmpty(this.statements.removals.map(s => s._toJson())),
107
+ managedPolicyAdditions: util_1.dropIfEmpty(this.managedPolicies.additions.map(s => s._toJson())),
108
+ managedPolicyRemovals: util_1.dropIfEmpty(this.managedPolicies.removals.map(s => s._toJson())),
109
+ });
110
+ }
111
+ readPropertyChange(propertyChange) {
112
+ switch (propertyChange.scrutinyType) {
113
+ case cfnspec.schema.PropertyScrutinyType.InlineIdentityPolicies:
114
+ // AWS::IAM::{ Role | User | Group }.Policies
115
+ this.statements.addOld(...this.readIdentityPolicies(propertyChange.oldValue, propertyChange.resourceLogicalId));
116
+ this.statements.addNew(...this.readIdentityPolicies(propertyChange.newValue, propertyChange.resourceLogicalId));
117
+ break;
118
+ case cfnspec.schema.PropertyScrutinyType.InlineResourcePolicy:
119
+ // Any PolicyDocument on a resource (including AssumeRolePolicyDocument)
120
+ this.statements.addOld(...this.readResourceStatements(propertyChange.oldValue, propertyChange.resourceLogicalId));
121
+ this.statements.addNew(...this.readResourceStatements(propertyChange.newValue, propertyChange.resourceLogicalId));
122
+ break;
123
+ case cfnspec.schema.PropertyScrutinyType.ManagedPolicies:
124
+ // Just a list of managed policies
125
+ this.managedPolicies.addOld(...this.readManagedPolicies(propertyChange.oldValue, propertyChange.resourceLogicalId));
126
+ this.managedPolicies.addNew(...this.readManagedPolicies(propertyChange.newValue, propertyChange.resourceLogicalId));
127
+ break;
128
+ }
129
+ }
130
+ readResourceChange(resourceChange) {
131
+ switch (resourceChange.scrutinyType) {
132
+ case cfnspec.schema.ResourceScrutinyType.IdentityPolicyResource:
133
+ // AWS::IAM::Policy
134
+ this.statements.addOld(...this.readIdentityPolicyResource(resourceChange.oldProperties));
135
+ this.statements.addNew(...this.readIdentityPolicyResource(resourceChange.newProperties));
136
+ break;
137
+ case cfnspec.schema.ResourceScrutinyType.ResourcePolicyResource:
138
+ // AWS::*::{Bucket,Queue,Topic}Policy
139
+ this.statements.addOld(...this.readResourcePolicyResource(resourceChange.oldProperties));
140
+ this.statements.addNew(...this.readResourcePolicyResource(resourceChange.newProperties));
141
+ break;
142
+ case cfnspec.schema.ResourceScrutinyType.LambdaPermission:
143
+ this.statements.addOld(...this.readLambdaStatements(resourceChange.oldProperties));
144
+ this.statements.addNew(...this.readLambdaStatements(resourceChange.newProperties));
145
+ break;
146
+ }
147
+ }
148
+ /**
149
+ * Parse a list of policies on an identity
150
+ */
151
+ readIdentityPolicies(policies, logicalId) {
152
+ if (policies === undefined) {
153
+ return [];
154
+ }
155
+ const appliesToPrincipal = 'AWS:${' + logicalId + '}';
156
+ return util_1.flatMap(policies, (policy) => {
157
+ // check if the Policy itself is not an intrinsic, like an Fn::If
158
+ const unparsedStatement = policy.PolicyDocument?.Statement
159
+ ? policy.PolicyDocument.Statement
160
+ : policy;
161
+ return defaultPrincipal(appliesToPrincipal, statement_1.parseStatements(render_intrinsics_1.renderIntrinsics(unparsedStatement)));
162
+ });
163
+ }
164
+ /**
165
+ * Parse an IAM::Policy resource
166
+ */
167
+ readIdentityPolicyResource(properties) {
168
+ if (properties === undefined) {
169
+ return [];
170
+ }
171
+ properties = render_intrinsics_1.renderIntrinsics(properties);
172
+ const principals = (properties.Groups || []).concat(properties.Users || []).concat(properties.Roles || []);
173
+ return util_1.flatMap(principals, (principal) => {
174
+ const ref = 'AWS:' + principal;
175
+ return defaultPrincipal(ref, statement_1.parseStatements(properties.PolicyDocument.Statement));
176
+ });
177
+ }
178
+ readResourceStatements(policy, logicalId) {
179
+ if (policy === undefined) {
180
+ return [];
181
+ }
182
+ const appliesToResource = '${' + logicalId + '.Arn}';
183
+ return defaultResource(appliesToResource, statement_1.parseStatements(render_intrinsics_1.renderIntrinsics(policy.Statement)));
184
+ }
185
+ /**
186
+ * Parse an AWS::*::{Bucket,Topic,Queue}policy
187
+ */
188
+ readResourcePolicyResource(properties) {
189
+ if (properties === undefined) {
190
+ return [];
191
+ }
192
+ properties = render_intrinsics_1.renderIntrinsics(properties);
193
+ const policyKeys = Object.keys(properties).filter(key => key.indexOf('Policy') > -1);
194
+ // Find the key that identifies the resource(s) this policy applies to
195
+ const resourceKeys = Object.keys(properties).filter(key => !policyKeys.includes(key) && !key.endsWith('Name'));
196
+ let resources = resourceKeys.length === 1 ? properties[resourceKeys[0]] : ['???'];
197
+ // For some resources, this is a singleton string, for some it's an array
198
+ if (!Array.isArray(resources)) {
199
+ resources = [resources];
200
+ }
201
+ return util_1.flatMap(resources, (resource) => {
202
+ return defaultResource(resource, statement_1.parseStatements(properties[policyKeys[0]].Statement));
203
+ });
204
+ }
205
+ readManagedPolicies(policyArns, logicalId) {
206
+ if (!policyArns) {
207
+ return [];
208
+ }
209
+ const rep = '${' + logicalId + '}';
210
+ return managed_policy_1.ManagedPolicyAttachment.parseManagedPolicies(rep, render_intrinsics_1.renderIntrinsics(policyArns));
211
+ }
212
+ readLambdaStatements(properties) {
213
+ if (!properties) {
214
+ return [];
215
+ }
216
+ return [statement_1.parseLambdaPermission(render_intrinsics_1.renderIntrinsics(properties))];
217
+ }
218
+ }
219
+ exports.IamChanges = IamChanges;
220
+ IamChanges.IamPropertyScrutinies = [
221
+ cfnspec.schema.PropertyScrutinyType.InlineIdentityPolicies,
222
+ cfnspec.schema.PropertyScrutinyType.InlineResourcePolicy,
223
+ cfnspec.schema.PropertyScrutinyType.ManagedPolicies,
224
+ ];
225
+ IamChanges.IamResourceScrutinies = [
226
+ cfnspec.schema.ResourceScrutinyType.ResourcePolicyResource,
227
+ cfnspec.schema.ResourceScrutinyType.IdentityPolicyResource,
228
+ cfnspec.schema.ResourceScrutinyType.LambdaPermission,
229
+ ];
230
+ /**
231
+ * Set an undefined or wildcarded principal on these statements
232
+ */
233
+ function defaultPrincipal(principal, statements) {
234
+ statements.forEach(s => s.principals.replaceEmpty(principal));
235
+ statements.forEach(s => s.principals.replaceStar(principal));
236
+ return statements;
237
+ }
238
+ /**
239
+ * Set an undefined or wildcarded resource on these statements
240
+ */
241
+ function defaultResource(resource, statements) {
242
+ statements.forEach(s => s.resources.replaceEmpty(resource));
243
+ statements.forEach(s => s.resources.replaceStar(resource));
244
+ return statements;
245
+ }
246
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWFtLWNoYW5nZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpYW0tY2hhbmdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0Q0FBNEM7QUFDNUMsK0JBQStCO0FBQy9CLHFEQUE4RTtBQUM5RSwyQ0FBK0Y7QUFFL0YsMENBQWlEO0FBQ2pELDREQUF3RDtBQUN4RCxrQ0FBb0Y7QUFPcEY7O0dBRUc7QUFDSCxNQUFhLFVBQVU7SUFnQnJCLFlBQVksS0FBc0I7UUFIbEIsZUFBVSxHQUFHLElBQUksNkJBQWtCLEVBQWEsQ0FBQztRQUNqRCxvQkFBZSxHQUFHLElBQUksNkJBQWtCLEVBQTJCLENBQUM7UUFHbEYsS0FBSyxNQUFNLGNBQWMsSUFBSSxLQUFLLENBQUMsZUFBZSxFQUFFO1lBQ2xELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN6QztRQUNELEtBQUssTUFBTSxjQUFjLElBQUksS0FBSyxDQUFDLGVBQWUsRUFBRTtZQUNsRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDekM7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQVcsb0JBQW9CO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUM7ZUFDM0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxD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VSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzlELFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzdELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQVMsZUFBZSxDQUFDLFFBQWdCLEVBQUUsVUFBdUI7SUFDaEUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDNUQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDM0QsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNmbnNwZWMgZnJvbSAnQGF3cy1jZGsvY2Zuc3BlYyc7XG5pbXBvcnQgKiBhcyBjaGFsayBmcm9tICdjaGFsayc7XG5pbXBvcnQgeyBNYW5hZ2VkUG9saWN5QXR0YWNobWVudCwgTWFuYWdlZFBvbGljeUpzb24gfSBmcm9tICcuL21hbmFnZWQtcG9saWN5JztcbmltcG9ydCB7IHBhcnNlTGFtYmRhUGVybWlzc2lvbiwgcGFyc2VTdGF0ZW1lbnRzLCBTdGF0ZW1lbnQsIFN0YXRlbWVudEpzb24gfSBmcm9tICcuL3N0YXRlbWVudCc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNoYW5nZSwgUHJvcGVydHlNYXAsIFJlc291cmNlQ2hhbmdlIH0gZnJvbSAnLi4vZGlmZi90eXBlcyc7XG5pbXBvcnQgeyBEaWZmYWJsZUNvbGxlY3Rpb24gfSBmcm9tICcuLi9kaWZmYWJsZSc7XG5pbXBvcnQgeyByZW5kZXJJbnRyaW5zaWNzIH0gZnJvbSAnLi4vcmVuZGVyLWludHJpbnNpY3MnO1xuaW1wb3J0IHsgZGVlcFJlbW92ZVVuZGVmaW5lZCwgZHJvcElmRW1wdHksIGZsYXRNYXAsIG1ha2VDb21wYXJhdG9yIH0gZnJvbSAnLi4vdXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWFtQ2hhbmdlc1Byb3BzIHtcbiAgcHJvcGVydHlDaGFuZ2VzOiBQcm9wZXJ0eUNoYW5nZVtdO1xuICByZXNvdXJjZUNoYW5nZXM6IFJlc291cmNlQ2hhbmdlW107XG59XG5cbi8qKlxuICogQ2hhbmdlcyB0byBJQU0gc3RhdGVtZW50c1xuICovXG5leHBvcnQgY2xhc3MgSWFtQ2hhbmdlcyB7XG4gIHB1YmxpYyBzdGF0aWMgSWFtUHJvcGVydHlTY3J1dGluaWVzID0gW1xuICAgIGNmbnNwZWMuc2NoZW1hLlByb3BlcnR5U2NydXRpbnlUeXBlLklubGluZUlkZW50aXR5UG9saWNpZXMsXG4gICAgY2Zuc3BlYy5zY2hlbWEuUHJvcGVydHlTY3J1dGlueVR5cGUuSW5saW5lUmVzb3VyY2VQb2xpY3ksXG4gICAgY2Zuc3BlYy5zY2hlbWEuUHJvcGVydHlTY3J1dGlueVR5cGUuTWFuYWdlZFBvbGljaWVzLFxuICBdO1xuXG4gIHB1YmxpYyBzdGF0aWMgSWFtUmVzb3VyY2VTY3J1dGluaWVzID0gW1xuICAgIGNmbnNwZWMuc2NoZW1hLlJlc291cmNlU2NydXRpbnlUeXBlLlJlc291cmNlUG9saWN5UmVzb3VyY2UsXG4gICAgY2Zuc3BlYy5zY2hlbWEuUmVzb3VyY2VTY3J1dGlueVR5cGUuSWRlbnRpdHlQb2xpY3lSZXNvdXJjZSxcbiAgICBjZm5zcGVjLnNjaGVtYS5SZXNvdXJjZVNjcnV0aW55VHlwZS5MYW1iZGFQZXJtaXNzaW9uLFxuICBdO1xuXG4gIHB1YmxpYyByZWFkb25seSBzdGF0ZW1lbnRzID0gbmV3IERpZmZhYmxlQ29sbGVjdGlvbjxTdGF0ZW1lbnQ+KCk7XG4gIHB1YmxpYyByZWFkb25seSBtYW5hZ2VkUG9saWNpZXMgPSBuZXcgRGlmZmFibGVDb2xsZWN0aW9uPE1hbmFnZWRQb2xpY3lBdHRhY2htZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBJYW1DaGFuZ2VzUHJvcHMpIHtcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5Q2hhbmdlIG9mIHByb3BzLnByb3BlcnR5Q2hhbmdlcykge1xuICAgICAgdGhpcy5yZWFkUHJvcGVydHlDaGFuZ2UocHJvcGVydHlDaGFuZ2UpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IHJlc291cmNlQ2hhbmdlIG9mIHByb3BzLnJlc291cmNlQ2hhbmdlcykge1xuICAgICAgdGhpcy5yZWFkUmVzb3VyY2VDaGFuZ2UocmVzb3VyY2VDaGFuZ2UpO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGVtZW50cy5jYWxjdWxhdGVEaWZmKCk7XG4gICAgdGhpcy5tYW5hZ2VkUG9saWNpZXMuY2FsY3VsYXRlRGlmZigpO1xuICB9XG5cbiAgcHVibGljIGdldCBoYXNDaGFuZ2VzKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlbWVudHMuaGFzQ2hhbmdlcyB8fCB0aGlzLm1hbmFnZWRQb2xpY2llcy5oYXNDaGFuZ2VzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoZSBjaGFuZ2VzIGluY2x1ZGUgYnJvYWRlbmVkIHBlcm1pc3Npb25zXG4gICAqXG4gICAqIFBlcm1pc3Npb25zIGFyZSBicm9hZGVuZWQgaWYgcG9zaXRpdmUgc3RhdGVtZW50cyBhcmUgYWRkZWQgb3JcbiAgICogbmVnYXRpdmUgc3RhdGVtZW50cyBhcmUgcmVtb3ZlZCwgb3IgaWYgbWFuYWdlZCBwb2xpY2llcyBhcmUgYWRkZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHBlcm1pc3Npb25zQnJvYWRlbmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlbWVudHMuYWRkaXRpb25zLnNvbWUocyA9PiAhcy5pc05lZ2F0aXZlU3RhdGVtZW50KVxuICAgICAgICB8fCB0aGlzLnN0YXRlbWVudHMucmVtb3ZhbHMuc29tZShzID0+IHMuaXNOZWdhdGl2ZVN0YXRlbWVudClcbiAgICAgICAgfHwgdGhpcy5tYW5hZ2VkUG9saWNpZXMuaGFzQWRkaXRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIHN1bW1hcnkgdGFibGUgb2YgY2hhbmdlc1xuICAgKi9cbiAgcHVibGljIHN1bW1hcml6ZVN0YXRlbWVudHMoKTogc3RyaW5nW11bXSB7XG4gICAgY29uc3QgcmV0OiBzdHJpbmdbXVtdID0gW107XG5cbiAgICBjb25zdCBoZWFkZXIgPSBbJycsICdSZXNvdXJjZScsICdFZmZlY3QnLCAnQWN0aW9uJywgJ1ByaW5jaXBhbCcsICdDb25kaXRpb24nXTtcblxuICAgIC8vIEZpcnN0IGdlbmVyYXRlIGFsbCBsaW5lcywgdGhlbiBzb3J0IG9uIFJlc291cmNlIHNvIHRoYXQgc2ltaWxhciByZXNvdXJjZXMgYXJlIHRvZ2V0aGVyXG4gICAgZm9yIChjb25zdCBzdGF0ZW1lbnQgb2YgdGhpcy5zdGF0ZW1lbnRzLmFkZGl0aW9ucykge1xuICAgICAgY29uc3QgcmVuZGVyZWRTdGF0ZW1lbnQgPSBzdGF0ZW1lbnQucmVuZGVyKCk7XG4gICAgICByZXQucHVzaChbXG4gICAgICAgICcrJyxcbiAgICAgICAgcmVuZGVyZWRTdGF0ZW1lbnQucmVzb3VyY2UsXG4gICAgICAgIHJlbmRlcmVkU3RhdGVtZW50LmVmZmVjdCxcbiAgICAgICAgcmVuZGVyZWRTdGF0ZW1lbnQuYWN0aW9uLFxuICAgICAgICByZW5kZXJlZFN0YXRlbWVudC5wcmluY2lwYWwsXG4gICAgICAgIHJlbmRlcmVkU3RhdGVtZW50LmNvbmRpdGlvbixcbiAgICAgIF0ubWFwKHMgPT4gY2hhbGsuZ3JlZW4ocykpKTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBzdGF0ZW1lbnQgb2YgdGhpcy5zdGF0ZW1lbnRzLnJlbW92YWxzKSB7XG4gICAgICBjb25zdCByZW5kZXJlZFN0YXRlbWVudCA9IHN0YXRlbWVudC5yZW5kZXIoKTtcbiAgICAgIHJldC5wdXNoKFtcbiAgICAgICAgY2hhbGsucmVkKCctJyksXG4gICAgICAgIHJlbmRlcmVkU3RhdGVtZW50LnJlc291cmNlLFxuICAgICAgICByZW5kZXJlZFN0YXRlbWVudC5lZmZlY3QsXG4gICAgICAgIHJlbmRlcmVkU3RhdGVtZW50LmFjdGlvbixcbiAgICAgICAgcmVuZGVyZWRTdGF0ZW1lbnQucHJpbmNpcGFsLFxuICAgICAgICByZW5kZXJlZFN0YXRlbWVudC5jb25kaXRpb24sXG4gICAgICBdLm1hcChzID0+IGNoYWxrLnJlZChzKSkpO1xuICAgIH1cblxuICAgIC8vIFNvcnQgYnkgMm5kIGNvbHVtblxuICAgIHJldC5zb3J0KG1ha2VDb21wYXJhdG9yKChyb3c6IHN0cmluZ1tdKSA9PiBbcm93WzFdXSkpO1xuXG4gICAgcmV0LnNwbGljZSgwLCAwLCBoZWFkZXIpO1xuXG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIHB1YmxpYyBzdW1tYXJpemVNYW5hZ2VkUG9saWNpZXMoKTogc3RyaW5nW11bXSB7XG4gICAgY29uc3QgcmV0OiBzdHJpbmdbXVtdID0gW107XG4gICAgY29uc3QgaGVhZGVyID0gWycnLCAnUmVzb3VyY2UnLCAnTWFuYWdlZCBQb2xpY3kgQVJOJ107XG5cbiAgICBmb3IgKGNvbnN0IGF0dCBvZiB0aGlzLm1hbmFnZWRQb2xpY2llcy5hZGRpdGlvbnMpIHtcbiAgICAgIHJldC5wdXNoKFtcbiAgICAgICAgJysnLFxuICAgICAgICBhdHQuaWRlbnRpdHlBcm4sXG4gICAgICAgIGF0dC5tYW5hZ2VkUG9saWN5QXJuLFxuICAgICAgXS5tYXAocyA9PiBjaGFsay5ncmVlbihzKSkpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGF0dCBvZiB0aGlzLm1hbmFnZWRQb2xpY2llcy5yZW1vdmFscykge1xuICAgICAgcmV0LnB1c2goW1xuICAgICAgICAnLScsXG4gICAgICAgIGF0dC5pZGVudGl0eUFybixcbiAgICAgICAgYXR0Lm1hbmFnZWRQb2xpY3lBcm4sXG4gICAgICBdLm1hcChzID0+IGNoYWxrLnJlZChzKSkpO1xuICAgIH1cblxuICAgIC8vIFNvcnQgYnkgMm5kIGNvbHVtblxuICAgIHJldC5zb3J0KG1ha2VDb21wYXJhdG9yKChyb3c6IHN0cmluZ1tdKSA9PiBbcm93WzFdXSkpO1xuXG4gICAgcmV0LnNwbGljZSgwLCAwLCBoZWFkZXIpO1xuXG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtYWNoaW5lLXJlYWRhYmxlIHZlcnNpb24gb2YgdGhlIGNoYW5nZXMuXG4gICAqIFRoaXMgaXMgb25seSB1c2VkIGluIHRlc3RzLlxuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfdG9Kc29uKCk6IElhbUNoYW5nZXNKc29uIHtcbiAgICByZXR1cm4gZGVlcFJlbW92ZVVuZGVmaW5lZCh7XG4gICAgICBzdGF0ZW1lbnRBZGRpdGlvbnM6IGRyb3BJZkVtcHR5KHRoaXMuc3RhdGVtZW50cy5hZGRpdGlvbnMubWFwKHMgPT4gcy5fdG9Kc29uKCkpKSxcbiAgICAgIHN0YXRlbWVudFJlbW92YWxzOiBkcm9wSWZFbXB0eSh0aGlzLnN0YXRlbWVudHMucmVtb3ZhbHMubWFwKHMgPT4gcy5fdG9Kc29uKCkpKSxcbiAgICAgIG1hbmFnZWRQb2xpY3lBZGRpdGlvbnM6IGRyb3BJZkVtcHR5KHRoaXMubWFuYWdlZFBvbGljaWVzLmFkZGl0aW9ucy5tYXAocyA9PiBzLl90b0pzb24oKSkpLFxuICAgICAgbWFuYWdlZFBvbGljeVJlbW92YWxzOiBkcm9wSWZFbXB0eSh0aGlzLm1hbmFnZWRQb2xpY2llcy5yZW1vdmFscy5tYXAocyA9PiBzLl90b0pzb24oKSkpLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkUHJvcGVydHlDaGFuZ2UocHJvcGVydHlDaGFuZ2U6IFByb3BlcnR5Q2hhbmdlKSB7XG4gICAgc3dpdGNoIChwcm9wZXJ0eUNoYW5nZS5zY3J1dGlueVR5cGUpIHtcbiAgICAgIGNhc2UgY2Zuc3BlYy5zY2hlbWEuUHJvcGVydHlTY3J1dGlueVR5cGUuSW5saW5lSWRlbnRpdHlQb2xpY2llczpcbiAgICAgICAgLy8gQVdTOjpJQU06OnsgUm9sZSB8IFVzZXIgfCBHcm91cCB9LlBvbGljaWVzXG4gICAgICAgIHRoaXMuc3RhdGVtZW50cy5hZGRPbGQoLi4udGhpcy5yZWFkSWRlbnRpdHlQb2xpY2llcyhwcm9wZXJ0eUNoYW5nZS5vbGRWYWx1ZSwgcHJvcGVydHlDaGFuZ2UucmVzb3VyY2VMb2dpY2FsSWQpKTtcbiAgICAgICAgdGhpcy5zdGF0ZW1lbnRzLmFkZE5ldyguLi50aGlzLnJlYWRJZGVudGl0eVBvbGljaWVzKHByb3BlcnR5Q2hhbmdlLm5ld1ZhbHVlLCBwcm9wZXJ0eUNoYW5nZS5yZXNvdXJjZUxvZ2ljYWxJZCkpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgY2Zuc3BlYy5zY2hlbWEuUHJvcGVydHlTY3J1dGlueVR5cGUuSW5saW5lUmVzb3VyY2VQb2xpY3k6XG4gICAgICAgIC8vIEFueSBQb2xpY3lEb2N1bWVudCBvbiBhIHJlc291cmNlIChpbmNsdWRpbmcgQXNzdW1lUm9sZVBvbGljeURvY3VtZW50KVxuICAgICAgICB0aGlzLnN0YXRlbWVudHMuYWRkT2xkKC4uLnRoaXMucmVhZFJlc291cmNlU3RhdGVtZW50cyhwcm9wZXJ0eUNoYW5nZS5vbGRWYWx1ZSwgcHJvcGVydHlDaGFuZ2UucmVzb3VyY2VMb2dpY2FsSWQpKTtcbiAgICAgICAgdGhpcy5zdGF0ZW1lbnRzLmFkZE5ldyguLi50aGlzLnJlYWRSZXNvdXJjZVN0YXRlbWVudHMocHJvcGVydHlDaGFuZ2UubmV3VmFsdWUsIHByb3BlcnR5Q2hhbmdlLnJlc291cmNlTG9naWNhbElkKSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBjZm5zcGVjLnNjaGVtYS5Qcm9wZXJ0eVNjcnV0aW55VHlwZS5NYW5hZ2VkUG9saWNpZXM6XG4gICAgICAgIC8vIEp1c3QgYSBsaXN0IG9mIG1hbmFnZWQgcG9saWNpZXNcbiAgICAgICAgdGhpcy5tYW5hZ2VkUG9saWNpZXMuYWRkT2xkKC4uLnRoaXMucmVhZE1hbmFnZWRQb2xpY2llcyhwcm9wZXJ0eUNoYW5nZS5vbGRWYWx1ZSwgcHJvcGVydHlDaGFuZ2UucmVzb3VyY2VMb2dpY2FsSWQpKTtcbiAgICAgICAgdGhpcy5tYW5hZ2VkUG9saWNpZXMuYWRkTmV3KC4uLnRoaXMucmVhZE1hbmFnZWRQb2xpY2llcyhwcm9wZXJ0eUNoYW5nZS5uZXdWYWx1ZSwgcHJvcGVydHlDaGFuZ2UucmVzb3VyY2VMb2dpY2FsSWQpKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZWFkUmVzb3VyY2VDaGFuZ2UocmVzb3VyY2VDaGFuZ2U6IFJlc291cmNlQ2hhbmdlKSB7XG4gICAgc3dpdGNoIChyZXNvdXJjZUNoYW5nZS5zY3J1dGlueVR5cGUpIHtcbiAgICAgIGNhc2UgY2Zuc3BlYy5zY2hlbWEuUmVzb3VyY2VTY3J1dGlueVR5cGUuSWRlbnRpdHlQb2xpY3lSZXNvdXJjZTpcbiAgICAgICAgLy8gQVdTOjpJQU06OlBvbGljeVxuICAgICAgICB0aGlzLnN0YXRlbWVudHMuYWRkT2xkKC4uLnRoaXMucmVhZElkZW50aXR5UG9saWN5UmVzb3VyY2UocmVzb3VyY2VDaGFuZ2Uub2xkUHJvcGVydGllcykpO1xuICAgICAgICB0aGlzLnN0YXRlbWVudHMuYWRkTmV3KC4uLnRoaXMucmVhZElkZW50aXR5UG9saWN5UmVzb3VyY2UocmVzb3VyY2VDaGFuZ2UubmV3UHJvcGVydGllcykpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgY2Zuc3BlYy5zY2hlbWEuUmVzb3VyY2VTY3J1dGlueVR5cGUuUmVzb3VyY2VQb2xpY3lSZXNvdXJjZTpcbiAgICAgICAgLy8gQVdTOjoqOjp7QnVja2V0LFF1ZXVlLFRvcGljfVBvbGljeVxuICAgICAgICB0aGlzLnN0YXRlbWVudHMuYWRkT2xkKC4uLnRoaXMucmVhZFJlc291cmNlUG9saWN5UmVzb3VyY2UocmVzb3VyY2VDaGFuZ2Uub2xkUHJvcGVydGllcykpO1xuICAgICAgICB0aGlzLnN0YXRlbWVudHMuYWRkTmV3KC4uLnRoaXMucmVhZFJlc291cmNlUG9saWN5UmVzb3VyY2UocmVzb3VyY2VDaGFuZ2UubmV3UHJvcGVydGllcykpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgY2Zuc3BlYy5zY2hlbWEuUmVzb3VyY2VTY3J1dGlueVR5cGUuTGFtYmRhUGVybWlzc2lvbjpcbiAgICAgICAgdGhpcy5zdGF0ZW1lbnRzLmFkZE9sZCguLi50aGlzLnJlYWRMYW1iZGFTdGF0ZW1lbnRzKHJlc291cmNlQ2hhbmdlLm9sZFByb3BlcnRpZXMpKTtcbiAgICAgICAgdGhpcy5zdGF0ZW1lbnRzLmFkZE5ldyguLi50aGlzLnJlYWRMYW1iZGFTdGF0ZW1lbnRzKHJlc291cmNlQ2hhbmdlLm5ld1Byb3BlcnRpZXMpKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFBhcnNlIGEgbGlzdCBvZiBwb2xpY2llcyBvbiBhbiBpZGVudGl0eVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkSWRlbnRpdHlQb2xpY2llcyhwb2xpY2llczogYW55LCBsb2dpY2FsSWQ6IHN0cmluZyk6IFN0YXRlbWVudFtdIHtcbiAgICBpZiAocG9saWNpZXMgPT09IHVuZGVmaW5lZCkgeyByZXR1cm4gW107IH1cblxuICAgIGNvbnN0IGFwcGxpZXNUb1ByaW5jaXBhbCA9ICdBV1M6JHsnICsgbG9naWNhbElkICsgJ30nO1xuXG4gICAgcmV0dXJuIGZsYXRNYXAocG9saWNpZXMsIChwb2xpY3k6IGFueSkgPT4ge1xuICAgICAgLy8gY2hlY2sgaWYgdGhlIFBvbGljeSBpdHNlbGYgaXMgbm90IGFuIGludHJpbnNpYywgbGlrZSBhbiBGbjo6SWZcbiAgICAgIGNvbnN0IHVucGFyc2VkU3RhdGVtZW50ID0gcG9saWN5LlBvbGljeURvY3VtZW50Py5TdGF0ZW1lbnRcbiAgICAgICAgPyBwb2xpY3kuUG9saWN5RG9jdW1lbnQuU3RhdGVtZW50XG4gICAgICAgIDogcG9saWN5O1xuICAgICAgcmV0dXJuIGRlZmF1bHRQcmluY2lwYWwoYXBwbGllc1RvUHJpbmNpcGFsLCBwYXJzZVN0YXRlbWVudHMocmVuZGVySW50cmluc2ljcyh1bnBhcnNlZFN0YXRlbWVudCkpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZSBhbiBJQU06OlBvbGljeSByZXNvdXJjZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkSWRlbnRpdHlQb2xpY3lSZXNvdXJjZShwcm9wZXJ0aWVzOiBhbnkpOiBTdGF0ZW1lbnRbXSB7XG4gICAgaWYgKHByb3BlcnRpZXMgPT09IHVuZGVmaW5lZCkgeyByZXR1cm4gW107IH1cblxuICAgIHByb3BlcnRpZXMgPSByZW5kZXJJbnRyaW5zaWNzKHByb3BlcnRpZXMpO1xuXG4gICAgY29uc3QgcHJpbmNpcGFscyA9IChwcm9wZXJ0aWVzLkdyb3VwcyB8fCBbXSkuY29uY2F0KHByb3BlcnRpZXMuVXNlcnMgfHwgW10pLmNvbmNhdChwcm9wZXJ0aWVzLlJvbGVzIHx8IFtdKTtcbiAgICByZXR1cm4gZmxhdE1hcChwcmluY2lwYWxzLCAocHJpbmNpcGFsOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHJlZiA9ICdBV1M6JyArIHByaW5jaXBhbDtcbiAgICAgIHJldHVybiBkZWZhdWx0UHJpbmNpcGFsKHJlZiwgcGFyc2VTdGF0ZW1lbnRzKHByb3BlcnRpZXMuUG9saWN5RG9jdW1lbnQuU3RhdGVtZW50KSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRSZXNvdXJjZVN0YXRlbWVudHMocG9saWN5OiBhbnksIGxvZ2ljYWxJZDogc3RyaW5nKTogU3RhdGVtZW50W10ge1xuICAgIGlmIChwb2xpY3kgPT09IHVuZGVmaW5lZCkgeyByZXR1cm4gW107IH1cblxuICAgIGNvbnN0IGFwcGxpZXNUb1Jlc291cmNlID0gJyR7JyArIGxvZ2ljYWxJZCArICcuQXJufSc7XG4gICAgcmV0dXJuIGRlZmF1bHRSZXNvdXJjZShhcHBsaWVzVG9SZXNvdXJjZSwgcGFyc2VTdGF0ZW1lbnRzKHJlbmRlckludHJpbnNpY3MocG9saWN5LlN0YXRlbWVudCkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZSBhbiBBV1M6Oio6OntCdWNrZXQsVG9waWMsUXVldWV9cG9saWN5XG4gICAqL1xuICBwcml2YXRlIHJlYWRSZXNvdXJjZVBvbGljeVJlc291cmNlKHByb3BlcnRpZXM6IGFueSk6IFN0YXRlbWVudFtdIHtcbiAgICBpZiAocHJvcGVydGllcyA9PT0gdW5kZWZpbmVkKSB7IHJldHVybiBbXTsgfVxuXG4gICAgcHJvcGVydGllcyA9IHJlbmRlckludHJpbnNpY3MocHJvcGVydGllcyk7XG5cbiAgICBjb25zdCBwb2xpY3lLZXlzID0gT2JqZWN0LmtleXMocHJvcGVydGllcykuZmlsdGVyKGtleSA9PiBrZXkuaW5kZXhPZignUG9saWN5JykgPiAtMSk7XG5cbiAgICAvLyBGaW5kIHRoZSBrZXkgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZShzKSB0aGlzIHBvbGljeSBhcHBsaWVzIHRvXG4gICAgY29uc3QgcmVzb3VyY2VLZXlzID0gT2JqZWN0LmtleXMocHJvcGVydGllcykuZmlsdGVyKGtleSA9PiAhcG9saWN5S2V5cy5pbmNsdWRlcyhrZXkpICYmICFrZXkuZW5kc1dpdGgoJ05hbWUnKSk7XG4gICAgbGV0IHJlc291cmNlcyA9IHJlc291cmNlS2V5cy5sZW5ndGggPT09IDEgPyBwcm9wZXJ0aWVzW3Jlc291cmNlS2V5c1swXV0gOiBbJz8/PyddO1xuXG4gICAgLy8gRm9yIHNvbWUgcmVzb3VyY2VzLCB0aGlzIGlzIGEgc2luZ2xldG9uIHN0cmluZywgZm9yIHNvbWUgaXQncyBhbiBhcnJheVxuICAgIGlmICghQXJyYXkuaXNBcnJheShyZXNvdXJjZXMpKSB7XG4gICAgICByZXNvdXJjZXMgPSBbcmVzb3VyY2VzXTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmxhdE1hcChyZXNvdXJjZXMsIChyZXNvdXJjZTogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gZGVmYXVsdFJlc291cmNlKHJlc291cmNlLCBwYXJzZVN0YXRlbWVudHMocHJvcGVydGllc1twb2xpY3lLZXlzWzBdXS5TdGF0ZW1lbnQpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZE1hbmFnZWRQb2xpY2llcyhwb2xpY3lBcm5zOiBhbnksIGxvZ2ljYWxJZDogc3RyaW5nKTogTWFuYWdlZFBvbGljeUF0dGFjaG1lbnRbXSB7XG4gICAgaWYgKCFwb2xpY3lBcm5zKSB7IHJldHVybiBbXTsgfVxuXG4gICAgY29uc3QgcmVwID0gJyR7JyArIGxvZ2ljYWxJZCArICd9JztcbiAgICByZXR1cm4gTWFuYWdlZFBvbGljeUF0dGFjaG1lbnQucGFyc2VNYW5hZ2VkUG9saWNpZXMocmVwLCByZW5kZXJJbnRyaW5zaWNzKHBvbGljeUFybnMpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZExhbWJkYVN0YXRlbWVudHMocHJvcGVydGllcz86IFByb3BlcnR5TWFwKTogU3RhdGVtZW50W10ge1xuICAgIGlmICghcHJvcGVydGllcykgeyByZXR1cm4gW107IH1cblxuICAgIHJldHVybiBbcGFyc2VMYW1iZGFQZXJtaXNzaW9uKHJlbmRlckludHJpbnNpY3MocHJvcGVydGllcykpXTtcbiAgfVxufVxuXG4vKipcbiAqIFNldCBhbiB1bmRlZmluZWQgb3Igd2lsZGNhcmRlZCBwcmluY2lwYWwgb24gdGhlc2Ugc3RhdGVtZW50c1xuICovXG5mdW5jdGlvbiBkZWZhdWx0UHJpbmNpcGFsKHByaW5jaXBhbDogc3RyaW5nLCBzdGF0ZW1lbnRzOiBTdGF0ZW1lbnRbXSkge1xuICBzdGF0ZW1lbnRzLmZvckVhY2gocyA9PiBzLnByaW5jaXBhbHMucmVwbGFjZUVtcHR5KHByaW5jaXBhbCkpO1xuICBzdGF0ZW1lbnRzLmZvckVhY2gocyA9PiBzLnByaW5jaXBhbHMucmVwbGFjZVN0YXIocHJpbmNpcGFsKSk7XG4gIHJldHVybiBzdGF0ZW1lbnRzO1xufVxuXG4vKipcbiAqIFNldCBhbiB1bmRlZmluZWQgb3Igd2lsZGNhcmRlZCByZXNvdXJjZSBvbiB0aGVzZSBzdGF0ZW1lbnRzXG4gKi9cbmZ1bmN0aW9uIGRlZmF1bHRSZXNvdXJjZShyZXNvdXJjZTogc3RyaW5nLCBzdGF0ZW1lbnRzOiBTdGF0ZW1lbnRbXSkge1xuICBzdGF0ZW1lbnRzLmZvckVhY2gocyA9PiBzLnJlc291cmNlcy5yZXBsYWNlRW1wdHkocmVzb3VyY2UpKTtcbiAgc3RhdGVtZW50cy5mb3JFYWNoKHMgPT4gcy5yZXNvdXJjZXMucmVwbGFjZVN0YXIocmVzb3VyY2UpKTtcbiAgcmV0dXJuIHN0YXRlbWVudHM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWFtQ2hhbmdlc0pzb24ge1xuICBzdGF0ZW1lbnRBZGRpdGlvbnM/OiBTdGF0ZW1lbnRKc29uW107XG4gIHN0YXRlbWVudFJlbW92YWxzPzogU3RhdGVtZW50SnNvbltdO1xuICBtYW5hZ2VkUG9saWN5QWRkaXRpb25zPzogTWFuYWdlZFBvbGljeUpzb25bXTtcbiAgbWFuYWdlZFBvbGljeVJlbW92YWxzPzogTWFuYWdlZFBvbGljeUpzb25bXTtcbn1cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ export declare class ManagedPolicyAttachment {
2
+ readonly identityArn: string;
3
+ readonly managedPolicyArn: string;
4
+ static parseManagedPolicies(identityArn: string, arns: string | string[]): ManagedPolicyAttachment[];
5
+ constructor(identityArn: string, managedPolicyArn: string);
6
+ equal(other: ManagedPolicyAttachment): boolean;
7
+ /**
8
+ * Return a machine-readable version of the changes.
9
+ * This is only used in tests.
10
+ *
11
+ * @internal
12
+ */
13
+ _toJson(): ManagedPolicyJson;
14
+ }
15
+ export interface ManagedPolicyJson {
16
+ identityArn: string;
17
+ managedPolicyArn: string;
18
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ManagedPolicyAttachment = void 0;
4
+ class ManagedPolicyAttachment {
5
+ constructor(identityArn, managedPolicyArn) {
6
+ this.identityArn = identityArn;
7
+ this.managedPolicyArn = managedPolicyArn;
8
+ }
9
+ static parseManagedPolicies(identityArn, arns) {
10
+ return typeof arns === 'string'
11
+ ? [new ManagedPolicyAttachment(identityArn, arns)]
12
+ : arns.map((arn) => new ManagedPolicyAttachment(identityArn, arn));
13
+ }
14
+ equal(other) {
15
+ return this.identityArn === other.identityArn
16
+ && this.managedPolicyArn === other.managedPolicyArn;
17
+ }
18
+ /**
19
+ * Return a machine-readable version of the changes.
20
+ * This is only used in tests.
21
+ *
22
+ * @internal
23
+ */
24
+ _toJson() {
25
+ return { identityArn: this.identityArn, managedPolicyArn: this.managedPolicyArn };
26
+ }
27
+ }
28
+ exports.ManagedPolicyAttachment = ManagedPolicyAttachment;
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlZC1wb2xpY3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJtYW5hZ2VkLXBvbGljeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFhLHVCQUF1QjtJQU9sQyxZQUE0QixXQUFtQixFQUFrQixnQkFBd0I7UUFBN0QsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFBa0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFRO0lBQ3pGLENBQUM7SUFQTSxNQUFNLENBQUMsb0JBQW9CLENBQUMsV0FBbUIsRUFBRSxJQUF1QjtRQUM3RSxPQUFPLE9BQU8sSUFBSSxLQUFLLFFBQVE7WUFDN0IsQ0FBQyxDQUFDLENBQUMsSUFBSSx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksdUJBQXVCLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUtNLEtBQUssQ0FBQyxLQUE4QjtRQUN6QyxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssS0FBSyxDQUFDLFdBQVc7ZUFDdEMsSUFBSSxDQUFDLGdCQUFnQixLQUFLLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxPQUFPO1FBQ1osT0FBTyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3BGLENBQUM7Q0FDRjtBQXhCRCwwREF3QkMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgTWFuYWdlZFBvbGljeUF0dGFjaG1lbnQge1xuICBwdWJsaWMgc3RhdGljIHBhcnNlTWFuYWdlZFBvbGljaWVzKGlkZW50aXR5QXJuOiBzdHJpbmcsIGFybnM6IHN0cmluZyB8IHN0cmluZ1tdKTogTWFuYWdlZFBvbGljeUF0dGFjaG1lbnRbXSB7XG4gICAgcmV0dXJuIHR5cGVvZiBhcm5zID09PSAnc3RyaW5nJ1xuICAgICAgPyBbbmV3IE1hbmFnZWRQb2xpY3lBdHRhY2htZW50KGlkZW50aXR5QXJuLCBhcm5zKV1cbiAgICAgIDogYXJucy5tYXAoKGFybjogc3RyaW5nKSA9PiBuZXcgTWFuYWdlZFBvbGljeUF0dGFjaG1lbnQoaWRlbnRpdHlBcm4sIGFybikpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGlkZW50aXR5QXJuOiBzdHJpbmcsIHB1YmxpYyByZWFkb25seSBtYW5hZ2VkUG9saWN5QXJuOiBzdHJpbmcpIHtcbiAgfVxuXG4gIHB1YmxpYyBlcXVhbChvdGhlcjogTWFuYWdlZFBvbGljeUF0dGFjaG1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pZGVudGl0eUFybiA9PT0gb3RoZXIuaWRlbnRpdHlBcm5cbiAgICAgICAgJiYgdGhpcy5tYW5hZ2VkUG9saWN5QXJuID09PSBvdGhlci5tYW5hZ2VkUG9saWN5QXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1hY2hpbmUtcmVhZGFibGUgdmVyc2lvbiBvZiB0aGUgY2hhbmdlcy5cbiAgICogVGhpcyBpcyBvbmx5IHVzZWQgaW4gdGVzdHMuXG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIF90b0pzb24oKTogTWFuYWdlZFBvbGljeUpzb24ge1xuICAgIHJldHVybiB7IGlkZW50aXR5QXJuOiB0aGlzLmlkZW50aXR5QXJuLCBtYW5hZ2VkUG9saWN5QXJuOiB0aGlzLm1hbmFnZWRQb2xpY3lBcm4gfTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hbmFnZWRQb2xpY3lKc29uIHtcbiAgaWRlbnRpdHlBcm46IHN0cmluZztcbiAgbWFuYWdlZFBvbGljeUFybjogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,127 @@
1
+ export declare class Statement {
2
+ /**
3
+ * Statement ID
4
+ */
5
+ readonly sid: string | undefined;
6
+ /**
7
+ * Statement effect
8
+ */
9
+ readonly effect: Effect;
10
+ /**
11
+ * Resources
12
+ */
13
+ readonly resources: Targets;
14
+ /**
15
+ * Principals
16
+ */
17
+ readonly principals: Targets;
18
+ /**
19
+ * Actions
20
+ */
21
+ readonly actions: Targets;
22
+ /**
23
+ * Object with conditions
24
+ */
25
+ readonly condition?: any;
26
+ private readonly serializedIntrinsic;
27
+ constructor(statement: UnknownMap | string);
28
+ /**
29
+ * Whether this statement is equal to the other statement
30
+ */
31
+ equal(other: Statement): boolean;
32
+ render(): RenderedStatement;
33
+ /**
34
+ * Return a machine-readable version of the changes.
35
+ * This is only used in tests.
36
+ *
37
+ * @internal
38
+ */
39
+ _toJson(): StatementJson;
40
+ /**
41
+ * Whether this is a negative statement
42
+ *
43
+ * A statement is negative if any of its targets are negative, inverted
44
+ * if the Effect is Deny.
45
+ */
46
+ get isNegativeStatement(): boolean;
47
+ }
48
+ export interface RenderedStatement {
49
+ readonly resource: string;
50
+ readonly effect: string;
51
+ readonly action: string;
52
+ readonly principal: string;
53
+ readonly condition: string;
54
+ }
55
+ export interface StatementJson {
56
+ sid?: string;
57
+ effect: string;
58
+ resources: TargetsJson;
59
+ actions: TargetsJson;
60
+ principals: TargetsJson;
61
+ condition?: any;
62
+ }
63
+ export interface TargetsJson {
64
+ not: boolean;
65
+ values: string[];
66
+ }
67
+ /**
68
+ * Parse a list of statements from undefined, a Statement, or a list of statements
69
+ */
70
+ export declare function parseStatements(x: any): Statement[];
71
+ /**
72
+ * Parse a Statement from a Lambda::Permission object
73
+ *
74
+ * This is actually what Lambda adds to the policy document if you call AddPermission.
75
+ */
76
+ export declare function parseLambdaPermission(x: any): Statement;
77
+ /**
78
+ * Targets for a field
79
+ */
80
+ export declare class Targets {
81
+ /**
82
+ * The values of the targets
83
+ */
84
+ readonly values: string[];
85
+ /**
86
+ * Whether positive or negative matchers
87
+ */
88
+ readonly not: boolean;
89
+ constructor(statement: UnknownMap, positiveKey: string, negativeKey: string);
90
+ get empty(): boolean;
91
+ /**
92
+ * Whether this set of targets is equal to the other set of targets
93
+ */
94
+ equal(other: Targets): any;
95
+ /**
96
+ * If the current value set is empty, put this in it
97
+ */
98
+ replaceEmpty(replacement: string): void;
99
+ /**
100
+ * If the actions contains a '*', replace with this string.
101
+ */
102
+ replaceStar(replacement: string): void;
103
+ /**
104
+ * Render into a summary table cell
105
+ */
106
+ render(): string;
107
+ /**
108
+ * Return a machine-readable version of the changes.
109
+ * This is only used in tests.
110
+ *
111
+ * @internal
112
+ */
113
+ _toJson(): TargetsJson;
114
+ }
115
+ declare type UnknownMap = {
116
+ [key: string]: unknown;
117
+ };
118
+ export declare enum Effect {
119
+ Unknown = "Unknown",
120
+ Allow = "Allow",
121
+ Deny = "Deny"
122
+ }
123
+ /**
124
+ * Render the Condition column
125
+ */
126
+ export declare function renderCondition(condition: any): string;
127
+ export {};