@quadnix/octo-aws-cdk 0.0.13 → 0.0.14

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 (366) hide show
  1. package/dist/modules/account/aws-credentials-account/aws-credentials-account.module.js +1 -0
  2. package/dist/modules/account/aws-credentials-account/aws-credentials-account.module.js.map +1 -1
  3. package/dist/modules/account/aws-ini-account/aws-ini-account.module.js +1 -0
  4. package/dist/modules/account/aws-ini-account/aws-ini-account.module.js.map +1 -1
  5. package/dist/modules/account/aws-localstack-account/aws-localstack-account.module.js +1 -0
  6. package/dist/modules/account/aws-localstack-account/aws-localstack-account.module.js.map +1 -1
  7. package/dist/modules/account/aws-moto-account/aws-moto-account.module.js +1 -0
  8. package/dist/modules/account/aws-moto-account/aws-moto-account.module.js.map +1 -1
  9. package/dist/modules/service/aws-s3-static-website-service/aws-s3-static-website-service.module.d.ts +3 -0
  10. package/dist/modules/service/aws-s3-static-website-service/aws-s3-static-website-service.module.js +27 -1
  11. package/dist/modules/service/aws-s3-static-website-service/aws-s3-static-website-service.module.js.map +1 -1
  12. package/dist/resources/alb/actions/add-alb.resource.action.d.ts +2 -2
  13. package/dist/resources/alb/actions/add-alb.resource.action.js +8 -23
  14. package/dist/resources/alb/actions/add-alb.resource.action.js.map +1 -1
  15. package/dist/resources/alb/actions/delete-alb.resource.action.d.ts +0 -1
  16. package/dist/resources/alb/actions/delete-alb.resource.action.js +0 -17
  17. package/dist/resources/alb/actions/delete-alb.resource.action.js.map +1 -1
  18. package/dist/resources/alb/actions/update-alb-tags.resource.action.d.ts +0 -1
  19. package/dist/resources/alb/actions/update-alb-tags.resource.action.js +0 -6
  20. package/dist/resources/alb/actions/update-alb-tags.resource.action.js.map +1 -1
  21. package/dist/resources/alb/actions/validate-alb.resource.action.d.ts +17 -0
  22. package/dist/resources/alb/actions/validate-alb.resource.action.js +129 -0
  23. package/dist/resources/alb/actions/validate-alb.resource.action.js.map +1 -0
  24. package/dist/resources/alb/index.d.ts +1 -0
  25. package/dist/resources/alb/index.js +1 -0
  26. package/dist/resources/alb/index.js.map +1 -1
  27. package/dist/resources/alb-listener/actions/add-alb-listener.resource.action.d.ts +2 -2
  28. package/dist/resources/alb-listener/actions/add-alb-listener.resource.action.js +8 -22
  29. package/dist/resources/alb-listener/actions/add-alb-listener.resource.action.js.map +1 -1
  30. package/dist/resources/alb-listener/actions/delete-alb-listener.resource.action.d.ts +0 -1
  31. package/dist/resources/alb-listener/actions/delete-alb-listener.resource.action.js +0 -14
  32. package/dist/resources/alb-listener/actions/delete-alb-listener.resource.action.js.map +1 -1
  33. package/dist/resources/alb-listener/actions/update-alb-listener-rule.resource.action.d.ts +2 -2
  34. package/dist/resources/alb-listener/actions/update-alb-listener-rule.resource.action.js +51 -37
  35. package/dist/resources/alb-listener/actions/update-alb-listener-rule.resource.action.js.map +1 -1
  36. package/dist/resources/alb-listener/actions/update-alb-listener-tags.resource.action.d.ts +0 -1
  37. package/dist/resources/alb-listener/actions/update-alb-listener-tags.resource.action.js +0 -6
  38. package/dist/resources/alb-listener/actions/update-alb-listener-tags.resource.action.js.map +1 -1
  39. package/dist/resources/alb-listener/actions/update-alb-listener.resource.action.d.ts +0 -2
  40. package/dist/resources/alb-listener/actions/update-alb-listener.resource.action.js +1 -21
  41. package/dist/resources/alb-listener/actions/update-alb-listener.resource.action.js.map +1 -1
  42. package/dist/resources/alb-listener/actions/validate-alb-listener.resource.action.d.ts +17 -0
  43. package/dist/resources/alb-listener/actions/validate-alb-listener.resource.action.js +347 -0
  44. package/dist/resources/alb-listener/actions/validate-alb-listener.resource.action.js.map +1 -0
  45. package/dist/resources/alb-listener/index.d.ts +1 -0
  46. package/dist/resources/alb-listener/index.js +1 -0
  47. package/dist/resources/alb-listener/index.js.map +1 -1
  48. package/dist/resources/alb-target-group/actions/add-alb-target-group.resource.action.d.ts +2 -2
  49. package/dist/resources/alb-target-group/actions/add-alb-target-group.resource.action.js +6 -21
  50. package/dist/resources/alb-target-group/actions/add-alb-target-group.resource.action.js.map +1 -1
  51. package/dist/resources/alb-target-group/actions/delete-alb-target-group.resource.action.d.ts +0 -1
  52. package/dist/resources/alb-target-group/actions/delete-alb-target-group.resource.action.js +0 -14
  53. package/dist/resources/alb-target-group/actions/delete-alb-target-group.resource.action.js.map +1 -1
  54. package/dist/resources/alb-target-group/actions/update-alb-target-group-tags.resource.action.d.ts +0 -1
  55. package/dist/resources/alb-target-group/actions/update-alb-target-group-tags.resource.action.js +0 -6
  56. package/dist/resources/alb-target-group/actions/update-alb-target-group-tags.resource.action.js.map +1 -1
  57. package/dist/resources/alb-target-group/actions/update-alb-target-group.resource.action.d.ts +0 -1
  58. package/dist/resources/alb-target-group/actions/update-alb-target-group.resource.action.js +0 -14
  59. package/dist/resources/alb-target-group/actions/update-alb-target-group.resource.action.js.map +1 -1
  60. package/dist/resources/alb-target-group/actions/validate-alb-target-group.resource.action.d.ts +17 -0
  61. package/dist/resources/alb-target-group/actions/validate-alb-target-group.resource.action.js +151 -0
  62. package/dist/resources/alb-target-group/actions/validate-alb-target-group.resource.action.js.map +1 -0
  63. package/dist/resources/alb-target-group/index.d.ts +1 -0
  64. package/dist/resources/alb-target-group/index.js +1 -0
  65. package/dist/resources/alb-target-group/index.js.map +1 -1
  66. package/dist/resources/ecr/actions/add-ecr-image.resource.action.d.ts +2 -2
  67. package/dist/resources/ecr/actions/add-ecr-image.resource.action.js +12 -25
  68. package/dist/resources/ecr/actions/add-ecr-image.resource.action.js.map +1 -1
  69. package/dist/resources/ecr/actions/delete-ecr-image.resource.action.d.ts +0 -1
  70. package/dist/resources/ecr/actions/delete-ecr-image.resource.action.js +1 -14
  71. package/dist/resources/ecr/actions/delete-ecr-image.resource.action.js.map +1 -1
  72. package/dist/resources/ecr/actions/update-ecr-image-tags.resource.action.d.ts +0 -1
  73. package/dist/resources/ecr/actions/update-ecr-image-tags.resource.action.js +0 -6
  74. package/dist/resources/ecr/actions/update-ecr-image-tags.resource.action.js.map +1 -1
  75. package/dist/resources/ecr/actions/validate-ecr-image.resource.action.d.ts +17 -0
  76. package/dist/resources/ecr/actions/validate-ecr-image.resource.action.js +111 -0
  77. package/dist/resources/ecr/actions/validate-ecr-image.resource.action.js.map +1 -0
  78. package/dist/resources/ecr/index.d.ts +1 -0
  79. package/dist/resources/ecr/index.js +1 -0
  80. package/dist/resources/ecr/index.js.map +1 -1
  81. package/dist/resources/ecs-cluster/actions/add-ecs-cluster.resource.action.d.ts +2 -2
  82. package/dist/resources/ecs-cluster/actions/add-ecs-cluster.resource.action.js +6 -15
  83. package/dist/resources/ecs-cluster/actions/add-ecs-cluster.resource.action.js.map +1 -1
  84. package/dist/resources/ecs-cluster/actions/delete-ecs-cluster.resource.action.d.ts +0 -1
  85. package/dist/resources/ecs-cluster/actions/delete-ecs-cluster.resource.action.js +1 -14
  86. package/dist/resources/ecs-cluster/actions/delete-ecs-cluster.resource.action.js.map +1 -1
  87. package/dist/resources/ecs-cluster/actions/update-ecs-cluster-tags.resource.action.d.ts +0 -1
  88. package/dist/resources/ecs-cluster/actions/update-ecs-cluster-tags.resource.action.js +0 -6
  89. package/dist/resources/ecs-cluster/actions/update-ecs-cluster-tags.resource.action.js.map +1 -1
  90. package/dist/resources/ecs-cluster/actions/validate-ecs-cluster.resource.action.d.ts +17 -0
  91. package/dist/resources/ecs-cluster/actions/validate-ecs-cluster.resource.action.js +89 -0
  92. package/dist/resources/ecs-cluster/actions/validate-ecs-cluster.resource.action.js.map +1 -0
  93. package/dist/resources/ecs-cluster/index.d.ts +1 -0
  94. package/dist/resources/ecs-cluster/index.js +1 -0
  95. package/dist/resources/ecs-cluster/index.js.map +1 -1
  96. package/dist/resources/ecs-service/actions/add-ecs-service.resource.action.d.ts +2 -2
  97. package/dist/resources/ecs-service/actions/add-ecs-service.resource.action.js +6 -15
  98. package/dist/resources/ecs-service/actions/add-ecs-service.resource.action.js.map +1 -1
  99. package/dist/resources/ecs-service/actions/delete-ecs-service.resource.action.d.ts +0 -1
  100. package/dist/resources/ecs-service/actions/delete-ecs-service.resource.action.js +1 -20
  101. package/dist/resources/ecs-service/actions/delete-ecs-service.resource.action.js.map +1 -1
  102. package/dist/resources/ecs-service/actions/update-ecs-service-tags.resource.action.d.ts +0 -1
  103. package/dist/resources/ecs-service/actions/update-ecs-service-tags.resource.action.js +0 -6
  104. package/dist/resources/ecs-service/actions/update-ecs-service-tags.resource.action.js.map +1 -1
  105. package/dist/resources/ecs-service/actions/update-ecs-service.resource.action.d.ts +2 -2
  106. package/dist/resources/ecs-service/actions/update-ecs-service.resource.action.js +6 -15
  107. package/dist/resources/ecs-service/actions/update-ecs-service.resource.action.js.map +1 -1
  108. package/dist/resources/ecs-service/actions/validate-ecs-service.resource.action.d.ts +17 -0
  109. package/dist/resources/ecs-service/actions/validate-ecs-service.resource.action.js +153 -0
  110. package/dist/resources/ecs-service/actions/validate-ecs-service.resource.action.js.map +1 -0
  111. package/dist/resources/ecs-service/index.d.ts +1 -0
  112. package/dist/resources/ecs-service/index.js +1 -0
  113. package/dist/resources/ecs-service/index.js.map +1 -1
  114. package/dist/resources/ecs-task-definition/actions/add-ecs-task-definition.resource.action.d.ts +2 -2
  115. package/dist/resources/ecs-task-definition/actions/add-ecs-task-definition.resource.action.js +8 -16
  116. package/dist/resources/ecs-task-definition/actions/add-ecs-task-definition.resource.action.js.map +1 -1
  117. package/dist/resources/ecs-task-definition/actions/delete-ecs-task-definition.resource.action.d.ts +0 -1
  118. package/dist/resources/ecs-task-definition/actions/delete-ecs-task-definition.resource.action.js +0 -17
  119. package/dist/resources/ecs-task-definition/actions/delete-ecs-task-definition.resource.action.js.map +1 -1
  120. package/dist/resources/ecs-task-definition/actions/update-ecs-task-definition-tags.resource.action.d.ts +0 -1
  121. package/dist/resources/ecs-task-definition/actions/update-ecs-task-definition-tags.resource.action.js +0 -6
  122. package/dist/resources/ecs-task-definition/actions/update-ecs-task-definition-tags.resource.action.js.map +1 -1
  123. package/dist/resources/ecs-task-definition/actions/update-ecs-task-definition.resource.action.d.ts +2 -2
  124. package/dist/resources/ecs-task-definition/actions/update-ecs-task-definition.resource.action.js +8 -21
  125. package/dist/resources/ecs-task-definition/actions/update-ecs-task-definition.resource.action.js.map +1 -1
  126. package/dist/resources/ecs-task-definition/actions/validate-ecs-task-definition.resource.action.d.ts +17 -0
  127. package/dist/resources/ecs-task-definition/actions/validate-ecs-task-definition.resource.action.js +192 -0
  128. package/dist/resources/ecs-task-definition/actions/validate-ecs-task-definition.resource.action.js.map +1 -0
  129. package/dist/resources/ecs-task-definition/index.d.ts +1 -0
  130. package/dist/resources/ecs-task-definition/index.js +1 -0
  131. package/dist/resources/ecs-task-definition/index.js.map +1 -1
  132. package/dist/resources/efs/actions/add-efs.resource.action.d.ts +2 -2
  133. package/dist/resources/efs/actions/add-efs.resource.action.js +8 -19
  134. package/dist/resources/efs/actions/add-efs.resource.action.js.map +1 -1
  135. package/dist/resources/efs/actions/delete-efs.resource.action.d.ts +0 -2
  136. package/dist/resources/efs/actions/delete-efs.resource.action.js +0 -17
  137. package/dist/resources/efs/actions/delete-efs.resource.action.js.map +1 -1
  138. package/dist/resources/efs/actions/update-efs-tags.resource.action.d.ts +0 -1
  139. package/dist/resources/efs/actions/update-efs-tags.resource.action.js +0 -6
  140. package/dist/resources/efs/actions/update-efs-tags.resource.action.js.map +1 -1
  141. package/dist/resources/efs/actions/validate-efs.resource.action.d.ts +17 -0
  142. package/dist/resources/efs/actions/validate-efs.resource.action.js +102 -0
  143. package/dist/resources/efs/actions/validate-efs.resource.action.js.map +1 -0
  144. package/dist/resources/efs/index.d.ts +1 -0
  145. package/dist/resources/efs/index.js +1 -0
  146. package/dist/resources/efs/index.js.map +1 -1
  147. package/dist/resources/efs-mount-target/actions/add-efs-mount-target.resource.action.d.ts +2 -2
  148. package/dist/resources/efs-mount-target/actions/add-efs-mount-target.resource.action.js +8 -27
  149. package/dist/resources/efs-mount-target/actions/add-efs-mount-target.resource.action.js.map +1 -1
  150. package/dist/resources/efs-mount-target/actions/delete-efs-mount-target.resource.action.d.ts +0 -1
  151. package/dist/resources/efs-mount-target/actions/delete-efs-mount-target.resource.action.js +0 -25
  152. package/dist/resources/efs-mount-target/actions/delete-efs-mount-target.resource.action.js.map +1 -1
  153. package/dist/resources/efs-mount-target/actions/update-efs-mount-target-tags.resource.action.d.ts +0 -1
  154. package/dist/resources/efs-mount-target/actions/update-efs-mount-target-tags.resource.action.js +0 -1
  155. package/dist/resources/efs-mount-target/actions/update-efs-mount-target-tags.resource.action.js.map +1 -1
  156. package/dist/resources/efs-mount-target/actions/validate-efs-mount-target.resource.action.d.ts +17 -0
  157. package/dist/resources/efs-mount-target/actions/validate-efs-mount-target.resource.action.js +104 -0
  158. package/dist/resources/efs-mount-target/actions/validate-efs-mount-target.resource.action.js.map +1 -0
  159. package/dist/resources/efs-mount-target/index.d.ts +1 -0
  160. package/dist/resources/efs-mount-target/index.js +1 -0
  161. package/dist/resources/efs-mount-target/index.js.map +1 -1
  162. package/dist/resources/iam-role/actions/add-iam-role.resource.action.d.ts +2 -2
  163. package/dist/resources/iam-role/actions/add-iam-role.resource.action.js +12 -21
  164. package/dist/resources/iam-role/actions/add-iam-role.resource.action.js.map +1 -1
  165. package/dist/resources/iam-role/actions/delete-iam-role.resource.action.d.ts +0 -1
  166. package/dist/resources/iam-role/actions/delete-iam-role.resource.action.js +0 -14
  167. package/dist/resources/iam-role/actions/delete-iam-role.resource.action.js.map +1 -1
  168. package/dist/resources/iam-role/actions/update-iam-role-assume-role-policy.resource.action.d.ts +0 -1
  169. package/dist/resources/iam-role/actions/update-iam-role-assume-role-policy.resource.action.js +1 -14
  170. package/dist/resources/iam-role/actions/update-iam-role-assume-role-policy.resource.action.js.map +1 -1
  171. package/dist/resources/iam-role/actions/update-iam-role-tags.resource.action.d.ts +0 -1
  172. package/dist/resources/iam-role/actions/update-iam-role-tags.resource.action.js +0 -7
  173. package/dist/resources/iam-role/actions/update-iam-role-tags.resource.action.js.map +1 -1
  174. package/dist/resources/iam-role/actions/update-iam-role-with-aws-policy.resource.action.d.ts +3 -2
  175. package/dist/resources/iam-role/actions/update-iam-role-with-aws-policy.resource.action.js +34 -20
  176. package/dist/resources/iam-role/actions/update-iam-role-with-aws-policy.resource.action.js.map +1 -1
  177. package/dist/resources/iam-role/actions/update-iam-role-with-s3-storage-policy.resource.action.d.ts +2 -2
  178. package/dist/resources/iam-role/actions/update-iam-role-with-s3-storage-policy.resource.action.js +33 -26
  179. package/dist/resources/iam-role/actions/update-iam-role-with-s3-storage-policy.resource.action.js.map +1 -1
  180. package/dist/resources/iam-role/actions/validate-iam-role.resource.action.d.ts +17 -0
  181. package/dist/resources/iam-role/actions/validate-iam-role.resource.action.js +207 -0
  182. package/dist/resources/iam-role/actions/validate-iam-role.resource.action.js.map +1 -0
  183. package/dist/resources/iam-role/index.d.ts +1 -0
  184. package/dist/resources/iam-role/index.js +1 -0
  185. package/dist/resources/iam-role/index.js.map +1 -1
  186. package/dist/resources/iam-user/actions/add-iam-user.resource.action.d.ts +2 -2
  187. package/dist/resources/iam-user/actions/add-iam-user.resource.action.js +12 -20
  188. package/dist/resources/iam-user/actions/add-iam-user.resource.action.js.map +1 -1
  189. package/dist/resources/iam-user/actions/delete-iam-user.resource.action.d.ts +0 -1
  190. package/dist/resources/iam-user/actions/delete-iam-user.resource.action.js +0 -13
  191. package/dist/resources/iam-user/actions/delete-iam-user.resource.action.js.map +1 -1
  192. package/dist/resources/iam-user/actions/update-iam-user-tags.resource.action.d.ts +0 -1
  193. package/dist/resources/iam-user/actions/update-iam-user-tags.resource.action.js +0 -7
  194. package/dist/resources/iam-user/actions/update-iam-user-tags.resource.action.js.map +1 -1
  195. package/dist/resources/iam-user/actions/update-iam-user-with-s3-storage-policy.resource.action.d.ts +2 -2
  196. package/dist/resources/iam-user/actions/update-iam-user-with-s3-storage-policy.resource.action.js +33 -26
  197. package/dist/resources/iam-user/actions/update-iam-user-with-s3-storage-policy.resource.action.js.map +1 -1
  198. package/dist/resources/iam-user/actions/validate-iam-user.resource.action.d.ts +17 -0
  199. package/dist/resources/iam-user/actions/validate-iam-user.resource.action.js +181 -0
  200. package/dist/resources/iam-user/actions/validate-iam-user.resource.action.js.map +1 -0
  201. package/dist/resources/iam-user/index.d.ts +1 -0
  202. package/dist/resources/iam-user/index.js +1 -0
  203. package/dist/resources/iam-user/index.js.map +1 -1
  204. package/dist/resources/internet-gateway/actions/add-internet-gateway.resource.action.d.ts +2 -2
  205. package/dist/resources/internet-gateway/actions/add-internet-gateway.resource.action.js +8 -16
  206. package/dist/resources/internet-gateway/actions/add-internet-gateway.resource.action.js.map +1 -1
  207. package/dist/resources/internet-gateway/actions/delete-internet-gateway.resource.action.d.ts +0 -1
  208. package/dist/resources/internet-gateway/actions/delete-internet-gateway.resource.action.js +0 -17
  209. package/dist/resources/internet-gateway/actions/delete-internet-gateway.resource.action.js.map +1 -1
  210. package/dist/resources/internet-gateway/actions/update-internet-gateway-tags.resource.action.d.ts +0 -1
  211. package/dist/resources/internet-gateway/actions/update-internet-gateway-tags.resource.action.js +0 -6
  212. package/dist/resources/internet-gateway/actions/update-internet-gateway-tags.resource.action.js.map +1 -1
  213. package/dist/resources/internet-gateway/actions/validate-internet-gateway.resource.action.d.ts +17 -0
  214. package/dist/resources/internet-gateway/actions/validate-internet-gateway.resource.action.js +88 -0
  215. package/dist/resources/internet-gateway/actions/validate-internet-gateway.resource.action.js.map +1 -0
  216. package/dist/resources/internet-gateway/index.d.ts +1 -0
  217. package/dist/resources/internet-gateway/index.js +1 -0
  218. package/dist/resources/internet-gateway/index.js.map +1 -1
  219. package/dist/resources/nat-gateway/actions/add-nat-gateway.resource.action.d.ts +2 -2
  220. package/dist/resources/nat-gateway/actions/add-nat-gateway.resource.action.js +9 -16
  221. package/dist/resources/nat-gateway/actions/add-nat-gateway.resource.action.js.map +1 -1
  222. package/dist/resources/nat-gateway/actions/delete-nat-gateway.resource.action.d.ts +0 -1
  223. package/dist/resources/nat-gateway/actions/delete-nat-gateway.resource.action.js +0 -20
  224. package/dist/resources/nat-gateway/actions/delete-nat-gateway.resource.action.js.map +1 -1
  225. package/dist/resources/nat-gateway/actions/update-eip-tags.resource.action.d.ts +0 -1
  226. package/dist/resources/nat-gateway/actions/update-eip-tags.resource.action.js +0 -10
  227. package/dist/resources/nat-gateway/actions/update-eip-tags.resource.action.js.map +1 -1
  228. package/dist/resources/nat-gateway/actions/update-nat-gateway-tags.resource.action.d.ts +0 -1
  229. package/dist/resources/nat-gateway/actions/update-nat-gateway-tags.resource.action.js +0 -6
  230. package/dist/resources/nat-gateway/actions/update-nat-gateway-tags.resource.action.js.map +1 -1
  231. package/dist/resources/nat-gateway/actions/validate-nat-gateway.resource.action.d.ts +17 -0
  232. package/dist/resources/nat-gateway/actions/validate-nat-gateway.resource.action.js +115 -0
  233. package/dist/resources/nat-gateway/actions/validate-nat-gateway.resource.action.js.map +1 -0
  234. package/dist/resources/nat-gateway/index.d.ts +1 -0
  235. package/dist/resources/nat-gateway/index.js +1 -0
  236. package/dist/resources/nat-gateway/index.js.map +1 -1
  237. package/dist/resources/network-acl/actions/add-network-acl.resource.action.d.ts +2 -2
  238. package/dist/resources/network-acl/actions/add-network-acl.resource.action.js +11 -31
  239. package/dist/resources/network-acl/actions/add-network-acl.resource.action.js.map +1 -1
  240. package/dist/resources/network-acl/actions/delete-network-acl.resource.action.d.ts +0 -1
  241. package/dist/resources/network-acl/actions/delete-network-acl.resource.action.js +0 -17
  242. package/dist/resources/network-acl/actions/delete-network-acl.resource.action.js.map +1 -1
  243. package/dist/resources/network-acl/actions/update-network-acl-entries.resource.action.d.ts +0 -1
  244. package/dist/resources/network-acl/actions/update-network-acl-entries.resource.action.js +0 -25
  245. package/dist/resources/network-acl/actions/update-network-acl-entries.resource.action.js.map +1 -1
  246. package/dist/resources/network-acl/actions/update-network-acl-tags.resource.action.d.ts +0 -1
  247. package/dist/resources/network-acl/actions/update-network-acl-tags.resource.action.js +0 -6
  248. package/dist/resources/network-acl/actions/update-network-acl-tags.resource.action.js.map +1 -1
  249. package/dist/resources/network-acl/actions/validate-network-acl.resource.action.d.ts +17 -0
  250. package/dist/resources/network-acl/actions/validate-network-acl.resource.action.js +126 -0
  251. package/dist/resources/network-acl/actions/validate-network-acl.resource.action.js.map +1 -0
  252. package/dist/resources/network-acl/index.d.ts +1 -0
  253. package/dist/resources/network-acl/index.js +1 -0
  254. package/dist/resources/network-acl/index.js.map +1 -1
  255. package/dist/resources/route-table/actions/add-route-table.resource.action.d.ts +2 -2
  256. package/dist/resources/route-table/actions/add-route-table.resource.action.js +9 -19
  257. package/dist/resources/route-table/actions/add-route-table.resource.action.js.map +1 -1
  258. package/dist/resources/route-table/actions/delete-route-table.resource.action.d.ts +0 -1
  259. package/dist/resources/route-table/actions/delete-route-table.resource.action.js +0 -17
  260. package/dist/resources/route-table/actions/delete-route-table.resource.action.js.map +1 -1
  261. package/dist/resources/route-table/actions/update-nat-gateway-parent-in-route-table.resource.action.d.ts +0 -1
  262. package/dist/resources/route-table/actions/update-nat-gateway-parent-in-route-table.resource.action.js +0 -17
  263. package/dist/resources/route-table/actions/update-nat-gateway-parent-in-route-table.resource.action.js.map +1 -1
  264. package/dist/resources/route-table/actions/update-route-table-tags.resource.action.d.ts +0 -1
  265. package/dist/resources/route-table/actions/update-route-table-tags.resource.action.js +0 -6
  266. package/dist/resources/route-table/actions/update-route-table-tags.resource.action.js.map +1 -1
  267. package/dist/resources/route-table/actions/validate-route-table.resource.action.d.ts +17 -0
  268. package/dist/resources/route-table/actions/validate-route-table.resource.action.js +124 -0
  269. package/dist/resources/route-table/actions/validate-route-table.resource.action.js.map +1 -0
  270. package/dist/resources/route-table/index.d.ts +1 -0
  271. package/dist/resources/route-table/index.js +1 -0
  272. package/dist/resources/route-table/index.js.map +1 -1
  273. package/dist/resources/s3-storage/actions/add-s3-storage.resource.action.d.ts +3 -2
  274. package/dist/resources/s3-storage/actions/add-s3-storage.resource.action.js +5 -11
  275. package/dist/resources/s3-storage/actions/add-s3-storage.resource.action.js.map +1 -1
  276. package/dist/resources/s3-storage/actions/delete-s3-storage.resource.action.d.ts +0 -1
  277. package/dist/resources/s3-storage/actions/delete-s3-storage.resource.action.js +0 -20
  278. package/dist/resources/s3-storage/actions/delete-s3-storage.resource.action.js.map +1 -1
  279. package/dist/resources/s3-storage/actions/update-parent-in-s3-storage.resource.action.d.ts +0 -1
  280. package/dist/resources/s3-storage/actions/update-parent-in-s3-storage.resource.action.js +0 -1
  281. package/dist/resources/s3-storage/actions/update-parent-in-s3-storage.resource.action.js.map +1 -1
  282. package/dist/resources/s3-storage/actions/update-permissions-in-s3-storage.resource.action.d.ts +0 -1
  283. package/dist/resources/s3-storage/actions/update-permissions-in-s3-storage.resource.action.js +0 -17
  284. package/dist/resources/s3-storage/actions/update-permissions-in-s3-storage.resource.action.js.map +1 -1
  285. package/dist/resources/s3-storage/actions/update-s3-storage-tags.resource.action.d.ts +0 -1
  286. package/dist/resources/s3-storage/actions/update-s3-storage-tags.resource.action.js +0 -6
  287. package/dist/resources/s3-storage/actions/update-s3-storage-tags.resource.action.js.map +1 -1
  288. package/dist/resources/s3-storage/actions/validate-s3-storage.resource.action.d.ts +17 -0
  289. package/dist/resources/s3-storage/actions/validate-s3-storage.resource.action.js +181 -0
  290. package/dist/resources/s3-storage/actions/validate-s3-storage.resource.action.js.map +1 -0
  291. package/dist/resources/s3-storage/index.d.ts +1 -0
  292. package/dist/resources/s3-storage/index.js +1 -0
  293. package/dist/resources/s3-storage/index.js.map +1 -1
  294. package/dist/resources/s3-website/actions/add-s3-website.resource.action.d.ts +3 -2
  295. package/dist/resources/s3-website/actions/add-s3-website.resource.action.js +7 -21
  296. package/dist/resources/s3-website/actions/add-s3-website.resource.action.js.map +1 -1
  297. package/dist/resources/s3-website/actions/delete-s3-website.resource.action.d.ts +0 -1
  298. package/dist/resources/s3-website/actions/delete-s3-website.resource.action.js +0 -20
  299. package/dist/resources/s3-website/actions/delete-s3-website.resource.action.js.map +1 -1
  300. package/dist/resources/s3-website/actions/update-s3-website-tags.resource.action.d.ts +0 -1
  301. package/dist/resources/s3-website/actions/update-s3-website-tags.resource.action.js +0 -6
  302. package/dist/resources/s3-website/actions/update-s3-website-tags.resource.action.js.map +1 -1
  303. package/dist/resources/s3-website/actions/update-source-paths-in-s3-website.resource.action.d.ts +0 -1
  304. package/dist/resources/s3-website/actions/update-source-paths-in-s3-website.resource.action.js +0 -14
  305. package/dist/resources/s3-website/actions/update-source-paths-in-s3-website.resource.action.js.map +1 -1
  306. package/dist/resources/s3-website/actions/validate-s3-website.resource.action.d.ts +17 -0
  307. package/dist/resources/s3-website/actions/validate-s3-website.resource.action.js +154 -0
  308. package/dist/resources/s3-website/actions/validate-s3-website.resource.action.js.map +1 -0
  309. package/dist/resources/s3-website/index.d.ts +1 -0
  310. package/dist/resources/s3-website/index.js +1 -0
  311. package/dist/resources/s3-website/index.js.map +1 -1
  312. package/dist/resources/security-group/actions/add-security-group.resource.action.d.ts +2 -2
  313. package/dist/resources/security-group/actions/add-security-group.resource.action.js +18 -26
  314. package/dist/resources/security-group/actions/add-security-group.resource.action.js.map +1 -1
  315. package/dist/resources/security-group/actions/delete-security-group.resource.action.d.ts +0 -1
  316. package/dist/resources/security-group/actions/delete-security-group.resource.action.js +0 -15
  317. package/dist/resources/security-group/actions/delete-security-group.resource.action.js.map +1 -1
  318. package/dist/resources/security-group/actions/update-security-group-rules.resource.action.d.ts +2 -2
  319. package/dist/resources/security-group/actions/update-security-group-rules.resource.action.js +17 -27
  320. package/dist/resources/security-group/actions/update-security-group-rules.resource.action.js.map +1 -1
  321. package/dist/resources/security-group/actions/update-security-group-tags.resource.action.d.ts +0 -1
  322. package/dist/resources/security-group/actions/update-security-group-tags.resource.action.js +0 -6
  323. package/dist/resources/security-group/actions/update-security-group-tags.resource.action.js.map +1 -1
  324. package/dist/resources/security-group/actions/validate-security-group.resource.action.d.ts +17 -0
  325. package/dist/resources/security-group/actions/validate-security-group.resource.action.js +132 -0
  326. package/dist/resources/security-group/actions/validate-security-group.resource.action.js.map +1 -0
  327. package/dist/resources/security-group/index.d.ts +1 -0
  328. package/dist/resources/security-group/index.js +1 -0
  329. package/dist/resources/security-group/index.js.map +1 -1
  330. package/dist/resources/subnet/actions/add-subnet.resource.action.d.ts +2 -2
  331. package/dist/resources/subnet/actions/add-subnet.resource.action.js +7 -12
  332. package/dist/resources/subnet/actions/add-subnet.resource.action.js.map +1 -1
  333. package/dist/resources/subnet/actions/delete-subnet.resource.action.d.ts +0 -1
  334. package/dist/resources/subnet/actions/delete-subnet.resource.action.js +0 -14
  335. package/dist/resources/subnet/actions/delete-subnet.resource.action.js.map +1 -1
  336. package/dist/resources/subnet/actions/update-subnet-tags.resource.action.d.ts +0 -1
  337. package/dist/resources/subnet/actions/update-subnet-tags.resource.action.js +0 -6
  338. package/dist/resources/subnet/actions/update-subnet-tags.resource.action.js.map +1 -1
  339. package/dist/resources/subnet/actions/validate-subnet.resource.action.d.ts +17 -0
  340. package/dist/resources/subnet/actions/validate-subnet.resource.action.js +90 -0
  341. package/dist/resources/subnet/actions/validate-subnet.resource.action.js.map +1 -0
  342. package/dist/resources/subnet/index.d.ts +1 -0
  343. package/dist/resources/subnet/index.js +1 -0
  344. package/dist/resources/subnet/index.js.map +1 -1
  345. package/dist/resources/vpc/actions/add-vpc.resource.action.d.ts +2 -2
  346. package/dist/resources/vpc/actions/add-vpc.resource.action.js +7 -15
  347. package/dist/resources/vpc/actions/add-vpc.resource.action.js.map +1 -1
  348. package/dist/resources/vpc/actions/delete-vpc.resource.action.d.ts +0 -1
  349. package/dist/resources/vpc/actions/delete-vpc.resource.action.js +0 -14
  350. package/dist/resources/vpc/actions/delete-vpc.resource.action.js.map +1 -1
  351. package/dist/resources/vpc/actions/update-vpc-tags.resource.action.d.ts +0 -1
  352. package/dist/resources/vpc/actions/update-vpc-tags.resource.action.js +0 -6
  353. package/dist/resources/vpc/actions/update-vpc-tags.resource.action.js.map +1 -1
  354. package/dist/resources/vpc/actions/validate-vpc.resource.action.d.ts +17 -0
  355. package/dist/resources/vpc/actions/validate-vpc.resource.action.js +100 -0
  356. package/dist/resources/vpc/actions/validate-vpc.resource.action.js.map +1 -0
  357. package/dist/resources/vpc/index.d.ts +1 -0
  358. package/dist/resources/vpc/index.js +1 -0
  359. package/dist/resources/vpc/index.js.map +1 -1
  360. package/dist/utilities/actions/generic-resource-tagging.action.d.ts +1 -5
  361. package/dist/utilities/actions/generic-resource-tagging.action.js +0 -15
  362. package/dist/utilities/actions/generic-resource-tagging.action.js.map +1 -1
  363. package/dist/utilities/policy/policy.utility.d.ts +11 -0
  364. package/dist/utilities/policy/policy.utility.js +46 -0
  365. package/dist/utilities/policy/policy.utility.js.map +1 -1
  366. package/package.json +2 -2
