@stacksjs/ts-cloud 0.9.3 → 0.10.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 (255) hide show
  1. package/dist/aws/index.js +1 -269
  2. package/dist/bin/chunk-08c0pzkb.js +1 -0
  3. package/dist/bin/chunk-12210qvj.js +1 -0
  4. package/dist/bin/chunk-1v6bt68w.js +6 -0
  5. package/dist/bin/chunk-35ttwn26.js +70 -0
  6. package/dist/bin/chunk-3r3be05z.js +1 -0
  7. package/dist/bin/chunk-41yqpdv7.js +2 -0
  8. package/dist/bin/chunk-5rv31chh.js +1 -0
  9. package/dist/bin/chunk-6eat8ezk.js +2 -0
  10. package/dist/bin/chunk-6gktf2m2.js +1 -0
  11. package/dist/bin/chunk-6zjy949y.js +141 -0
  12. package/dist/bin/chunk-7wzdaqh6.js +2 -0
  13. package/dist/bin/chunk-80ar3aty.js +1 -0
  14. package/dist/bin/chunk-8rwhsp5b.js +2 -0
  15. package/dist/bin/chunk-936vp7dx.js +44 -0
  16. package/dist/bin/chunk-9px3rg4a.js +4 -0
  17. package/dist/bin/chunk-anm3ae6z.js +7364 -0
  18. package/dist/bin/{chunk-ynjvbphf.js → chunk-axvr7dwa.js} +6 -6
  19. package/dist/bin/chunk-b0hj9m5e.js +2 -0
  20. package/dist/bin/{chunk-mh0kdzqp.js → chunk-b2ymh8k0.js} +1 -1
  21. package/dist/bin/chunk-b35989e3.js +50 -0
  22. package/dist/bin/chunk-c2b6nk0q.js +37 -0
  23. package/dist/bin/chunk-ckxpgwxw.js +3 -0
  24. package/dist/bin/chunk-d6zzgvtn.js +92 -0
  25. package/dist/bin/chunk-da8zpf82.js +1 -0
  26. package/dist/bin/chunk-ddmjjstg.js +1 -0
  27. package/dist/bin/chunk-dhhz4zyj.js +1 -0
  28. package/dist/bin/chunk-dj9a67c3.js +9 -0
  29. package/dist/bin/chunk-ds1z880f.js +1 -0
  30. package/dist/bin/chunk-dvkj4k6h.js +111 -0
  31. package/dist/bin/chunk-eh40fpvj.js +1 -0
  32. package/dist/bin/chunk-ey9fagrr.js +6 -0
  33. package/dist/bin/chunk-ezftw2q4.js +1 -0
  34. package/dist/bin/chunk-g6a4n3rh.js +1 -0
  35. package/dist/bin/chunk-g90nqfgv.js +585 -0
  36. package/dist/bin/chunk-gs40j75w.js +1 -0
  37. package/dist/bin/chunk-jjjts1vt.js +1 -0
  38. package/dist/bin/{chunk-ry030a6b.js → chunk-jnsbzqzz.js} +30 -30
  39. package/dist/bin/chunk-jnx4jgw8.js +1 -0
  40. package/dist/bin/chunk-jt1tndm2.js +3 -0
  41. package/dist/bin/chunk-kybdb0ws.js +2 -0
  42. package/dist/bin/chunk-m3nqw76h.js +3 -0
  43. package/dist/bin/chunk-mn6j22zn.js +6 -0
  44. package/dist/bin/chunk-nb0yjkv5.js +2 -0
  45. package/dist/bin/chunk-pjpa4x52.js +2 -0
  46. package/dist/bin/chunk-pkgkfe6s.js +2 -0
  47. package/dist/bin/chunk-pnz5hk8n.js +60 -0
  48. package/dist/bin/chunk-q46zr2tv.js +1 -0
  49. package/dist/bin/chunk-qtdngvs8.js +1 -0
  50. package/dist/bin/chunk-sbejksrh.js +2 -0
  51. package/dist/bin/chunk-svyd4v6c.js +34 -0
  52. package/dist/bin/chunk-tna7ay8d.js +1 -0
  53. package/dist/bin/chunk-tp4c2mv1.js +1 -0
  54. package/dist/bin/chunk-w5d6tr2x.js +1 -0
  55. package/dist/bin/chunk-wewcjam5.js +1 -0
  56. package/dist/bin/chunk-xv4bscrm.js +1 -0
  57. package/dist/bin/chunk-y9eyc5pw.js +1 -0
  58. package/dist/bin/chunk-y9f8649w.js +512 -0
  59. package/dist/bin/cli.js +428 -418
  60. package/dist/bin/dashboard-server.js +1 -1
  61. package/dist/chunk-06jk7ba9.js +7355 -0
  62. package/dist/chunk-0e16qt6k.js +5 -0
  63. package/dist/chunk-13hxhzaz.js +34 -0
  64. package/dist/chunk-2p89vt3b.js +2 -0
  65. package/dist/chunk-77t2ctwn.js +2 -0
  66. package/dist/chunk-88z37ey4.js +114 -0
  67. package/dist/chunk-8c4715hz.js +2 -0
  68. package/dist/chunk-9a22225r.js +60 -0
  69. package/dist/chunk-as6by62d.js +1 -0
  70. package/dist/chunk-cd0zpxhf.js +44 -0
  71. package/dist/chunk-cp54a0qn.js +6 -0
  72. package/dist/chunk-d67xbk4v.js +141 -0
  73. package/dist/chunk-dckz9xve.js +2 -0
  74. package/dist/chunk-e1666vjv.js +2 -0
  75. package/dist/chunk-hhdx5k96.js +442 -0
  76. package/dist/chunk-kv2ztkp4.js +1617 -0
  77. package/dist/chunk-nrz6zypg.js +1 -0
  78. package/dist/chunk-q816js1y.js +1 -0
  79. package/dist/chunk-qh9ep11z.js +704 -0
  80. package/dist/chunk-rg720cqg.js +1 -0
  81. package/dist/chunk-snak8s7m.js +92 -0
  82. package/dist/chunk-vq737g82.js +1 -0
  83. package/dist/chunk-xd6w0c11.js +50 -0
  84. package/dist/chunk-xtwjt370.js +37 -0
  85. package/dist/chunk-y26yh5zp.js +1 -0
  86. package/dist/chunk-zmxffmmq.js +4 -0
  87. package/dist/deploy/attach-credentials.d.ts +4 -8
  88. package/dist/deploy/index.js +1 -168
  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 -41
  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 -154
  97. package/dist/drivers/shared/compute-provision.d.ts +14 -2
  98. package/dist/drivers/shared/db-provision.d.ts +3 -2
  99. package/dist/drivers/shared/mail-provision.d.ts +116 -0
  100. package/dist/drivers/shared/mail-provision.test.d.ts +1 -0
  101. package/dist/drivers/shared/managed-services-probe.d.ts +47 -0
  102. package/dist/drivers/shared/managed-services-probe.test.d.ts +1 -0
  103. package/dist/drivers/shared/package-manager.d.ts +1 -0
  104. package/dist/drivers/shared/remote-failure.d.ts +21 -0
  105. package/dist/drivers/shared/remote-failure.test.d.ts +1 -0
  106. package/dist/drivers/shared/sqlite-shared-path.d.ts +50 -0
  107. package/dist/drivers/shared/sqlite-shared-path.test.d.ts +1 -0
  108. package/dist/index.d.ts +2 -0
  109. package/dist/index.js +100 -6129
  110. package/dist/operations/plan.d.ts +136 -0
  111. package/dist/operations/plan.test.d.ts +1 -0
  112. package/dist/operations/server-rename.d.ts +84 -0
  113. package/dist/operations/server-rename.test.d.ts +1 -0
  114. package/dist/operations/site-move.d.ts +263 -0
  115. package/dist/operations/site-move.test.d.ts +1 -0
  116. package/dist/protection/index.js +1 -89
  117. package/dist/push/index.js +1 -509
  118. package/dist/spend/index.js +1 -173
  119. package/dist/ui/404.html +1 -1
  120. package/dist/ui/accept-invitation.html +1 -1
  121. package/dist/ui/access-denied.html +1 -1
  122. package/dist/ui/account/automation.html +5 -5
  123. package/dist/ui/account/security.html +2 -2
  124. package/dist/ui/applications/compose.html +6 -6
  125. package/dist/ui/applications/new.html +2 -2
  126. package/dist/ui/data/backups.html +80 -80
  127. package/dist/ui/data/services.html +78 -78
  128. package/dist/ui/data/volumes.html +50 -50
  129. package/dist/ui/index.html +50 -50
  130. package/dist/ui/infrastructure/topology.html +118 -118
  131. package/dist/ui/integrations.html +1 -1
  132. package/dist/ui/operations/alerts.html +47 -47
  133. package/dist/ui/operations/configuration.html +5 -5
  134. package/dist/ui/operations/jobs.html +76 -76
  135. package/dist/ui/operations/maintenance.html +6 -6
  136. package/dist/ui/operations/observability.html +82 -82
  137. package/dist/ui/operations/previews.html +5 -5
  138. package/dist/ui/operations/queue.html +6 -6
  139. package/dist/ui/operations/regions.html +6 -6
  140. package/dist/ui/operations/releases.html +6 -6
  141. package/dist/ui/operations/spend.html +54 -54
  142. package/dist/ui/operations/workloads.html +104 -104
  143. package/dist/ui/security.html +2 -2
  144. package/dist/ui/server/actions.html +56 -56
  145. package/dist/ui/server/activity.html +1 -1
  146. package/dist/ui/server/capacity.html +6 -6
  147. package/dist/ui/server/database.html +106 -106
  148. package/dist/ui/server/deployments.html +50 -50
  149. package/dist/ui/server/diagnostics.html +2 -2
  150. package/dist/ui/server/firewall.html +76 -76
  151. package/dist/ui/server/fleet.html +34 -34
  152. package/dist/ui/server/logs.html +24 -24
  153. package/dist/ui/server/metrics.html +112 -112
  154. package/dist/ui/server/security.html +1 -1
  155. package/dist/ui/server/services.html +27 -27
  156. package/dist/ui/server/sites.html +120 -120
  157. package/dist/ui/server/ssh-keys.html +51 -51
  158. package/dist/ui/server/team.html +144 -144
  159. package/dist/ui/server/terminal.html +15 -15
  160. package/dist/ui/serverless/alarms.html +52 -52
  161. package/dist/ui/serverless/assets.html +27 -27
  162. package/dist/ui/serverless/cost.html +2 -2
  163. package/dist/ui/serverless/data.html +36 -36
  164. package/dist/ui/serverless/deployments.html +27 -27
  165. package/dist/ui/serverless/firewall.html +1 -1
  166. package/dist/ui/serverless/functions.html +40 -40
  167. package/dist/ui/serverless/logs.html +24 -24
  168. package/dist/ui/serverless/metrics.html +2 -2
  169. package/dist/ui/serverless/queues.html +47 -47
  170. package/dist/ui/serverless/secrets.html +52 -52
  171. package/dist/ui/serverless/traces.html +6 -6
  172. package/dist/ui/serverless.html +54 -54
  173. package/dist/ui-src/src/charts.ts +17499 -12662
  174. package/dist/ui-src/src/topology.ts +2 -2
  175. package/package.json +3 -3
  176. package/dist/bin/chunk-09nwf2gy.js +0 -34
  177. package/dist/bin/chunk-14cwr6eh.js +0 -70
  178. package/dist/bin/chunk-271gk1n2.js +0 -6
  179. package/dist/bin/chunk-38pq971s.js +0 -2
  180. package/dist/bin/chunk-3gykfyq4.js +0 -37
  181. package/dist/bin/chunk-3r4fb59r.js +0 -3
  182. package/dist/bin/chunk-41x17hw1.js +0 -1
  183. package/dist/bin/chunk-4vrqm9h0.js +0 -2
  184. package/dist/bin/chunk-57y1zxbf.js +0 -3
  185. package/dist/bin/chunk-598yf4bs.js +0 -1
  186. package/dist/bin/chunk-8v7ddyvf.js +0 -1
  187. package/dist/bin/chunk-92mea34a.js +0 -1
  188. package/dist/bin/chunk-9pvsff8g.js +0 -1
  189. package/dist/bin/chunk-9v39615t.js +0 -1
  190. package/dist/bin/chunk-avm7tnwe.js +0 -1
  191. package/dist/bin/chunk-ax9mr6wm.js +0 -44
  192. package/dist/bin/chunk-axhnkn5g.js +0 -2
  193. package/dist/bin/chunk-b5gd39s8.js +0 -512
  194. package/dist/bin/chunk-b9qbp8j1.js +0 -1
  195. package/dist/bin/chunk-bz828v8q.js +0 -3
  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-dwr30vbv.js +0 -1
  200. package/dist/bin/chunk-e3xrwh9z.js +0 -1
  201. package/dist/bin/chunk-fhc6ntvd.js +0 -2
  202. package/dist/bin/chunk-fpm59y25.js +0 -6
  203. package/dist/bin/chunk-fvbxvq6b.js +0 -1
  204. package/dist/bin/chunk-fy8j3y8p.js +0 -92
  205. package/dist/bin/chunk-fz21b57w.js +0 -1
  206. package/dist/bin/chunk-gavvf0pg.js +0 -141
  207. package/dist/bin/chunk-ggn7ax8p.js +0 -4
  208. package/dist/bin/chunk-gpe2prkm.js +0 -1
  209. package/dist/bin/chunk-gqf6jsmy.js +0 -1
  210. package/dist/bin/chunk-h5pa5men.js +0 -2
  211. package/dist/bin/chunk-hm08xdxf.js +0 -2
  212. package/dist/bin/chunk-hzgz13nf.js +0 -1
  213. package/dist/bin/chunk-hzqw8xm5.js +0 -111
  214. package/dist/bin/chunk-j703btc5.js +0 -50
  215. package/dist/bin/chunk-jpjamjey.js +0 -6935
  216. package/dist/bin/chunk-m2zwtapr.js +0 -1
  217. package/dist/bin/chunk-m669wtgr.js +0 -1
  218. package/dist/bin/chunk-mr0atd2s.js +0 -2
  219. package/dist/bin/chunk-ngcyftm2.js +0 -1
  220. package/dist/bin/chunk-p66ptpmr.js +0 -2
  221. package/dist/bin/chunk-p8q9bq9g.js +0 -1
  222. package/dist/bin/chunk-r3kv0vm9.js +0 -6
  223. package/dist/bin/chunk-r9hjwcj9.js +0 -6
  224. package/dist/bin/chunk-rtczra13.js +0 -1
  225. package/dist/bin/chunk-rytk89az.js +0 -60
  226. package/dist/bin/chunk-sgyffpgm.js +0 -581
  227. package/dist/bin/chunk-vek8a0w6.js +0 -1
  228. package/dist/bin/chunk-waayf9ay.js +0 -2
  229. package/dist/bin/chunk-yv9sth30.js +0 -1
  230. package/dist/chunk-01d86gt1.js +0 -1324
  231. package/dist/chunk-050r7ycy.js +0 -46516
  232. package/dist/chunk-1c8dbv57.js +0 -7278
  233. package/dist/chunk-29rse4p1.js +0 -12203
  234. package/dist/chunk-32e7ya18.js +0 -642
  235. package/dist/chunk-4cjrg98a.js +0 -597
  236. package/dist/chunk-50jpda9q.js +0 -371
  237. package/dist/chunk-6a1t7fnq.js +0 -12121
  238. package/dist/chunk-728jvrr0.js +0 -1701
  239. package/dist/chunk-7m60qnc8.js +0 -1762
  240. package/dist/chunk-aa2dkn7b.js +0 -205
  241. package/dist/chunk-d48vtdj4.js +0 -433
  242. package/dist/chunk-f55nkpvb.js +0 -8
  243. package/dist/chunk-fgk8cqew.js +0 -152
  244. package/dist/chunk-he9a874b.js +0 -769
  245. package/dist/chunk-k2yyatfw.js +0 -10
  246. package/dist/chunk-k4px0bnv.js +0 -23
  247. package/dist/chunk-nsgqsmrh.js +0 -1779
  248. package/dist/chunk-q0st3se8.js +0 -42033
  249. package/dist/chunk-qr803fye.js +0 -2122
  250. package/dist/chunk-rds0sy87.js +0 -1771
  251. package/dist/chunk-ttz2ra5j.js +0 -12
  252. package/dist/chunk-v0bahtg2.js +0 -4
  253. package/dist/chunk-va2yd85b.js +0 -200
  254. package/dist/chunk-x9s0cqfx.js +0 -13
  255. package/dist/chunk-zqtpg06c.js +0 -1752
