@stacksjs/ts-cloud 0.9.4 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/dist/aws/index.js +1 -1
  2. package/dist/bin/chunk-0djsffn6.js +1 -0
  3. package/dist/bin/chunk-0t3sev1j.js +1 -0
  4. package/dist/bin/chunk-0y89hs67.js +6 -0
  5. package/dist/bin/chunk-21gggxvf.js +2 -0
  6. package/dist/bin/chunk-26cj89s6.js +1 -0
  7. package/dist/bin/chunk-35xstvnq.js +1 -0
  8. package/dist/bin/chunk-41yqpdv7.js +2 -0
  9. package/dist/bin/chunk-4a85nk2q.js +92 -0
  10. package/dist/bin/{chunk-rxcvf10f.js → chunk-4a97kbk1.js} +129 -129
  11. package/dist/bin/chunk-4kbhbfq8.js +34 -0
  12. package/dist/bin/chunk-4vdv41nh.js +70 -0
  13. package/dist/bin/chunk-67jsyn0g.js +111 -0
  14. package/dist/bin/chunk-6tct7e89.js +1 -0
  15. package/dist/bin/chunk-6vjrts39.js +1 -0
  16. package/dist/bin/chunk-7v5ff3vc.js +1 -0
  17. package/dist/bin/chunk-80nra92y.js +1 -0
  18. package/dist/bin/chunk-9mydnqr6.js +2 -0
  19. package/dist/bin/chunk-9rsn48qg.js +3 -0
  20. package/dist/bin/chunk-a2t1e5yb.js +1 -0
  21. package/dist/bin/chunk-akbfefwq.js +1 -0
  22. package/dist/bin/chunk-b704nznp.js +1 -0
  23. package/dist/bin/chunk-c1j9v7ee.js +2 -0
  24. package/dist/bin/chunk-cjz36ths.js +1 -0
  25. package/dist/bin/chunk-cxd5cevb.js +2 -0
  26. package/dist/bin/chunk-dbv8w56s.js +50 -0
  27. package/dist/bin/chunk-dxchg0g1.js +1 -0
  28. package/dist/bin/{chunk-tx0tqq2k.js → chunk-e1bfd1yv.js} +6 -6
  29. package/dist/bin/chunk-fpcghdr3.js +585 -0
  30. package/dist/bin/chunk-ftse39wf.js +9 -0
  31. package/dist/bin/chunk-g0ewbkbq.js +1 -0
  32. package/dist/bin/chunk-gskbezam.js +141 -0
  33. package/dist/bin/chunk-gvs85t2j.js +1 -0
  34. package/dist/bin/chunk-hej39dwr.js +2 -0
  35. package/dist/bin/chunk-jce28gnz.js +2 -0
  36. package/dist/bin/chunk-kbtrr0c3.js +1 -0
  37. package/dist/bin/chunk-khrye4x9.js +1 -0
  38. package/dist/bin/{chunk-mh0kdzqp.js → chunk-ks4ewy1s.js} +1 -1
  39. package/dist/bin/chunk-mbnwt3r5.js +2 -0
  40. package/dist/bin/chunk-md2k3n21.js +37 -0
  41. package/dist/bin/chunk-memfxrcn.js +1 -0
  42. package/dist/bin/chunk-mwgxyc0z.js +44 -0
  43. package/dist/bin/chunk-neampxq1.js +4 -0
  44. package/dist/bin/chunk-nkpf91d3.js +1 -0
  45. package/dist/bin/chunk-nmkm1f68.js +2 -0
  46. package/dist/bin/chunk-nyc2jxd8.js +2 -0
  47. package/dist/bin/chunk-pqr8jqnd.js +1 -0
  48. package/dist/bin/chunk-q182t9ba.js +3 -0
  49. package/dist/bin/chunk-r6x7beew.js +60 -0
  50. package/dist/bin/chunk-rfqk5xym.js +1 -0
  51. package/dist/bin/{chunk-etrb03mt.js → chunk-ww770qpn.js} +30 -30
  52. package/dist/bin/chunk-wy20ztb6.js +1 -0
  53. package/dist/bin/chunk-wzepfqf4.js +512 -0
  54. package/dist/bin/chunk-xcqmwphz.js +1 -0
  55. package/dist/bin/chunk-xev7qr2h.js +3 -0
  56. package/dist/bin/chunk-y3rm37z1.js +6 -0
  57. package/dist/bin/chunk-zejwh9cy.js +6 -0
  58. package/dist/bin/chunk-zwwnt4x1.js +1 -0
  59. package/dist/bin/cli.js +431 -418
  60. package/dist/bin/dashboard-server.js +1 -1
  61. package/dist/{chunk-dskvqt67.js → chunk-0hj552t7.js} +127 -127
  62. package/dist/chunk-1ypkh8g6.js +5 -0
  63. package/dist/chunk-2m09t0c0.js +60 -0
  64. package/dist/chunk-7fkyfh65.js +1 -0
  65. package/dist/chunk-7xpxzbkr.js +442 -0
  66. package/dist/chunk-8e0az001.js +2 -0
  67. package/dist/chunk-b10cbk8z.js +44 -0
  68. package/dist/chunk-gk58959n.js +6 -0
  69. package/dist/chunk-h1rc94df.js +114 -0
  70. package/dist/chunk-hbhxk5a0.js +4 -0
  71. package/dist/chunk-hz7k9ymh.js +1 -0
  72. package/dist/chunk-kj7gzdj6.js +1 -0
  73. package/dist/chunk-ky5c6t5y.js +2 -0
  74. package/dist/chunk-mch30cyc.js +1 -0
  75. package/dist/chunk-n04a3bgf.js +1 -0
  76. package/dist/chunk-nnqxmh7f.js +34 -0
  77. package/dist/chunk-p6vszgc2.js +92 -0
  78. package/dist/chunk-q2njk4hx.js +141 -0
  79. package/dist/chunk-qjk1v1gs.js +50 -0
  80. package/dist/chunk-qtp90j44.js +2 -0
  81. package/dist/chunk-r5natbed.js +37 -0
  82. package/dist/chunk-rcxq9aaa.js +704 -0
  83. package/dist/{chunk-gahsdmxf.js → chunk-s3rpd72x.js} +52 -52
  84. package/dist/{chunk-xt3s24vr.js → chunk-spx89gaw.js} +1 -1
  85. package/dist/chunk-t0kh8haz.js +2 -0
  86. package/dist/chunk-vz95qy3n.js +1 -0
  87. package/dist/deploy/attach-credentials.d.ts +4 -8
  88. package/dist/deploy/index.js +1 -1
  89. package/dist/dns/cloudflare.d.ts +27 -0
  90. package/dist/dns/godaddy.d.ts +18 -1
  91. package/dist/dns/index.d.ts +2 -0
  92. package/dist/dns/index.js +1 -1
  93. package/dist/dns/zone-migration.d.ts +92 -0
  94. package/dist/dns/zone-migration.test.d.ts +1 -0
  95. package/dist/drivers/hetzner/driver.d.ts +8 -1
  96. package/dist/drivers/index.js +1 -1
  97. package/dist/drivers/shared/app-updates.d.ts +36 -0
  98. package/dist/drivers/shared/compute-provision.d.ts +14 -2
  99. package/dist/drivers/shared/db-provision.d.ts +3 -2
  100. package/dist/drivers/shared/mail-provision.d.ts +116 -0
  101. package/dist/drivers/shared/mail-provision.test.d.ts +1 -0
  102. package/dist/drivers/shared/managed-services-probe.d.ts +47 -0
  103. package/dist/drivers/shared/managed-services-probe.test.d.ts +1 -0
  104. package/dist/drivers/shared/package-manager.d.ts +1 -0
  105. package/dist/drivers/shared/remote-failure.d.ts +21 -0
  106. package/dist/drivers/shared/remote-failure.test.d.ts +1 -0
  107. package/dist/drivers/shared/sqlite-shared-path.d.ts +50 -0
  108. package/dist/drivers/shared/sqlite-shared-path.test.d.ts +1 -0
  109. package/dist/index.d.ts +2 -0
  110. package/dist/index.js +92 -89
  111. package/dist/operations/plan.d.ts +136 -0
  112. package/dist/operations/plan.test.d.ts +1 -0
  113. package/dist/operations/server-rename.d.ts +84 -0
  114. package/dist/operations/server-rename.test.d.ts +1 -0
  115. package/dist/operations/site-move.d.ts +263 -0
  116. package/dist/operations/site-move.test.d.ts +1 -0
  117. package/dist/protection/index.js +1 -1
  118. package/dist/push/index.js +1 -1
  119. package/dist/spend/index.js +1 -1
  120. package/dist/ui/404.html +1 -1
  121. package/dist/ui/accept-invitation.html +1 -1
  122. package/dist/ui/access-denied.html +1 -1
  123. package/dist/ui/account/automation.html +6 -6
  124. package/dist/ui/account/security.html +2 -2
  125. package/dist/ui/applications/compose.html +6 -6
  126. package/dist/ui/applications/new.html +2 -2
  127. package/dist/ui/data/backups.html +80 -80
  128. package/dist/ui/data/services.html +78 -78
  129. package/dist/ui/data/volumes.html +50 -50
  130. package/dist/ui/index.html +50 -50
  131. package/dist/ui/infrastructure/topology.html +118 -118
  132. package/dist/ui/integrations.html +2 -2
  133. package/dist/ui/operations/alerts.html +48 -48
  134. package/dist/ui/operations/configuration.html +6 -6
  135. package/dist/ui/operations/jobs.html +75 -75
  136. package/dist/ui/operations/maintenance.html +6 -6
  137. package/dist/ui/operations/observability.html +82 -82
  138. package/dist/ui/operations/previews.html +6 -6
  139. package/dist/ui/operations/queue.html +6 -6
  140. package/dist/ui/operations/regions.html +6 -6
  141. package/dist/ui/operations/releases.html +6 -6
  142. package/dist/ui/operations/spend.html +54 -54
  143. package/dist/ui/operations/workloads.html +104 -104
  144. package/dist/ui/security.html +2 -2
  145. package/dist/ui/server/actions.html +56 -56
  146. package/dist/ui/server/activity.html +1 -1
  147. package/dist/ui/server/capacity.html +6 -6
  148. package/dist/ui/server/database.html +106 -106
  149. package/dist/ui/server/deployments.html +50 -50
  150. package/dist/ui/server/diagnostics.html +2 -2
  151. package/dist/ui/server/firewall.html +76 -76
  152. package/dist/ui/server/fleet.html +34 -34
  153. package/dist/ui/server/logs.html +24 -24
  154. package/dist/ui/server/metrics.html +112 -112
  155. package/dist/ui/server/security.html +2 -2
  156. package/dist/ui/server/services.html +27 -27
  157. package/dist/ui/server/sites.html +120 -120
  158. package/dist/ui/server/ssh-keys.html +52 -52
  159. package/dist/ui/server/team.html +144 -144
  160. package/dist/ui/server/terminal.html +15 -15
  161. package/dist/ui/serverless/alarms.html +52 -52
  162. package/dist/ui/serverless/assets.html +27 -27
  163. package/dist/ui/serverless/cost.html +2 -2
  164. package/dist/ui/serverless/data.html +36 -36
  165. package/dist/ui/serverless/deployments.html +27 -27
  166. package/dist/ui/serverless/firewall.html +1 -1
  167. package/dist/ui/serverless/functions.html +40 -40
  168. package/dist/ui/serverless/logs.html +24 -24
  169. package/dist/ui/serverless/metrics.html +2 -2
  170. package/dist/ui/serverless/queues.html +48 -48
  171. package/dist/ui/serverless/secrets.html +51 -51
  172. package/dist/ui/serverless/traces.html +6 -6
  173. package/dist/ui/serverless.html +53 -53
  174. package/dist/ui-src/src/charts.ts +17499 -12662
  175. package/dist/ui-src/src/topology.ts +2 -2
  176. package/package.json +3 -3
  177. package/dist/bin/chunk-00kg80qg.js +0 -1
  178. package/dist/bin/chunk-09nwf2gy.js +0 -34
  179. package/dist/bin/chunk-1k5kszjp.js +0 -111
  180. package/dist/bin/chunk-21e0mavm.js +0 -1
  181. package/dist/bin/chunk-271gk1n2.js +0 -6
  182. package/dist/bin/chunk-2empps47.js +0 -2
  183. package/dist/bin/chunk-38pq971s.js +0 -2
  184. package/dist/bin/chunk-3gykfyq4.js +0 -37
  185. package/dist/bin/chunk-3vqfexc4.js +0 -70
  186. package/dist/bin/chunk-4vrqm9h0.js +0 -2
  187. package/dist/bin/chunk-598yf4bs.js +0 -1
  188. package/dist/bin/chunk-5ectjq0b.js +0 -1
  189. package/dist/bin/chunk-5erkxpt7.js +0 -512
  190. package/dist/bin/chunk-5mrtzemj.js +0 -1
  191. package/dist/bin/chunk-5n9fmabb.js +0 -1
  192. package/dist/bin/chunk-9knpg30y.js +0 -1
  193. package/dist/bin/chunk-9pvsff8g.js +0 -1
  194. package/dist/bin/chunk-ax9mr6wm.js +0 -44
  195. package/dist/bin/chunk-axhnkn5g.js +0 -2
  196. package/dist/bin/chunk-c1vcdgvr.js +0 -1
  197. package/dist/bin/chunk-ctd2vg9w.js +0 -2
  198. package/dist/bin/chunk-dbgffky8.js +0 -1
  199. package/dist/bin/chunk-ddk4rt4j.js +0 -6
  200. package/dist/bin/chunk-dwr30vbv.js +0 -1
  201. package/dist/bin/chunk-e0rkrq70.js +0 -1
  202. package/dist/bin/chunk-e3xrwh9z.js +0 -1
  203. package/dist/bin/chunk-fhc6ntvd.js +0 -2
  204. package/dist/bin/chunk-fpm59y25.js +0 -6
  205. package/dist/bin/chunk-fvbxvq6b.js +0 -1
  206. package/dist/bin/chunk-fy8j3y8p.js +0 -92
  207. package/dist/bin/chunk-fz21b57w.js +0 -1
  208. package/dist/bin/chunk-gavvf0pg.js +0 -141
  209. package/dist/bin/chunk-ggn7ax8p.js +0 -4
  210. package/dist/bin/chunk-gpe2prkm.js +0 -1
  211. package/dist/bin/chunk-h5pa5men.js +0 -2
  212. package/dist/bin/chunk-hm08xdxf.js +0 -2
  213. package/dist/bin/chunk-hzgz13nf.js +0 -1
  214. package/dist/bin/chunk-j703btc5.js +0 -50
  215. package/dist/bin/chunk-k9t9wvms.js +0 -1
  216. package/dist/bin/chunk-m669wtgr.js +0 -1
  217. package/dist/bin/chunk-m7dgskt1.js +0 -1
  218. package/dist/bin/chunk-mr0atd2s.js +0 -2
  219. package/dist/bin/chunk-mz0wbbsj.js +0 -3
  220. package/dist/bin/chunk-ngcyftm2.js +0 -1
  221. package/dist/bin/chunk-p66ptpmr.js +0 -2
  222. package/dist/bin/chunk-qk9qgepa.js +0 -1
  223. package/dist/bin/chunk-rytk89az.js +0 -60
  224. package/dist/bin/chunk-tga3hhwk.js +0 -6
  225. package/dist/bin/chunk-vek8a0w6.js +0 -1
  226. package/dist/bin/chunk-vm3q5gf2.js +0 -3
  227. package/dist/bin/chunk-y7s5r8y6.js +0 -3
  228. package/dist/bin/chunk-yv9sth30.js +0 -1
  229. package/dist/bin/chunk-zmegvjp8.js +0 -581
  230. package/dist/chunk-0ccta6z6.js +0 -6
  231. package/dist/chunk-0k1cs6pp.js +0 -1
  232. package/dist/chunk-1egjn203.js +0 -704
  233. package/dist/chunk-2wx29qga.js +0 -5
  234. package/dist/chunk-5m5rqmv7.js +0 -1
  235. package/dist/chunk-8ea5022g.js +0 -114
  236. package/dist/chunk-8xqn3c0w.js +0 -2
  237. package/dist/chunk-b4esxhmw.js +0 -2
  238. package/dist/chunk-b8e5wzwn.js +0 -44
  239. package/dist/chunk-bggt4n6e.js +0 -2
  240. package/dist/chunk-cwkg37rs.js +0 -37
  241. package/dist/chunk-gnv3r2jg.js +0 -1
  242. package/dist/chunk-hg3c48cp.js +0 -34
  243. package/dist/chunk-m5azeva3.js +0 -2
  244. package/dist/chunk-r3qf56b3.js +0 -92
  245. package/dist/chunk-sdqa9ghv.js +0 -141
  246. package/dist/chunk-svrvvcm7.js +0 -1
  247. package/dist/chunk-v0p3hpc3.js +0 -60
  248. package/dist/chunk-wdzjbecg.js +0 -50
  249. package/dist/chunk-ww8k3g7j.js +0 -1
  250. package/dist/chunk-xmqfc62w.js +0 -1
  251. package/dist/chunk-xrebj679.js +0 -435
  252. package/dist/chunk-y21zk0pn.js +0 -4