@@ -0,0 +1,17 @@
1
+ import { ANodeAction, type Diff, type IResourceAction } from '@quadnix/octo';
2
+ import { AlbTargetGroup } from '../alb-target-group.resource.js';
3
+ /**
4
+ * @internal
5
+ */
6
+ export declare class ValidateAlbTargetGroupResourceAction extends ANodeAction implements IResourceAction<AlbTargetGroup> {
7
+ constructor();
8
+ filter(diff: Diff): boolean;
9
+ handle(diff: Diff<AlbTargetGroup>): Promise<void>;
10
+ }
11
+ /**
12
+ * @internal
13
+ */
14
+ export declare class ValidateAlbTargetGroupResourceActionFactory {
15
+ private static instance;
16
+ static create(): Promise<ValidateAlbTargetGroupResourceAction>;
17
+ }
@@ -0,0 +1,151 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { DescribeTargetGroupsCommand, ElasticLoadBalancingV2Client, } from '@aws-sdk/client-elastic-load-balancing-v2';
11
+ import { ANodeAction, Action, DiffAction, Factory, TransactionError, hasNodeName, } from '@quadnix/octo';
12
+ import { ElasticLoadBalancingV2ClientFactory } from '../../../factories/aws-client.factory.js';
13
+ import { AlbTargetGroup } from '../alb-target-group.resource.js';
14
+ /**
15
+ * @internal
16
+ */
17
+ let ValidateAlbTargetGroupResourceAction = class ValidateAlbTargetGroupResourceAction extends ANodeAction {
18
+ constructor() {
19
+ super();
20
+ }
21
+ filter(diff) {
22
+ return (diff.action === DiffAction.VALIDATE &&
23
+ diff.node instanceof AlbTargetGroup &&
24
+ hasNodeName(diff.node, 'alb-target-group') &&
25
+ diff.field === 'resourceId');
26
+ }
27
+ async handle(diff) {
28
+ // Get properties.
29
+ const albTargetGroup = diff.node;
30
+ const properties = albTargetGroup.properties;
31
+ const response = albTargetGroup.response;
32
+ const matchingAlbTargetGroupVpc = albTargetGroup.parents[0];
33
+ // Get instances.
34
+ const elbv2Client = await this.container.get(ElasticLoadBalancingV2Client, {
35
+ args: [properties.awsAccountId, properties.awsRegionId],
36
+ metadata: { package: '@octo' },
37
+ });
38
+ // Check if ALB Target Group exists.
39
+ let describeTargetGroupsResult;
40
+ try {
41
+ describeTargetGroupsResult = await elbv2Client.send(new DescribeTargetGroupsCommand({
42
+ TargetGroupArns: [response.TargetGroupArn],
43
+ }));
44
+ }
45
+ catch (error) {
46
+ if (error.name === 'TargetGroupNotFoundException') {
47
+ throw new TransactionError(`ALB Target Group with ARN ${response.TargetGroupArn} does not exist!`);
48
+ }
49
+ throw error;
50
+ }
51
+ if (!describeTargetGroupsResult.TargetGroups || describeTargetGroupsResult.TargetGroups.length === 0) {
52
+ throw new TransactionError(`ALB Target Group with ARN ${response.TargetGroupArn} does not exist!`);
53
+ }
54
+ const actualTargetGroup = describeTargetGroupsResult.TargetGroups[0];
55
+ // Validate target group ARN.
56
+ if (actualTargetGroup.TargetGroupArn !== response.TargetGroupArn) {
57
+ throw new TransactionError(`ALB Target Group ARN mismatch. Expected: ${response.TargetGroupArn}, Actual: ${actualTargetGroup.TargetGroupArn || 'undefined'}`);
58
+ }
59
+ // Validate target group name.
60
+ if (actualTargetGroup.TargetGroupName !== properties.Name) {
61
+ throw new TransactionError(`ALB Target Group name mismatch. Expected: ${properties.Name}, Actual: ${actualTargetGroup.TargetGroupName || 'undefined'}`);
62
+ }
63
+ // Validate VPC ID (parent).
64
+ const expectedVpcId = matchingAlbTargetGroupVpc.getSchemaInstanceInResourceAction().response.VpcId;
65
+ if (actualTargetGroup.VpcId !== expectedVpcId) {
66
+ throw new TransactionError(`ALB Target Group VPC mismatch. Expected: ${expectedVpcId}, Actual: ${actualTargetGroup.VpcId || 'undefined'}`);
67
+ }
68
+ // Validate port.
69
+ if (actualTargetGroup.Port !== properties.Port) {
70
+ throw new TransactionError(`ALB Target Group port mismatch. Expected: ${properties.Port}, Actual: ${actualTargetGroup.Port || 'undefined'}`);
71
+ }
72
+ // Validate protocol.
73
+ if (actualTargetGroup.Protocol !== properties.Protocol) {
74
+ throw new TransactionError(`ALB Target Group protocol mismatch. Expected: ${properties.Protocol}, Actual: ${actualTargetGroup.Protocol || 'undefined'}`);
75
+ }
76
+ // Validate protocol version.
77
+ if (actualTargetGroup.ProtocolVersion !== properties.ProtocolVersion) {
78
+ throw new TransactionError(`ALB Target Group protocol version mismatch. Expected: ${properties.ProtocolVersion}, Actual: ${actualTargetGroup.ProtocolVersion || 'undefined'}`);
79
+ }
80
+ // Validate target type.
81
+ if (actualTargetGroup.TargetType !== properties.TargetType) {
82
+ throw new TransactionError(`ALB Target Group target type mismatch. Expected: ${properties.TargetType}, Actual: ${actualTargetGroup.TargetType || 'undefined'}`);
83
+ }
84
+ // Validate IP address type.
85
+ if (actualTargetGroup.IpAddressType !== properties.IpAddressType) {
86
+ throw new TransactionError(`ALB Target Group IP address type mismatch. Expected: ${properties.IpAddressType}, Actual: ${actualTargetGroup.IpAddressType || 'undefined'}`);
87
+ }
88
+ // Validate ARN format (account and region should match).
89
+ const expectedArnPrefix = `arn:aws:elasticloadbalancing:${properties.awsRegionId}:${properties.awsAccountId}:targetgroup/`;
90
+ if (!response.TargetGroupArn.startsWith(expectedArnPrefix)) {
91
+ throw new TransactionError(`ALB Target Group ARN region/account mismatch. Expected prefix: ${expectedArnPrefix}, Actual: ${response.TargetGroupArn}`);
92
+ }
93
+ // Validate health check configuration.
94
+ if (properties.healthCheck) {
95
+ if (!actualTargetGroup.HealthCheckEnabled) {
96
+ throw new TransactionError('ALB Target Group health check is not enabled but is expected to be enabled!');
97
+ }
98
+ if (actualTargetGroup.HealthCheckIntervalSeconds !== properties.healthCheck.HealthCheckIntervalSeconds) {
99
+ throw new TransactionError(`ALB Target Group health check interval mismatch. Expected: ${properties.healthCheck.HealthCheckIntervalSeconds}, Actual: ${actualTargetGroup.HealthCheckIntervalSeconds || 'undefined'}`);
100
+ }
101
+ if (actualTargetGroup.HealthCheckPath !== properties.healthCheck.HealthCheckPath) {
102
+ throw new TransactionError(`ALB Target Group health check path mismatch. Expected: ${properties.healthCheck.HealthCheckPath}, Actual: ${actualTargetGroup.HealthCheckPath || 'undefined'}`);
103
+ }
104
+ if (actualTargetGroup.HealthCheckPort !== String(properties.healthCheck.HealthCheckPort)) {
105
+ throw new TransactionError(`ALB Target Group health check port mismatch. Expected: ${properties.healthCheck.HealthCheckPort}, Actual: ${actualTargetGroup.HealthCheckPort || 'undefined'}`);
106
+ }
107
+ if (actualTargetGroup.HealthCheckProtocol !== properties.healthCheck.HealthCheckProtocol) {
108
+ throw new TransactionError(`ALB Target Group health check protocol mismatch. Expected: ${properties.healthCheck.HealthCheckProtocol}, Actual: ${actualTargetGroup.HealthCheckProtocol || 'undefined'}`);
109
+ }
110
+ if (actualTargetGroup.HealthCheckTimeoutSeconds !== properties.healthCheck.HealthCheckTimeoutSeconds) {
111
+ throw new TransactionError(`ALB Target Group health check timeout mismatch. Expected: ${properties.healthCheck.HealthCheckTimeoutSeconds}, Actual: ${actualTargetGroup.HealthCheckTimeoutSeconds || 'undefined'}`);
112
+ }
113
+ if (actualTargetGroup.HealthyThresholdCount !== properties.healthCheck.HealthyThresholdCount) {
114
+ throw new TransactionError(`ALB Target Group healthy threshold count mismatch. Expected: ${properties.healthCheck.HealthyThresholdCount}, Actual: ${actualTargetGroup.HealthyThresholdCount || 'undefined'}`);
115
+ }
116
+ if (actualTargetGroup.UnhealthyThresholdCount !== properties.healthCheck.UnhealthyThresholdCount) {
117
+ throw new TransactionError(`ALB Target Group unhealthy threshold count mismatch. Expected: ${properties.healthCheck.UnhealthyThresholdCount}, Actual: ${actualTargetGroup.UnhealthyThresholdCount || 'undefined'}`);
118
+ }
119
+ if (actualTargetGroup.Matcher?.HttpCode !== String(properties.healthCheck.Matcher.HttpCode)) {
120
+ throw new TransactionError(`ALB Target Group health check matcher HTTP code mismatch. Expected: ${properties.healthCheck.Matcher.HttpCode}, Actual: ${actualTargetGroup.Matcher?.HttpCode || 'undefined'}`);
121
+ }
122
+ }
123
+ else {
124
+ // If health check is not configured, verify it's disabled.
125
+ if (actualTargetGroup.HealthCheckEnabled === true) {
126
+ throw new TransactionError('ALB Target Group health check is enabled but is expected to be disabled!');
127
+ }
128
+ }
129
+ }
130
+ };
131
+ ValidateAlbTargetGroupResourceAction = __decorate([
132
+ Action(AlbTargetGroup),
133
+ __metadata("design:paramtypes", [])
134
+ ], ValidateAlbTargetGroupResourceAction);
135
+ export { ValidateAlbTargetGroupResourceAction };
136
+ /**
137
+ * @internal
138
+ */
139
+ let ValidateAlbTargetGroupResourceActionFactory = class ValidateAlbTargetGroupResourceActionFactory {
140
+ static async create() {
141
+ if (!this.instance) {
142
+ this.instance = new ValidateAlbTargetGroupResourceAction();
143
+ }
144
+ return this.instance;
145
+ }
146
+ };
147
+ ValidateAlbTargetGroupResourceActionFactory = __decorate([
148
+ Factory(ValidateAlbTargetGroupResourceAction)
149
+ ], ValidateAlbTargetGroupResourceActionFactory);
150
+ export { ValidateAlbTargetGroupResourceActionFactory };
151
+ //# sourceMappingURL=validate-alb-target-group.resource.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-alb-target-group.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/alb-target-group/actions/validate-alb-target-group.resource.action.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,5 @@ import './actions/add-alb-target-group.resource.action.js';
2
2
  import './actions/delete-alb-target-group.resource.action.js';