@@ -1,371 +0,0 @@
1
- import {
2
- AWSClient
3
- } from "./chunk-zqtpg06c.js";
4
-
5
- // src/aws/ecr.ts
6
- class ECRClient {
7
- client;
8
- region;
9
- constructor(region = "us-east-1", profile) {
10
- this.region = region;
11
- this.client = new AWSClient(undefined, { profile });
12
- }
13
- async createRepository(options) {
14
- const params = {
15
- repositoryName: options.repositoryName
16
- };
17
- if (options.imageTagMutability) {
18
- params.imageTagMutability = options.imageTagMutability;
19
- }
20
- if (options.imageScanningConfiguration) {
21
- params.imageScanningConfiguration = options.imageScanningConfiguration;
22
- }
23
- if (options.encryptionConfiguration) {
24
- params.encryptionConfiguration = options.encryptionConfiguration;
25
- }
26
- if (options.tags && options.tags.length > 0) {
27
- params.tags = options.tags;
28
- }
29
- const result = await this.client.request({
30
- service: "ecr",
31
- region: this.region,
32
- method: "POST",
33
- path: "/",
34
- headers: {
35
- "X-Amz-Target": "AmazonEC2ContainerRegistry_V20150921.CreateRepository",
36
- "Content-Type": "application/x-amz-json-1.1"
37
- },
38
- body: JSON.stringify(params)
39
- });
40
- return {
41
- repository: result.repository ? this.parseRepository(result.repository) : undefined
42
- };
43
- }
44
- async describeRepositories(options) {
45
- const params = {};
46
- if (options?.repositoryNames && options.repositoryNames.length > 0) {
47
- params.repositoryNames = options.repositoryNames;
48
- }
49
- if (options?.registryId) {
50
- params.registryId = options.registryId;
51
- }
52
- if (options?.maxResults) {
53
- params.maxResults = options.maxResults;
54
- }
55
- if (options?.nextToken) {
56
- params.nextToken = options.nextToken;
57
- }
58
- const result = await this.client.request({
59
- service: "ecr",
60
- region: this.region,
61
- method: "POST",
62
- path: "/",
63
- headers: {
64
- "X-Amz-Target": "AmazonEC2ContainerRegistry_V20150921.DescribeRepositories",
65
- "Content-Type": "application/x-amz-json-1.1"
66
- },
67
- body: JSON.stringify(params)
68
- });
69
- return {
70
- repositories: result.repositories?.map((repo) => this.parseRepository(repo)),
71
- nextToken: result.nextToken
72
- };
73
- }
74
- async getAuthorizationToken(registryIds) {
75
- const params = {};
76
- if (registryIds && registryIds.length > 0) {
77
- params.registryIds = registryIds;
78
- }
79
- const result = await this.client.request({
80
- service: "ecr",
81
- region: this.region,
82
- method: "POST",
83
- path: "/",
84
- headers: {
85
- "X-Amz-Target": "AmazonEC2ContainerRegistry_V20150921.GetAuthorizationToken",
86
- "Content-Type": "application/x-amz-json-1.1"
87
- },
88
- body: JSON.stringify(params)
89
- });
90
- return {
91
- authorizationData: result.authorizationData?.map((auth) => ({
92
- authorizationToken: auth.authorizationToken,
93
- expiresAt: auth.expiresAt,
94
- proxyEndpoint: auth.proxyEndpoint
95
- }))
96
- };
97
- }
98
- async deleteRepository(options) {
99
- const params = {
100
- repositoryName: options.repositoryName
101
- };
102
- if (options.registryId) {
103
- params.registryId = options.registryId;
104
- }
105
- if (options.force !== undefined) {
106
- params.force = options.force;
107
- }
108
- const result = await this.client.request({
109
- service: "ecr",
110
- region: this.region,
111
- method: "POST",
112
- path: "/",
113
- headers: {
114
- "X-Amz-Target": "AmazonEC2ContainerRegistry_V20150921.DeleteRepository",
115
- "Content-Type": "application/x-amz-json-1.1"
116
- },
117
- body: JSON.stringify(params)
118
- });
119
- return {
120
- repository: result.repository ? this.parseRepository(result.repository) : undefined
121
- };
122
- }
123
- async describeImages(options) {
124
- const params = {
125
- repositoryName: options.repositoryName
126
- };
127
- if (options.registryId) {
128
- params.registryId = options.registryId;
129
- }
130
- if (options.imageIds && options.imageIds.length > 0) {
131
- params.imageIds = options.imageIds;
132
- }
133
- if (options.filter) {
134
- params.filter = options.filter;
135
- }
136
- if (options.maxResults) {
137
- params.maxResults = options.maxResults;
138
- }
139
- if (options.nextToken) {
140
- params.nextToken = options.nextToken;
141
- }
142
- const result = await this.client.request({
143
- service: "ecr",
144
- region: this.region,
145
- method: "POST",
146
- path: "/",
147
- headers: {
148
- "X-Amz-Target": "AmazonEC2ContainerRegistry_V20150921.DescribeImages",
149
- "Content-Type": "application/x-amz-json-1.1"
150
- },
151
- body: JSON.stringify(params)
152
- });
153
- return {
154
- imageDetails: result.imageDetails?.map((img) => this.parseImageDetail(img)),
155
- nextToken: result.nextToken
156
- };
157
- }
158
- async batchDeleteImage(options) {
159
- const params = {
160
- repositoryName: options.repositoryName,
161
- imageIds: options.imageIds
162
- };
163
- if (options.registryId) {
164
- params.registryId = options.registryId;
165
- }
166
- const result = await this.client.request({
167
- service: "ecr",
168
- region: this.region,
169
- method: "POST",
170
- path: "/",
171
- headers: {
172
- "X-Amz-Target": "AmazonEC2ContainerRegistry_V20150921.BatchDeleteImage",
173
- "Content-Type": "application/x-amz-json-1.1"
174
- },
175
- body: JSON.stringify(params)
176
- });
177
- return {
178
- imageIds: result.imageIds,
179
- failures: result.failures
180
- };
181
- }
182
- async putLifecyclePolicy(options) {
183
- const params = {
184
- repositoryName: options.repositoryName,
185
- lifecyclePolicyText: options.lifecyclePolicyText
186
- };
187
- if (options.registryId) {
188
- params.registryId = options.registryId;
189
- }
190
- const result = await this.client.request({
191
- service: "ecr",
192
- region: this.region,
193
- method: "POST",
194
- path: "/",
195
- headers: {
196
- "X-Amz-Target": "AmazonEC2ContainerRegistry_V20150921.PutLifecyclePolicy",
197
- "Content-Type": "application/x-amz-json-1.1"
198
- },
199
- body: JSON.stringify(params)
200
- });
201
- return {
202
- registryId: result.registryId,
203
- repositoryName: result.repositoryName,
204
- lifecyclePolicyText: result.lifecyclePolicyText
205
- };
206
- }
207
- async getLifecyclePolicy(options) {
208
- const params = {
209
- repositoryName: options.repositoryName
210
- };
211
- if (options.registryId) {
212
- params.registryId = options.registryId;
213
- }
214
- const result = await this.client.request({
215
- service: "ecr",
216
- region: this.region,
217
- method: "POST",
218
- path: "/",
219
- headers: {
220
- "X-Amz-Target": "AmazonEC2ContainerRegistry_V20150921.GetLifecyclePolicy",
221
- "Content-Type": "application/x-amz-json-1.1"
222
- },
223
- body: JSON.stringify(params)
224
- });
225
- return {
226
- registryId: result.registryId,
227
- repositoryName: result.repositoryName,
228
- lifecyclePolicyText: result.lifecyclePolicyText,
229
- lastEvaluatedAt: result.lastEvaluatedAt
230
- };
231
- }
232
- async setRepositoryPolicy(options) {
233
- const params = {
234
- repositoryName: options.repositoryName,
235
- policyText: options.policyText
236
- };
237
- if (options.registryId) {
238
- params.registryId = options.registryId;
239
- }
240
- if (options.force !== undefined) {
241
- params.force = options.force;
242
- }
243
- const result = await this.client.request({
244
- service: "ecr",
245
- region: this.region,
246
- method: "POST",
247
- path: "/",
248
- headers: {
249
- "X-Amz-Target": "AmazonEC2ContainerRegistry_V20150921.SetRepositoryPolicy",
250
- "Content-Type": "application/x-amz-json-1.1"
251
- },
252
- body: JSON.stringify(params)
253
- });
254
- return {
255
- registryId: result.registryId,
256
- repositoryName: result.repositoryName,
257
- policyText: result.policyText
258
- };
259
- }
260
- async getRepositoryPolicy(options) {
261
- const params = {
262
- repositoryName: options.repositoryName
263
- };
264
- if (options.registryId) {
265
- params.registryId = options.registryId;
266
- }
267
- const result = await this.client.request({
268
- service: "ecr",
269
- region: this.region,
270
- method: "POST",
271
- path: "/",
272
- headers: {
273
- "X-Amz-Target": "AmazonEC2ContainerRegistry_V20150921.GetRepositoryPolicy",
274
- "Content-Type": "application/x-amz-json-1.1"
275
- },
276
- body: JSON.stringify(params)
277
- });
278
- return {
279
- registryId: result.registryId,
280
- repositoryName: result.repositoryName,
281
- policyText: result.policyText
282
- };
283
- }
284
- async tagResource(options) {
285
- const params = {
286
- resourceArn: options.resourceArn,
287
- tags: options.tags
288
- };
289
- await this.client.request({
290
- service: "ecr",
291
- region: this.region,
292
- method: "POST",
293
- path: "/",
294
- headers: {
295
- "X-Amz-Target": "AmazonEC2ContainerRegistry_V20150921.TagResource",
296
- "Content-Type": "application/x-amz-json-1.1"
297
- },
298
- body: JSON.stringify(params)
299
- });
300
- }
301
- async listTagsForResource(resourceArn) {
302
- const params = {
303
- resourceArn
304
- };
305
- const result = await this.client.request({
306
- service: "ecr",
307
- region: this.region,
308
- method: "POST",
309
- path: "/",
310
- headers: {
311
- "X-Amz-Target": "AmazonEC2ContainerRegistry_V20150921.ListTagsForResource",
312
- "Content-Type": "application/x-amz-json-1.1"
313
- },
314
- body: JSON.stringify(params)
315
- });
316
- return {
317
- tags: result.tags
318
- };
319
- }
320
- createLifecyclePolicyText(rules) {
321
- return JSON.stringify({
322
- rules: rules.map((rule) => ({
323
- rulePriority: rule.rulePriority,
324
- description: rule.description,
325
- selection: rule.selection,
326
- action: rule.action
327
- }))
328
- });
329
- }
330
- async getDockerLoginCommand() {
331
- const authResult = await this.getAuthorizationToken();
332
- if (!authResult.authorizationData?.[0]) {
333
- throw new Error("Failed to get authorization token");
334
- }
335
- const auth = authResult.authorizationData[0];
336
- const token = auth.authorizationToken || "";
337
- const endpoint = auth.proxyEndpoint || "";
338
- const decoded = Buffer.from(token, "base64").toString("utf8");
339
- const password = decoded.split(":")[1];
340
- return `echo "${password}" | docker login --username AWS --password-stdin ${endpoint}`;
341
- }
342
- getRegistryUri(accountId) {
343
- return `${accountId}.dkr.ecr.${this.region}.amazonaws.com`;
344
- }
345
- parseRepository(repo) {
346
- return {
347
- repositoryArn: repo.repositoryArn,
348
- registryId: repo.registryId,
349
- repositoryName: repo.repositoryName,
350
- repositoryUri: repo.repositoryUri,
351
- createdAt: repo.createdAt,
352
- imageTagMutability: repo.imageTagMutability,
353
- imageScanningConfiguration: repo.imageScanningConfiguration,
354
- encryptionConfiguration: repo.encryptionConfiguration
355
- };
356
- }
357
- parseImageDetail(img) {
358
- return {
359
- registryId: img.registryId,
360
- repositoryName: img.repositoryName,
361
- imageDigest: img.imageDigest,
362
- imageTags: img.imageTags,
363
- imageSizeInBytes: img.imageSizeInBytes,
364
- imagePushedAt: img.imagePushedAt,
365
- imageScanStatus: img.imageScanStatus,
366
- imageScanFindingsSummary: img.imageScanFindingsSummary
367
- };
368
- }
369
- }
370
-
371
- export { ECRClient };