@@ -1,4 +0,0 @@
1
- import{Th as V}from"./chunk-0ccta6z6.js";class Y{client;region;constructor(q="us-east-1"){this.region=q,this.client=new V}async describeInstances(q){let z={Action:"DescribeInstances",Version:"2016-11-15"};if(q?.InstanceIds)q.InstanceIds.forEach((J,K)=>{z[`InstanceId.${K+1}`]=J});if(q?.Filters)q.Filters.forEach((J,K)=>{z[`Filter.${K+1}.Name`]=J.Name,J.Values.forEach((L,M)=>{z[`Filter.${K+1}.Value.${M+1}`]=L})});if(q?.MaxResults)z.MaxResults=String(q.MaxResults);if(q?.NextToken)z.NextToken=q.NextToken;let H=await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()}),G=H.DescribeInstancesResponse||H;return{Reservations:this.parseReservations(G.reservationSet?.item),NextToken:G.nextToken}}async getInstance(q){return(await this.describeInstances({InstanceIds:[q]})).Reservations?.[0]?.Instances?.[0]}async getConsoleOutput(q,z){let H={Action:"GetConsoleOutput",Version:"2016-11-15",InstanceId:q};if(z)H.Latest="true";let G=await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(H).toString()}),J=G.GetConsoleOutputResponse||G;return{InstanceId:J.instanceId,Output:J.output,Timestamp:J.timestamp}}async getConsoleOutputDecoded(q,z){let H=await this.getConsoleOutput(q,z?.latest);if(!H.Output)return"No console output available yet";let G=Buffer.from(H.Output,"base64").toString("utf-8");if(z?.tailLines)return G.split(`
2
- `).slice(-z.tailLines).join(`
3
- `);return G}async describeInstanceStatus(q){let z={Action:"DescribeInstanceStatus",Version:"2016-11-15"};if(q?.InstanceIds)q.InstanceIds.forEach((G,J)=>{z[`InstanceId.${J+1}`]=G});if(q?.IncludeAllInstances)z.IncludeAllInstances="true";if(q?.Filters)q.Filters.forEach((G,J)=>{z[`Filter.${J+1}.Name`]=G.Name,G.Values.forEach((K,L)=>{z[`Filter.${J+1}.Value.${L+1}`]=K})});let H=await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()});return{InstanceStatuses:this.parseArray(H.instanceStatusSet?.item).map((G)=>({InstanceId:G.instanceId,InstanceState:G.instanceState?{Code:Number.parseInt(G.instanceState.code),Name:G.instanceState.name}:void 0,InstanceStatus:G.instanceStatus?{Status:G.instanceStatus.status,Details:this.parseArray(G.instanceStatus.details?.item).map((J)=>({Name:J.name,Status:J.status}))}:void 0,SystemStatus:G.systemStatus?{Status:G.systemStatus.status,Details:this.parseArray(G.systemStatus.details?.item).map((J)=>({Name:J.name,Status:J.status}))}:void 0}))}}async startInstances(q){let z={Action:"StartInstances",Version:"2016-11-15"};q.forEach((G,J)=>{z[`InstanceId.${J+1}`]=G});let H=await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()});return{StartingInstances:this.parseArray(H.instancesSet?.item).map((G)=>({InstanceId:G.instanceId,CurrentState:G.currentState?{Name:G.currentState.name}:void 0,PreviousState:G.previousState?{Name:G.previousState.name}:void 0}))}}async stopInstances(q,z){let H={Action:"StopInstances",Version:"2016-11-15"};if(q.forEach((J,K)=>{H[`InstanceId.${K+1}`]=J}),z)H.Force="true";let G=await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(H).toString()});return{StoppingInstances:this.parseArray(G.instancesSet?.item).map((J)=>({InstanceId:J.instanceId,CurrentState:J.currentState?{Name:J.currentState.name}:void 0,PreviousState:J.previousState?{Name:J.previousState.name}:void 0}))}}async rebootInstances(q){let z={Action:"RebootInstances",Version:"2016-11-15"};q.forEach((H,G)=>{z[`InstanceId.${G+1}`]=H}),await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()})}async terminateInstances(q){let z={Action:"TerminateInstances",Version:"2016-11-15"};q.forEach((G,J)=>{z[`InstanceId.${J+1}`]=G});let H=await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()});return{TerminatingInstances:this.parseArray(H.instancesSet?.item).map((G)=>({InstanceId:G.instanceId,CurrentState:G.currentState?{Name:G.currentState.name}:void 0,PreviousState:G.previousState?{Name:G.previousState.name}:void 0}))}}async createImage(q){let z={Action:"CreateImage",Version:"2016-11-15",InstanceId:q.InstanceId,Name:q.Name};if(q.Description)z.Description=q.Description;if(q.NoReboot!==void 0)z.NoReboot=String(q.NoReboot);if(q.TagSpecifications)q.TagSpecifications.forEach((J,K)=>{z[`TagSpecification.${K+1}.ResourceType`]=J.ResourceType,J.Tags.forEach((L,M)=>{z[`TagSpecification.${K+1}.Tag.${M+1}.Key`]=L.Key,z[`TagSpecification.${K+1}.Tag.${M+1}.Value`]=L.Value})});let H=await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()});return{ImageId:(H.CreateImageResponse||H).imageId}}async deregisterImage(q){await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({Action:"DeregisterImage",Version:"2016-11-15",ImageId:q}).toString()})}async describeVpcs(q){let z={Action:"DescribeVpcs",Version:"2016-11-15"};if(q?.VpcIds)q.VpcIds.forEach((G,J)=>{z[`VpcId.${J+1}`]=G});if(q?.Filters)q.Filters.forEach((G,J)=>{z[`Filter.${J+1}.Name`]=G.Name,G.Values.forEach((K,L)=>{z[`Filter.${J+1}.Value.${L+1}`]=K})});let H=await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()});return{Vpcs:this.parseArray(H.vpcSet?.item).map((G)=>({VpcId:G.vpcId,CidrBlock:G.cidrBlock,State:G.state,DhcpOptionsId:G.dhcpOptionsId,InstanceTenancy:G.instanceTenancy,IsDefault:G.isDefault==="true",Tags:this.parseTags(G.tagSet?.item)}))}}async describeSubnets(q){let z={Action:"DescribeSubnets",Version:"2016-11-15"};if(q?.SubnetIds)q.SubnetIds.forEach((G,J)=>{z[`SubnetId.${J+1}`]=G});if(q?.Filters)q.Filters.forEach((G,J)=>{z[`Filter.${J+1}.Name`]=G.Name,G.Values.forEach((K,L)=>{z[`Filter.${J+1}.Value.${L+1}`]=K})});let H=await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()});return{Subnets:this.parseArray(H.subnetSet?.item).map((G)=>({SubnetId:G.subnetId,VpcId:G.vpcId,CidrBlock:G.cidrBlock,AvailabilityZone:G.availabilityZone,AvailableIpAddressCount:Number.parseInt(G.availableIpAddressCount),State:G.state,MapPublicIpOnLaunch:G.mapPublicIpOnLaunch==="true",Tags:this.parseTags(G.tagSet?.item)}))}}async describeSecurityGroups(q){let z={Action:"DescribeSecurityGroups",Version:"2016-11-15"};if(q?.GroupIds)q.GroupIds.forEach((G,J)=>{z[`GroupId.${J+1}`]=G});if(q?.GroupNames)q.GroupNames.forEach((G,J)=>{z[`GroupName.${J+1}`]=G});if(q?.Filters)q.Filters.forEach((G,J)=>{z[`Filter.${J+1}.Name`]=G.Name,G.Values.forEach((K,L)=>{z[`Filter.${J+1}.Value.${L+1}`]=K})});let H=await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()});return{SecurityGroups:this.parseArray(H.securityGroupInfo?.item).map((G)=>({GroupId:G.groupId,GroupName:G.groupName,Description:G.groupDescription,VpcId:G.vpcId,IpPermissions:this.parseIpPermissions(G.ipPermissions?.item),IpPermissionsEgress:this.parseIpPermissions(G.ipPermissionsEgress?.item),Tags:this.parseTags(G.tagSet?.item)}))}}async describeInternetGateways(q){let z={Action:"DescribeInternetGateways",Version:"2016-11-15"};if(q?.InternetGatewayIds)q.InternetGatewayIds.forEach((G,J)=>{z[`InternetGatewayId.${J+1}`]=G});if(q?.Filters)q.Filters.forEach((G,J)=>{z[`Filter.${J+1}.Name`]=G.Name,G.Values.forEach((K,L)=>{z[`Filter.${J+1}.Value.${L+1}`]=K})});let H=await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()});return{InternetGateways:this.parseArray(H.internetGatewaySet?.item).map((G)=>({InternetGatewayId:G.internetGatewayId,Attachments:this.parseArray(G.attachmentSet?.item).map((J)=>({VpcId:J.vpcId,State:J.state})),Tags:this.parseTags(G.tagSet?.item)}))}}async describeAddresses(q){let z={Action:"DescribeAddresses",Version:"2016-11-15"};if(q?.AllocationIds)q.AllocationIds.forEach((G,J)=>{z[`AllocationId.${J+1}`]=G});if(q?.PublicIps)q.PublicIps.forEach((G,J)=>{z[`PublicIp.${J+1}`]=G});if(q?.Filters)q.Filters.forEach((G,J)=>{z[`Filter.${J+1}.Name`]=G.Name,G.Values.forEach((K,L)=>{z[`Filter.${J+1}.Value.${L+1}`]=K})});let H=await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()});return{Addresses:this.parseArray(H.addressesSet?.item).map((G)=>({PublicIp:G.publicIp,AllocationId:G.allocationId,AssociationId:G.associationId,InstanceId:G.instanceId,NetworkInterfaceId:G.networkInterfaceId,PrivateIpAddress:G.privateIpAddress,Domain:G.domain,Tags:this.parseTags(G.tagSet?.item)}))}}async allocateAddress(q){let z={Action:"AllocateAddress",Version:"2016-11-15"};if(q?.Domain)z.Domain=q.Domain;if(q?.TagSpecifications)q.TagSpecifications.forEach((G,J)=>{z[`TagSpecification.${J+1}.ResourceType`]=G.ResourceType,G.Tags.forEach((K,L)=>{z[`TagSpecification.${J+1}.Tag.${L+1}.Key`]=K.Key,z[`TagSpecification.${J+1}.Tag.${L+1}.Value`]=K.Value})});let H=await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()});return{AllocationId:H.allocationId,PublicIp:H.publicIp,Domain:H.domain}}async associateAddress(q){let z={Action:"AssociateAddress",Version:"2016-11-15"};if(q.AllocationId)z.AllocationId=q.AllocationId;if(q.PublicIp)z.PublicIp=q.PublicIp;if(q.InstanceId)z.InstanceId=q.InstanceId;if(q.NetworkInterfaceId)z.NetworkInterfaceId=q.NetworkInterfaceId;if(q.PrivateIpAddress)z.PrivateIpAddress=q.PrivateIpAddress;if(q.AllowReassociation)z.AllowReassociation="true";return{AssociationId:(await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()})).associationId}}async createTags(q){let z={Action:"CreateTags",Version:"2016-11-15"};q.Resources.forEach((H,G)=>{z[`ResourceId.${G+1}`]=H}),q.Tags.forEach((H,G)=>{z[`Tag.${G+1}.Key`]=H.Key,z[`Tag.${G+1}.Value`]=H.Value}),await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()})}async waitForInstanceState(q,z,H){let G=H?.maxWaitMs||300000,J=H?.pollIntervalMs||5000,K=Date.now();while(Date.now()-K<G){let L;try{L=await this.getInstance(q)}catch{L=void 0}if(L?.State?.Name===z)return L;await new Promise((M)=>setTimeout(M,J))}return}async createVpc(q){let z={Action:"CreateVpc",Version:"2016-11-15",CidrBlock:q.CidrBlock};if(q.InstanceTenancy)z.InstanceTenancy=q.InstanceTenancy;if(q.TagSpecifications)q.TagSpecifications.forEach((K,L)=>{z[`TagSpecification.${L+1}.ResourceType`]=K.ResourceType,K.Tags.forEach((M,O)=>{z[`TagSpecification.${L+1}.Tag.${O+1}.Key`]=M.Key,z[`TagSpecification.${L+1}.Tag.${O+1}.Value`]=M.Value})});let H=await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()}),J=(H.CreateVpcResponse||H).vpc;return{Vpc:J?{VpcId:J.vpcId,CidrBlock:J.cidrBlock,State:J.state,DhcpOptionsId:J.dhcpOptionsId,InstanceTenancy:J.instanceTenancy,IsDefault:J.isDefault==="true",Tags:this.parseTags(J.tagSet?.item)}:void 0}}async createSubnet(q){let z={Action:"CreateSubnet",Version:"2016-11-15",VpcId:q.VpcId,CidrBlock:q.CidrBlock};if(q.AvailabilityZone)z.AvailabilityZone=q.AvailabilityZone;if(q.TagSpecifications)q.TagSpecifications.forEach((K,L)=>{z[`TagSpecification.${L+1}.ResourceType`]=K.ResourceType,K.Tags.forEach((M,O)=>{z[`TagSpecification.${L+1}.Tag.${O+1}.Key`]=M.Key,z[`TagSpecification.${L+1}.Tag.${O+1}.Value`]=M.Value})});let H=await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()}),J=(H.CreateSubnetResponse||H).subnet;return{Subnet:J?{SubnetId:J.subnetId,VpcId:J.vpcId,CidrBlock:J.cidrBlock,AvailabilityZone:J.availabilityZone,AvailableIpAddressCount:J.availableIpAddressCount?Number.parseInt(J.availableIpAddressCount):void 0,State:J.state,MapPublicIpOnLaunch:J.mapPublicIpOnLaunch==="true",Tags:this.parseTags(J.tagSet?.item)}:void 0}}async modifySubnetAttribute(q){let z={Action:"ModifySubnetAttribute",Version:"2016-11-15",SubnetId:q.SubnetId};if(q.MapPublicIpOnLaunch!==void 0)z["MapPublicIpOnLaunch.Value"]=String(q.MapPublicIpOnLaunch.Value);await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()})}async createSecurityGroup(q){let z={Action:"CreateSecurityGroup",Version:"2016-11-15",GroupName:q.GroupName,GroupDescription:q.Description};if(q.VpcId)z.VpcId=q.VpcId;if(q.TagSpecifications)q.TagSpecifications.forEach((J,K)=>{z[`TagSpecification.${K+1}.ResourceType`]=J.ResourceType,J.Tags.forEach((L,M)=>{z[`TagSpecification.${K+1}.Tag.${M+1}.Key`]=L.Key,z[`TagSpecification.${K+1}.Tag.${M+1}.Value`]=L.Value})});let H=await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()});return{GroupId:(H.CreateSecurityGroupResponse||H).groupId}}async authorizeSecurityGroupIngress(q){let z={Action:"AuthorizeSecurityGroupIngress",Version:"2016-11-15",GroupId:q.GroupId};this.encodeIpPermissions(z,q.IpPermissions),await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()})}async authorizeSecurityGroupEgress(q){let z={Action:"AuthorizeSecurityGroupEgress",Version:"2016-11-15",GroupId:q.GroupId};this.encodeIpPermissions(z,q.IpPermissions),await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()})}async describeRouteTables(q){let z={Action:"DescribeRouteTables",Version:"2016-11-15"};if(q?.RouteTableIds)q.RouteTableIds.forEach((J,K)=>{z[`RouteTableId.${K+1}`]=J});if(q?.Filters)q.Filters.forEach((J,K)=>{z[`Filter.${K+1}.Name`]=J.Name,J.Values.forEach((L,M)=>{z[`Filter.${K+1}.Value.${M+1}`]=L})});let H=await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()}),G=H.DescribeRouteTablesResponse||H;return{RouteTables:this.parseArray(G.routeTableSet?.item).map((J)=>({RouteTableId:J.routeTableId,VpcId:J.vpcId,Routes:this.parseArray(J.routeSet?.item).map((K)=>({DestinationCidrBlock:K.destinationCidrBlock,GatewayId:K.gatewayId,NatGatewayId:K.natGatewayId,State:K.state})),Associations:this.parseArray(J.associationSet?.item).map((K)=>({RouteTableAssociationId:K.routeTableAssociationId,SubnetId:K.subnetId,Main:K.main==="true"||K.main===!0})),Tags:this.parseTags(J.tagSet?.item)}))}}async deleteVpc(q){let z={Action:"DeleteVpc",Version:"2016-11-15",VpcId:q};await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()})}async deleteSubnet(q){let z={Action:"DeleteSubnet",Version:"2016-11-15",SubnetId:q};await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()})}async deleteSecurityGroup(q){await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({Action:"DeleteSecurityGroup",Version:"2016-11-15",GroupId:q}).toString()})}async describeNetworkInterfaces(q){let z={Action:"DescribeNetworkInterfaces",Version:"2016-11-15"};if(q?.NetworkInterfaceIds)q.NetworkInterfaceIds.forEach((J,K)=>{z[`NetworkInterfaceId.${K+1}`]=J});if(q?.Filters)q.Filters.forEach((J,K)=>{z[`Filter.${K+1}.Name`]=J.Name,J.Values.forEach((L,M)=>{z[`Filter.${K+1}.Value.${M+1}`]=L})});let H=await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()}),G=H.DescribeNetworkInterfacesResponse||H;return{NetworkInterfaces:this.parseArray(G.networkInterfaceSet?.item).map((J)=>({NetworkInterfaceId:J.networkInterfaceId,SubnetId:J.subnetId,VpcId:J.vpcId,Status:J.status,Attachment:J.attachment?{AttachmentId:J.attachment.attachmentId,InstanceId:J.attachment.instanceId,Status:J.attachment.status}:void 0}))}}async detachNetworkInterface(q,z){let H={Action:"DetachNetworkInterface",Version:"2016-11-15",AttachmentId:q};if(z)H.Force="true";await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(H).toString()})}async deleteNetworkInterface(q){let z={Action:"DeleteNetworkInterface",Version:"2016-11-15",NetworkInterfaceId:q};await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()})}async describeRegions(){let q={Action:"DescribeRegions",Version:"2016-11-15"},z=await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(q).toString()}),H=z.DescribeRegionsResponse||z;return{Regions:this.parseArray(H.regionInfo?.item).map((G)=>({RegionName:G.regionName,Endpoint:G.regionEndpoint}))}}async runInstances(q){let z={Action:"RunInstances",Version:"2016-11-15",ImageId:q.ImageId,InstanceType:q.InstanceType,MinCount:String(q.MinCount),MaxCount:String(q.MaxCount)};if(q.SecurityGroupIds)q.SecurityGroupIds.forEach((J,K)=>{z[`SecurityGroupId.${K+1}`]=J});if(q.SubnetId)z.SubnetId=q.SubnetId;if(q.UserData)z.UserData=q.UserData;if(q.IamInstanceProfile){if(q.IamInstanceProfile.Name)z["IamInstanceProfile.Name"]=q.IamInstanceProfile.Name;if(q.IamInstanceProfile.Arn)z["IamInstanceProfile.Arn"]=q.IamInstanceProfile.Arn}if(q.TagSpecifications)q.TagSpecifications.forEach((J,K)=>{z[`TagSpecification.${K+1}.ResourceType`]=J.ResourceType,J.Tags.forEach((L,M)=>{z[`TagSpecification.${K+1}.Tag.${M+1}.Key`]=L.Key,z[`TagSpecification.${K+1}.Tag.${M+1}.Value`]=L.Value})});let H=await this.client.request({service:"ec2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(z).toString()}),G=H.RunInstancesResponse||H;return{Instances:this.parseInstances(G.instancesSet?.item||G.instancesSet)}}encodeIpPermissions(q,z){z.forEach((H,G)=>{let J=`IpPermissions.${G+1}`;if(H.IpProtocol!==void 0)q[`${J}.IpProtocol`]=H.IpProtocol;if(H.FromPort!==void 0)q[`${J}.FromPort`]=String(H.FromPort);if(H.ToPort!==void 0)q[`${J}.ToPort`]=String(H.ToPort);if(H.IpRanges)H.IpRanges.forEach((K,L)=>{if(K.CidrIp)q[`${J}.IpRanges.${L+1}.CidrIp`]=K.CidrIp;if(K.Description)q[`${J}.IpRanges.${L+1}.Description`]=K.Description});if(H.Ipv6Ranges)H.Ipv6Ranges.forEach((K,L)=>{if(K.CidrIpv6)q[`${J}.Ipv6Ranges.${L+1}.CidrIpv6`]=K.CidrIpv6;if(K.Description)q[`${J}.Ipv6Ranges.${L+1}.Description`]=K.Description});if(H.UserIdGroupPairs)H.UserIdGroupPairs.forEach((K,L)=>{if(K.GroupId)q[`${J}.Groups.${L+1}.GroupId`]=K.GroupId;if(K.UserId)q[`${J}.Groups.${L+1}.UserId`]=K.UserId;if(K.Description)q[`${J}.Groups.${L+1}.Description`]=K.Description})})}parseArray(q){if(!q)return[];return Array.isArray(q)?q:[q]}parseFirstIpv6Address(q){for(let z of this.parseArray(q))for(let H of this.parseArray(z?.ipv6AddressesSet?.item))if(H?.ipv6Address)return H.ipv6Address;return}parseTags(q){return this.parseArray(q).map((z)=>({Key:z.key,Value:z.value}))}parseReservations(q){return this.parseArray(q).map((z)=>({ReservationId:z.reservationId,Instances:this.parseInstances(z.instancesSet?.item||z.instancesSet)}))}parseInstances(q){return this.parseArray(q).map((z)=>({InstanceId:z.instanceId,ImageId:z.imageId,InstanceType:z.instanceType,State:z.instanceState?{Code:Number.parseInt(z.instanceState.code),Name:z.instanceState.name}:void 0,PrivateIpAddress:z.privateIpAddress,PublicIpAddress:z.ipAddress,Ipv6Address:this.parseFirstIpv6Address(z.networkInterfaceSet?.item),SubnetId:z.subnetId,VpcId:z.vpcId,SecurityGroups:this.parseArray(z.groupSet?.item).map((H)=>({GroupId:H.groupId,GroupName:H.groupName})),Tags:this.parseTags(z.tagSet?.item),LaunchTime:z.launchTime,Placement:z.placement?{AvailabilityZone:z.placement.availabilityZone,Tenancy:z.placement.tenancy}:void 0,Architecture:z.architecture,RootDeviceType:z.rootDeviceType,RootDeviceName:z.rootDeviceName,BlockDeviceMappings:this.parseArray(z.blockDeviceMapping?.item).map((H)=>({DeviceName:H.deviceName,Ebs:H.ebs?{VolumeId:H.ebs.volumeId,Status:H.ebs.status,AttachTime:H.ebs.attachTime,DeleteOnTermination:H.ebs.deleteOnTermination==="true"}:void 0})),IamInstanceProfile:z.iamInstanceProfile?{Arn:z.iamInstanceProfile.arn,Id:z.iamInstanceProfile.id}:void 0}))}parseIpPermissions(q){return this.parseArray(q).map((z)=>({IpProtocol:z.ipProtocol,FromPort:z.fromPort?Number.parseInt(z.fromPort):void 0,ToPort:z.toPort?Number.parseInt(z.toPort):void 0,IpRanges:this.parseArray(z.ipRanges?.item).map((H)=>({CidrIp:H.cidrIp,Description:H.description})),Ipv6Ranges:this.parseArray(z.ipv6Ranges?.item).map((H)=>({CidrIpv6:H.cidrIpv6,Description:H.description})),UserIdGroupPairs:this.parseArray(z.groups?.item).map((H)=>({GroupId:H.groupId,UserId:H.userId,Description:H.description}))}))}}class Z{client;region;constructor(q="us-east-1",z){this.region=q,this.client=new V}async putParameter(q){let z={Name:q.Name,Value:q.Value};if(q.Type)z.Type=q.Type;if(q.Description)z.Description=q.Description;if(q.KeyId)z.KeyId=q.KeyId;if(q.Overwrite!==void 0)z.Overwrite=q.Overwrite;if(q.AllowedPattern)z.AllowedPattern=q.AllowedPattern;if(q.Tags&&q.Tags.length>0)z.Tags=q.Tags;if(q.Tier)z.Tier=q.Tier;if(q.DataType)z.DataType=q.DataType;let H=await this.client.request({service:"ssm",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonSSM.PutParameter","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(z)});return{Version:H.Version,Tier:H.Tier}}async getParameter(q){let z={Name:q.Name};if(q.WithDecryption!==void 0)z.WithDecryption=q.WithDecryption;let H=await this.client.request({service:"ssm",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonSSM.GetParameter","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(z)});return{Parameter:H.Parameter?this.parseParameter(H.Parameter):void 0}}async getParameters(q){let z={Names:q.Names};if(q.WithDecryption!==void 0)z.WithDecryption=q.WithDecryption;let H=await this.client.request({service:"ssm",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonSSM.GetParameters","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(z)});return{Parameters:H.Parameters?.map((G)=>this.parseParameter(G)),InvalidParameters:H.InvalidParameters}}async getParametersByPath(q){let z={Path:q.Path};if(q.Recursive!==void 0)z.Recursive=q.Recursive;if(q.WithDecryption!==void 0)z.WithDecryption=q.WithDecryption;if(q.MaxResults)z.MaxResults=q.MaxResults;if(q.NextToken)z.NextToken=q.NextToken;if(q.ParameterFilters&&q.ParameterFilters.length>0)z.ParameterFilters=q.ParameterFilters;let H=await this.client.request({service:"ssm",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonSSM.GetParametersByPath","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(z)});return{Parameters:H.Parameters?.map((G)=>this.parseParameter(G)),NextToken:H.NextToken}}async deleteParameter(q){let z={Name:q.Name};await this.client.request({service:"ssm",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonSSM.DeleteParameter","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(z)})}async deleteParameters(q){let z={Names:q},H=await this.client.request({service:"ssm",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonSSM.DeleteParameters","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(z)});return{DeletedParameters:H.DeletedParameters,InvalidParameters:H.InvalidParameters}}async describeParameters(q){let z={};if(q?.Filters&&q.Filters.length>0)z.Filters=q.Filters;if(q?.ParameterFilters&&q.ParameterFilters.length>0)z.ParameterFilters=q.ParameterFilters;if(q?.MaxResults)z.MaxResults=q.MaxResults;if(q?.NextToken)z.NextToken=q.NextToken;let H=await this.client.request({service:"ssm",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonSSM.DescribeParameters","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(z)});return{Parameters:H.Parameters?.map((G)=>this.parseParameter(G)),NextToken:H.NextToken}}async getParameterHistory(q){let z={Name:q.Name};if(q.WithDecryption!==void 0)z.WithDecryption=q.WithDecryption;if(q.MaxResults)z.MaxResults=q.MaxResults;if(q.NextToken)z.NextToken=q.NextToken;let H=await this.client.request({service:"ssm",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonSSM.GetParameterHistory","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(z)});return{Parameters:H.Parameters?.map((G)=>({Name:G.Name,Type:G.Type,KeyId:G.KeyId,LastModifiedDate:G.LastModifiedDate,LastModifiedUser:G.LastModifiedUser,Description:G.Description,Value:G.Value,Version:G.Version,Labels:G.Labels,Tier:G.Tier})),NextToken:H.NextToken}}async labelParameterVersion(q){let z={Name:q.Name,Labels:q.Labels};if(q.ParameterVersion!==void 0)z.ParameterVersion=q.ParameterVersion;let H=await this.client.request({service:"ssm",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonSSM.LabelParameterVersion","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(z)});return{InvalidLabels:H.InvalidLabels,ParameterVersion:H.ParameterVersion}}async addTagsToResource(q){let z={ResourceType:q.ResourceType,ResourceId:q.ResourceId,Tags:q.Tags};await this.client.request({service:"ssm",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonSSM.AddTagsToResource","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(z)})}async removeTagsFromResource(q){let z={ResourceType:q.ResourceType,ResourceId:q.ResourceId,TagKeys:q.TagKeys};await this.client.request({service:"ssm",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonSSM.RemoveTagsFromResource","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(z)})}async listTagsForResource(q){let z={ResourceType:q.ResourceType,ResourceId:q.ResourceId};return{TagList:(await this.client.request({service:"ssm",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonSSM.ListTagsForResource","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(z)})).TagList}}async setString(q,z,H){return this.putParameter({Name:q,Value:z,Type:"String",Description:H?.description,Overwrite:H?.overwrite??!0,Tags:H?.tags})}async setSecureString(q,z,H){return this.putParameter({Name:q,Value:z,Type:"SecureString",Description:H?.description,Overwrite:H?.overwrite??!0,KeyId:H?.kmsKeyId,Tags:H?.tags})}async getValue(q){return(await this.getParameter({Name:q,WithDecryption:!0})).Parameter?.Value}async getAllByPath(q,z=!0){let H=[],G;do{let J=await this.getParametersByPath({Path:q,Recursive:z,WithDecryption:!0,NextToken:G});if(J.Parameters)H.push(...J.Parameters);G=J.NextToken}while(G);return H}parseParameter(q){return{Name:q.Name,Type:q.Type,Value:q.Value,Version:q.Version,LastModifiedDate:q.LastModifiedDate,ARN:q.ARN,DataType:q.DataType,Description:q.Description,AllowedPattern:q.AllowedPattern,KeyId:q.KeyId,Tier:q.Tier}}async sendCommand(q){if(!q.InstanceIds&&!q.Targets)throw Error("SendCommand requires either InstanceIds or Targets");let z={DocumentName:q.DocumentName};if(q.InstanceIds)z.InstanceIds=q.InstanceIds;if(q.Targets)z.Targets=q.Targets;if(q.Parameters)z.Parameters=q.Parameters;if(q.TimeoutSeconds)z.TimeoutSeconds=q.TimeoutSeconds;if(q.Comment)z.Comment=q.Comment;if(q.OutputS3BucketName)z.OutputS3BucketName=q.OutputS3BucketName;if(q.OutputS3KeyPrefix)z.OutputS3KeyPrefix=q.OutputS3KeyPrefix;let H=await this.client.request({service:"ssm",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonSSM.SendCommand","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(z)});return{CommandId:H.Command?.CommandId,Status:H.Command?.Status,StatusDetails:H.Command?.StatusDetails}}async getCommandInvocation(q){let z={CommandId:q.CommandId,InstanceId:q.InstanceId},H=await this.client.request({service:"ssm",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonSSM.GetCommandInvocation","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(z)});return{Status:H.Status,StatusDetails:H.StatusDetails,StandardOutputContent:H.StandardOutputContent,StandardErrorContent:H.StandardErrorContent,ResponseCode:H.ResponseCode}}async runShellCommand(q,z,H){let G=await this.sendCommand({InstanceIds:[q],DocumentName:"AWS-RunShellScript",Parameters:{commands:z},TimeoutSeconds:H?.timeoutSeconds||600});if(!G.CommandId)return{success:!1,error:"Failed to send command"};if(H?.waitForCompletion===!1)return{success:!0,status:"Pending"};let J=H?.pollIntervalMs||2000,K=H?.maxWaitMs||300000,L=Date.now();while(Date.now()-L<K){await new Promise((M)=>setTimeout(M,J));try{let M=await this.getCommandInvocation({CommandId:G.CommandId,InstanceId:q});if(M.Status==="Success")return{success:!0,output:M.StandardOutputContent,error:M.StandardErrorContent,status:M.Status};if(M.Status==="Failed"||M.Status==="Cancelled"||M.Status==="TimedOut")return{success:!1,output:M.StandardOutputContent,error:M.StandardErrorContent||M.StatusDetails,status:M.Status}}catch(M){if(!M.message?.includes("InvocationDoesNotExist"))return{success:!1,error:M.message}}}return{success:!1,error:"Command timed out waiting for completion"}}async listCommandInvocations(q){let z={CommandId:q.CommandId};if(q.Details)z.Details=!0;return((await this.client.request({service:"ssm",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonSSM.ListCommandInvocations","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(z)})).CommandInvocations||[]).map((J)=>({InstanceId:J.InstanceId,Status:J.Status,StatusDetails:J.StatusDetails,StandardOutputContent:J.CommandPlugins?.[0]?.Output,StandardErrorContent:J.CommandPlugins?.[0]?.StandardErrorUrl}))}async sendCommandByTags(q){let z=Object.entries(q.tags).map(([O,U])=>({Key:`tag:${O}`,Values:[U]})),H=await this.sendCommand({Targets:z,DocumentName:"AWS-RunShellScript",Parameters:{commands:q.commands},TimeoutSeconds:q.timeoutSeconds||600,Comment:q.comment});if(!H.CommandId)return{success:!1,instanceCount:0,perInstance:[],error:"Failed to send command"};let G=q.pollIntervalMs||3000,J=q.maxWaitMs||600000,K=Date.now(),L=new Set(["Success","Failed","Cancelled","TimedOut"]),M=[];while(Date.now()-K<J){await new Promise((O)=>setTimeout(O,G));try{if(M=await this.listCommandInvocations({CommandId:H.CommandId,Details:!0}),M.length===0)continue;if(M.every((U)=>L.has(U.Status||""))){let U=M.map((Q)=>({instanceId:Q.InstanceId,status:Q.Status||"Unknown",output:Q.StandardOutputContent,error:Q.StandardErrorContent||Q.StatusDetails})),X=M.every((Q)=>Q.Status==="Success");return{success:X,instanceCount:M.length,perInstance:U,error:X?void 0:"One or more instances reported a non-success status"}}}catch(O){if(!O.message?.includes("InvocationDoesNotExist"))return{success:!1,instanceCount:0,perInstance:[],error:O.message}}}return{success:!1,instanceCount:M.length,perInstance:M.map((O)=>({instanceId:O.InstanceId,status:O.Status||"Unknown"})),error:"Command timed out waiting for all instances to complete"}}}
4
- export{Y as Nh,Z as Oh};