3
3
  import './actions/update-alb-target-group.resource.action.js';
4
4
  import './actions/update-alb-target-group-tags.resource.action.js';
5
+ import './actions/validate-alb-target-group.resource.action.js';
5
6
  export { AlbTargetGroup } from './alb-target-group.resource.js';
@@ -2,5 +2,6 @@ import './actions/add-alb-target-group.resource.action.js';
2
2
  import './actions/delete-alb-target-group.resource.action.js';
3
3
  import './actions/update-alb-target-group.resource.action.js';
4
4
  import './actions/update-alb-target-group-tags.resource.action.js';
5
+ import './actions/validate-alb-target-group.resource.action.js';
5
6
  export { AlbTargetGroup } from './alb-target-group.resource.js';
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resources/alb-target-group/index.ts"],"names":[],"mappings":"AAAA,OAAO,mDAAmD,CAAC;AAC3D,OAAO,sDAAsD,CAAC;AAC9D,OAAO,sDAAsD,CAAC;AAC9D,OAAO,2DAA2D,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resources/alb-target-group/index.ts"],"names":[],"mappings":"AAAA,OAAO,mDAAmD,CAAC;AAC3D,OAAO,sDAAsD,CAAC;AAC9D,OAAO,sDAAsD,CAAC;AAC9D,OAAO,2DAA2D,CAAC;AACnE,OAAO,wDAAwD,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC"}
@@ -8,8 +8,8 @@ export declare class AddEcrImageResourceAction implements IResourceAction<EcrIma
8
8
  private readonly container;
