@quadnix/octo-aws-cdk 0.0.13 → 0.0.15

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
@@ -1 +1 @@
1
- {"version":3,"file":"add-iam-role.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/add-iam-role.resource.action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-iam-role.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/add-iam-role.resource.action.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,6 @@ export declare class DeleteIamRoleResourceAction implements IResourceAction<IamR
8
8
  constructor(container: Container);
9
9
  filter(diff: Diff): boolean;
10
10
  handle(diff: Diff<IamRole>): Promise<void>;
11
- mock(diff: Diff<IamRole>): Promise<void>;
12
11
  }
13
12
  /**
14
13
  * @internal
@@ -38,20 +38,6 @@ let DeleteIamRoleResourceAction = class DeleteIamRoleResourceAction {
38
38
  RoleName: response.RoleName,
39
39
  }));
40
40
  }
41
- async mock(diff) {
42
- // Get properties.
43
- const iamRole = diff.node;
44
- const properties = iamRole.properties;
45
- const iamClient = await this.container.get(IAMClient, {
46
- args: [properties.awsAccountId],
47
- metadata: { package: '@octo' },
48
- });
49
- iamClient.send = async (instance) => {
50
- if (instance instanceof DeleteRoleCommand) {
51
- return;
52
- }
53
- };
54
- }
55
41
  };
56
42
  DeleteIamRoleResourceAction = __decorate([
57
43
  Action(IamRole),
@@ -1 +1 @@
1
- {"version":3,"file":"delete-iam-role.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/delete-iam-role.resource.action.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAa,UAAU,EAAE,OAAO,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAC;AAErH,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD;;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,MAAM;YACjC,IAAI,CAAC,IAAI,YAAY,OAAO;YAC5B,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;YAClC,IAAI,CAAC,KAAK,KAAK,YAAY,CAC5B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAmB;QAC9B,kBAAkB;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAElC,iBAAiB;QACjB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAqC,SAAS,EAAE;YACxF,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YAC/B,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;SAC/B,CAAC,CAAC;QAEH,mBAAmB;QACnB,MAAM,SAAS,CAAC,IAAI,CAClB,IAAI,iBAAiB,CAAC;YACpB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAmB;QAC5B,kBAAkB;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAEtC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAqC,SAAS,EAAE;YACxF,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YAC/B,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,iBAAiB,EAAE,CAAC;gBAC1C,OAAO;YACT,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF,CAAA;AA/CY,2BAA2B;IADvC,MAAM,CAAC,OAAO,CAAC;qCAE0B,SAAS;GADtC,2BAA2B,CA+CvC;;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"}
1
+ {"version":3,"file":"delete-iam-role.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/delete-iam-role.resource.action.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAa,UAAU,EAAE,OAAO,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAC;AAErH,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD;;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,MAAM;YACjC,IAAI,CAAC,IAAI,YAAY,OAAO;YAC5B,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;YAClC,IAAI,CAAC,KAAK,KAAK,YAAY,CAC5B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAmB;QAC9B,kBAAkB;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAElC,iBAAiB;QACjB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAqC,SAAS,EAAE;YACxF,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YAC/B,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;SAC/B,CAAC,CAAC;QAEH,mBAAmB;QACnB,MAAM,SAAS,CAAC,IAAI,CAClB,IAAI,iBAAiB,CAAC;YACpB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AA/BY,2BAA2B;IADvC,MAAM,CAAC,OAAO,CAAC;qCAE0B,SAAS;GADtC,2BAA2B,CA+BvC;;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 UpdateIamRoleAssumeRolePolicyResourceAction implements IRes
8
8
  constructor(container: Container);
9
9
  filter(diff: Diff): boolean;
10
10
  handle(diff: Diff<IamRole>): Promise<void>;
11
- mock(diff: Diff<IamRole>): Promise<void>;
12
11
  }
13
12
  /**
14
13
  * @internal
@@ -27,6 +27,7 @@ let UpdateIamRoleAssumeRolePolicyResourceAction = class UpdateIamRoleAssumeRoleP
27
27
  // Get properties.
28
28
  const iamRole = diff.node;
29
29
  const properties = iamRole.properties;
30
+ const response = iamRole.response;
30
31
  // Get instances.
31
32
  const iamClient = await this.container.get(IAMClient, {
32
33
  args: [properties.awsAccountId],
@@ -54,20 +55,6 @@ let UpdateIamRoleAssumeRolePolicyResourceAction = class UpdateIamRoleAssumeRoleP
54
55
  RoleName: properties.rolename,
55
56
  }));
56
57
  }
57
- async mock(diff) {
58
- // Get properties.
59
- const iamRole = diff.node;
60
- const properties = iamRole.properties;
61
- const iamClient = await this.container.get(IAMClient, {
62
- args: [properties.awsAccountId],
63
- metadata: { package: '@octo' },
64
- });
65
- iamClient.send = async (instance) => {
66
- if (instance instanceof UpdateAssumeRolePolicyCommand) {
67
- return;
68
- }
69
- };
70
- }
71
58
  };
72
59
  UpdateIamRoleAssumeRolePolicyResourceAction = __decorate([
73
60
  Action(IamRole),
@@ -1 +1 @@
1
- {"version":3,"file":"update-iam-role-assume-role-policy.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/update-iam-role-assume-role-policy.resource.action.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,SAAS,EAAa,UAAU,EAAE,OAAO,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAC;AAErH,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD;;GAEG;AAEI,IAAM,2CAA2C,GAAjD,MAAM,2CAA2C;IACtD,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,OAAO;YAC5B,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;YAClC,IAAI,CAAC,KAAK,KAAK,oBAAoB,CACpC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAmB;QAC9B,kBAAkB;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAEtC,iBAAiB;QACjB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAqC,SAAS,EAAE;YACxF,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YAC/B,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;SAC/B,CAAC,CAAC;QAEH,MAAM,cAAc,GAA0E,EAAE,CAAC;QAEjG,MAAM,kBAAkB,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,oBAAoB,CAAC,CAAC;QACpG,KAAK,MAAM,MAAM,IAAI,kBAAkB,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,MAAM,KAAK,yBAAyB,EAAE,CAAC;gBAChD,cAAc,CAAC,IAAI,CAAC;oBAClB,MAAM,EAAE,gBAAgB;oBACxB,MAAM,EAAE,OAAO;oBACf,SAAS,EAAE;wBACT,OAAO,EAAE,yBAAyB;qBACnC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,MAAM,SAAS,CAAC,IAAI,CAClB,IAAI,6BAA6B,CAAC;YAChC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC7B,SAAS,EAAE,cAAc;gBACzB,OAAO,EAAE,YAAY;aACtB,CAAC;YACF,QAAQ,EAAE,UAAU,CAAC,QAAQ;SAC9B,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAmB;QAC5B,kBAAkB;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAEtC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAqC,SAAS,EAAE;YACxF,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YAC/B,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,6BAA6B,EAAE,CAAC;gBACtD,OAAO;YACT,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF,CAAA;AAjEY,2CAA2C;IADvD,MAAM,CAAC,OAAO,CAAC;qCAE0B,SAAS;GADtC,2CAA2C,CAiEvD;;AAED;;GAEG;AAEI,IAAM,kDAAkD,GAAxD,MAAM,kDAAkD;IAG7D,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,2CAA2C,CAAC,SAAS,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF,CAAA;AAVY,kDAAkD;IAD9D,OAAO,CAA8C,2CAA2C,CAAC;GACrF,kDAAkD,CAU9D"}
1
+ {"version":3,"file":"update-iam-role-assume-role-policy.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/update-iam-role-assume-role-policy.resource.action.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,SAAS,EAAa,UAAU,EAAE,OAAO,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAC;AAErH,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD;;GAEG;AAEI,IAAM,2CAA2C,GAAjD,MAAM,2CAA2C;IACtD,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,OAAO;YAC5B,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;YAClC,IAAI,CAAC,KAAK,KAAK,oBAAoB,CACpC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAmB;QAC9B,kBAAkB;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAElC,iBAAiB;QACjB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAqC,SAAS,EAAE;YACxF,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YAC/B,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;SAC/B,CAAC,CAAC;QAEH,MAAM,cAAc,GAA0E,EAAE,CAAC;QAEjG,MAAM,kBAAkB,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,oBAAoB,CAAC,CAAC;QACpG,KAAK,MAAM,MAAM,IAAI,kBAAkB,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,MAAM,KAAK,yBAAyB,EAAE,CAAC;gBAChD,cAAc,CAAC,IAAI,CAAC;oBAClB,MAAM,EAAE,gBAAgB;oBACxB,MAAM,EAAE,OAAO;oBACf,SAAS,EAAE;wBACT,OAAO,EAAE,yBAAyB;qBACnC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,MAAM,SAAS,CAAC,IAAI,CAClB,IAAI,6BAA6B,CAAC;YAChC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC7B,SAAS,EAAE,cAAc;gBACzB,OAAO,EAAE,YAAY;aACtB,CAAC;YACF,QAAQ,EAAE,UAAU,CAAC,QAAQ;SAC9B,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AAlDY,2CAA2C;IADvD,MAAM,CAAC,OAAO,CAAC;qCAE0B,SAAS;GADtC,2CAA2C,CAkDvD;;AAED;;GAEG;AAEI,IAAM,kDAAkD,GAAxD,MAAM,kDAAkD;IAG7D,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,2CAA2C,CAAC,SAAS,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF,CAAA;AAVY,kDAAkD;IAD9D,OAAO,CAA8C,2CAA2C,CAAC;GACrF,kDAAkD,CAU9D"}
@@ -8,7 +8,6 @@ export declare class UpdateIamRoleTagsResourceAction extends GenericResourceTagg
8
8
  constructor(container: Container);
9
9
  filter(diff: Diff): boolean;
10
10
  handle(diff: Diff<IamRole, DiffValueTypeTagUpdate>): Promise<void>;
11
- mock(diff: Diff<IamRole, DiffValueTypeTagUpdate>): Promise<void>;
12
11
  }
13
12
  /**
14
13
  * @internal
@@ -28,13 +28,6 @@ let UpdateIamRoleTagsResourceAction = class UpdateIamRoleTagsResourceAction exte
28
28
  // `us-east-1` is the recommended region for global resources.
29
29
  await super.handle(diff, { ...properties, awsRegionId: 'us-east-1', resourceArn: response.Arn });
30
30
  }
31
- async mock(diff) {
32
- // Get properties.
33
- const role = diff.node;
34
- const properties = role.properties;
35
- // `us-east-1` is the recommended region for global resources.
36
- await super.mock(diff, { ...properties, awsRegionId: 'us-east-1' });
37
- }
38
31
  };
39
32
  UpdateIamRoleTagsResourceAction = __decorate([
40
33
  Action(IamRole),
@@ -1 +1 @@
1
- {"version":3,"file":"update-iam-role-tags.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/update-iam-role-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,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD;;GAEG;AAEI,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,4BAA4B;IAC/E,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,IAA2C;QAC/D,kBAAkB;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE/B,8DAA8D;QAC9D,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAI,EAAE,CAAC,CAAC;IACpG,CAAC;IAEQ,KAAK,CAAC,IAAI,CAAC,IAA2C;QAC7D,kBAAkB;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,8DAA8D;QAC9D,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;IACtE,CAAC;CACF,CAAA;AA3BY,+BAA+B;IAD3C,MAAM,CAAC,OAAO,CAAC;qCAES,SAAS;GADrB,+BAA+B,CA2B3C;;AAED;;GAEG;AAEI,IAAM,sCAAsC,GAA5C,MAAM,sCAAsC;IAGjD,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,+BAA+B,CAAC,SAAS,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF,CAAA;AAVY,sCAAsC;IADlD,OAAO,CAAkC,+BAA+B,CAAC;GAC7D,sCAAsC,CAUlD"}
1
+ {"version":3,"file":"update-iam-role-tags.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/update-iam-role-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,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD;;GAEG;AAEI,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,4BAA4B;IAC/E,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,IAA2C;QAC/D,kBAAkB;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE/B,8DAA8D;QAC9D,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAI,EAAE,CAAC,CAAC;IACpG,CAAC;CACF,CAAA;AAlBY,+BAA+B;IAD3C,MAAM,CAAC,OAAO,CAAC;qCAES,SAAS;GADrB,+BAA+B,CAkB3C;;AAED;;GAEG;AAEI,IAAM,sCAAsC,GAA5C,MAAM,sCAAsC;IAGjD,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,+BAA+B,CAAC,SAAS,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF,CAAA;AAVY,sCAAsC;IADlD,OAAO,CAAkC,+BAA+B,CAAC;GAC7D,sCAAsC,CAUlD"}
@@ -1,5 +1,6 @@
1
1
  import { Container, type Diff, type IResourceAction } from '@quadnix/octo';
2
2
  import { type IIamRolePolicyDiff, IamRole } from '../iam-role.resource.js';
3
+ import type { IamRoleSchema } from '../index.schema.js';
3
4
  /**
4
5
  * @internal
5
6
  */
