@quadnix/octo-aws-cdk 0.0.1

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 (355) hide show
  1. package/dist/anchors/iam-role.anchor.model.d.ts +4 -0
  2. package/dist/anchors/iam-role.anchor.model.js +21 -0
  3. package/dist/anchors/iam-role.anchor.model.js.map +1 -0
  4. package/dist/anchors/iam-user.anchor.model.d.ts +4 -0
  5. package/dist/anchors/iam-user.anchor.model.js +21 -0
  6. package/dist/anchors/iam-user.anchor.model.js.map +1 -0
  7. package/dist/factories/aws/aws.abstract.factory.d.ts +5 -0
  8. package/dist/factories/aws/aws.abstract.factory.js +25 -0
  9. package/dist/factories/aws/aws.abstract.factory.js.map +1 -0
  10. package/dist/factories/aws/ec2.aws.factory.d.ts +4 -0
  11. package/dist/factories/aws/ec2.aws.factory.js +19 -0
  12. package/dist/factories/aws/ec2.aws.factory.js.map +1 -0
  13. package/dist/factories/aws/ecr.aws.factory.d.ts +4 -0
  14. package/dist/factories/aws/ecr.aws.factory.js +19 -0
  15. package/dist/factories/aws/ecr.aws.factory.js.map +1 -0
  16. package/dist/factories/aws/ecs.aws.factory.d.ts +4 -0
  17. package/dist/factories/aws/ecs.aws.factory.js +19 -0
  18. package/dist/factories/aws/ecs.aws.factory.js.map +1 -0
  19. package/dist/factories/aws/efs.aws.factory.d.ts +4 -0
  20. package/dist/factories/aws/efs.aws.factory.js +19 -0
  21. package/dist/factories/aws/efs.aws.factory.js.map +1 -0
  22. package/dist/factories/aws/iam.aws.factory.d.ts +5 -0
  23. package/dist/factories/aws/iam.aws.factory.js +22 -0
  24. package/dist/factories/aws/iam.aws.factory.js.map +1 -0
  25. package/dist/factories/aws/s3.aws.factory.d.ts +4 -0
  26. package/dist/factories/aws/s3.aws.factory.js +19 -0
  27. package/dist/factories/aws/s3.aws.factory.js.map +1 -0
  28. package/dist/factories/aws/sts.aws.factory.d.ts +4 -0
  29. package/dist/factories/aws/sts.aws.factory.js +19 -0
  30. package/dist/factories/aws/sts.aws.factory.js.map +1 -0
  31. package/dist/index.d.ts +74 -0
  32. package/dist/index.js +75 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/main.d.ts +21 -0
  35. package/dist/main.js +87 -0
  36. package/dist/main.js.map +1 -0
  37. package/dist/models/action.abstract.d.ts +9 -0
  38. package/dist/models/action.abstract.js +12 -0
  39. package/dist/models/action.abstract.js.map +1 -0
  40. package/dist/models/deployment/actions/add-deployment.model.action.d.ts +11 -0
  41. package/dist/models/deployment/actions/add-deployment.model.action.js +63 -0
  42. package/dist/models/deployment/actions/add-deployment.model.action.js.map +1 -0
  43. package/dist/models/deployment/actions/delete-deployment.model.action.d.ts +11 -0
  44. package/dist/models/deployment/actions/delete-deployment.model.action.js +49 -0
  45. package/dist/models/deployment/actions/delete-deployment.model.action.js.map +1 -0
  46. package/dist/models/deployment/aws.deployment.interface.d.ts +5 -0
  47. package/dist/models/deployment/aws.deployment.interface.js +2 -0
  48. package/dist/models/deployment/aws.deployment.interface.js.map +1 -0
  49. package/dist/models/deployment/aws.deployment.model.d.ts +10 -0
  50. package/dist/models/deployment/aws.deployment.model.js +41 -0
  51. package/dist/models/deployment/aws.deployment.model.js.map +1 -0
  52. package/dist/models/environment/actions/add-environment.model.action.d.ts +10 -0
  53. package/dist/models/environment/actions/add-environment.model.action.js +43 -0
  54. package/dist/models/environment/actions/add-environment.model.action.js.map +1 -0
  55. package/dist/models/environment/actions/delete-environment.model.action.d.ts +11 -0
  56. package/dist/models/environment/actions/delete-environment.model.action.js +46 -0
  57. package/dist/models/environment/actions/delete-environment.model.action.js.map +1 -0
  58. package/dist/models/execution/actions/add-execution.model.action.d.ts +11 -0
  59. package/dist/models/execution/actions/add-execution.model.action.js +96 -0
  60. package/dist/models/execution/actions/add-execution.model.action.js.map +1 -0
  61. package/dist/models/execution/actions/delete-execution.model.action.d.ts +11 -0
  62. package/dist/models/execution/actions/delete-execution.model.action.js +47 -0
  63. package/dist/models/execution/actions/delete-execution.model.action.js.map +1 -0
  64. package/dist/models/image/actions/add-image.model.action.d.ts +11 -0
  65. package/dist/models/image/actions/add-image.model.action.js +69 -0
  66. package/dist/models/image/actions/add-image.model.action.js.map +1 -0
  67. package/dist/models/image/actions/delete-image.model.action.d.ts +10 -0
  68. package/dist/models/image/actions/delete-image.model.action.js +31 -0
  69. package/dist/models/image/actions/delete-image.model.action.js.map +1 -0
  70. package/dist/models/region/actions/add-region.model.action.d.ts +11 -0
  71. package/dist/models/region/actions/add-region.model.action.js +207 -0
  72. package/dist/models/region/actions/add-region.model.action.js.map +1 -0
  73. package/dist/models/region/actions/delete-region.model.action.d.ts +11 -0
  74. package/dist/models/region/actions/delete-region.model.action.js +95 -0
  75. package/dist/models/region/actions/delete-region.model.action.js.map +1 -0
  76. package/dist/models/region/aws.region.interface.d.ts +6 -0
  77. package/dist/models/region/aws.region.interface.js +2 -0
  78. package/dist/models/region/aws.region.interface.js.map +1 -0
  79. package/dist/models/region/aws.region.model.d.ts +32 -0
  80. package/dist/models/region/aws.region.model.js +67 -0
  81. package/dist/models/region/aws.region.model.js.map +1 -0
  82. package/dist/models/server/actions/add-server.model.action.d.ts +10 -0
  83. package/dist/models/server/actions/add-server.model.action.js +37 -0
  84. package/dist/models/server/actions/add-server.model.action.js.map +1 -0
  85. package/dist/models/server/actions/delete-server.model.action.d.ts +11 -0
  86. package/dist/models/server/actions/delete-server.model.action.js +42 -0
  87. package/dist/models/server/actions/delete-server.model.action.js.map +1 -0
  88. package/dist/models/server/aws.server.model.d.ts +6 -0
  89. package/dist/models/server/aws.server.model.js +35 -0
  90. package/dist/models/server/aws.server.model.js.map +1 -0
  91. package/dist/models/service/ecr/actions/add-ecr-service.model.action.d.ts +10 -0
  92. package/dist/models/service/ecr/actions/add-ecr-service.model.action.js +34 -0
  93. package/dist/models/service/ecr/actions/add-ecr-service.model.action.js.map +1 -0
  94. package/dist/models/service/ecr/actions/add-image-to-ecr.model.action.d.ts +11 -0
  95. package/dist/models/service/ecr/actions/add-image-to-ecr.model.action.js +52 -0
  96. package/dist/models/service/ecr/actions/add-image-to-ecr.model.action.js.map +1 -0
  97. package/dist/models/service/ecr/actions/delete-image-from-ecr.model.action.d.ts +11 -0
  98. package/dist/models/service/ecr/actions/delete-image-from-ecr.model.action.js +43 -0
  99. package/dist/models/service/ecr/actions/delete-image-from-ecr.model.action.js.map +1 -0
  100. package/dist/models/service/ecr/ecr.service.interface.d.ts +7 -0
  101. package/dist/models/service/ecr/ecr.service.interface.js +2 -0
  102. package/dist/models/service/ecr/ecr.service.interface.js.map +1 -0
  103. package/dist/models/service/ecr/ecr.service.model.d.ts +16 -0
  104. package/dist/models/service/ecr/ecr.service.model.js +115 -0
  105. package/dist/models/service/ecr/ecr.service.model.js.map +1 -0
  106. package/dist/models/service/s3-static-website/actions/add-s3-static-website.model.action.d.ts +11 -0
  107. package/dist/models/service/s3-static-website/actions/add-s3-static-website.model.action.js +48 -0
  108. package/dist/models/service/s3-static-website/actions/add-s3-static-website.model.action.js.map +1 -0
  109. package/dist/models/service/s3-static-website/actions/delete-s3-static-website.model.action.d.ts +12 -0
  110. package/dist/models/service/s3-static-website/actions/delete-s3-static-website.model.action.js +47 -0
  111. package/dist/models/service/s3-static-website/actions/delete-s3-static-website.model.action.js.map +1 -0
  112. package/dist/models/service/s3-static-website/actions/update-source-paths-s3-static-website.model.action.d.ts +12 -0
  113. package/dist/models/service/s3-static-website/actions/update-source-paths-s3-static-website.model.action.js +47 -0
  114. package/dist/models/service/s3-static-website/actions/update-source-paths-s3-static-website.model.action.js.map +1 -0
  115. package/dist/models/service/s3-static-website/s3-static-website.service.interface.d.ts +8 -0
  116. package/dist/models/service/s3-static-website/s3-static-website.service.interface.js +2 -0
  117. package/dist/models/service/s3-static-website/s3-static-website.service.interface.js.map +1 -0
  118. package/dist/models/service/s3-static-website/s3-static-website.service.model.d.ts +24 -0
  119. package/dist/models/service/s3-static-website/s3-static-website.service.model.js +154 -0
  120. package/dist/models/service/s3-static-website/s3-static-website.service.model.js.map +1 -0
  121. package/dist/models/service/s3-storage/actions/add-s3-storage-access.overlay.action.d.ts +11 -0
  122. package/dist/models/service/s3-storage/actions/add-s3-storage-access.overlay.action.js +44 -0
  123. package/dist/models/service/s3-storage/actions/add-s3-storage-access.overlay.action.js.map +1 -0
  124. package/dist/models/service/s3-storage/actions/add-s3-storage.model.action.d.ts +10 -0
  125. package/dist/models/service/s3-storage/actions/add-s3-storage.model.action.js +42 -0
  126. package/dist/models/service/s3-storage/actions/add-s3-storage.model.action.js.map +1 -0
  127. package/dist/models/service/s3-storage/actions/delete-s3-storage-access.overlay.action.d.ts +11 -0
  128. package/dist/models/service/s3-storage/actions/delete-s3-storage-access.overlay.action.js +44 -0
  129. package/dist/models/service/s3-storage/actions/delete-s3-storage-access.overlay.action.js.map +1 -0
  130. package/dist/models/service/s3-storage/actions/delete-s3-storage.model.action.d.ts +11 -0
  131. package/dist/models/service/s3-storage/actions/delete-s3-storage.model.action.js +43 -0
  132. package/dist/models/service/s3-storage/actions/delete-s3-storage.model.action.js.map +1 -0
  133. package/dist/models/service/s3-storage/s3-storage-access.overlay.d.ts +6 -0
  134. package/dist/models/service/s3-storage/s3-storage-access.overlay.interface.d.ts +6 -0
  135. package/dist/models/service/s3-storage/s3-storage-access.overlay.interface.js +2 -0
  136. package/dist/models/service/s3-storage/s3-storage-access.overlay.interface.js.map +1 -0
  137. package/dist/models/service/s3-storage/s3-storage-access.overlay.js +22 -0
  138. package/dist/models/service/s3-storage/s3-storage-access.overlay.js.map +1 -0
  139. package/dist/models/service/s3-storage/s3-storage.service.interface.d.ts +7 -0
  140. package/dist/models/service/s3-storage/s3-storage.service.interface.js +2 -0
  141. package/dist/models/service/s3-storage/s3-storage.service.interface.js.map +1 -0
  142. package/dist/models/service/s3-storage/s3-storage.service.model.d.ts +23 -0
  143. package/dist/models/service/s3-storage/s3-storage.service.model.js +107 -0
  144. package/dist/models/service/s3-storage/s3-storage.service.model.js.map +1 -0
  145. package/dist/modules/routers/nginx.router.module.d.ts +6 -0
  146. package/dist/modules/routers/nginx.router.module.js +53 -0
  147. package/dist/modules/routers/nginx.router.module.js.map +1 -0
  148. package/dist/resources/ecr/actions/add-ecr-image.resource.action.d.ts +9 -0
  149. package/dist/resources/ecr/actions/add-ecr-image.resource.action.js +110 -0
  150. package/dist/resources/ecr/actions/add-ecr-image.resource.action.js.map +1 -0
  151. package/dist/resources/ecr/actions/delete-ecr-image.resource.action.d.ts +9 -0
  152. package/dist/resources/ecr/actions/delete-ecr-image.resource.action.js +41 -0
  153. package/dist/resources/ecr/actions/delete-ecr-image.resource.action.js.map +1 -0
  154. package/dist/resources/ecr/ecr-image.interface.d.ts +14 -0
  155. package/dist/resources/ecr/ecr-image.interface.js +2 -0
  156. package/dist/resources/ecr/ecr-image.interface.js.map +1 -0
  157. package/dist/resources/ecr/ecr-image.resource.d.ts +6 -0
  158. package/dist/resources/ecr/ecr-image.resource.js +22 -0
  159. package/dist/resources/ecr/ecr-image.resource.js.map +1 -0
  160. package/dist/resources/ecs/actions/add-ecs-cluster.resource.action.d.ts +9 -0
  161. package/dist/resources/ecs/actions/add-ecs-cluster.resource.action.js +38 -0
  162. package/dist/resources/ecs/actions/add-ecs-cluster.resource.action.js.map +1 -0
  163. package/dist/resources/ecs/actions/add-ecs-service.resource.action.d.ts +9 -0
  164. package/dist/resources/ecs/actions/add-ecs-service.resource.action.js +59 -0
  165. package/dist/resources/ecs/actions/add-ecs-service.resource.action.js.map +1 -0
  166. package/dist/resources/ecs/actions/add-ecs-task-definition.resource.action.d.ts +9 -0
  167. package/dist/resources/ecs/actions/add-ecs-task-definition.resource.action.js +78 -0
  168. package/dist/resources/ecs/actions/add-ecs-task-definition.resource.action.js.map +1 -0
  169. package/dist/resources/ecs/actions/delete-ecs-cluster.resource.action.d.ts +9 -0
  170. package/dist/resources/ecs/actions/delete-ecs-cluster.resource.action.js +36 -0
  171. package/dist/resources/ecs/actions/delete-ecs-cluster.resource.action.js.map +1 -0
  172. package/dist/resources/ecs/actions/delete-ecs-service.resource.action.d.ts +9 -0
  173. package/dist/resources/ecs/actions/delete-ecs-service.resource.action.js +55 -0
  174. package/dist/resources/ecs/actions/delete-ecs-service.resource.action.js.map +1 -0
  175. package/dist/resources/ecs/actions/delete-ecs-task-definition.resource.action.d.ts +9 -0
  176. package/dist/resources/ecs/actions/delete-ecs-task-definition.resource.action.js +43 -0
  177. package/dist/resources/ecs/actions/delete-ecs-task-definition.resource.action.js.map +1 -0
  178. package/dist/resources/ecs/ecs-cluster.interface.d.ts +8 -0
  179. package/dist/resources/ecs/ecs-cluster.interface.js +2 -0
  180. package/dist/resources/ecs/ecs-cluster.interface.js.map +1 -0
  181. package/dist/resources/ecs/ecs-cluster.resource.d.ts +6 -0
  182. package/dist/resources/ecs/ecs-cluster.resource.js +22 -0
  183. package/dist/resources/ecs/ecs-cluster.resource.js.map +1 -0
  184. package/dist/resources/ecs/ecs-service.interface.d.ts +8 -0
  185. package/dist/resources/ecs/ecs-service.interface.js +2 -0
  186. package/dist/resources/ecs/ecs-service.interface.js.map +1 -0
  187. package/dist/resources/ecs/ecs-service.resource.d.ts +10 -0
  188. package/dist/resources/ecs/ecs-service.resource.js +22 -0
  189. package/dist/resources/ecs/ecs-service.resource.js.map +1 -0
  190. package/dist/resources/ecs/ecs-task-definition.interface.d.ts +19 -0
  191. package/dist/resources/ecs/ecs-task-definition.interface.js +2 -0
  192. package/dist/resources/ecs/ecs-task-definition.interface.js.map +1 -0
  193. package/dist/resources/ecs/ecs-task-definition.resource.d.ts +9 -0
  194. package/dist/resources/ecs/ecs-task-definition.resource.js +22 -0
  195. package/dist/resources/ecs/ecs-task-definition.resource.js.map +1 -0
  196. package/dist/resources/efs/actions/add-efs.resource.action.d.ts +9 -0
  197. package/dist/resources/efs/actions/add-efs.resource.action.js +103 -0
  198. package/dist/resources/efs/actions/add-efs.resource.action.js.map +1 -0
  199. package/dist/resources/efs/actions/delete-efs.resource.action.d.ts +9 -0
  200. package/dist/resources/efs/actions/delete-efs.resource.action.js +94 -0
  201. package/dist/resources/efs/actions/delete-efs.resource.action.js.map +1 -0
  202. package/dist/resources/efs/efs.interface.d.ts +13 -0
  203. package/dist/resources/efs/efs.interface.js +2 -0
  204. package/dist/resources/efs/efs.interface.js.map +1 -0
  205. package/dist/resources/efs/efs.resource.d.ts +9 -0
  206. package/dist/resources/efs/efs.resource.js +48 -0
  207. package/dist/resources/efs/efs.resource.js.map +1 -0
  208. package/dist/resources/efs/efs.shared-resource.d.ts +6 -0
  209. package/dist/resources/efs/efs.shared-resource.js +22 -0
  210. package/dist/resources/efs/efs.shared-resource.js.map +1 -0
  211. package/dist/resources/iam/actions/add-iam-role.resource.action.d.ts +9 -0
  212. package/dist/resources/iam/actions/add-iam-role.resource.action.js +42 -0
  213. package/dist/resources/iam/actions/add-iam-role.resource.action.js.map +1 -0
  214. package/dist/resources/iam/actions/add-iam-user.resource.action.d.ts +9 -0
  215. package/dist/resources/iam/actions/add-iam-user.resource.action.js +41 -0
  216. package/dist/resources/iam/actions/add-iam-user.resource.action.js.map +1 -0
  217. package/dist/resources/iam/actions/delete-iam-role.resource.action.d.ts +9 -0
  218. package/dist/resources/iam/actions/delete-iam-role.resource.action.js +36 -0
  219. package/dist/resources/iam/actions/delete-iam-role.resource.action.js.map +1 -0
  220. package/dist/resources/iam/actions/delete-iam-user.resource.action.d.ts +9 -0
  221. package/dist/resources/iam/actions/delete-iam-user.resource.action.js +36 -0
  222. package/dist/resources/iam/actions/delete-iam-user.resource.action.js.map +1 -0
  223. package/dist/resources/iam/actions/update-iam-role-with-s3-storage-policy.resource.action.d.ts +9 -0
  224. package/dist/resources/iam/actions/update-iam-role-with-s3-storage-policy.resource.action.js +93 -0
  225. package/dist/resources/iam/actions/update-iam-role-with-s3-storage-policy.resource.action.js.map +1 -0
  226. package/dist/resources/iam/actions/update-iam-user-with-s3-storage-policy.resource.action.d.ts +9 -0
  227. package/dist/resources/iam/actions/update-iam-user-with-s3-storage-policy.resource.action.js +93 -0
  228. package/dist/resources/iam/actions/update-iam-user-with-s3-storage-policy.resource.action.js.map +1 -0
  229. package/dist/resources/iam/iam-role.interface.d.ts +11 -0
  230. package/dist/resources/iam/iam-role.interface.js +2 -0
  231. package/dist/resources/iam/iam-role.interface.js.map +1 -0
  232. package/dist/resources/iam/iam-role.resource.d.ts +15 -0
  233. package/dist/resources/iam/iam-role.resource.js +37 -0
  234. package/dist/resources/iam/iam-role.resource.js.map +1 -0
  235. package/dist/resources/iam/iam-user.interface.d.ts +11 -0
  236. package/dist/resources/iam/iam-user.interface.js +2 -0
  237. package/dist/resources/iam/iam-user.interface.js.map +1 -0
  238. package/dist/resources/iam/iam-user.resource.d.ts +15 -0
  239. package/dist/resources/iam/iam-user.resource.js +37 -0
  240. package/dist/resources/iam/iam-user.resource.js.map +1 -0
  241. package/dist/resources/internet-gateway/actions/add-internet-gateway.resource.action.d.ts +9 -0
  242. package/dist/resources/internet-gateway/actions/add-internet-gateway.resource.action.js +42 -0
  243. package/dist/resources/internet-gateway/actions/add-internet-gateway.resource.action.js.map +1 -0
  244. package/dist/resources/internet-gateway/actions/delete-internet-gateway.resource.action.d.ts +9 -0
  245. package/dist/resources/internet-gateway/actions/delete-internet-gateway.resource.action.js +43 -0
  246. package/dist/resources/internet-gateway/actions/delete-internet-gateway.resource.action.js.map +1 -0
  247. package/dist/resources/internet-gateway/internet-gateway.interface.d.ts +6 -0
  248. package/dist/resources/internet-gateway/internet-gateway.interface.js +2 -0
  249. package/dist/resources/internet-gateway/internet-gateway.interface.js.map +1 -0
  250. package/dist/resources/internet-gateway/internet-gateway.resource.d.ts +7 -0
  251. package/dist/resources/internet-gateway/internet-gateway.resource.js +22 -0
  252. package/dist/resources/internet-gateway/internet-gateway.resource.js.map +1 -0
  253. package/dist/resources/network-acl/actions/add-network-acl.resource.action.d.ts +9 -0
  254. package/dist/resources/network-acl/actions/add-network-acl.resource.action.js +69 -0
  255. package/dist/resources/network-acl/actions/add-network-acl.resource.action.js.map +1 -0
  256. package/dist/resources/network-acl/actions/delete-network-acl.resource.action.d.ts +9 -0
  257. package/dist/resources/network-acl/actions/delete-network-acl.resource.action.js +41 -0
  258. package/dist/resources/network-acl/actions/delete-network-acl.resource.action.js.map +1 -0
  259. package/dist/resources/network-acl/network-acl.interface.d.ts +19 -0
  260. package/dist/resources/network-acl/network-acl.interface.js +2 -0
  261. package/dist/resources/network-acl/network-acl.interface.js.map +1 -0
  262. package/dist/resources/network-acl/network-acl.resource.d.ts +8 -0
  263. package/dist/resources/network-acl/network-acl.resource.js +22 -0
  264. package/dist/resources/network-acl/network-acl.resource.js.map +1 -0
  265. package/dist/resources/route-table/actions/add-route-table.resource.action.d.ts +9 -0
  266. package/dist/resources/route-table/actions/add-route-table.resource.action.js +57 -0
  267. package/dist/resources/route-table/actions/add-route-table.resource.action.js.map +1 -0
  268. package/dist/resources/route-table/actions/delete-route-table.resource.action.d.ts +9 -0
  269. package/dist/resources/route-table/actions/delete-route-table.resource.action.js +40 -0
  270. package/dist/resources/route-table/actions/delete-route-table.resource.action.js.map +1 -0
  271. package/dist/resources/route-table/route-table.interface.d.ts +7 -0
  272. package/dist/resources/route-table/route-table.interface.js +2 -0
  273. package/dist/resources/route-table/route-table.interface.js.map +1 -0
  274. package/dist/resources/route-table/route-table.resource.d.ts +9 -0
  275. package/dist/resources/route-table/route-table.resource.js +22 -0
  276. package/dist/resources/route-table/route-table.resource.js.map +1 -0
  277. package/dist/resources/s3/storage/actions/add-s3-storage.resource.action.d.ts +9 -0
  278. package/dist/resources/s3/storage/actions/add-s3-storage.resource.action.js +36 -0
  279. package/dist/resources/s3/storage/actions/add-s3-storage.resource.action.js.map +1 -0
  280. package/dist/resources/s3/storage/actions/delete-s3-storage.resource.action.d.ts +9 -0
  281. package/dist/resources/s3/storage/actions/delete-s3-storage.resource.action.js +52 -0
  282. package/dist/resources/s3/storage/actions/delete-s3-storage.resource.action.js.map +1 -0
  283. package/dist/resources/s3/storage/actions/update-source-paths-in-s3-storage.resource.action.d.ts +9 -0
  284. package/dist/resources/s3/storage/actions/update-source-paths-in-s3-storage.resource.action.js +82 -0
  285. package/dist/resources/s3/storage/actions/update-source-paths-in-s3-storage.resource.action.js.map +1 -0
  286. package/dist/resources/s3/storage/s3-storage.interface.d.ts +4 -0
  287. package/dist/resources/s3/storage/s3-storage.interface.js +2 -0
  288. package/dist/resources/s3/storage/s3-storage.interface.js.map +1 -0
  289. package/dist/resources/s3/storage/s3-storage.resource.d.ts +9 -0
  290. package/dist/resources/s3/storage/s3-storage.resource.js +35 -0
  291. package/dist/resources/s3/storage/s3-storage.resource.js.map +1 -0
  292. package/dist/resources/s3/website/actions/add-s3-website.resource.action.d.ts +9 -0
  293. package/dist/resources/s3/website/actions/add-s3-website.resource.action.js +73 -0
  294. package/dist/resources/s3/website/actions/add-s3-website.resource.action.js.map +1 -0
  295. package/dist/resources/s3/website/actions/delete-s3-website.resource.action.d.ts +9 -0
  296. package/dist/resources/s3/website/actions/delete-s3-website.resource.action.js +52 -0
  297. package/dist/resources/s3/website/actions/delete-s3-website.resource.action.js.map +1 -0
  298. package/dist/resources/s3/website/actions/update-source-paths-in-s3-website.resource.action.d.ts +9 -0
  299. package/dist/resources/s3/website/actions/update-source-paths-in-s3-website.resource.action.js +63 -0
  300. package/dist/resources/s3/website/actions/update-source-paths-in-s3-website.resource.action.js.map +1 -0
  301. package/dist/resources/s3/website/s3-website.interface.d.ts +9 -0
  302. package/dist/resources/s3/website/s3-website.interface.js +2 -0
  303. package/dist/resources/s3/website/s3-website.interface.js.map +1 -0
  304. package/dist/resources/s3/website/s3-website.resource.d.ts +9 -0
  305. package/dist/resources/s3/website/s3-website.resource.js +35 -0
  306. package/dist/resources/s3/website/s3-website.resource.js.map +1 -0
  307. package/dist/resources/security-group/actions/add-security-group.resource.action.d.ts +9 -0
  308. package/dist/resources/security-group/actions/add-security-group.resource.action.js +78 -0
  309. package/dist/resources/security-group/actions/add-security-group.resource.action.js.map +1 -0
  310. package/dist/resources/security-group/actions/delete-security-group.resource.action.d.ts +9 -0
  311. package/dist/resources/security-group/actions/delete-security-group.resource.action.js +37 -0
  312. package/dist/resources/security-group/actions/delete-security-group.resource.action.js.map +1 -0
  313. package/dist/resources/security-group/security-group.interface.d.ts +13 -0
  314. package/dist/resources/security-group/security-group.interface.js +2 -0
  315. package/dist/resources/security-group/security-group.interface.js.map +1 -0
  316. package/dist/resources/security-group/security-group.resource.d.ts +7 -0
  317. package/dist/resources/security-group/security-group.resource.js +22 -0
  318. package/dist/resources/security-group/security-group.resource.js.map +1 -0
  319. package/dist/resources/subnet/actions/add-subnet.resource.action.d.ts +9 -0
  320. package/dist/resources/subnet/actions/add-subnet.resource.action.js +42 -0
  321. package/dist/resources/subnet/actions/add-subnet.resource.action.js.map +1 -0
  322. package/dist/resources/subnet/actions/delete-subnet.resource.action.d.ts +9 -0
  323. package/dist/resources/subnet/actions/delete-subnet.resource.action.js +37 -0
  324. package/dist/resources/subnet/actions/delete-subnet.resource.action.js.map +1 -0
  325. package/dist/resources/subnet/subnet.interface.d.ts +8 -0
  326. package/dist/resources/subnet/subnet.interface.js +2 -0
  327. package/dist/resources/subnet/subnet.interface.js.map +1 -0
  328. package/dist/resources/subnet/subnet.resource.d.ts +7 -0
  329. package/dist/resources/subnet/subnet.resource.js +22 -0
  330. package/dist/resources/subnet/subnet.resource.js.map +1 -0
  331. package/dist/resources/vpc/actions/add-vpc.resource.action.d.ts +9 -0
  332. package/dist/resources/vpc/actions/add-vpc.resource.action.js +39 -0
  333. package/dist/resources/vpc/actions/add-vpc.resource.action.js.map +1 -0
  334. package/dist/resources/vpc/actions/delete-vpc.resource.action.d.ts +9 -0
  335. package/dist/resources/vpc/actions/delete-vpc.resource.action.js +37 -0
  336. package/dist/resources/vpc/actions/delete-vpc.resource.action.js.map +1 -0
  337. package/dist/resources/vpc/vpc.interface.d.ts +8 -0
  338. package/dist/resources/vpc/vpc.interface.js +2 -0
  339. package/dist/resources/vpc/vpc.interface.js.map +1 -0
  340. package/dist/resources/vpc/vpc.resource.d.ts +6 -0
  341. package/dist/resources/vpc/vpc.resource.js +22 -0
  342. package/dist/resources/vpc/vpc.resource.js.map +1 -0
  343. package/dist/utilities/common/common.utility.d.ts +4 -0
  344. package/dist/utilities/common/common.utility.js +19 -0
  345. package/dist/utilities/common/common.utility.js.map +1 -0
  346. package/dist/utilities/file/file.utility.d.ts +5 -0
  347. package/dist/utilities/file/file.utility.js +34 -0
  348. package/dist/utilities/file/file.utility.js.map +1 -0
  349. package/dist/utilities/process/process.utility.d.ts +5 -0
  350. package/dist/utilities/process/process.utility.js +14 -0
  351. package/dist/utilities/process/process.utility.js.map +1 -0
  352. package/dist/utilities/retry/retry.utility.d.ts +11 -0
  353. package/dist/utilities/retry/retry.utility.js +25 -0
  354. package/dist/utilities/retry/retry.utility.js.map +1 -0
  355. package/package.json +73 -0