9
9
  constructor(container: Container);
10
10
  filter(diff: Diff): boolean;
11
- handle(diff: Diff<EcrImage>): Promise<void>;
12
- mock(diff: Diff<EcrImage>, capture: Partial<EcrImageSchema['response']>): Promise<void>;
11
+ handle(diff: Diff<EcrImage>): Promise<EcrImageSchema['response']>;
12
+ mock(_diff: Diff<EcrImage>, capture: Partial<EcrImageSchema['response']>): Promise<EcrImageSchema['response']>;
13
13
  }
14
14
  /**
15
15
  * @internal
@@ -27,7 +27,6 @@ let AddEcrImageResourceAction = class AddEcrImageResourceAction {
27
27
  // Get properties.
28
28
  const ecrImage = diff.node;
29
29
  const properties = ecrImage.properties;
30
- const response = ecrImage.response;
31
30
  const tags = ecrImage.tags;
32
31
  // Get instances.
33
32
  const ecrClient = await this.container.get(ECRClient, {
@@ -43,31 +42,19 @@ let AddEcrImageResourceAction = class AddEcrImageResourceAction {
43
42
  repositoryName: properties.imageId,
44
43
  tags: Object.entries(tags).map(([key, value]) => ({ Key: key, Value: value })),
45
44
  }));
46
- // Set response.
47
- response.registryId = data.repository.registryId;
48
- response.repositoryArn = data.repository.repositoryArn;
49
- response.repositoryName = data.repository.repositoryName;
50
- response.repositoryUri = data.repository.repositoryUri;
45
+ return {
46
+ registryId: data.repository.registryId,
47
+ repositoryArn: data.repository.repositoryArn,
48
+ repositoryName: data.repository.repositoryName,
49
+ repositoryUri: data.repository.repositoryUri,
50
+ };
51
51
  }
52
- async mock(diff, capture) {
53
- // Get properties.
54
- const ecrImage = diff.node;
55
- const properties = ecrImage.properties;
56
- const ecrClient = await this.container.get(ECRClient, {
57
- args: [properties.awsAccountId, properties.awsRegionId],
58
- metadata: { package: '@octo' },
59
- });
60
- ecrClient.send = async (instance) => {
61
- if (instance instanceof CreateRepositoryCommand) {
62
- return {
63
- repository: {
64
- registryId: capture.registryId,
65
- repositoryArn: capture.repositoryArn,
66
- repositoryName: capture.repositoryName,
67
- repositoryUri: capture.repositoryUri,
68
- },
69
- };
70
- }
52
+ async mock(_diff, capture) {
53
+ return {
54
+ registryId: capture.registryId,
55
+ repositoryArn: capture.repositoryArn,
56
+ repositoryName: capture.repositoryName,
57
+ repositoryUri: capture.repositoryUri,
71
58
  };
72
59
  }
73
60
  };
@@ -1 +1 @@
1
- {"version":3,"file":"add-ecr-image.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/ecr/actions/add-ecr-image.resource.action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-ecr-image.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/ecr/actions/add-ecr-image.resource.action.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,6 @@ export declare class DeleteEcrImageResourceAction implements IResourceAction<Ecr
8
8
  constructor(container: Container);
9
9
  filter(diff: Diff): boolean;
10
10
  handle(diff: Diff<EcrImage>): Promise<void>;
11
- mock(diff: Diff<EcrImage>): Promise<void>;
12
11
  }
13
12
  /**
14
13
  * @internal
@@ -27,6 +27,7 @@ let DeleteEcrImageResourceAction = class DeleteEcrImageResourceAction {
27
27
  // Get properties.
28
28
  const ecrImage = diff.node;
29
29
  const properties = ecrImage.properties;
30
+ const response = ecrImage.response;
30
31
  // Get instances.
31
32
  const ecrClient = await this.container.get(ECRClient, {
32
33
  args: [properties.awsAccountId, properties.awsRegionId],
@@ -37,20 +38,6 @@ let DeleteEcrImageResourceAction = class DeleteEcrImageResourceAction {
37
38
  repositoryName: properties.imageId,
38
39
  }));
39
40
  }
40
- async mock(diff) {
41
- // Get properties.
42
- const ecrImage = diff.node;
43
- const properties = ecrImage.properties;
44
- const ecrClient = await this.container.get(ECRClient, {
45
- args: [properties.awsAccountId, properties.awsRegionId],
46
- metadata: { package: '@octo' },
47
- });
48
- ecrClient.send = async (instance) => {
49
- if (instance instanceof DeleteRepositoryCommand) {
50
- return;
51
- }
52
- };
53
- }
54
41
  };
55
42
  DeleteEcrImageResourceAction = __decorate([
56
43
  Action(EcrImage),
@@ -1 +1 @@
1
- {"version":3,"file":"delete-ecr-image.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/ecr/actions/delete-ecr-image.resource.action.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAa,UAAU,EAAE,OAAO,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAC;AAErH,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD;;GAEG;AAEI,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IACvC,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD,MAAM,CAAC,IAAU;QACf,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM;YACjC,IAAI,CAAC,IAAI,YAAY,QAAQ;YAC7B,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;YACnC,IAAI,CAAC,KAAK,KAAK,YAAY,CAC5B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAoB;QAC/B,kBAAkB;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QAEvC,iBAAiB;QACjB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAqC,SAAS,EAAE;YACxF,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,WAAW,CAAC;YACvD,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;SAC/B,CAAC,CAAC;QAEH,MAAM,SAAS,CAAC,IAAI,CAClB,IAAI,uBAAuB,CAAC;YAC1B,KAAK,EAAE,IAAI;YACX,cAAc,EAAE,UAAU,CAAC,OAAO;SACnC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAoB;QAC7B,kBAAkB;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QAEvC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAqC,SAAS,EAAE;YACxF,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,WAAW,CAAC;YACvD,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;SAC/B,CAAC,CAAC;QACH,SAAS,CAAC,IAAI,GAAG,KAAK,EAAE,QAAiB,EAAoB,EAAE;YAC7D,IAAI,QAAQ,YAAY,uBAAuB,EAAE,CAAC;gBAChD,OAAO;YACT,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF,CAAA;AA9CY,4BAA4B;IADxC,MAAM,CAAC,QAAQ,CAAC;qCAEyB,SAAS;GADtC,4BAA4B,CA8CxC;;AAED;;GAEG;AAEI,IAAM,mCAAmC,GAAzC,MAAM,mCAAmC;IAG9C,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,4BAA4B,CAAC,SAAS,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF,CAAA;AAVY,mCAAmC;IAD/C,OAAO,CAA+B,4BAA4B,CAAC;GACvD,mCAAmC,CAU/C"}
1
+ {"version":3,"file":"delete-ecr-image.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/ecr/actions/delete-ecr-image.resource.action.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAa,UAAU,EAAE,OAAO,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAC;AAErH,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD;;GAEG;AAEI,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IACvC,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD,MAAM,CAAC,IAAU;QACf,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM;YACjC,IAAI,CAAC,IAAI,YAAY,QAAQ;YAC7B,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;YACnC,IAAI,CAAC,KAAK,KAAK,YAAY,CAC5B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAoB;QAC/B,kBAAkB;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAEnC,iBAAiB;QACjB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAqC,SAAS,EAAE;YACxF,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,WAAW,CAAC;YACvD,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;SAC/B,CAAC,CAAC;QAEH,MAAM,SAAS,CAAC,IAAI,CAClB,IAAI,uBAAuB,CAAC;YAC1B,KAAK,EAAE,IAAI;YACX,cAAc,EAAE,UAAU,CAAC,OAAO;SACnC,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AA/BY,4BAA4B;IADxC,MAAM,CAAC,QAAQ,CAAC;qCAEyB,SAAS;GADtC,4BAA4B,CA+BxC;;AAED;;GAEG;AAEI,IAAM,mCAAmC,GAAzC,MAAM,mCAAmC;IAG9C,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,4BAA4B,CAAC,SAAS,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF,CAAA;AAVY,mCAAmC;IAD/C,OAAO,CAA+B,4BAA4B,CAAC;GACvD,mCAAmC,CAU/C"}
@@ -8,7 +8,6 @@ export declare class UpdateEcrImageTagsResourceAction extends GenericResourceTag
8
8
  constructor(container: Container);
9
9
  filter(diff: Diff): boolean;
10
10
  handle(diff: Diff<EcrImage, DiffValueTypeTagUpdate>): Promise<void>;
11
- mock(diff: Diff<EcrImage, DiffValueTypeTagUpdate>): Promise<void>;
12
11
  }
13
12
  /**
14
13
  * @internal
@@ -27,12 +27,6 @@ let UpdateEcrImageTagsResourceAction = class UpdateEcrImageTagsResourceAction ex
27
27
  const response = ecr.response;
28
28
  await super.handle(diff, { ...properties, resourceArn: response.repositoryArn });
29
29
  }
30
- async mock(diff) {
31
- // Get properties.
32
- const ecr = diff.node;
33
- const properties = ecr.properties;
34
- await super.mock(diff, properties);
35
- }
36
30
  };
37
31
  UpdateEcrImageTagsResourceAction = __decorate([
38
32
  Action(EcrImage),
@@ -1 +1 @@
1
- {"version":3,"file":"update-ecr-image-tags.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/ecr/actions/update-ecr-image-tags.resource.action.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,MAAM,EACN,SAAS,EAGT,OAAO,GAER,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,4BAA4B,EAAE,MAAM,+DAA+D,CAAC;AAC7G,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD;;GAEG;AAEI,IAAM,gCAAgC,GAAtC,MAAM,gCACX,SAAQ,4BAA4B;IAGpC,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;IAEQ,MAAM,CAAC,IAAU;QACxB,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEQ,KAAK,CAAC,MAAM,CAAC,IAA4C;QAChE,kBAAkB;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAE9B,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,aAAc,EAAE,CAAC,CAAC;IACpF,CAAC;IAEQ,KAAK,CAAC,IAAI,CAAC,IAA4C;QAC9D,kBAAkB;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QAElC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACrC,CAAC;CACF,CAAA;AA5BY,gCAAgC;IAD5C,MAAM,CAAC,QAAQ,CAAC;qCAKQ,SAAS;GAJrB,gCAAgC,CA4B5C;;AAED;;GAEG;AAEI,IAAM,uCAAuC,GAA7C,MAAM,uCAAuC;IAGlD,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,gCAAgC,CAAC,SAAS,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF,CAAA;AAVY,uCAAuC;IADnD,OAAO,CAAmC,gCAAgC,CAAC;GAC/D,uCAAuC,CAUnD"}
1
+ {"version":3,"file":"update-ecr-image-tags.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/ecr/actions/update-ecr-image-tags.resource.action.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,MAAM,EACN,SAAS,EAGT,OAAO,GAER,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,4BAA4B,EAAE,MAAM,+DAA+D,CAAC;AAC7G,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD;;GAEG;AAEI,IAAM,gCAAgC,GAAtC,MAAM,gCACX,SAAQ,4BAA4B;IAGpC,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;IAEQ,MAAM,CAAC,IAAU;QACxB,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEQ,KAAK,CAAC,MAAM,CAAC,IAA4C;QAChE,kBAAkB;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAE9B,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,aAAc,EAAE,CAAC,CAAC;IACpF,CAAC;CACF,CAAA;AApBY,gCAAgC;IAD5C,MAAM,CAAC,QAAQ,CAAC;qCAKQ,SAAS;GAJrB,gCAAgC,CAoB5C;;AAED;;GAEG;AAEI,IAAM,uCAAuC,GAA7C,MAAM,uCAAuC;IAGlD,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,gCAAgC,CAAC,SAAS,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF,CAAA;AAVY,uCAAuC;IADnD,OAAO,CAAmC,gCAAgC,CAAC;GAC/D,uCAAuC,CAUnD"}
@@ -0,0 +1,17 @@
1
+ import { ANodeAction, type Diff, type IResourceAction } from '@quadnix/octo';
2
+ import { EcrImage } from '../ecr-image.resource.js';
3
+ /**
4
+ * @internal
5
+ */
6
+ export declare class ValidateEcrImageResourceAction extends ANodeAction implements IResourceAction<EcrImage> {
7
+ constructor();
8
+ filter(diff: Diff): boolean;
9
+ handle(diff: Diff<EcrImage>): Promise<void>;
10
+ }
11
+ /**
12
+ * @internal
13
+ */
14
+ export declare class ValidateEcrImageResourceActionFactory {
15
+ private static instance;
16
+ static create(): Promise<ValidateEcrImageResourceAction>;
17
+ }
@@ -0,0 +1,111 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { DescribeRepositoriesCommand, ECRClient } from '@aws-sdk/client-ecr';
11
+ import { ANodeAction, Action, DiffAction, Factory, TransactionError, hasNodeName, } from '@quadnix/octo';
12
+ import { EcrImage } from '../ecr-image.resource.js';
13
+ /**
14
+ * @internal
15
+ */
16
+ let ValidateEcrImageResourceAction = class ValidateEcrImageResourceAction extends ANodeAction {
17
+ constructor() {
18
+ super();
19
+ }
20
+ filter(diff) {
21
+ return (diff.action === DiffAction.VALIDATE &&
22
+ diff.node instanceof EcrImage &&
23
+ hasNodeName(diff.node, 'ecr-image') &&
24
+ diff.field === 'resourceId');
25
+ }
26
+ async handle(diff) {
27
+ // Get properties.
28
+ const ecrImage = diff.node;
29
+ const properties = ecrImage.properties;
30
+ const response = ecrImage.response;
31
+ // Get instances.
32
+ const ecrClient = await this.container.get(ECRClient, {
33
+ args: [properties.awsAccountId, properties.awsRegionId],
34
+ metadata: { package: '@octo' },
35
+ });
36
+ // Check if ECR Repository exists.
37
+ let describeRepositoriesResult;
38
+ try {
39
+ describeRepositoriesResult = await ecrClient.send(new DescribeRepositoriesCommand({
40
+ repositoryNames: [response.repositoryName],
41
+ }));
42
+ }
43
+ catch (error) {
44
+ if (error.name === 'RepositoryNotFoundException') {
45
+ throw new TransactionError(`ECR Repository with name ${response.repositoryName} does not exist!`);
46
+ }
47
+ throw error;
48
+ }
49
+ if (!describeRepositoriesResult.repositories || describeRepositoriesResult.repositories.length === 0) {
50
+ throw new TransactionError(`ECR Repository with name ${response.repositoryName} does not exist!`);
51
+ }
52
+ const actualRepository = describeRepositoriesResult.repositories[0];
53
+ // Validate repository name.
54
+ if (actualRepository.repositoryName !== response.repositoryName) {
55
+ throw new TransactionError(`ECR Repository name mismatch. Expected: ${response.repositoryName}, Actual: ${actualRepository.repositoryName || 'undefined'}`);
56
+ }
57
+ // Validate repository name matches imageId property.
58
+ if (actualRepository.repositoryName !== properties.imageId) {
59
+ throw new TransactionError(`ECR Repository name does not match imageId. Expected: ${properties.imageId}, Actual: ${actualRepository.repositoryName || 'undefined'}`);
60
+ }
61
+ // Validate repository ARN.
62
+ if (actualRepository.repositoryArn !== response.repositoryArn) {
63
+ throw new TransactionError(`ECR Repository ARN mismatch. Expected: ${response.repositoryArn}, Actual: ${actualRepository.repositoryArn || 'undefined'}`);
64
+ }
65
+ // Validate repository URI.
66
+ if (actualRepository.repositoryUri !== response.repositoryUri) {
67
+ throw new TransactionError(`ECR Repository URI mismatch. Expected: ${response.repositoryUri}, Actual: ${actualRepository.repositoryUri || 'undefined'}`);
68
+ }
69
+ // Validate registry ID (AWS account).
70
+ if (actualRepository.registryId !== response.registryId) {
71
+ throw new TransactionError(`ECR Repository registry ID mismatch. Expected: ${response.registryId}, Actual: ${actualRepository.registryId || 'undefined'}`);
72
+ }
73
+ if (actualRepository.registryId !== properties.awsAccountId) {
74
+ throw new TransactionError(`ECR Repository registry ID does not match AWS account. Expected: ${properties.awsAccountId}, Actual: ${actualRepository.registryId || 'undefined'}`);
75
+ }
76
+ // Validate ARN format (account and region should match).
77
+ const expectedArnPrefix = `arn:aws:ecr:${properties.awsRegionId}:${properties.awsAccountId}:repository/`;
78
+ if (!response.repositoryArn.startsWith(expectedArnPrefix)) {
79
+ throw new TransactionError(`ECR Repository ARN region/account mismatch. Expected prefix: ${expectedArnPrefix}, Actual: ${response.repositoryArn}`);
80
+ }
81
+ // Validate image tag mutability.
82
+ if (actualRepository.imageTagMutability !== 'IMMUTABLE') {
83
+ throw new TransactionError(`ECR Repository image tag mutability mismatch. Expected: IMMUTABLE, Actual: ${actualRepository.imageTagMutability || 'undefined'}`);
84
+ }
85
+ // Validate image scanning configuration.
86
+ if (actualRepository.imageScanningConfiguration?.scanOnPush !== false) {
87
+ throw new TransactionError(`ECR Repository scan on push mismatch. Expected: false, Actual: ${actualRepository.imageScanningConfiguration?.scanOnPush}`);
88
+ }
89
+ }
90
+ };
91
+ ValidateEcrImageResourceAction = __decorate([
92
+ Action(EcrImage),
93
+ __metadata("design:paramtypes", [])
94
+ ], ValidateEcrImageResourceAction);
95
+ export { ValidateEcrImageResourceAction };
96
+ /**
97
+ * @internal
98
+ */
99
+ let ValidateEcrImageResourceActionFactory = class ValidateEcrImageResourceActionFactory {
100
+ static async create() {
101
+ if (!this.instance) {
102
+ this.instance = new ValidateEcrImageResourceAction();
103
+ }
104
+ return this.instance;
105
+ }
106
+ };
107
+ ValidateEcrImageResourceActionFactory = __decorate([
108
+ Factory(ValidateEcrImageResourceAction)
109
+ ], ValidateEcrImageResourceActionFactory);
110
+ export { ValidateEcrImageResourceActionFactory };
111
+ //# sourceMappingURL=validate-ecr-image.resource.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-ecr-image.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/ecr/actions/validate-ecr-image.resource.action.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import './actions/add-ecr-image.resource.action.js';
2
2
  import './actions/delete-ecr-image.resource.action.js';