@@ -7,8 +8,8 @@ export declare class UpdateIamRoleWithAwsPolicyResourceAction implements IResour
7
8
  private readonly container;
8
9
  constructor(container: Container);
9
10
  filter(diff: Diff): boolean;
10
- handle(diff: Diff<IamRole, IIamRolePolicyDiff>): Promise<void>;
11
- mock(diff: Diff<IamRole>): Promise<void>;
11
+ handle(diff: Diff<IamRole, IIamRolePolicyDiff>): Promise<IamRoleSchema['response']>;
12
+ mock(diff: Diff<IamRole, IIamRolePolicyDiff>): Promise<IamRoleSchema['response']>;
12
13
  }
13
14
  /**
14
15
  * @internal
@@ -26,9 +26,9 @@ let UpdateIamRoleWithAwsPolicyResourceAction = class UpdateIamRoleWithAwsPolicyR
26
26
  async handle(diff) {
27
27
  // Get properties.
28
28
  const iamRole = diff.node;
29
- const iamRolePolicyDiff = diff.value;
30
29
  const properties = iamRole.properties;
31
30
  const response = iamRole.response;
31
+ const iamRolePolicyDiff = diff.value;
32
32
  // Get instances.
33
33
  const iamClient = await this.container.get(IAMClient, {
34
34
  args: [properties.awsAccountId],
@@ -40,36 +40,50 @@ let UpdateIamRoleWithAwsPolicyResourceAction = class UpdateIamRoleWithAwsPolicyR
40
40
  PolicyArn: iamRolePolicyDiff.policy,
41
41
  RoleName: response.RoleName,
42
42
  }));
43
- // Set response.
44
- response.policies[iamRolePolicyDiff.policyId] = [iamRolePolicyDiff.policy];
43
+ const policies = response.policies ? { ...response.policies } : {};
44
+ policies[iamRolePolicyDiff.policyId] = [iamRolePolicyDiff.policy];
45
+ return {
46
+ ...response,
47
+ policies,
48
+ };
45
49
  }
46
50
  else if (isDeletePolicyDiff(iamRolePolicyDiff)) {
47
51
  await iamClient.send(new DetachRolePolicyCommand({
48
52
  PolicyArn: iamRolePolicyDiff.policyId,
49
53
  RoleName: response.RoleName,
50
54
  }));
51
- // Set response.
52
- if (!Object.isFrozen(response)) {
53
- delete response.policies[iamRolePolicyDiff.policyId];
54
- }
55
+ const policies = { ...response.policies };
56
+ delete policies[iamRolePolicyDiff.policyId];
57
+ return {
58
+ ...response,
59
+ policies,
60
+ };
55
61
  }
62
+ return response;
56
63
  }
57
64
  async mock(diff) {
58
65
  // Get properties.
59
66
  const iamRole = diff.node;
60
- const properties = iamRole.properties;
61
- const iamClient = await this.container.get(IAMClient, {
62
- args: [properties.awsAccountId],
63
- metadata: { package: '@octo' },
64
- });
65
- iamClient.send = async (instance) => {
66
- if (instance instanceof AttachRolePolicyCommand) {
67
- return;
68
- }
69
- else if (instance instanceof DetachRolePolicyCommand) {
70
- return;
71
- }
72
- };
67
+ const response = iamRole.response;
68
+ const iamRolePolicyDiff = diff.value;
69
+ // Attach AWS policies to IAM Role.
70
+ if (isAddPolicyDiff(iamRolePolicyDiff)) {
71
+ const policies = response.policies ? { ...response.policies } : {};
72
+ policies[iamRolePolicyDiff.policyId] = [iamRolePolicyDiff.policy];
73
+ return {
74
+ ...response,
75
+ policies,
76
+ };
77
+ }
78
+ else if (isDeletePolicyDiff(iamRolePolicyDiff)) {
79
+ const policies = { ...response.policies };
80
+ delete policies[iamRolePolicyDiff.policyId];
81
+ return {
82
+ ...response,
83
+ policies,
84
+ };
85
+ }
86
+ return response;
73
87
  }
74
88
  };
75
89
  UpdateIamRoleWithAwsPolicyResourceAction = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"update-iam-role-with-aws-policy.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/update-iam-role-with-aws-policy.resource.action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-iam-role-with-aws-policy.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/update-iam-role-with-aws-policy.resource.action.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,8 @@ export declare class UpdateIamRoleWithS3StoragePolicyResourceAction implements I
8
8
  private readonly container;
9
9
  constructor(container: Container);
10
10
  filter(diff: Diff): boolean;
11
- handle(diff: Diff<IamRole, IIamRolePolicyDiff>): Promise<void>;
12
- mock(diff: Diff<IamRole, IIamRolePolicyDiff>, capture: Partial<IamRoleSchema['response']>): Promise<void>;
11
+ handle(diff: Diff<IamRole, IIamRolePolicyDiff>): Promise<IamRoleSchema['response']>;
12
+ mock(diff: Diff<IamRole, IIamRolePolicyDiff>, capture: Partial<IamRoleSchema['response']>): Promise<IamRoleSchema['response']>;
13
13
  }
14
14
  /**
15
15
  * @internal
@@ -27,9 +27,9 @@ let UpdateIamRoleWithS3StoragePolicyResourceAction = class UpdateIamRoleWithS3St
27
27
  async handle(diff) {
28
28
  // Get properties.
29
29
  const iamRole = diff.node;
30
- const iamRolePolicyDiff = diff.value;
31
30
  const properties = iamRole.properties;
32
31
  const response = iamRole.response;
32
+ const iamRolePolicyDiff = diff.value;
33
33
  // Get instances.
34
34
  const iamClient = await this.container.get(IAMClient, {
35
35
  args: [properties.awsAccountId],
@@ -81,8 +81,12 @@ let UpdateIamRoleWithS3StoragePolicyResourceAction = class UpdateIamRoleWithS3St
81
81
  PolicyArn: data.Policy.Arn,
82
82
  RoleName: response.RoleName,
83
83
  }));
84
- // Set response.
85
- response.policies[iamRolePolicyDiff.policyId] = [data.Policy.Arn];
84
+ const policies = response.policies ? { ...response.policies } : {};
85
+ policies[iamRolePolicyDiff.policyId] = [data.Policy.Arn];
86
+ return {
87
+ ...response,
88
+ policies,
89
+ };
86
90
  }
87
91
  else if (isDeletePolicyDiff(iamRolePolicyDiff)) {
88
92
  const policyARNs = response.policies[iamRolePolicyDiff.policyId] || [];
@@ -95,35 +99,38 @@ let UpdateIamRoleWithS3StoragePolicyResourceAction = class UpdateIamRoleWithS3St
95
99
  PolicyArn: policyArn,
96
100
  }));
97
101
  }));
98
- // Set response.
99
- if (!Object.isFrozen(response)) {
100
- delete response.policies[iamRolePolicyDiff.policyId];
101
- }
102
+ const policies = { ...response.policies };
103
+ delete policies[iamRolePolicyDiff.policyId];
104
+ return {
105
+ ...response,
106
+ policies,
107
+ };
102
108
  }
109
+ return response;
103
110
  }
104
111
  async mock(diff, capture) {
105
112
  // Get properties.
106
113
  const iamRole = diff.node;
114
+ const response = iamRole.response;
107
115
  const iamRolePolicyDiff = diff.value;
108
- const properties = iamRole.properties;
109
- const iamClient = await this.container.get(IAMClient, {
110
- args: [properties.awsAccountId],
111
- metadata: { package: '@octo' },
112
- });
113
- iamClient.send = async (instance) => {
114
- if (instance instanceof CreatePolicyCommand) {
115
- return { Policy: { Arn: capture.policies[iamRolePolicyDiff.policyId][0] } };
116
- }
117
- else if (instance instanceof AttachRolePolicyCommand) {
118
- return;
119
- }
120
- else if (instance instanceof DetachRolePolicyCommand) {
121
- return;
122
- }
123
- else if (instance instanceof DeletePolicyCommand) {
124
- return;
125
- }
126
- };
116
+ // Attach policies to IAM Role to read/write from bucket.
117
+ if (isAddPolicyDiff(iamRolePolicyDiff)) {
118
+ const policies = response.policies ? { ...response.policies } : {};
119
+ policies[iamRolePolicyDiff.policyId] = [capture.policies[iamRolePolicyDiff.policyId][0]];
120
+ return {
121
+ ...response,
122
+ policies,
123
+ };
124
+ }
125
+ else if (isDeletePolicyDiff(iamRolePolicyDiff)) {
126
+ const policies = { ...response.policies };
127
+ delete policies[iamRolePolicyDiff.policyId];
128
+ return {
129
+ ...response,
130
+ policies,
131
+ };
132
+ }
133
+ return response;
127
134
  }
128
135
  };
129
136
  UpdateIamRoleWithS3StoragePolicyResourceAction = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"update-iam-role-with-s3-storage-policy.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/update-iam-role-with-s3-storage-policy.resource.action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-iam-role-with-s3-storage-policy.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/update-iam-role-with-s3-storage-policy.resource.action.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { ANodeAction, type Diff, type IResourceAction } from '@quadnix/octo';
2
+ import { IamRole } from '../iam-role.resource.js';
3
+ /**
4
+ * @internal
5
+ */
6
+ export declare class ValidateIamRoleResourceAction extends ANodeAction implements IResourceAction<IamRole> {
7
+ constructor();
8
+ filter(diff: Diff): boolean;
9
+ handle(diff: Diff<IamRole>): Promise<void>;
10
+ }
11
+ /**
12
+ * @internal
13
+ */
14
+ export declare class ValidateIamRoleResourceActionFactory {
15
+ private static instance;
16
+ static create(): Promise<ValidateIamRoleResourceAction>;
17
+ }
@@ -0,0 +1,207 @@
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 { GetPolicyCommand, GetPolicyVersionCommand, GetRoleCommand, IAMClient, ListAttachedRolePoliciesCommand, } from '@aws-sdk/client-iam';
11
+ import { ANodeAction, Action, DiffAction, Factory, TransactionError, hasNodeName, } from '@quadnix/octo';
12
+ import { PolicyUtility } from '../../../utilities/policy/policy.utility.js';
13
+ import { IamRole } from '../iam-role.resource.js';
14
+ /**
15
+ * @internal
16
+ */
17
+ let ValidateIamRoleResourceAction = class ValidateIamRoleResourceAction extends ANodeAction {
18
+ constructor() {
19
+ super();
20
+ }
21
+ filter(diff) {
22
+ return (diff.action === DiffAction.VALIDATE &&
23
+ diff.node instanceof IamRole &&
24
+ hasNodeName(diff.node, 'iam-role') &&
25
+ diff.field === 'resourceId');
26
+ }
27
+ async handle(diff) {
28
+ // Get properties.
29
+ const iamRole = diff.node;
30
+ const properties = iamRole.properties;
31
+ const response = iamRole.response;
32
+ // Get instances.
33
+ const iamClient = await this.container.get(IAMClient, {
34
+ args: [properties.awsAccountId],
35
+ metadata: { package: '@octo' },
36
+ });
37
+ // Check if IAM Role exists.
38
+ let getRoleResult;
39
+ try {
40
+ getRoleResult = await iamClient.send(new GetRoleCommand({
41
+ RoleName: response.RoleName,
42
+ }));
43
+ }
44
+ catch (error) {
45
+ if (error.name === 'NoSuchEntity') {
46
+ throw new TransactionError(`IAM Role with name ${response.RoleName} does not exist!`);
47
+ }
48
+ throw error;
49
+ }
50
+ const actualRole = getRoleResult.Role;
51
+ // Validate role name.
52
+ if (actualRole.RoleName !== properties.rolename) {
53
+ throw new TransactionError(`IAM Role name mismatch. Expected: ${properties.rolename}, Actual: ${actualRole.RoleName || 'undefined'}`);
54
+ }
55
+ // Validate role ID.
56
+ if (actualRole.RoleId !== response.RoleId) {
57
+ throw new TransactionError(`IAM Role ID mismatch. Expected: ${response.RoleId}, Actual: ${actualRole.RoleId || 'undefined'}`);
58
+ }
59
+ // Validate role ARN.
60
+ if (actualRole.Arn !== response.Arn) {
61
+ throw new TransactionError(`IAM Role ARN mismatch. Expected: ${response.Arn}, Actual: ${actualRole.Arn || 'undefined'}`);
62
+ }
63
+ // Validate ARN format (account should match).
64
+ const expectedArnPrefix = `arn:aws:iam::${properties.awsAccountId}:role/`;
65
+ if (!response.Arn.startsWith(expectedArnPrefix)) {
66
+ throw new TransactionError(`IAM Role ARN account mismatch. Expected prefix: ${expectedArnPrefix}, Actual: ${response.Arn}`);
67
+ }
68
+ // Validate assume role policy (trust policy).
69
+ const assumeRolePolicyDocument = JSON.parse(decodeURIComponent(actualRole.AssumeRolePolicyDocument));
70
+ const assumeRolePolicies = properties.policies.filter((p) => p.policyType === 'assume-role-policy');
71
+ const expectedStatements = [];
72
+ for (const policy of assumeRolePolicies) {
73
+ if (policy.policy === 'ecs-tasks.amazonaws.com') {
74
+ expectedStatements.push({
75
+ Action: 'sts:AssumeRole',
76
+ Effect: 'Allow',
77
+ Principal: {
78
+ Service: 'ecs-tasks.amazonaws.com',
79
+ },
80
+ });
81
+ }
82
+ }
83
+ if (assumeRolePolicyDocument.Statement?.length !== expectedStatements.length) {
84
+ throw new TransactionError(`IAM Role assume role policy statement count mismatch. Expected: ${expectedStatements.length}, Actual: ${assumeRolePolicyDocument.Statement?.length || 0}`);
85
+ }
86
+ for (const expectedStatement of expectedStatements) {
87
+ const matchingStatement = assumeRolePolicyDocument.Statement?.find((statement) => statement.Action === expectedStatement.Action &&
88
+ statement.Effect === expectedStatement.Effect &&
89
+ JSON.stringify(statement.Principal) === JSON.stringify(expectedStatement.Principal));
90
+ if (!matchingStatement) {
91
+ throw new TransactionError(`IAM Role assume role policy missing statement for service: ${expectedStatement.Principal.Service}`);
92
+ }
93
+ }
94
+ // Validate attached policies.
95
+ const listAttachedPoliciesResult = await iamClient.send(new ListAttachedRolePoliciesCommand({
96
+ RoleName: response.RoleName,
97
+ }));
98
+ const attachedPolicies = listAttachedPoliciesResult.AttachedPolicies || [];
99
+ const expectedPolicyArns = new Set();
100
+ // Collect all expected policy ARNs from response.
101
+ if (response.policies) {
102
+ for (const policyArns of Object.values(response.policies)) {
103
+ for (const arn of policyArns) {
104
+ expectedPolicyArns.add(arn);
105
+ }
106
+ }
107
+ }
108
+ // Validate policy count matches.
109
+ if (attachedPolicies.length !== expectedPolicyArns.size) {
110
+ throw new TransactionError(`IAM Role attached policy count mismatch. Expected: ${expectedPolicyArns.size}, Actual: ${attachedPolicies.length}`);
111
+ }
112
+ // Validate each expected policy is attached.
113
+ for (const expectedArn of expectedPolicyArns) {
114
+ const attachedPolicy = attachedPolicies.find((p) => p.PolicyArn === expectedArn);
115
+ if (!attachedPolicy) {
116
+ throw new TransactionError(`IAM Role missing attached policy: ${expectedArn}. Current policies: ${JSON.stringify(attachedPolicies.map((p) => p.PolicyArn))}`);
117
+ }
118
+ }
119
+ // Validate S3 storage access policies in detail.
120
+ const s3StoragePolicies = properties.policies.filter((p) => p.policyType === 's3-storage-access-policy');
121
+ for (const s3Policy of s3StoragePolicies) {
122
+ const policyArns = response.policies?.[s3Policy.policyId];
123
+ if (!policyArns || policyArns.length === 0) {
124
+ throw new TransactionError(`IAM Role response missing policy ARN for S3 storage policy: ${s3Policy.policyId}`);
125
+ }
126
+ const policyArn = policyArns[0];
127
+ // Get policy version.
128
+ const getPolicyResult = await iamClient.send(new GetPolicyCommand({
129
+ PolicyArn: policyArn,
130
+ }));
131
+ const policyVersion = getPolicyResult.Policy.DefaultVersionId;
132
+ // Get policy document.
133
+ const getPolicyVersionResult = await iamClient.send(new GetPolicyVersionCommand({
134
+ PolicyArn: policyArn,
135
+ VersionId: policyVersion,
136
+ }));
137
+ const policyDocument = JSON.parse(decodeURIComponent(getPolicyVersionResult.PolicyVersion.Document));
138
+ const policy = s3Policy.policy;
139
+ // Validate policy statements.
140
+ const expectedS3Statements = [];
141
+ if (policy.allowRead) {
142
+ expectedS3Statements.push({
143
+ Action: [
144
+ 's3:GetObject',
145
+ 's3:GetObjectAttributes',
146
+ 's3:GetObjectTagging',
147
+ 's3:GetObjectVersionAcl',
148
+ 's3:GetObjectVersionAttributes',
149
+ 's3:GetObjectVersionTagging',
150
+ 's3:ListBucket',
151
+ ],
152
+ Effect: 'Allow',
153
+ Resource: policy.remoteDirectoryPath === '' || policy.remoteDirectoryPath === '/'
154
+ ? [`arn:aws:s3:::${policy.bucketName}`, `arn:aws:s3:::${policy.bucketName}/*`]
155
+ : [
156
+ `arn:aws:s3:::${policy.bucketName}/${policy.remoteDirectoryPath}`,
157
+ `arn:aws:s3:::${policy.bucketName}/${policy.remoteDirectoryPath}/*`,
158
+ ],
159
+ Sid: PolicyUtility.getSafeSid(`Allow read from bucket ${policy.bucketName}`),
160
+ });
161
+ }
162
+ if (policy.allowWrite) {
163
+ expectedS3Statements.push({
164
+ Action: ['s3:PutObject', 's3:DeleteObjectVersion', 's3:DeleteObject'],
165
+ Effect: 'Allow',
166
+ Resource: policy.remoteDirectoryPath === '' || policy.remoteDirectoryPath === '/'
167
+ ? [`arn:aws:s3:::${policy.bucketName}`, `arn:aws:s3:::${policy.bucketName}/*`]
168
+ : [`arn:aws:s3:::${policy.bucketName}/${policy.remoteDirectoryPath}/*`],
169
+ Sid: PolicyUtility.getSafeSid(`Allow write from bucket ${policy.bucketName}`),
170
+ });
171
+ }
172
+ if (policyDocument.Statement?.length !== expectedS3Statements.length) {
173
+ throw new TransactionError(`S3 storage policy ${s3Policy.policyId} statement count mismatch. Expected: ${expectedS3Statements.length}, Actual: ${policyDocument.Statement?.length || 0}`);
174
+ }
175
+ for (const expectedStatement of expectedS3Statements) {
176
+ const matchingStatement = policyDocument.Statement?.find((statement) => statement.Sid === expectedStatement.Sid &&
177
+ statement.Effect === expectedStatement.Effect &&
178
+ JSON.stringify(statement.Action) === JSON.stringify(expectedStatement.Action) &&
179
+ JSON.stringify(statement.Resource) === JSON.stringify(expectedStatement.Resource));
180
+ if (!matchingStatement) {
181
+ throw new TransactionError(`S3 storage policy ${s3Policy.policyId} missing statement with Sid: ${expectedStatement.Sid}`);
182
+ }
183
+ }
184
+ }
185
+ }
186
+ };
187
+ ValidateIamRoleResourceAction = __decorate([
188
+ Action(IamRole),
189
+ __metadata("design:paramtypes", [])
190
+ ], ValidateIamRoleResourceAction);
191
+ export { ValidateIamRoleResourceAction };
192
+ /**
193
+ * @internal
194
+ */
195
+ let ValidateIamRoleResourceActionFactory = class ValidateIamRoleResourceActionFactory {
196
+ static async create() {
197
+ if (!this.instance) {
198
+ this.instance = new ValidateIamRoleResourceAction();
199
+ }
200
+ return this.instance;
201
+ }
202
+ };
203
+ ValidateIamRoleResourceActionFactory = __decorate([
204
+ Factory(ValidateIamRoleResourceAction)
205
+ ], ValidateIamRoleResourceActionFactory);
206
+ export { ValidateIamRoleResourceActionFactory };
207
+ //# sourceMappingURL=validate-iam-role.resource.action.js.map