@@ -0,0 +1,47 @@
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
+ import { Action, DiffAction, Factory, ModelType } from '@quadnix/octo';
8
+ import { AAction } from '../../../action.abstract.js';
9
+ let UpdateSourcePathsS3StaticWebsiteModelAction = class UpdateSourcePathsS3StaticWebsiteModelAction extends AAction {
10
+ ACTION_NAME = 'UpdateSourcePathsS3StaticWebsiteModelAction';
11
+ collectInput(diff) {
12
+ const { bucketName } = diff.model;
13
+ return [`resource.bucket-${bucketName}`];
14
+ }
15
+ filter(diff) {
16
+ return (diff.action === DiffAction.UPDATE &&
17
+ diff.model.MODEL_NAME === 'service' &&
18
+ diff.field === 'sourcePaths' &&
19
+ diff.model.serviceId.endsWith('s3-static-website'));
20
+ }
21
+ async handle(diff, actionInputs) {
22
+ const { bucketName } = diff.model;
23
+ const s3Website = actionInputs[`resource.bucket-${bucketName}`];
24
+ s3Website.updateManifestDiff(diff.value);
25
+ const output = {};
26
+ output[s3Website.resourceId] = s3Website;
27
+ return output;
28
+ }
29
+ async postTransaction(diff) {
30
+ const model = diff.model;
31
+ await model.saveSourceManifest();
32
+ }
33
+ };
34
+ UpdateSourcePathsS3StaticWebsiteModelAction = __decorate([
35
+ Action(ModelType.MODEL)
36
+ ], UpdateSourcePathsS3StaticWebsiteModelAction);
37
+ export { UpdateSourcePathsS3StaticWebsiteModelAction };
38
+ let UpdateSourcePathsS3StaticWebsiteModelActionFactory = class UpdateSourcePathsS3StaticWebsiteModelActionFactory {
39
+ static async create() {
40
+ return new UpdateSourcePathsS3StaticWebsiteModelAction();
41
+ }
42
+ };
43
+ UpdateSourcePathsS3StaticWebsiteModelActionFactory = __decorate([
44
+ Factory(UpdateSourcePathsS3StaticWebsiteModelAction)
45
+ ], UpdateSourcePathsS3StaticWebsiteModelActionFactory);
46
+ export { UpdateSourcePathsS3StaticWebsiteModelActionFactory };
47
+ //# sourceMappingURL=update-source-paths-s3-static-website.model.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-source-paths-s3-static-website.model.action.js","sourceRoot":"","sources":["../../../../../src/models/service/s3-static-website/actions/update-source-paths-s3-static-website.model.action.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAqC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1G,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAItD,IAAa,2CAA2C,GAAxD,MAAa,2CAA4C,SAAQ,OAAO;IAC7D,WAAW,GAAW,6CAA6C,CAAC;IAEpE,YAAY,CAAC,IAAU;QAC9B,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAA+B,CAAC;QAE5D,OAAO,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,IAAU;QACf,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM;YACjC,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;YACnC,IAAI,CAAC,KAAK,KAAK,aAAa;YAC3B,IAAI,CAAC,KAAgC,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAC/E,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAU,EAAE,YAA0B;QACjD,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAA+B,CAAC;QAE5D,MAAM,SAAS,GAAG,YAAY,CAAC,mBAAmB,UAAU,EAAE,CAAc,CAAC;QAC7E,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAkC,CAAC,CAAC;QAEtE,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;QAEzC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEQ,KAAK,CAAC,eAAe,CAAC,IAAU;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAA+B,CAAC;QACnD,MAAM,KAAK,CAAC,kBAAkB,EAAE,CAAC;IACnC,CAAC;CACF,CAAA;AAlCY,2CAA2C;IADvD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;GACX,2CAA2C,CAkCvD;SAlCY,2CAA2C;AAqCxD,IAAa,kDAAkD,GAA/D,MAAa,kDAAkD;IAC7D,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,OAAO,IAAI,2CAA2C,EAAE,CAAC;IAC3D,CAAC;CACF,CAAA;AAJY,kDAAkD;IAD9D,OAAO,CAA8C,2CAA2C,CAAC;GACrF,kDAAkD,CAI9D;SAJY,kDAAkD"}
@@ -0,0 +1,8 @@
1
+ import { IService } from '@quadnix/octo';
2
+ import { S3StaticWebsiteService } from './s3-static-website.service.model.js';
3
+ export interface IS3StaticWebsiteService extends IService {
4
+ awsRegionId: S3StaticWebsiteService['awsRegionId'];
5
+ bucketName: S3StaticWebsiteService['bucketName'];
6
+ excludePaths: S3StaticWebsiteService['excludePaths'];
7
+ sourcePaths: S3StaticWebsiteService['sourcePaths'];
8
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=s3-static-website.service.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3-static-website.service.interface.js","sourceRoot":"","sources":["../../../../src/models/service/s3-static-website/s3-static-website.service.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ import { Diff, Service } from '@quadnix/octo';
2
+ import { RegionId } from '../../region/aws.region.model.js';
3
+ import { IS3StaticWebsiteService } from './s3-static-website.service.interface.js';
4
+ export declare class S3StaticWebsiteService extends Service {
5
+ readonly awsRegionId: string;
6
+ readonly bucketName: string;
7
+ readonly excludePaths: {
8
+ directoryPath: string;
9
+ subDirectoryOrFilePath: string;
10
+ }[];
11
+ readonly sourcePaths: {
12
+ directoryPath: string;
13
+ isDirectory: boolean;
14
+ remotePath: string;
15
+ subDirectoryOrFilePath: string;
16
+ }[];
17
+ constructor(regionId: RegionId, bucketName: string);
18
+ private generateSourceManifest;
19
+ addSource(directoryPath: string, subDirectoryOrFilePath?: string, filter?: (filePath: string) => boolean, transform?: (filePath: string) => string): Promise<void>;
20
+ diff(): Promise<Diff[]>;
21
+ saveSourceManifest(): Promise<void>;
22
+ synth(): IS3StaticWebsiteService;
23
+ static unSynth(s3StaticWebsite: IS3StaticWebsiteService): Promise<S3StaticWebsiteService>;
24
+ }
@@ -0,0 +1,154 @@
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
+ var S3StaticWebsiteService_1;
11
+ import { Container, Diff, DiffAction, Model, Service, StateManagementService } from '@quadnix/octo';
12
+ import { lstat, readdir } from 'fs/promises';
13
+ import { join, parse, resolve } from 'path';
14
+ import { FileUtility } from '../../../utilities/file/file.utility.js';
15
+ import { AwsRegion, RegionId } from '../../region/aws.region.model.js';
16
+ let S3StaticWebsiteService = S3StaticWebsiteService_1 = class S3StaticWebsiteService extends Service {
17
+ awsRegionId;
18
+ bucketName;
19
+ excludePaths = [];
20
+ sourcePaths = [];
21
+ constructor(regionId, bucketName) {
22
+ super(`${bucketName}-s3-static-website`);
23
+ this.awsRegionId = AwsRegion.getRegionIdParts(regionId).awsRegionId;
24
+ this.bucketName = bucketName;
25
+ }
26
+ async generateSourceManifest() {
27
+ const manifest = {};
28
+ for (const sourcePath of this.sourcePaths) {
29
+ if (!sourcePath.isDirectory) {
30
+ const filePath = join(sourcePath.directoryPath, sourcePath.subDirectoryOrFilePath);
31
+ const digest = await FileUtility.hash(filePath);
32
+ manifest[sourcePath.remotePath] = { algorithm: 'sha1', digest, filePath };
33
+ }
34
+ else {
35
+ const directoryPath = join(sourcePath.directoryPath, sourcePath.subDirectoryOrFilePath);
36
+ const directoryFilePaths = await readdir(directoryPath);
37
+ for (const directoryFilePath of directoryFilePaths) {
38
+ if (this.excludePaths.findIndex((p) => join(p.directoryPath, p.subDirectoryOrFilePath) === directoryFilePath) === -1) {
39
+ const filePath = join(directoryPath, directoryFilePath);
40
+ const remotePath = join(sourcePath.remotePath, directoryFilePath);
41
+ const digest = await FileUtility.hash(filePath);
42
+ manifest[remotePath] = { algorithm: 'sha1', digest, filePath };
43
+ }
44
+ }
45
+ }
46
+ }
47
+ return manifest;
48
+ }
49
+ async addSource(directoryPath, subDirectoryOrFilePath, filter, transform) {
50
+ directoryPath = resolve(directoryPath);
51
+ if (!subDirectoryOrFilePath) {
52
+ subDirectoryOrFilePath = '';
53
+ }
54
+ subDirectoryOrFilePath = subDirectoryOrFilePath.replace(/^\/+/g, '');
55
+ const relativeSubDirectoryOrFilePath = join(directoryPath, subDirectoryOrFilePath);
56
+ const stats = await lstat(relativeSubDirectoryOrFilePath);
57
+ if (stats.isFile()) {
58
+ if (!subDirectoryOrFilePath) {
59
+ const { base, dir } = parse(directoryPath);
60
+ directoryPath = dir;
61
+ subDirectoryOrFilePath = base;
62
+ }
63
+ const shouldInclude = filter ? filter(subDirectoryOrFilePath) : true;
64
+ if (shouldInclude) {
65
+ this.sourcePaths.push({
66
+ directoryPath,
67
+ isDirectory: false,
68
+ remotePath: transform ? transform(subDirectoryOrFilePath) : subDirectoryOrFilePath,
69
+ subDirectoryOrFilePath,
70
+ });
71
+ }
72
+ }
73
+ else {
74
+ this.sourcePaths.push({
75
+ directoryPath,
76
+ isDirectory: true,
77
+ remotePath: transform ? transform(subDirectoryOrFilePath) : subDirectoryOrFilePath,
78
+ subDirectoryOrFilePath,
79
+ });
80
+ const filePaths = await readdir(relativeSubDirectoryOrFilePath);
81
+ for (let filePath of filePaths) {
82
+ filePath = join(subDirectoryOrFilePath, filePath);
83
+ const shouldInclude = filter ? filter(filePath) : true;
84
+ if (!shouldInclude) {
85
+ this.excludePaths.push({
86
+ directoryPath,
87
+ subDirectoryOrFilePath: filePath,
88
+ });
89
+ }
90
+ }
91
+ }
92
+ }
93
+ async diff() {
94
+ const stateManagementService = await Container.get(StateManagementService);
95
+ const manifestFileName = `${this.bucketName}-manifest.json`;
96
+ const oldManifestDataBuffer = await stateManagementService.getState(manifestFileName, '{}');
97
+ const oldManifestData = JSON.parse(oldManifestDataBuffer.toString());
98
+ const newManifestData = await this.generateSourceManifest();
99
+ if (this.sourcePaths.length > 0 && (!newManifestData['error.html'] || !newManifestData['index.html'])) {
100
+ throw new Error('error.html/index.html missing in root of website!');
101
+ }
102
+ const manifestDiff = {};
103
+ for (const remotePath in oldManifestData) {
104
+ if (remotePath in newManifestData) {
105
+ if (oldManifestData[remotePath].algorithm !== newManifestData[remotePath].algorithm ||
106
+ oldManifestData[remotePath].digest !== newManifestData[remotePath].digest) {
107
+ manifestDiff[remotePath] = ['update', oldManifestData[remotePath].filePath];
108
+ }
109
+ }
110
+ else {
111
+ manifestDiff[remotePath] = ['delete', oldManifestData[remotePath].filePath];
112
+ }
113
+ }
114
+ for (const remotePath in newManifestData) {
115
+ if (!(remotePath in oldManifestData)) {
116
+ manifestDiff[remotePath] = ['add', newManifestData[remotePath].filePath];
117
+ }
118
+ }
119
+ if (Object.keys(manifestDiff).length === 0) {
120
+ return [];
121
+ }
122
+ else {
123
+ return [new Diff(this, DiffAction.UPDATE, 'sourcePaths', manifestDiff)];
124
+ }
125
+ }
126
+ async saveSourceManifest() {
127
+ const stateManagementService = await Container.get(StateManagementService);
128
+ const manifestFileName = `${this.bucketName}-manifest.json`;
129
+ const manifestData = await this.generateSourceManifest();
130
+ await stateManagementService.saveState(manifestFileName, Buffer.from(JSON.stringify(manifestData)));
131
+ }
132
+ synth() {
133
+ return {
134
+ awsRegionId: this.awsRegionId,
135
+ bucketName: this.bucketName,
136
+ excludePaths: [...this.excludePaths],
137
+ serviceId: `${this.bucketName}-s3-static-website`,
138
+ sourcePaths: [...this.sourcePaths],
139
+ };
140
+ }
141
+ static async unSynth(s3StaticWebsite) {
142
+ const awsRegionId = AwsRegion.getRandomRegionIdFromAwsRegionId(s3StaticWebsite.awsRegionId);
143
+ const service = new S3StaticWebsiteService_1(awsRegionId, s3StaticWebsite.bucketName);
144
+ service.excludePaths.push(...s3StaticWebsite.excludePaths);
145
+ service.sourcePaths.push(...s3StaticWebsite.sourcePaths);
146
+ return service;
147
+ }
148
+ };
149
+ S3StaticWebsiteService = S3StaticWebsiteService_1 = __decorate([
150
+ Model(),
151
+ __metadata("design:paramtypes", [String, String])
152
+ ], S3StaticWebsiteService);
153
+ export { S3StaticWebsiteService };
154
+ //# sourceMappingURL=s3-static-website.service.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3-static-website.service.model.js","sourceRoot":"","sources":["../../../../src/models/service/s3-static-website/s3-static-website.service.model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ActionInputs, ActionOutputs, Diff } from '@quadnix/octo';
2
+ import { AAction } from '../../../action.abstract.js';
3
+ export declare class AddS3StorageAccessOverlayAction extends AAction {
4
+ readonly ACTION_NAME: string;
5
+ collectInput(diff: Diff): string[];
6
+ filter(diff: Diff): boolean;
7
+ handle(diff: Diff, actionInputs: ActionInputs): Promise<ActionOutputs>;
8
+ }
9
+ export declare class AddS3StorageAccessOverlayActionFactory {
10
+ static create(): Promise<AddS3StorageAccessOverlayAction>;
11
+ }
@@ -0,0 +1,44 @@
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
+ import { Action, DiffAction, Factory, ModelType } from '@quadnix/octo';
8
+ import { AAction } from '../../../action.abstract.js';
9
+ let AddS3StorageAccessOverlayAction = class AddS3StorageAccessOverlayAction extends AAction {
10
+ ACTION_NAME = 'AddS3StorageAccessOverlayAction';
11
+ collectInput(diff) {
12
+ const s3StorageAccessOverlay = diff.model;
13
+ const iamRoleAnchor = s3StorageAccessOverlay.getAnchors()[0];
14
+ return [`resource.iam-role-${iamRoleAnchor.anchorId}`];
15
+ }
16
+ filter(diff) {
17
+ return (diff.action === DiffAction.ADD && diff.model.MODEL_NAME === 's3-storage-access' && diff.field === 'overlayId');
18
+ }
19
+ async handle(diff, actionInputs) {
20
+ const s3StorageAccessOverlay = diff.model;
21
+ const iamRoleAnchor = s3StorageAccessOverlay.getAnchors()[0];
22
+ const iamRole = actionInputs[`resource.iam-role-${iamRoleAnchor.anchorId}`];
23
+ iamRole.updatePolicyDiff({
24
+ [s3StorageAccessOverlay.overlayId]: { action: 'add', overlay: s3StorageAccessOverlay },
25
+ });
26
+ const output = {};
27
+ output[iamRole.resourceId] = iamRole;
28
+ return output;
29
+ }
30
+ };
31
+ AddS3StorageAccessOverlayAction = __decorate([
32
+ Action(ModelType.OVERLAY)
33
+ ], AddS3StorageAccessOverlayAction);
34
+ export { AddS3StorageAccessOverlayAction };
35
+ let AddS3StorageAccessOverlayActionFactory = class AddS3StorageAccessOverlayActionFactory {
36
+ static async create() {
37
+ return new AddS3StorageAccessOverlayAction();
38
+ }
39
+ };
40
+ AddS3StorageAccessOverlayActionFactory = __decorate([
41
+ Factory(AddS3StorageAccessOverlayAction)
42
+ ], AddS3StorageAccessOverlayActionFactory);
43
+ export { AddS3StorageAccessOverlayActionFactory };
44
+ //# sourceMappingURL=add-s3-storage-access.overlay.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-s3-storage-access.overlay.action.js","sourceRoot":"","sources":["../../../../../src/models/service/s3-storage/actions/add-s3-storage-access.overlay.action.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAqC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1G,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAItD,IAAa,+BAA+B,GAA5C,MAAa,+BAAgC,SAAQ,OAAO;IACjD,WAAW,GAAW,iCAAiC,CAAC;IAExD,YAAY,CAAC,IAAU;QAC9B,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAA+B,CAAC;QACpE,MAAM,aAAa,GAAG,sBAAsB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAkB,CAAC;QAE9E,OAAO,CAAC,qBAAqB,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,IAAU;QACf,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,mBAAmB,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,CAC9G,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAU,EAAE,YAA0B;QACjD,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAA+B,CAAC;QACpE,MAAM,aAAa,GAAG,sBAAsB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAkB,CAAC;QAC9E,MAAM,OAAO,GAAG,YAAY,CAAC,qBAAqB,aAAa,CAAC,QAAQ,EAAE,CAAY,CAAC;QAEvF,OAAO,CAAC,gBAAgB,CAAC;YACvB,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE;SACvF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;QAErC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AA9BY,+BAA+B;IAD3C,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;GACb,+BAA+B,CA8B3C;SA9BY,+BAA+B;AAiC5C,IAAa,sCAAsC,GAAnD,MAAa,sCAAsC;IACjD,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,OAAO,IAAI,+BAA+B,EAAE,CAAC;IAC/C,CAAC;CACF,CAAA;AAJY,sCAAsC;IADlD,OAAO,CAAkC,+BAA+B,CAAC;GAC7D,sCAAsC,CAIlD;SAJY,sCAAsC"}
@@ -0,0 +1,10 @@
1
+ import { ActionOutputs, Diff } from '@quadnix/octo';
2
+ import { AAction } from '../../../action.abstract.js';
3
+ export declare class AddS3StorageModelAction extends AAction {
4
+ readonly ACTION_NAME: string;
5
+ filter(diff: Diff): boolean;
6
+ handle(diff: Diff): Promise<ActionOutputs>;
7
+ }
8
+ export declare class AddS3StorageModelActionFactory {
9
+ static create(): Promise<AddS3StorageModelAction>;
10
+ }
@@ -0,0 +1,42 @@
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
+ import { Action, DiffAction, Factory, ModelType } from '@quadnix/octo';
8
+ import { S3Storage } from '../../../../resources/s3/storage/s3-storage.resource.js';
9
+ import { AAction } from '../../../action.abstract.js';
10
+ let AddS3StorageModelAction = class AddS3StorageModelAction extends AAction {
11
+ ACTION_NAME = 'AddS3StorageModelAction';
12
+ filter(diff) {
13
+ return (diff.action === DiffAction.ADD &&
14
+ diff.model.MODEL_NAME === 'service' &&
15
+ diff.field === 'serviceId' &&
16
+ diff.model.serviceId.endsWith('s3-storage'));
17
+ }
18
+ async handle(diff) {
19
+ const { awsRegionId, bucketName } = diff.model;
20
+ const s3Storage = new S3Storage(`bucket-${bucketName}`, {
21
+ awsRegionId,
22
+ Bucket: bucketName,
23
+ });
24
+ const output = {};
25
+ output[s3Storage.resourceId] = s3Storage;
26
+ return output;
27
+ }
28
+ };
29
+ AddS3StorageModelAction = __decorate([
30
+ Action(ModelType.MODEL)
31
+ ], AddS3StorageModelAction);
32
+ export { AddS3StorageModelAction };
33
+ let AddS3StorageModelActionFactory = class AddS3StorageModelActionFactory {
34
+ static async create() {
35
+ return new AddS3StorageModelAction();
36
+ }
37
+ };
38
+ AddS3StorageModelActionFactory = __decorate([
39
+ Factory(AddS3StorageModelAction)
40
+ ], AddS3StorageModelActionFactory);
41
+ export { AddS3StorageModelActionFactory };
42
+ //# sourceMappingURL=add-s3-storage.model.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-s3-storage.model.action.js","sourceRoot":"","sources":["../../../../../src/models/service/s3-storage/actions/add-s3-storage.model.action.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAuB,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,MAAM,yDAAyD,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAItD,IAAa,uBAAuB,GAApC,MAAa,uBAAwB,SAAQ,OAAO;IACzC,WAAW,GAAW,yBAAyB,CAAC;IAEzD,MAAM,CAAC,IAAU;QACf,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,GAAG;YAC9B,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;YACnC,IAAI,CAAC,KAAK,KAAK,WAAW;YACzB,IAAI,CAAC,KAA0B,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAClE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAU;QACrB,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAyB,CAAC;QAGnE,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,UAAU,UAAU,EAAE,EAAE;YACtD,WAAW;YACX,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;QAEzC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AA1BY,uBAAuB;IADnC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;GACX,uBAAuB,CA0BnC;SA1BY,uBAAuB;AA6BpC,IAAa,8BAA8B,GAA3C,MAAa,8BAA8B;IACzC,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,OAAO,IAAI,uBAAuB,EAAE,CAAC;IACvC,CAAC;CACF,CAAA;AAJY,8BAA8B;IAD1C,OAAO,CAA0B,uBAAuB,CAAC;GAC7C,8BAA8B,CAI1C;SAJY,8BAA8B"}
@@ -0,0 +1,11 @@
1
+ import { ActionInputs, ActionOutputs, Diff } from '@quadnix/octo';
2
+ import { AAction } from '../../../action.abstract.js';
3
+ export declare class DeleteS3StorageAccessOverlayAction extends AAction {
4
+ readonly ACTION_NAME: string;
5
+ collectInput(diff: Diff): string[];
6
+ filter(diff: Diff): boolean;
7
+ handle(diff: Diff, actionInputs: ActionInputs): Promise<ActionOutputs>;
8
+ }
9
+ export declare class DeleteS3StorageAccessOverlayActionFactory {
10
+ static create(): Promise<DeleteS3StorageAccessOverlayAction>;
11
+ }
@@ -0,0 +1,44 @@
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
+ import { Action, DiffAction, Factory, ModelType } from '@quadnix/octo';
8
+ import { AAction } from '../../../action.abstract.js';
9
+ let DeleteS3StorageAccessOverlayAction = class DeleteS3StorageAccessOverlayAction extends AAction {
10
+ ACTION_NAME = 'DeleteS3StorageAccessOverlayAction';
11
+ collectInput(diff) {
12
+ const s3StorageAccessOverlay = diff.model;
13
+ const iamRoleAnchor = s3StorageAccessOverlay.getAnchors()[0];
14
+ return [`resource.iam-role-${iamRoleAnchor.anchorId}`];
15
+ }
16
+ filter(diff) {
17
+ return (diff.action === DiffAction.DELETE && diff.model.MODEL_NAME === 's3-storage-access' && diff.field === 'overlayId');
18
+ }
19
+ async handle(diff, actionInputs) {
20
+ const s3StorageAccessOverlay = diff.model;
21
+ const iamRoleAnchor = s3StorageAccessOverlay.getAnchors()[0];
22
+ const iamRole = actionInputs[`resource.iam-role-${iamRoleAnchor.anchorId}`];
23
+ iamRole.updatePolicyDiff({
24
+ [s3StorageAccessOverlay.overlayId]: { action: 'delete', overlay: s3StorageAccessOverlay },
25
+ });
26
+ const output = {};
27
+ output[iamRole.resourceId] = iamRole;
28
+ return output;
29
+ }
30
+ };
31
+ DeleteS3StorageAccessOverlayAction = __decorate([
32
+ Action(ModelType.OVERLAY)
33
+ ], DeleteS3StorageAccessOverlayAction);
34
+ export { DeleteS3StorageAccessOverlayAction };
35
+ let DeleteS3StorageAccessOverlayActionFactory = class DeleteS3StorageAccessOverlayActionFactory {
36
+ static async create() {
37
+ return new DeleteS3StorageAccessOverlayAction();
38
+ }
39
+ };
40
+ DeleteS3StorageAccessOverlayActionFactory = __decorate([
41
+ Factory(DeleteS3StorageAccessOverlayAction)
42
+ ], DeleteS3StorageAccessOverlayActionFactory);
43
+ export { DeleteS3StorageAccessOverlayActionFactory };
44
+ //# sourceMappingURL=delete-s3-storage-access.overlay.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-s3-storage-access.overlay.action.js","sourceRoot":"","sources":["../../../../../src/models/service/s3-storage/actions/delete-s3-storage-access.overlay.action.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAqC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1G,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAItD,IAAa,kCAAkC,GAA/C,MAAa,kCAAmC,SAAQ,OAAO;IACpD,WAAW,GAAW,oCAAoC,CAAC;IAE3D,YAAY,CAAC,IAAU;QAC9B,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAA+B,CAAC;QACpE,MAAM,aAAa,GAAG,sBAAsB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAkB,CAAC;QAE9E,OAAO,CAAC,qBAAqB,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,IAAU;QACf,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,mBAAmB,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,CACjH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAU,EAAE,YAA0B;QACjD,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAA+B,CAAC;QACpE,MAAM,aAAa,GAAG,sBAAsB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAkB,CAAC;QAC9E,MAAM,OAAO,GAAG,YAAY,CAAC,qBAAqB,aAAa,CAAC,QAAQ,EAAE,CAAY,CAAC;QAEvF,OAAO,CAAC,gBAAgB,CAAC;YACvB,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,sBAAsB,EAAE;SAC1F,CAAC,CAAC;QAEH,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;QAErC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AA9BY,kCAAkC;IAD9C,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;GACb,kCAAkC,CA8B9C;SA9BY,kCAAkC;AAiC/C,IAAa,yCAAyC,GAAtD,MAAa,yCAAyC;IACpD,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,OAAO,IAAI,kCAAkC,EAAE,CAAC;IAClD,CAAC;CACF,CAAA;AAJY,yCAAyC;IADrD,OAAO,CAAqC,kCAAkC,CAAC;GACnE,yCAAyC,CAIrD;SAJY,yCAAyC"}
@@ -0,0 +1,11 @@
1
+ import { ActionInputs, ActionOutputs, Diff } from '@quadnix/octo';
2
+ import { AAction } from '../../../action.abstract.js';
3
+ export declare class DeleteS3StorageModelAction extends AAction {
4
+ readonly ACTION_NAME: string;
5
+ collectInput(diff: Diff): string[];
6
+ filter(diff: Diff): boolean;
7
+ handle(diff: Diff, actionInputs: ActionInputs): Promise<ActionOutputs>;
8
+ }
9
+ export declare class DeleteS3StorageModelActionFactory {
10
+ static create(): Promise<DeleteS3StorageModelAction>;
11
+ }
@@ -0,0 +1,43 @@
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
+ import { Action, DiffAction, Factory, ModelType } from '@quadnix/octo';
8
+ import { AAction } from '../../../action.abstract.js';
9
+ let DeleteS3StorageModelAction = class DeleteS3StorageModelAction extends AAction {
10
+ ACTION_NAME = 'DeleteS3StorageModelAction';
11
+ collectInput(diff) {
12
+ const { bucketName } = diff.model;
13
+ return [`resource.bucket-${bucketName}`];
14
+ }
15
+ filter(diff) {
16
+ return (diff.action === DiffAction.DELETE &&
17
+ diff.model.MODEL_NAME === 'service' &&
18
+ diff.field === 'serviceId' &&
19
+ diff.model.serviceId.endsWith('s3-storage'));
20
+ }
21
+ async handle(diff, actionInputs) {
22
+ const { bucketName } = diff.model;
23
+ const s3Storage = actionInputs[`resource.bucket-${bucketName}`];
24
+ s3Storage.markDeleted();
25
+ const output = {};
26
+ output[s3Storage.resourceId] = s3Storage;
27
+ return output;
28
+ }
29
+ };
30
+ DeleteS3StorageModelAction = __decorate([
31
+ Action(ModelType.MODEL)
32
+ ], DeleteS3StorageModelAction);
33
+ export { DeleteS3StorageModelAction };
34
+ let DeleteS3StorageModelActionFactory = class DeleteS3StorageModelActionFactory {
35
+ static async create() {
36
+ return new DeleteS3StorageModelAction();
37
+ }
38
+ };
39
+ DeleteS3StorageModelActionFactory = __decorate([
40
+ Factory(DeleteS3StorageModelAction)
41
+ ], DeleteS3StorageModelActionFactory);
42
+ export { DeleteS3StorageModelActionFactory };
43
+ //# sourceMappingURL=delete-s3-storage.model.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-s3-storage.model.action.js","sourceRoot":"","sources":["../../../../../src/models/service/s3-storage/actions/delete-s3-storage.model.action.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAqC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1G,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAItD,IAAa,0BAA0B,GAAvC,MAAa,0BAA2B,SAAQ,OAAO;IAC5C,WAAW,GAAW,4BAA4B,CAAC;IAEnD,YAAY,CAAC,IAAU;QAC9B,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAyB,CAAC;QAEtD,OAAO,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,IAAU;QACf,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM;YACjC,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;YACnC,IAAI,CAAC,KAAK,KAAK,WAAW;YACzB,IAAI,CAAC,KAA0B,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAClE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAU,EAAE,YAA0B;QACjD,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAyB,CAAC;QAEtD,MAAM,SAAS,GAAG,YAAY,CAAC,mBAAmB,UAAU,EAAE,CAAc,CAAC;QAC7E,SAAS,CAAC,WAAW,EAAE,CAAC;QAExB,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;QAEzC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AA7BY,0BAA0B;IADtC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;GACX,0BAA0B,CA6BtC;SA7BY,0BAA0B;AAgCvC,IAAa,iCAAiC,GAA9C,MAAa,iCAAiC;IAC5C,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,OAAO,IAAI,0BAA0B,EAAE,CAAC;IAC1C,CAAC;CACF,CAAA;AAJY,iCAAiC;IAD7C,OAAO,CAA6B,0BAA0B,CAAC;GACnD,iCAAiC,CAI7C;SAJY,iCAAiC"}
@@ -0,0 +1,6 @@
1
+ import { AAnchor, AOverlay, IOverlay } from '@quadnix/octo';
2
+ import { IS3StorageAccessOverlayProperties } from './s3-storage-access.overlay.interface.js';
3
+ export declare class S3StorageAccessOverlay extends AOverlay<S3StorageAccessOverlay> {
4
+ readonly MODEL_NAME: string;
5
+ constructor(overlayId: IOverlay['overlayId'], properties: IS3StorageAccessOverlayProperties, anchors: AAnchor[]);
6
+ }
@@ -0,0 +1,6 @@
1
+ export interface IS3StorageAccessOverlayProperties {
2
+ allowRead: boolean;
3
+ allowWrite: boolean;
4
+ bucketName: string;
5
+ remoteDirectoryPath: string;
6
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=s3-storage-access.overlay.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3-storage-access.overlay.interface.js","sourceRoot":"","sources":["../../../../src/models/service/s3-storage/s3-storage-access.overlay.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
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 { AOverlay, Overlay } from '@quadnix/octo';
11
+ let S3StorageAccessOverlay = class S3StorageAccessOverlay extends AOverlay {
12
+ MODEL_NAME = 's3-storage-access';
13
+ constructor(overlayId, properties, anchors) {
14
+ super(overlayId, properties, anchors);
15
+ }
16
+ };
17
+ S3StorageAccessOverlay = __decorate([
18
+ Overlay(),
19
+ __metadata("design:paramtypes", [Object, Object, Array])
20
+ ], S3StorageAccessOverlay);
21
+ export { S3StorageAccessOverlay };
22
+ //# sourceMappingURL=s3-storage-access.overlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3-storage-access.overlay.js","sourceRoot":"","sources":["../../../../src/models/service/s3-storage/s3-storage-access.overlay.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAW,QAAQ,EAAuB,OAAO,EAAE,MAAM,eAAe,CAAC;AAGhF,IACa,sBAAsB,GADnC,MACa,sBAAuB,SAAQ,QAAgC;IACxD,UAAU,GAAW,mBAAmB,CAAC;IAE3D,YAAY,SAAgC,EAAE,UAA6C,EAAE,OAAkB;QAC7G,KAAK,CAAC,SAAS,EAAE,UAAgD,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;CACF,CAAA;AANY,sBAAsB;IADlC,OAAO,EAAE;;GACG,sBAAsB,CAMlC;SANY,sBAAsB"}
@@ -0,0 +1,7 @@
1
+ import { IService } from '@quadnix/octo';
2
+ import { S3StorageService } from './s3-storage.service.model.js';
3
+ export interface IS3StorageService extends IService {
4
+ awsRegionId: S3StorageService['awsRegionId'];
5
+ bucketName: S3StorageService['bucketName'];
6
+ directories: S3StorageService['directories'];
7
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=s3-storage.service.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3-storage.service.interface.js","sourceRoot":"","sources":["../../../../src/models/service/s3-storage/s3-storage.service.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ import { Service } from '@quadnix/octo';
2
+ import { RegionId } from '../../region/aws.region.model.js';
3
+ import { AwsServer } from '../../server/aws.server.model.js';
4
+ import { IS3StorageService } from './s3-storage.service.interface.js';
5
+ export declare enum S3StorageAccess {
6
+ READ = "READ",
7
+ READ_WRITE = "READ_WRITE",
8
+ WRITE = "WRITE"
9
+ }
10
+ export declare class S3StorageService extends Service {
11
+ readonly awsRegionId: string;
12
+ readonly bucketName: string;
13
+ readonly directories: {
14
+ remoteDirectoryPath: string;
15
+ }[];
16
+ constructor(regionId: RegionId, bucketName: string);
17
+ addDirectory(remoteDirectoryPath: string): void;
18
+ allowDirectoryAccess(server: AwsServer, remoteDirectoryPath: string, accessLevel: S3StorageAccess): Promise<void>;
19
+ revokeDirectoryAccess(server: AwsServer, remoteDirectoryPath: string, accessLevel: S3StorageAccess): Promise<void>;
20
+ removeDirectory(remoteDirectoryPath: string): Promise<void>;
21
+ synth(): IS3StorageService;
22
+ static unSynth(s3Storage: IS3StorageService): Promise<S3StorageService>;
23
+ }