3
3
  import './actions/update-ecr-image-tags.resource.action.js';
4
+ import './actions/validate-ecr-image.resource.action.js';
4
5
  export { EcrImage } from './ecr-image.resource.js';
@@ -1,5 +1,6 @@
1
1
  import './actions/add-ecr-image.resource.action.js';
2
2
  import './actions/delete-ecr-image.resource.action.js';
3
3
  import './actions/update-ecr-image-tags.resource.action.js';
4
+ import './actions/validate-ecr-image.resource.action.js';
4
5
  export { EcrImage } from './ecr-image.resource.js';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resources/ecr/index.ts"],"names":[],"mappings":"AAAA,OAAO,4CAA4C,CAAC;AACpD,OAAO,+CAA+C,CAAC;AACvD,OAAO,oDAAoD,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resources/ecr/index.ts"],"names":[],"mappings":"AAAA,OAAO,4CAA4C,CAAC;AACpD,OAAO,+CAA+C,CAAC;AACvD,OAAO,oDAAoD,CAAC;AAC5D,OAAO,iDAAiD,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC"}
@@ -8,8 +8,8 @@ export declare class AddEcsClusterResourceAction implements IResourceAction<EcsC
8
8
  private readonly container;
9
9
  constructor(container: Container);
10
10
  filter(diff: Diff): boolean;
