@intentius/chant-lexicon-aws 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/dist/actions/dynamodb.d.ts +11 -0
  2. package/dist/actions/dynamodb.d.ts.map +1 -0
  3. package/dist/actions/ecr.d.ts +5 -0
  4. package/dist/actions/ecr.d.ts.map +1 -0
  5. package/dist/actions/ecs.d.ts +6 -0
  6. package/dist/actions/ecs.d.ts.map +1 -0
  7. package/dist/actions/iam.d.ts +4 -0
  8. package/dist/actions/iam.d.ts.map +1 -0
  9. package/dist/actions/index.d.ts +10 -0
  10. package/dist/actions/index.d.ts.map +1 -0
  11. package/dist/actions/lambda.d.ts +6 -0
  12. package/dist/actions/lambda.d.ts.map +1 -0
  13. package/dist/actions/logs.d.ts +5 -0
  14. package/dist/actions/logs.d.ts.map +1 -0
  15. package/dist/actions/s3.d.ts +11 -0
  16. package/dist/actions/s3.d.ts.map +1 -0
  17. package/dist/actions/sns.d.ts +6 -0
  18. package/dist/actions/sns.d.ts.map +1 -0
  19. package/dist/actions/sqs.d.ts +6 -0
  20. package/dist/actions/sqs.d.ts.map +1 -0
  21. package/dist/codegen/docs-cli.d.ts +2 -0
  22. package/dist/codegen/docs-cli.d.ts.map +1 -0
  23. package/dist/codegen/docs.d.ts +15 -0
  24. package/dist/codegen/docs.d.ts.map +1 -0
  25. package/dist/codegen/extensions.d.ts +25 -0
  26. package/dist/codegen/extensions.d.ts.map +1 -0
  27. package/dist/codegen/fallback.d.ts +8 -0
  28. package/dist/codegen/fallback.d.ts.map +1 -0
  29. package/dist/codegen/generate-cli.d.ts +3 -0
  30. package/dist/codegen/generate-cli.d.ts.map +1 -0
  31. package/dist/codegen/generate-lexicon.d.ts +38 -0
  32. package/dist/codegen/generate-lexicon.d.ts.map +1 -0
  33. package/dist/codegen/generate-typescript.d.ts +16 -0
  34. package/dist/codegen/generate-typescript.d.ts.map +1 -0
  35. package/dist/codegen/generate.d.ts +15 -0
  36. package/dist/codegen/generate.d.ts.map +1 -0
  37. package/dist/codegen/naming.d.ts +16 -0
  38. package/dist/codegen/naming.d.ts.map +1 -0
  39. package/dist/codegen/package.d.ts +11 -0
  40. package/dist/codegen/package.d.ts.map +1 -0
  41. package/dist/codegen/patches.d.ts +37 -0
  42. package/dist/codegen/patches.d.ts.map +1 -0
  43. package/dist/codegen/sam.d.ts +9 -0
  44. package/dist/codegen/sam.d.ts.map +1 -0
  45. package/dist/codegen/typecheck.d.ts +5 -0
  46. package/dist/codegen/typecheck.d.ts.map +1 -0
  47. package/dist/codegen/versions.d.ts +20 -0
  48. package/dist/codegen/versions.d.ts.map +1 -0
  49. package/dist/composites/alb-shared.d.ts +16 -0
  50. package/dist/composites/alb-shared.d.ts.map +1 -0
  51. package/dist/composites/ec2-instance-role.d.ts +11 -0
  52. package/dist/composites/ec2-instance-role.d.ts.map +1 -0
  53. package/dist/composites/ecs-trust-policy.d.ts +11 -0
  54. package/dist/composites/ecs-trust-policy.d.ts.map +1 -0
  55. package/dist/composites/efs-with-access-point.d.ts +18 -0
  56. package/dist/composites/efs-with-access-point.d.ts.map +1 -0
  57. package/dist/composites/fargate-alb.d.ts +43 -0
  58. package/dist/composites/fargate-alb.d.ts.map +1 -0
  59. package/dist/composites/fargate-service.d.ts +51 -0
  60. package/dist/composites/fargate-service.d.ts.map +1 -0
  61. package/dist/composites/index.d.ts +35 -0
  62. package/dist/composites/index.d.ts.map +1 -0
  63. package/dist/composites/lambda-api.d.ts +13 -0
  64. package/dist/composites/lambda-api.d.ts.map +1 -0
  65. package/dist/composites/lambda-dynamodb.d.ts +20 -0
  66. package/dist/composites/lambda-dynamodb.d.ts.map +1 -0
  67. package/dist/composites/lambda-eventbridge.d.ts +14 -0
  68. package/dist/composites/lambda-eventbridge.d.ts.map +1 -0
  69. package/dist/composites/lambda-function.d.ts +90 -0
  70. package/dist/composites/lambda-function.d.ts.map +1 -0
  71. package/dist/composites/lambda-s3.d.ts +23 -0
  72. package/dist/composites/lambda-s3.d.ts.map +1 -0
  73. package/dist/composites/lambda-sns.d.ts +12 -0
  74. package/dist/composites/lambda-sns.d.ts.map +1 -0
  75. package/dist/composites/lambda-sqs.d.ts +13 -0
  76. package/dist/composites/lambda-sqs.d.ts.map +1 -0
  77. package/dist/composites/minimal-vpc.d.ts +12 -0
  78. package/dist/composites/minimal-vpc.d.ts.map +1 -0
  79. package/dist/composites/rds-instance.d.ts +40 -0
  80. package/dist/composites/rds-instance.d.ts.map +1 -0
  81. package/dist/composites/scheduled-lambda.d.ts +15 -0
  82. package/dist/composites/scheduled-lambda.d.ts.map +1 -0
  83. package/dist/composites/solr-fargate-service.d.ts +15 -0
  84. package/dist/composites/solr-fargate-service.d.ts.map +1 -0
  85. package/dist/composites/vpc-default.d.ts +49 -0
  86. package/dist/composites/vpc-default.d.ts.map +1 -0
  87. package/dist/coverage.d.ts +5 -0
  88. package/dist/coverage.d.ts.map +1 -0
  89. package/dist/default-tags.d.ts +57 -0
  90. package/dist/default-tags.d.ts.map +1 -0
  91. package/dist/detect.d.ts +3 -0
  92. package/dist/detect.d.ts.map +1 -0
  93. package/dist/generated/index.d.ts +10456 -0
  94. package/dist/generated/index.d.ts.map +1 -0
  95. package/dist/generated/runtime.d.ts +5 -0
  96. package/dist/generated/runtime.d.ts.map +1 -0
  97. package/dist/import/generator.d.ts +72 -0
  98. package/dist/import/generator.d.ts.map +1 -0
  99. package/dist/import/live-export.d.ts +12 -0
  100. package/dist/import/live-export.d.ts.map +1 -0
  101. package/dist/import/parser.d.ts +30 -0
  102. package/dist/import/parser.d.ts.map +1 -0
  103. package/dist/index.d.ts +27 -0
  104. package/dist/index.d.ts.map +1 -0
  105. package/dist/integrity.json +4 -4
  106. package/dist/intrinsics.d.ts +158 -0
  107. package/dist/intrinsics.d.ts.map +1 -0
  108. package/dist/lint/post-synth/cf-refs.d.ts +54 -0
  109. package/dist/lint/post-synth/cf-refs.d.ts.map +1 -0
  110. package/dist/lint/post-synth/cor020.d.ts +10 -0
  111. package/dist/lint/post-synth/cor020.d.ts.map +1 -0
  112. package/dist/lint/post-synth/ext001.d.ts +25 -0
  113. package/dist/lint/post-synth/ext001.d.ts.map +1 -0
  114. package/dist/lint/post-synth/index.d.ts +3 -0
  115. package/dist/lint/post-synth/index.d.ts.map +1 -0
  116. package/dist/lint/post-synth/waw010.d.ts +10 -0
  117. package/dist/lint/post-synth/waw010.d.ts.map +1 -0
  118. package/dist/lint/post-synth/waw011.d.ts +9 -0
  119. package/dist/lint/post-synth/waw011.d.ts.map +1 -0
  120. package/dist/lint/post-synth/waw013.d.ts +10 -0
  121. package/dist/lint/post-synth/waw013.d.ts.map +1 -0
  122. package/dist/lint/post-synth/waw014.d.ts +9 -0
  123. package/dist/lint/post-synth/waw014.d.ts.map +1 -0
  124. package/dist/lint/post-synth/waw015.d.ts +13 -0
  125. package/dist/lint/post-synth/waw015.d.ts.map +1 -0
  126. package/dist/lint/post-synth/waw016.d.ts +13 -0
  127. package/dist/lint/post-synth/waw016.d.ts.map +1 -0
  128. package/dist/lint/post-synth/waw017.d.ts +13 -0
  129. package/dist/lint/post-synth/waw017.d.ts.map +1 -0
  130. package/dist/lint/post-synth/waw018.d.ts +9 -0
  131. package/dist/lint/post-synth/waw018.d.ts.map +1 -0
  132. package/dist/lint/post-synth/waw019.d.ts +10 -0
  133. package/dist/lint/post-synth/waw019.d.ts.map +1 -0
  134. package/dist/lint/post-synth/waw020.d.ts +10 -0
  135. package/dist/lint/post-synth/waw020.d.ts.map +1 -0
  136. package/dist/lint/post-synth/waw021.d.ts +9 -0
  137. package/dist/lint/post-synth/waw021.d.ts.map +1 -0
  138. package/dist/lint/post-synth/waw022.d.ts +9 -0
  139. package/dist/lint/post-synth/waw022.d.ts.map +1 -0
  140. package/dist/lint/post-synth/waw023.d.ts +9 -0
  141. package/dist/lint/post-synth/waw023.d.ts.map +1 -0
  142. package/dist/lint/post-synth/waw024.d.ts +9 -0
  143. package/dist/lint/post-synth/waw024.d.ts.map +1 -0
  144. package/dist/lint/post-synth/waw025.d.ts +9 -0
  145. package/dist/lint/post-synth/waw025.d.ts.map +1 -0
  146. package/dist/lint/post-synth/waw026.d.ts +9 -0
  147. package/dist/lint/post-synth/waw026.d.ts.map +1 -0
  148. package/dist/lint/post-synth/waw027.d.ts +9 -0
  149. package/dist/lint/post-synth/waw027.d.ts.map +1 -0
  150. package/dist/lint/post-synth/waw028.d.ts +9 -0
  151. package/dist/lint/post-synth/waw028.d.ts.map +1 -0
  152. package/dist/lint/post-synth/waw029.d.ts +11 -0
  153. package/dist/lint/post-synth/waw029.d.ts.map +1 -0
  154. package/dist/lint/post-synth/waw030.d.ts +19 -0
  155. package/dist/lint/post-synth/waw030.d.ts.map +1 -0
  156. package/dist/lint/post-synth/waw031.d.ts +17 -0
  157. package/dist/lint/post-synth/waw031.d.ts.map +1 -0
  158. package/dist/lint/post-synth/waw032.d.ts +11 -0
  159. package/dist/lint/post-synth/waw032.d.ts.map +1 -0
  160. package/dist/lint/post-synth/waw033.d.ts +12 -0
  161. package/dist/lint/post-synth/waw033.d.ts.map +1 -0
  162. package/dist/lint/post-synth/waw034.d.ts +11 -0
  163. package/dist/lint/post-synth/waw034.d.ts.map +1 -0
  164. package/dist/lint/post-synth/waw035.d.ts +12 -0
  165. package/dist/lint/post-synth/waw035.d.ts.map +1 -0
  166. package/dist/lint/post-synth/waw036.d.ts +21 -0
  167. package/dist/lint/post-synth/waw036.d.ts.map +1 -0
  168. package/dist/lint/post-synth/waw037.d.ts +21 -0
  169. package/dist/lint/post-synth/waw037.d.ts.map +1 -0
  170. package/dist/lint/rules/hardcoded-region.d.ts +9 -0
  171. package/dist/lint/rules/hardcoded-region.d.ts.map +1 -0
  172. package/dist/lint/rules/iam-wildcard.d.ts +9 -0
  173. package/dist/lint/rules/iam-wildcard.d.ts.map +1 -0
  174. package/dist/lint/rules/index.d.ts +7 -0
  175. package/dist/lint/rules/index.d.ts.map +1 -0
  176. package/dist/lint/rules/s3-encryption.d.ts +9 -0
  177. package/dist/lint/rules/s3-encryption.d.ts.map +1 -0
  178. package/dist/lsp/completions.d.ts +6 -0
  179. package/dist/lsp/completions.d.ts.map +1 -0
  180. package/dist/lsp/hover.d.ts +6 -0
  181. package/dist/lsp/hover.d.ts.map +1 -0
  182. package/dist/manifest.json +1 -1
  183. package/dist/meta.json +47249 -71446
  184. package/dist/nested-stack.d.ts +75 -0
  185. package/dist/nested-stack.d.ts.map +1 -0
  186. package/dist/package-cli.d.ts +3 -0
  187. package/dist/package-cli.d.ts.map +1 -0
  188. package/dist/parameter.d.ts +14 -0
  189. package/dist/parameter.d.ts.map +1 -0
  190. package/dist/plugin.d.ts +9 -0
  191. package/dist/plugin.d.ts.map +1 -0
  192. package/dist/pseudo.d.ts +17 -0
  193. package/dist/pseudo.d.ts.map +1 -0
  194. package/dist/serializer.d.ts +6 -0
  195. package/dist/serializer.d.ts.map +1 -0
  196. package/dist/spec/fetch.d.ts +74 -0
  197. package/dist/spec/fetch.d.ts.map +1 -0
  198. package/dist/spec/parse.d.ts +65 -0
  199. package/dist/spec/parse.d.ts.map +1 -0
  200. package/dist/taggable.d.ts +11 -0
  201. package/dist/taggable.d.ts.map +1 -0
  202. package/dist/types/index.d.ts +36522 -78140
  203. package/dist/validate-cli.d.ts +3 -0
  204. package/dist/validate-cli.d.ts.map +1 -0
  205. package/dist/validate.d.ts +17 -0
  206. package/dist/validate.d.ts.map +1 -0
  207. package/package.json +24 -5
  208. package/src/codegen/__snapshots__/snapshot.test.ts.snap +0 -1
  209. package/src/codegen/fallback.ts +2 -0
  210. package/src/codegen/package.ts +1 -1
  211. package/src/codegen/sam.ts +18 -0
  212. package/src/composites/efs-with-access-point.ts +1 -1
  213. package/src/composites/fargate-service.ts +1 -1
  214. package/src/composites/lambda-api.ts +6 -2
  215. package/src/composites/lambda-function.ts +6 -1
  216. package/src/composites/lambda-s3.ts +7 -2
  217. package/src/composites/vpc-default.ts +25 -1
  218. package/src/detect.ts +19 -0
  219. package/src/generated/index.d.ts +36522 -78140
  220. package/src/generated/index.ts +116 -4958
  221. package/src/generated/lexicon-aws.json +47249 -71446
  222. package/src/lint/post-synth/index.ts +63 -0
  223. package/src/plugin.ts +7 -26
  224. package/src/spec/parse.ts +21 -1
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WAW021: RDS Storage Not Encrypted
3
+ *
4
+ * Flags RDS instances and clusters without StorageEncrypted: true.
5
+ */
6
+ import type { PostSynthCheck, PostSynthContext, PostSynthDiagnostic } from "@intentius/chant/lint/post-synth";
7
+ export declare function checkRdsEncryption(ctx: PostSynthContext): PostSynthDiagnostic[];
8
+ export declare const waw021: PostSynthCheck;
9
+ //# sourceMappingURL=waw021.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waw021.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/waw021.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAQ9G,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CA6B/E;AAED,eAAO,MAAM,MAAM,EAAE,cAOpB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WAW022: Lambda Not in VPC
3
+ *
4
+ * Flags Lambda functions without VpcConfig.
5
+ */
6
+ import type { PostSynthCheck, PostSynthContext, PostSynthDiagnostic } from "@intentius/chant/lint/post-synth";
7
+ export declare function checkLambdaVpc(ctx: PostSynthContext): PostSynthDiagnostic[];
8
+ export declare const waw022: PostSynthCheck;
9
+ //# sourceMappingURL=waw022.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waw022.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/waw022.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAG9G,wBAAgB,cAAc,CAAC,GAAG,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CAwB3E;AAED,eAAO,MAAM,MAAM,EAAE,cAOpB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WAW023: CloudFront Without WAF
3
+ *
4
+ * Flags CloudFront distributions without WebACLId.
5
+ */
6
+ import type { PostSynthCheck, PostSynthContext, PostSynthDiagnostic } from "@intentius/chant/lint/post-synth";
7
+ export declare function checkCloudFrontWaf(ctx: PostSynthContext): PostSynthDiagnostic[];
8
+ export declare const waw023: PostSynthCheck;
9
+ //# sourceMappingURL=waw023.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waw023.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/waw023.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAG9G,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CA4B/E;AAED,eAAO,MAAM,MAAM,EAAE,cAOpB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WAW024: ALB Without Access Logging
3
+ *
4
+ * Flags Application Load Balancers without access logging enabled.
5
+ */
6
+ import type { PostSynthCheck, PostSynthContext, PostSynthDiagnostic } from "@intentius/chant/lint/post-synth";
7
+ export declare function checkAlbAccessLogs(ctx: PostSynthContext): PostSynthDiagnostic[];
8
+ export declare const waw024: PostSynthCheck;
9
+ //# sourceMappingURL=waw024.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waw024.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/waw024.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAG9G,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CAmC/E;AAED,eAAO,MAAM,MAAM,EAAE,cAOpB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WAW025: SNS Topic Not Encrypted
3
+ *
4
+ * Flags SNS topics without KmsMasterKeyId.
5
+ */
6
+ import type { PostSynthCheck, PostSynthContext, PostSynthDiagnostic } from "@intentius/chant/lint/post-synth";
7
+ export declare function checkSnsEncryption(ctx: PostSynthContext): PostSynthDiagnostic[];
8
+ export declare const waw025: PostSynthCheck;
9
+ //# sourceMappingURL=waw025.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waw025.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/waw025.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAG9G,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CAwB/E;AAED,eAAO,MAAM,MAAM,EAAE,cAOpB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WAW026: SQS Queue Not Encrypted
3
+ *
4
+ * Flags SQS queues without SqsManagedSseEnabled or KmsMasterKeyId.
5
+ */
6
+ import type { PostSynthCheck, PostSynthContext, PostSynthDiagnostic } from "@intentius/chant/lint/post-synth";
7
+ export declare function checkSqsEncryption(ctx: PostSynthContext): PostSynthDiagnostic[];
8
+ export declare const waw026: PostSynthCheck;
9
+ //# sourceMappingURL=waw026.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waw026.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/waw026.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAG9G,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CA2B/E;AAED,eAAO,MAAM,MAAM,EAAE,cAOpB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WAW027: DynamoDB Missing Point-in-Time Recovery
3
+ *
4
+ * Flags DynamoDB tables without PointInTimeRecoverySpecification.PointInTimeRecoveryEnabled.
5
+ */
6
+ import type { PostSynthCheck, PostSynthContext, PostSynthDiagnostic } from "@intentius/chant/lint/post-synth";
7
+ export declare function checkDynamoDbPitr(ctx: PostSynthContext): PostSynthDiagnostic[];
8
+ export declare const waw027: PostSynthCheck;
9
+ //# sourceMappingURL=waw027.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waw027.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/waw027.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAG9G,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CA+B9E;AAED,eAAO,MAAM,MAAM,EAAE,cAOpB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WAW028: EBS Volume Not Encrypted
3
+ *
4
+ * Flags EBS volumes without Encrypted: true.
5
+ */
6
+ import type { PostSynthCheck, PostSynthContext, PostSynthDiagnostic } from "@intentius/chant/lint/post-synth";
7
+ export declare function checkEbsEncryption(ctx: PostSynthContext): PostSynthDiagnostic[];
8
+ export declare const waw028: PostSynthCheck;
9
+ //# sourceMappingURL=waw028.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waw028.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/waw028.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAG9G,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CA4B/E;AAED,eAAO,MAAM,MAAM,EAAE,cAOpB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * WAW029: Invalid DependsOn Target
3
+ *
4
+ * Detects two cases in the serialized template:
5
+ * - Dangling reference: DependsOn target not in template.Resources
6
+ * - Self-reference: Resource depends on itself
7
+ */
8
+ import type { PostSynthCheck, PostSynthContext, PostSynthDiagnostic } from "@intentius/chant/lint/post-synth";
9
+ export declare function checkInvalidDependsOn(ctx: PostSynthContext): PostSynthDiagnostic[];
10
+ export declare const waw029: PostSynthCheck;
11
+ //# sourceMappingURL=waw029.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waw029.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/waw029.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAG9G,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CAyClF;AAED,eAAO,MAAM,MAAM,EAAE,cAOpB,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * WAW030: Missing DependsOn for Known Patterns
3
+ *
4
+ * Detects resources that are likely missing a required DependsOn
5
+ * based on well-known CloudFormation ordering requirements:
6
+ *
7
+ * - ECS Service with LoadBalancers but no DependsOn on a Listener
8
+ * - EC2 Route with GatewayId but no DependsOn on VPCGatewayAttachment
9
+ * - API Gateway Deployment with no DependsOn on any Method
10
+ * - API Gateway V2 Deployment with no DependsOn on any Route
11
+ * - DynamoDB ScalableTarget with no DependsOn on the Table
12
+ * - ECS ScalableTarget with no DependsOn on the ECS Service
13
+ * - EKS Addon with hardcoded ClusterName but no DependsOn on the Cluster or Nodegroup
14
+ * - EKS Nodegroup with hardcoded ClusterName but no DependsOn on the Cluster
15
+ */
16
+ import type { PostSynthCheck, PostSynthContext, PostSynthDiagnostic } from "@intentius/chant/lint/post-synth";
17
+ export declare function checkMissingDependsOn(ctx: PostSynthContext): PostSynthDiagnostic[];
18
+ export declare const waw030: PostSynthCheck;
19
+ //# sourceMappingURL=waw030.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waw030.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/waw030.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAG9G,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CA2NlF;AAuDD,eAAO,MAAM,MAAM,EAAE,cAOpB,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * WAW031: EKS Addon Missing ServiceAccountRoleArn
3
+ *
4
+ * Certain EKS addons require a ServiceAccountRoleArn (IRSA role) to function.
5
+ * Without one, the addon pods can't authenticate to AWS APIs and the addon
6
+ * hangs in CREATING status indefinitely.
7
+ *
8
+ * Known addons that require IRSA:
9
+ * - aws-ebs-csi-driver (needs EBS API access)
10
+ * - aws-efs-csi-driver (needs EFS API access)
11
+ * - adot (needs CloudWatch/X-Ray access)
12
+ * - amazon-cloudwatch-observability (needs CloudWatch access)
13
+ */
14
+ import type { PostSynthCheck, PostSynthContext, PostSynthDiagnostic } from "@intentius/chant/lint/post-synth";
15
+ export declare function checkAddonMissingRole(ctx: PostSynthContext): PostSynthDiagnostic[];
16
+ export declare const waw031: PostSynthCheck;
17
+ //# sourceMappingURL=waw031.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waw031.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/waw031.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAW9G,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CA+BlF;AAED,eAAO,MAAM,MAAM,EAAE,cAOpB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * WAW032: EFS Transit Encryption Disabled
3
+ *
4
+ * Flags EFS volume configurations on Fargate task definitions where transit
5
+ * encryption has been explicitly disabled. FargateService defaults to ENABLED;
6
+ * this rule catches intentional opt-outs.
7
+ */
8
+ import type { PostSynthCheck, PostSynthContext, PostSynthDiagnostic } from "@intentius/chant/lint/post-synth";
9
+ export declare function checkEfsTransitEncryption(ctx: PostSynthContext): PostSynthDiagnostic[];
10
+ export declare const waw032: PostSynthCheck;
11
+ //# sourceMappingURL=waw032.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waw032.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/waw032.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAG9G,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CA+BtF;AAED,eAAO,MAAM,MAAM,EAAE,cAOpB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * WAW033: Solr Heap Exceeds 50% of Container Memory
3
+ *
4
+ * When SOLR_HEAP is set on a Fargate task running a Solr image, validates that
5
+ * the heap does not exceed 50% of the task's allocated memory. Exceeding this
6
+ * leaves insufficient headroom for the OS file cache that Lucene MMap relies on,
7
+ * causing the OOM killer to terminate the container.
8
+ */
9
+ import type { PostSynthCheck, PostSynthContext, PostSynthDiagnostic } from "@intentius/chant/lint/post-synth";
10
+ export declare function checkSolrHeapRatio(ctx: PostSynthContext): PostSynthDiagnostic[];
11
+ export declare const waw033: PostSynthCheck;
12
+ //# sourceMappingURL=waw033.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waw033.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/waw033.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAiB9G,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CAkD/E;AAED,eAAO,MAAM,MAAM,EAAE,cAOpB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * WAW034: Solr Container Undersized
3
+ *
4
+ * Fargate tasks running a Solr image with less than 2048MB of memory will
5
+ * fail under any real load — the JVM alone needs headroom for the heap plus
6
+ * OS file cache for Lucene MMap. 4096MB is the practical production minimum.
7
+ */
8
+ import type { PostSynthCheck, PostSynthContext, PostSynthDiagnostic } from "@intentius/chant/lint/post-synth";
9
+ export declare function checkSolrMemoryMinimum(ctx: PostSynthContext): PostSynthDiagnostic[];
10
+ export declare const waw034: PostSynthCheck;
11
+ //# sourceMappingURL=waw034.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waw034.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/waw034.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAO9G,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CAsCnF;AAED,eAAO,MAAM,MAAM,EAAE,cAOpB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * WAW035: Solr Container Missing nofile Ulimit
3
+ *
4
+ * Solr opens a file descriptor for every shard replica, index file, log, and
5
+ * connection. Without a raised nofile limit the process hits the default kernel
6
+ * limit (~1024) under moderate load, causing "Too many open files" errors that
7
+ * bring the node down. The production minimum is 65535.
8
+ */
9
+ import type { PostSynthCheck, PostSynthContext, PostSynthDiagnostic } from "@intentius/chant/lint/post-synth";
10
+ export declare function checkSolrUlimits(ctx: PostSynthContext): PostSynthDiagnostic[];
11
+ export declare const waw035: PostSynthCheck;
12
+ //# sourceMappingURL=waw035.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waw035.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/waw035.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAS9G,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CA2C7E;AAED,eAAO,MAAM,MAAM,EAAE,cAOpB,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * WAW036: Non-ASCII Characters in EC2/IAM String Properties
3
+ *
4
+ * EC2, IAM, CloudWatch, and other AWS services only accept ASCII 0x20–0x7E in
5
+ * description, name, and label fields. Non-ASCII characters (em-dashes, curly
6
+ * quotes, accented letters, etc.) cause the changeset to fail at EarlyValidation
7
+ * with an opaque "Invalid parameter" error that doesn't name the offending property.
8
+ *
9
+ * Properties checked (all must be plain ASCII strings):
10
+ * - AWS::EC2::SecurityGroup GroupDescription
11
+ * - AWS::EC2::LaunchTemplate LaunchTemplateName
12
+ * - AWS::IAM::Role RoleName
13
+ * - AWS::Lambda::Function FunctionName
14
+ * - AWS::RDS::DBSubnetGroup DBSubnetGroupDescription
15
+ * - AWS::CloudWatch::Alarm AlarmDescription, AlarmName
16
+ * - AWS::AutoScaling::AutoScalingGroup AutoScalingGroupName
17
+ */
18
+ import type { PostSynthCheck, PostSynthContext, PostSynthDiagnostic } from "@intentius/chant/lint/post-synth";
19
+ export declare function checkNonAsciiProps(ctx: PostSynthContext): PostSynthDiagnostic[];
20
+ export declare const waw036: PostSynthCheck;
21
+ //# sourceMappingURL=waw036.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waw036.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/waw036.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAuB9G,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CAqC/E;AAED,eAAO,MAAM,MAAM,EAAE,cAOpB,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * WAW037: Null Values in CloudFormation Resource Properties
3
+ *
4
+ * `resource.PropName` where PropName is not a real GetAtt attribute returns null
5
+ * silently in chant's AttrRef system — the TypeScript types say `string` but the
6
+ * runtime value is null. This produces a template with literal null values that
7
+ * CloudFormation rejects at changeset time with an unhelpful "Invalid template"
8
+ * error.
9
+ *
10
+ * Common causes:
11
+ * - `resource.SomeId` instead of `Ref(resource)` (use Ref for the primary identifier)
12
+ * - `resource.SomeProp` where SomeProp is not listed in AWS CloudFormation GetAtt docs
13
+ * - Typo in an attribute name (e.g. `resource.GroupName` vs `resource.GroupId`)
14
+ *
15
+ * This check scans every resource's Properties for null values at any depth and
16
+ * reports the logical resource ID and dotted property path.
17
+ */
18
+ import type { PostSynthCheck, PostSynthContext, PostSynthDiagnostic } from "@intentius/chant/lint/post-synth";
19
+ export declare function checkNullProperties(ctx: PostSynthContext): PostSynthDiagnostic[];
20
+ export declare const waw037: PostSynthCheck;
21
+ //# sourceMappingURL=waw037.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waw037.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/waw037.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AA2B9G,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CA0BhF;AAED,eAAO,MAAM,MAAM,EAAE,cAOpB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { LintRule } from "@intentius/chant/lint/rule";
2
+ /**
3
+ * WAW001: Hardcoded AWS Region
4
+ *
5
+ * Detects hardcoded AWS region strings in code.
6
+ * Regions should use AWS.Region pseudo-parameter instead.
7
+ */
8
+ export declare const hardcodedRegionRule: LintRule;
9
+ //# sourceMappingURL=hardcoded-region.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hardcoded-region.d.ts","sourceRoot":"","sources":["../../../src/lint/rules/hardcoded-region.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA+B,MAAM,4BAA4B,CAAC;AAGxF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAkCjC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { LintRule } from "@intentius/chant/lint/rule";
2
+ /**
3
+ * WAW009: IAM Wildcard Resource
4
+ *
5
+ * Detects IAM policies with wildcard (*) resources.
6
+ * Policies should specify explicit resources for better security.
7
+ */
8
+ export declare const iamWildcardRule: LintRule;
9
+ //# sourceMappingURL=iam-wildcard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iam-wildcard.d.ts","sourceRoot":"","sources":["../../../src/lint/rules/iam-wildcard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA+B,MAAM,4BAA4B,CAAC;AAGxF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,QAyD7B,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * AWS-specific lint rules for chant projects
3
+ */
4
+ export { hardcodedRegionRule } from "./hardcoded-region.js";
5
+ export { s3EncryptionRule } from "./s3-encryption.js";
6
+ export { iamWildcardRule } from "./iam-wildcard.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lint/rules/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { LintRule } from "@intentius/chant/lint/rule";
2
+ /**
3
+ * WAW006: S3 Bucket Encryption
4
+ *
5
+ * Detects S3 Bucket creation without encryption configuration.
6
+ * All S3 buckets should have server-side encryption enabled.
7
+ */
8
+ export declare const s3EncryptionRule: LintRule;
9
+ //# sourceMappingURL=s3-encryption.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3-encryption.d.ts","sourceRoot":"","sources":["../../../src/lint/rules/s3-encryption.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA+B,MAAM,4BAA4B,CAAC;AAGxF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,QA2D9B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { CompletionContext, CompletionItem } from "@intentius/chant/lsp/types";
2
+ /**
3
+ * Provide AWS completions based on context.
4
+ */
5
+ export declare function awsCompletions(ctx: CompletionContext): CompletionItem[];
6
+ //# sourceMappingURL=completions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completions.d.ts","sourceRoot":"","sources":["../../src/lsp/completions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAapF;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,iBAAiB,GAAG,cAAc,EAAE,CAEvE"}
@@ -0,0 +1,6 @@
1
+ import type { HoverContext, HoverInfo } from "@intentius/chant/lsp/types";
2
+ /**
3
+ * Provide hover information for AWS resource types and properties.
4
+ */
5
+ export declare function awsHover(ctx: HoverContext): HoverInfo | undefined;
6
+ //# sourceMappingURL=hover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hover.d.ts","sourceRoot":"","sources":["../../src/lsp/hover.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAa1E;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,CAEjE"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aws",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "chantVersion": ">=0.1.0",
5
5
  "namespace": "AWS",
6
6
  "intrinsics": [