11
- handle(diff: Diff<EcsCluster>): Promise<void>;
12
- mock(diff: Diff<EcsCluster>, capture: Partial<EcsClusterSchema['response']>): Promise<void>;
11
+ handle(diff: Diff<EcsCluster>): Promise<EcsClusterSchema['response']>;
12
+ mock(_diff: Diff<EcsCluster>, capture: Partial<EcsClusterSchema['response']>): Promise<EcsClusterSchema['response']>;
13
13
  }
14
14
  /**
15
15
  * @internal
@@ -27,7 +27,6 @@ let AddEcsClusterResourceAction = class AddEcsClusterResourceAction {
27
27
  // Get properties.
28
28
  const ecsCluster = diff.node;
29
29
  const properties = ecsCluster.properties;
30
- const response = ecsCluster.response;
31
30
  const tags = ecsCluster.tags;
32
31
  // Get instances.
33
32
  const ecsClient = await this.container.get(ECSClient, {
@@ -39,21 +38,13 @@ let AddEcsClusterResourceAction = class AddEcsClusterResourceAction {
39
38
  clusterName: properties.clusterName,
40
39
  tags: Object.entries(tags).map(([key, value]) => ({ key, value })),
41
40
  }));
42
- // Set response.
43
- response.clusterArn = data.cluster.clusterArn;
41
+ return {
42
+ clusterArn: data.cluster.clusterArn,
43
+ };
44
44
  }
45
- async mock(diff, capture) {
46
- // Get properties.
47
- const ecsCluster = diff.node;
48
- const properties = ecsCluster.properties;
49
- const ecsClient = await this.container.get(ECSClient, {
50
- args: [properties.awsAccountId, properties.awsRegionId],
51
- metadata: { package: '@octo' },
52
- });
53
- ecsClient.send = async (instance) => {
54
- if (instance instanceof CreateClusterCommand) {
55
- return { cluster: { clusterArn: capture.clusterArn } };
56
- }
45
+ async mock(_diff, capture) {
46
+ return {
47
+ clusterArn: capture.clusterArn,
57
48
  };
58
49
  }
59
50
  };
@@ -1 +1 @@
1
- {"version":3,"file":"add-ecs-cluster.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/ecs-cluster/actions/add-ecs-cluster.resource.action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-ecs-cluster.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/ecs-cluster/actions/add-ecs-cluster.resource.action.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAa,UAAU,EAAE,OAAO,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAC;AAErH,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD;;GAEG;AAEI,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IACtC,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD,MAAM,CAAC,IAAU;QACf,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,GAAG;YAC9B,IAAI,CAAC,IAAI,YAAY,UAAU;YAC/B,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC;YACrC,IAAI,CAAC,KAAK,KAAK,YAAY,CAC5B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAsB;QACjC,kBAAkB;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACzC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAE7B,iBAAiB;QACjB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAqC,SAAS,EAAE;YACxF,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,WAAW,CAAC;YACvD,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;SAC/B,CAAC,CAAC;QAEH,wBAAwB;QACxB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAC/B,IAAI,oBAAoB,CAAC;YACvB,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;SACnE,CAAC,CACH,CAAC;QAEF,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,OAAQ,CAAC,UAAW;SACtC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CACR,KAAuB,EACvB,OAA8C;QAE9C,OAAO;YACL,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC;IACJ,CAAC;CACF,CAAA;AA7CY,2BAA2B;IADvC,MAAM,CAAC,UAAU,CAAC;qCAEuB,SAAS;GADtC,2BAA2B,CA6CvC;;AAED;;GAEG;AAEI,IAAM,kCAAkC,GAAxC,MAAM,kCAAkC;IAG7C,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAA2B,CAAC,SAAS,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF,CAAA;AAVY,kCAAkC;IAD9C,OAAO,CAA8B,2BAA2B,CAAC;GACrD,kCAAkC,CAU9C"}
@@ -8,7 +8,6 @@ export declare class DeleteEcsClusterResourceAction implements IResourceAction<E
8
8
  constructor(container: Container);
9
9
  filter(diff: Diff): boolean;
10
10
  handle(diff: Diff<EcsCluster>): Promise<void>;
11
- mock(diff: Diff<EcsCluster>): Promise<void>;
12
11
  }
13
12
  /**
14
13
  * @internal