heroku 9.0.0-alpha.1 → 9.0.0-alpha.2

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 (522) hide show
  1. package/README.md +6 -11
  2. package/lib/commands/access/add.d.ts +14 -0
  3. package/lib/commands/access/add.js +55 -0
  4. package/lib/commands/access/index.d.ts +11 -0
  5. package/lib/commands/access/index.js +86 -0
  6. package/lib/commands/access/remove.d.ts +12 -0
  7. package/lib/commands/access/remove.js +25 -0
  8. package/lib/commands/access/update.d.ts +14 -0
  9. package/lib/commands/access/update.js +39 -0
  10. package/lib/commands/addons/attach.d.ts +16 -0
  11. package/lib/commands/addons/attach.js +51 -0
  12. package/lib/commands/addons/create.d.ts +19 -0
  13. package/lib/commands/addons/create.js +84 -0
  14. package/lib/commands/addons/destroy.d.ts +19 -0
  15. package/lib/commands/addons/destroy.js +61 -0
  16. package/lib/commands/addons/detach.d.ts +13 -0
  17. package/lib/commands/addons/detach.js +31 -0
  18. package/lib/commands/addons/docs.d.ts +14 -0
  19. package/lib/commands/addons/docs.js +36 -0
  20. package/lib/commands/addons/index.d.ts +16 -0
  21. package/lib/commands/addons/index.js +246 -0
  22. package/lib/commands/addons/info.d.ts +14 -0
  23. package/lib/commands/addons/info.js +44 -0
  24. package/lib/commands/addons/open.d.ts +75 -0
  25. package/lib/commands/addons/open.js +87 -0
  26. package/lib/commands/addons/plans.d.ts +12 -0
  27. package/lib/commands/addons/plans.js +47 -0
  28. package/lib/commands/addons/rename.d.ts +10 -0
  29. package/lib/commands/addons/rename.js +20 -0
  30. package/lib/commands/addons/services.d.ts +9 -0
  31. package/lib/commands/addons/services.js +34 -0
  32. package/lib/commands/addons/upgrade.d.ts +28 -0
  33. package/lib/commands/addons/upgrade.js +145 -0
  34. package/lib/commands/addons/wait.d.ts +14 -0
  35. package/lib/commands/addons/wait.js +70 -0
  36. package/lib/commands/apps/create.d.ts +2 -2
  37. package/lib/commands/apps/create.js +13 -6
  38. package/lib/commands/apps/destroy.d.ts +2 -1
  39. package/lib/commands/apps/destroy.js +4 -3
  40. package/lib/commands/apps/errors.d.ts +1 -0
  41. package/lib/commands/apps/errors.js +1 -0
  42. package/lib/commands/apps/favorites/add.d.ts +1 -0
  43. package/lib/commands/apps/favorites/add.js +1 -0
  44. package/lib/commands/apps/favorites/remove.d.ts +1 -0
  45. package/lib/commands/apps/favorites/remove.js +1 -0
  46. package/lib/commands/apps/index.d.ts +1 -1
  47. package/lib/commands/apps/index.js +1 -1
  48. package/lib/commands/apps/info.d.ts +2 -1
  49. package/lib/commands/apps/info.js +3 -4
  50. package/lib/commands/apps/join.d.ts +11 -0
  51. package/lib/commands/apps/join.js +25 -0
  52. package/lib/commands/apps/leave.d.ts +12 -0
  53. package/lib/commands/apps/leave.js +25 -0
  54. package/lib/commands/apps/lock.d.ts +11 -0
  55. package/lib/commands/apps/lock.js +30 -0
  56. package/lib/commands/apps/open.d.ts +2 -1
  57. package/lib/commands/apps/open.js +2 -1
  58. package/lib/commands/apps/rename.d.ts +2 -1
  59. package/lib/commands/apps/rename.js +2 -1
  60. package/lib/commands/apps/stacks/index.d.ts +2 -1
  61. package/lib/commands/apps/stacks/index.js +2 -1
  62. package/lib/commands/apps/stacks/set.d.ts +1 -1
  63. package/lib/commands/apps/stacks/set.js +1 -1
  64. package/lib/commands/apps/transfer.d.ts +17 -0
  65. package/lib/commands/apps/transfer.js +91 -0
  66. package/lib/commands/apps/unlock.d.ts +11 -0
  67. package/lib/commands/apps/unlock.js +30 -0
  68. package/lib/commands/auth/token.js +2 -1
  69. package/lib/commands/authorizations/create.js +5 -1
  70. package/lib/commands/authorizations/info.js +5 -1
  71. package/lib/commands/authorizations/revoke.js +5 -1
  72. package/lib/commands/authorizations/rotate.js +5 -1
  73. package/lib/commands/authorizations/update.js +5 -1
  74. package/lib/commands/autocomplete/doctor.js +2 -2
  75. package/lib/commands/autocomplete/options.js +2 -2
  76. package/lib/commands/certs/add.d.ts +16 -0
  77. package/lib/commands/certs/add.js +98 -0
  78. package/lib/commands/certs/auto/disable.d.ts +11 -0
  79. package/lib/commands/certs/auto/disable.js +34 -0
  80. package/lib/commands/certs/auto/enable.d.ts +11 -0
  81. package/lib/commands/certs/auto/enable.js +51 -0
  82. package/lib/commands/certs/auto/index.d.ts +12 -0
  83. package/lib/commands/certs/auto/index.js +94 -0
  84. package/lib/commands/certs/auto/refresh.d.ts +10 -0
  85. package/lib/commands/certs/auto/refresh.js +19 -0
  86. package/lib/commands/certs/generate.d.ts +26 -0
  87. package/lib/commands/certs/generate.js +111 -0
  88. package/lib/commands/certs/index.d.ts +10 -0
  89. package/lib/commands/certs/index.js +26 -0
  90. package/lib/commands/certs/info.d.ts +13 -0
  91. package/lib/commands/certs/info.js +43 -0
  92. package/lib/commands/certs/remove.d.ts +13 -0
  93. package/lib/commands/certs/remove.js +32 -0
  94. package/lib/commands/certs/update.d.ts +18 -0
  95. package/lib/commands/certs/update.js +54 -0
  96. package/lib/commands/ci/config/get.d.ts +1 -0
  97. package/lib/commands/ci/config/get.js +1 -0
  98. package/lib/commands/ci/config/set.d.ts +1 -0
  99. package/lib/commands/ci/config/set.js +1 -0
  100. package/lib/commands/ci/config/unset.d.ts +1 -0
  101. package/lib/commands/ci/config/unset.js +1 -0
  102. package/lib/commands/ci/index.d.ts +1 -0
  103. package/lib/commands/ci/index.js +1 -0
  104. package/lib/commands/ci/info.d.ts +1 -0
  105. package/lib/commands/ci/info.js +1 -0
  106. package/lib/commands/ci/last.d.ts +1 -0
  107. package/lib/commands/ci/last.js +1 -0
  108. package/lib/commands/ci/open.d.ts +1 -0
  109. package/lib/commands/ci/open.js +1 -0
  110. package/lib/commands/ci/rerun.d.ts +1 -0
  111. package/lib/commands/ci/rerun.js +1 -0
  112. package/lib/commands/config/set.d.ts +2 -1
  113. package/lib/commands/config/set.js +2 -1
  114. package/lib/commands/container/index.d.ts +6 -0
  115. package/lib/commands/container/index.js +13 -0
  116. package/lib/commands/container/login.d.ts +9 -0
  117. package/lib/commands/container/login.js +57 -0
  118. package/lib/commands/container/logout.d.ts +9 -0
  119. package/lib/commands/container/logout.js +37 -0
  120. package/lib/commands/container/pull.d.ts +14 -0
  121. package/lib/commands/container/pull.js +40 -0
  122. package/lib/commands/container/push.d.ts +16 -0
  123. package/lib/commands/container/push.js +101 -0
  124. package/lib/commands/container/release.d.ts +14 -0
  125. package/lib/commands/container/release.js +89 -0
  126. package/lib/commands/container/rm.d.ts +13 -0
  127. package/lib/commands/container/rm.js +36 -0
  128. package/lib/commands/container/run.d.ts +15 -0
  129. package/lib/commands/container/run.js +63 -0
  130. package/lib/commands/dashboard.d.ts +7 -0
  131. package/lib/commands/dashboard.js +164 -0
  132. package/lib/commands/domains/index.d.ts +2 -2
  133. package/lib/commands/drains/add.d.ts +1 -0
  134. package/lib/commands/drains/add.js +1 -0
  135. package/lib/commands/drains/index.d.ts +1 -0
  136. package/lib/commands/drains/index.js +1 -0
  137. package/lib/commands/drains/remove.d.ts +1 -0
  138. package/lib/commands/drains/remove.js +1 -0
  139. package/lib/commands/features/disable.d.ts +12 -0
  140. package/lib/commands/features/disable.js +30 -0
  141. package/lib/commands/features/enable.d.ts +12 -0
  142. package/lib/commands/features/enable.js +29 -0
  143. package/lib/commands/features/index.d.ts +10 -0
  144. package/lib/commands/features/index.js +37 -0
  145. package/lib/commands/features/info.d.ts +13 -0
  146. package/lib/commands/features/info.js +33 -0
  147. package/lib/commands/keys/add.d.ts +14 -0
  148. package/lib/commands/keys/add.js +101 -0
  149. package/lib/commands/keys/clear.d.ts +5 -0
  150. package/lib/commands/keys/clear.js +17 -0
  151. package/lib/commands/keys/index.d.ts +9 -0
  152. package/lib/commands/keys/index.js +36 -0
  153. package/lib/commands/keys/remove.d.ts +9 -0
  154. package/lib/commands/keys/remove.js +29 -0
  155. package/lib/commands/labs/enable.d.ts +13 -0
  156. package/lib/commands/labs/enable.js +47 -0
  157. package/lib/commands/labs/index.d.ts +11 -0
  158. package/lib/commands/labs/index.js +71 -0
  159. package/lib/commands/labs/info.d.ts +14 -0
  160. package/lib/commands/labs/info.js +49 -0
  161. package/lib/commands/local/index.d.ts +1 -1
  162. package/lib/commands/local/index.js +8 -3
  163. package/lib/commands/local/run.d.ts +1 -1
  164. package/lib/commands/local/run.js +8 -3
  165. package/lib/commands/maintenance/index.d.ts +10 -0
  166. package/lib/commands/maintenance/index.js +19 -0
  167. package/lib/commands/maintenance/off.d.ts +10 -0
  168. package/lib/commands/maintenance/off.js +20 -0
  169. package/lib/commands/maintenance/on.d.ts +10 -0
  170. package/lib/commands/maintenance/on.js +20 -0
  171. package/lib/commands/members/add.d.ts +13 -0
  172. package/lib/commands/members/add.js +33 -0
  173. package/lib/commands/members/index.d.ts +12 -0
  174. package/lib/commands/members/index.js +76 -0
  175. package/lib/commands/members/remove.d.ts +10 -0
  176. package/lib/commands/members/remove.js +58 -0
  177. package/lib/commands/members/set.d.ts +11 -0
  178. package/lib/commands/members/set.js +21 -0
  179. package/lib/commands/notifications/index.d.ts +13 -0
  180. package/lib/commands/notifications/index.js +62 -0
  181. package/lib/commands/orgs/index.d.ts +11 -0
  182. package/lib/commands/orgs/index.js +27 -0
  183. package/lib/commands/orgs/open.d.ts +10 -0
  184. package/lib/commands/orgs/open.js +24 -0
  185. package/lib/commands/pg/backups/cancel.d.ts +15 -0
  186. package/lib/commands/pg/backups/cancel.js +49 -0
  187. package/lib/commands/pg/backups/capture.d.ts +15 -0
  188. package/lib/commands/pg/backups/capture.js +65 -0
  189. package/lib/commands/pg/backups/delete.d.ts +15 -0
  190. package/lib/commands/pg/backups/delete.js +38 -0
  191. package/lib/commands/pg/backups/download.d.ts +14 -0
  192. package/lib/commands/pg/backups/download.js +58 -0
  193. package/lib/commands/pg/backups/index.d.ts +20 -0
  194. package/lib/commands/pg/backups/index.js +129 -0
  195. package/lib/commands/pg/backups/info.d.ts +17 -0
  196. package/lib/commands/pg/backups/info.js +92 -0
  197. package/lib/commands/pg/backups/restore.d.ts +19 -0
  198. package/lib/commands/pg/backups/restore.js +107 -0
  199. package/lib/commands/pg/backups/schedule.d.ts +21 -0
  200. package/lib/commands/pg/backups/schedule.js +82 -0
  201. package/lib/commands/pg/backups/schedules.d.ts +10 -0
  202. package/lib/commands/pg/backups/schedules.js +31 -0
  203. package/lib/commands/pg/backups/unschedule.d.ts +13 -0
  204. package/lib/commands/pg/backups/unschedule.js +44 -0
  205. package/lib/commands/pg/backups/url.d.ts +13 -0
  206. package/lib/commands/pg/backups/url.js +41 -0
  207. package/lib/commands/pg/bloat.d.ts +13 -0
  208. package/lib/commands/pg/bloat.js +87 -0
  209. package/lib/commands/pg/blocking.d.ts +13 -0
  210. package/lib/commands/pg/blocking.js +42 -0
  211. package/lib/commands/pg/connection-pooling/attach.d.ts +15 -0
  212. package/lib/commands/pg/connection-pooling/attach.js +41 -0
  213. package/lib/commands/pg/copy.d.ts +18 -0
  214. package/lib/commands/pg/copy.js +86 -0
  215. package/lib/commands/pg/credentials/create.d.ts +14 -0
  216. package/lib/commands/pg/credentials/create.js +40 -0
  217. package/lib/commands/pg/credentials/destroy.d.ts +16 -0
  218. package/lib/commands/pg/credentials/destroy.js +48 -0
  219. package/lib/commands/pg/credentials/repair-default.d.ts +15 -0
  220. package/lib/commands/pg/credentials/repair-default.js +39 -0
  221. package/lib/commands/pg/credentials/rotate.d.ts +16 -0
  222. package/lib/commands/pg/credentials/rotate.js +82 -0
  223. package/lib/commands/pg/credentials/url.d.ts +14 -0
  224. package/lib/commands/pg/credentials/url.js +64 -0
  225. package/lib/commands/pg/credentials.d.ts +16 -0
  226. package/lib/commands/pg/credentials.js +61 -0
  227. package/lib/commands/pg/diagnose.d.ts +18 -0
  228. package/lib/commands/pg/diagnose.js +109 -0
  229. package/lib/commands/pg/info.d.ts +14 -0
  230. package/lib/commands/pg/info.js +92 -0
  231. package/lib/commands/pg/kill.d.ts +15 -0
  232. package/lib/commands/pg/kill.js +32 -0
  233. package/lib/commands/pg/killall.d.ts +13 -0
  234. package/lib/commands/pg/killall.js +26 -0
  235. package/lib/commands/pg/links/create.d.ts +15 -0
  236. package/lib/commands/pg/links/create.js +58 -0
  237. package/lib/commands/pg/links/destroy.d.ts +16 -0
  238. package/lib/commands/pg/links/destroy.js +42 -0
  239. package/lib/commands/pg/links/index.d.ts +13 -0
  240. package/lib/commands/pg/links/index.js +59 -0
  241. package/lib/commands/pg/locks.d.ts +15 -0
  242. package/lib/commands/pg/locks.js +53 -0
  243. package/lib/commands/pg/maintenance/index.d.ts +13 -0
  244. package/lib/commands/pg/maintenance/index.js +29 -0
  245. package/lib/commands/pg/maintenance/run.d.ts +14 -0
  246. package/lib/commands/pg/maintenance/run.js +37 -0
  247. package/lib/commands/pg/maintenance/window.d.ts +15 -0
  248. package/lib/commands/pg/maintenance/window.js +41 -0
  249. package/lib/commands/pg/outliers.d.ts +19 -0
  250. package/lib/commands/pg/outliers.js +97 -0
  251. package/lib/commands/pg/promote.d.ts +14 -0
  252. package/lib/commands/pg/promote.js +169 -0
  253. package/lib/commands/pg/ps.d.ts +14 -0
  254. package/lib/commands/pg/ps.js +52 -0
  255. package/lib/commands/pg/psql.d.ts +16 -0
  256. package/lib/commands/pg/psql.js +49 -0
  257. package/lib/commands/pg/pull.d.ts +18 -0
  258. package/lib/commands/pg/pull.js +87 -0
  259. package/lib/commands/pg/push.d.ts +18 -0
  260. package/lib/commands/pg/push.js +84 -0
  261. package/lib/commands/pg/reset.d.ts +15 -0
  262. package/lib/commands/pg/reset.js +44 -0
  263. package/lib/commands/pg/settings/auto-explain/log-analyze.d.ts +13 -0
  264. package/lib/commands/pg/settings/auto-explain/log-analyze.js +32 -0
  265. package/lib/commands/pg/settings/auto-explain/log-buffers.d.ts +13 -0
  266. package/lib/commands/pg/settings/auto-explain/log-buffers.js +30 -0
  267. package/lib/commands/pg/settings/auto-explain/log-min-duration.d.ts +16 -0
  268. package/lib/commands/pg/settings/auto-explain/log-min-duration.js +33 -0
  269. package/lib/commands/pg/settings/auto-explain/log-nested-statements.d.ts +12 -0
  270. package/lib/commands/pg/settings/auto-explain/log-nested-statements.js +25 -0
  271. package/lib/commands/pg/settings/auto-explain/log-triggers.d.ts +13 -0
  272. package/lib/commands/pg/settings/auto-explain/log-triggers.js +30 -0
  273. package/lib/commands/pg/settings/auto-explain/log-verbose.d.ts +17 -0
  274. package/lib/commands/pg/settings/auto-explain/log-verbose.js +33 -0
  275. package/lib/commands/pg/settings/auto-explain.d.ts +18 -0
  276. package/lib/commands/pg/settings/auto-explain.js +38 -0
  277. package/lib/commands/pg/settings/index.d.ts +13 -0
  278. package/lib/commands/pg/settings/index.js +34 -0
  279. package/lib/commands/pg/settings/log-connections.d.ts +17 -0
  280. package/lib/commands/pg/settings/log-connections.js +34 -0
  281. package/lib/commands/pg/settings/log-lock-waits.d.ts +13 -0
  282. package/lib/commands/pg/settings/log-lock-waits.js +31 -0
  283. package/lib/commands/pg/settings/log-min-duration-statement.d.ts +15 -0
  284. package/lib/commands/pg/settings/log-min-duration-statement.js +33 -0
  285. package/lib/commands/pg/settings/log-statement.d.ts +12 -0
  286. package/lib/commands/pg/settings/log-statement.js +30 -0
  287. package/lib/commands/pg/settings/track-functions.d.ts +12 -0
  288. package/lib/commands/pg/settings/track-functions.js +29 -0
  289. package/lib/commands/pg/unfollow.d.ts +14 -0
  290. package/lib/commands/pg/unfollow.js +40 -0
  291. package/lib/commands/pg/upgrade.d.ts +15 -0
  292. package/lib/commands/pg/upgrade.js +58 -0
  293. package/lib/commands/pg/vacuum-stats.d.ts +13 -0
  294. package/lib/commands/pg/vacuum-stats.js +65 -0
  295. package/lib/commands/pg/wait.d.ts +15 -0
  296. package/lib/commands/pg/wait.js +79 -0
  297. package/lib/commands/pipelines/connect.js +1 -1
  298. package/lib/commands/pipelines/diff.js +1 -1
  299. package/lib/commands/ps/index.d.ts +15 -0
  300. package/lib/commands/ps/index.js +195 -0
  301. package/lib/commands/ps/restart.d.ts +17 -0
  302. package/lib/commands/ps/restart.js +38 -0
  303. package/lib/commands/ps/scale.d.ts +13 -0
  304. package/lib/commands/ps/scale.js +108 -0
  305. package/lib/commands/ps/stop.d.ts +17 -0
  306. package/lib/commands/ps/stop.js +33 -0
  307. package/lib/commands/ps/type.d.ts +12 -0
  308. package/lib/commands/ps/type.js +163 -0
  309. package/lib/commands/redis/cli.d.ts +15 -0
  310. package/lib/commands/redis/cli.js +204 -0
  311. package/lib/commands/redis/credentials.d.ts +14 -0
  312. package/lib/commands/redis/credentials.js +32 -0
  313. package/lib/commands/redis/info.d.ts +15 -0
  314. package/lib/commands/redis/info.js +25 -0
  315. package/lib/commands/redis/keyspace-notifications.d.ts +14 -0
  316. package/lib/commands/redis/keyspace-notifications.js +47 -0
  317. package/lib/commands/redis/maintenance.d.ts +16 -0
  318. package/lib/commands/redis/maintenance.js +63 -0
  319. package/lib/commands/redis/maxmemory.d.ts +14 -0
  320. package/lib/commands/redis/maxmemory.js +40 -0
  321. package/lib/commands/redis/promote.d.ts +13 -0
  322. package/lib/commands/redis/promote.js +39 -0
  323. package/lib/commands/redis/stats-reset.d.ts +14 -0
  324. package/lib/commands/redis/stats-reset.js +36 -0
  325. package/lib/commands/redis/timeout.d.ts +14 -0
  326. package/lib/commands/redis/timeout.js +35 -0
  327. package/lib/commands/redis/upgrade.d.ts +15 -0
  328. package/lib/commands/redis/upgrade.js +37 -0
  329. package/lib/commands/redis/wait.d.ts +14 -0
  330. package/lib/commands/redis/wait.js +60 -0
  331. package/lib/commands/releases/index.d.ts +14 -0
  332. package/lib/commands/releases/index.js +124 -0
  333. package/lib/commands/releases/info.d.ts +15 -0
  334. package/lib/commands/releases/info.js +56 -0
  335. package/lib/commands/releases/output.d.ts +13 -0
  336. package/lib/commands/releases/output.js +37 -0
  337. package/lib/commands/releases/rollback.d.ts +14 -0
  338. package/lib/commands/releases/rollback.js +48 -0
  339. package/lib/commands/run/detached.d.ts +7 -8
  340. package/lib/commands/run/detached.js +16 -20
  341. package/lib/commands/run/index.d.ts +10 -11
  342. package/lib/commands/run/index.js +16 -17
  343. package/lib/commands/run/inside.d.ts +5 -7
  344. package/lib/commands/run/inside.js +10 -14
  345. package/lib/commands/spaces/create.d.ts +22 -0
  346. package/lib/commands/spaces/create.js +73 -0
  347. package/lib/commands/spaces/destroy.d.ts +14 -0
  348. package/lib/commands/spaces/destroy.js +49 -0
  349. package/lib/commands/spaces/drains/get.d.ts +12 -0
  350. package/lib/commands/spaces/drains/get.js +27 -0
  351. package/lib/commands/spaces/drains/set.d.ts +14 -0
  352. package/lib/commands/spaces/drains/set.js +29 -0
  353. package/lib/commands/spaces/hosts.d.ts +14 -0
  354. package/lib/commands/spaces/hosts.js +37 -0
  355. package/lib/commands/spaces/index.d.ts +16 -0
  356. package/lib/commands/spaces/index.js +55 -0
  357. package/lib/commands/spaces/info.d.ts +14 -0
  358. package/lib/commands/spaces/info.js +47 -0
  359. package/lib/commands/spaces/outbound-rules/add.d.ts +15 -0
  360. package/lib/commands/spaces/outbound-rules/add.js +81 -0
  361. package/lib/commands/spaces/outbound-rules/index.d.ts +15 -0
  362. package/lib/commands/spaces/outbound-rules/index.js +49 -0
  363. package/lib/commands/spaces/outbound-rules/remove.d.ts +17 -0
  364. package/lib/commands/spaces/outbound-rules/remove.js +53 -0
  365. package/lib/commands/spaces/peerings/accept.d.ts +15 -0
  366. package/lib/commands/spaces/peerings/accept.js +36 -0
  367. package/lib/commands/spaces/peerings/destroy.d.ts +15 -0
  368. package/lib/commands/spaces/peerings/destroy.js +45 -0
  369. package/lib/commands/spaces/peerings/index.d.ts +13 -0
  370. package/lib/commands/spaces/peerings/index.js +33 -0
  371. package/lib/commands/spaces/peerings/info.d.ts +15 -0
  372. package/lib/commands/spaces/peerings/info.js +59 -0
  373. package/lib/commands/spaces/ps.d.ts +15 -0
  374. package/lib/commands/spaces/ps.js +82 -0
  375. package/lib/commands/spaces/rename.d.ts +11 -0
  376. package/lib/commands/spaces/rename.js +26 -0
  377. package/lib/commands/spaces/topology.d.ts +32 -0
  378. package/lib/commands/spaces/topology.js +89 -0
  379. package/lib/commands/spaces/transfer.d.ts +11 -0
  380. package/lib/commands/spaces/transfer.js +35 -0
  381. package/lib/commands/spaces/trusted-ips/add.d.ts +16 -0
  382. package/lib/commands/spaces/trusted-ips/add.js +43 -0
  383. package/lib/commands/spaces/trusted-ips/index.d.ts +15 -0
  384. package/lib/commands/spaces/trusted-ips/index.js +52 -0
  385. package/lib/commands/spaces/trusted-ips/remove.d.ts +15 -0
  386. package/lib/commands/spaces/trusted-ips/remove.js +44 -0
  387. package/lib/commands/spaces/vpn/config.d.ts +14 -0
  388. package/lib/commands/spaces/vpn/config.js +54 -0
  389. package/lib/commands/spaces/vpn/connect.d.ts +15 -0
  390. package/lib/commands/spaces/vpn/connect.js +45 -0
  391. package/lib/commands/spaces/vpn/connections.d.ts +17 -0
  392. package/lib/commands/spaces/vpn/connections.js +57 -0
  393. package/lib/commands/spaces/vpn/destroy.d.ts +14 -0
  394. package/lib/commands/spaces/vpn/destroy.js +35 -0
  395. package/lib/commands/spaces/vpn/info.d.ts +16 -0
  396. package/lib/commands/spaces/vpn/info.js +82 -0
  397. package/lib/commands/spaces/vpn/update.d.ts +14 -0
  398. package/lib/commands/spaces/vpn/update.js +36 -0
  399. package/lib/commands/spaces/vpn/wait.d.ts +13 -0
  400. package/lib/commands/spaces/vpn/wait.js +53 -0
  401. package/lib/commands/spaces/wait.d.ts +17 -0
  402. package/lib/commands/spaces/wait.js +89 -0
  403. package/lib/commands/status.js +4 -4
  404. package/lib/commands/teams/index.d.ts +9 -0
  405. package/lib/commands/teams/index.js +29 -0
  406. package/lib/global_telemetry.js +10 -4
  407. package/lib/hooks/postrun/performance_analytics.js +5 -4
  408. package/lib/hooks/prerun/analytics.js +3 -0
  409. package/lib/lib/addons/addons_wait.d.ts +78 -0
  410. package/lib/lib/addons/addons_wait.js +56 -0
  411. package/lib/lib/addons/create_addon.d.ts +7 -0
  412. package/lib/lib/addons/create_addon.js +59 -0
  413. package/lib/lib/addons/destroy_addon.d.ts +3 -0
  414. package/lib/lib/addons/destroy_addon.js +48 -0
  415. package/lib/lib/addons/resolve.d.ts +38 -0
  416. package/lib/lib/addons/resolve.js +179 -0
  417. package/lib/lib/addons/util.d.ts +9 -0
  418. package/lib/lib/addons/util.js +72 -0
  419. package/lib/lib/apps/app-transfer.d.ts +10 -0
  420. package/lib/lib/apps/app-transfer.js +35 -0
  421. package/lib/lib/autocomplete/completions.d.ts +4 -0
  422. package/lib/lib/autocomplete/completions.js +6 -1
  423. package/lib/lib/certs/certificate_details.d.ts +2 -0
  424. package/lib/lib/certs/certificate_details.js +37 -0
  425. package/lib/lib/certs/display_table.d.ts +2 -0
  426. package/lib/lib/certs/display_table.js +51 -0
  427. package/lib/lib/certs/domains.d.ts +3 -0
  428. package/lib/lib/certs/domains.js +45 -0
  429. package/lib/lib/certs/flags.d.ts +7 -0
  430. package/lib/lib/certs/flags.js +42 -0
  431. package/lib/lib/certs/format_date.d.ts +1 -0
  432. package/lib/lib/certs/format_date.js +11 -0
  433. package/lib/lib/certs/get_cert_and_key.d.ts +9 -0
  434. package/lib/lib/certs/get_cert_and_key.js +11 -0
  435. package/lib/lib/ci/interfaces/kolkrabbi.d.ts +1 -1
  436. package/lib/lib/ci/source.js +3 -3
  437. package/lib/lib/ci/test-run.js +2 -2
  438. package/lib/lib/config/quote.js +1 -1
  439. package/lib/lib/confirmCommand.d.ts +1 -0
  440. package/lib/lib/{apps/confirm-app.js → confirmCommand.js} +2 -2
  441. package/lib/lib/container/debug.d.ts +2 -0
  442. package/lib/lib/container/debug.js +5 -0
  443. package/lib/lib/container/docker_helper.d.ts +24 -0
  444. package/lib/lib/container/docker_helper.js +168 -0
  445. package/lib/lib/container/streamer.d.ts +1 -0
  446. package/lib/lib/container/streamer.js +31 -0
  447. package/lib/lib/domains/domains.d.ts +6 -0
  448. package/lib/lib/domains/domains.js +104 -0
  449. package/lib/lib/local/run-foreman.d.ts +1 -0
  450. package/lib/lib/local/run-foreman.js +229 -1
  451. package/lib/lib/members/util.d.ts +3 -0
  452. package/lib/lib/members/util.js +25 -0
  453. package/lib/lib/members/utils.d.ts +2 -0
  454. package/lib/lib/members/utils.js +14 -0
  455. package/lib/lib/notify.d.ts +1 -0
  456. package/lib/lib/notify.js +23 -0
  457. package/lib/lib/orgs/utils.d.ts +5 -0
  458. package/lib/lib/orgs/utils.js +24 -0
  459. package/lib/lib/pg/backups.d.ts +17 -0
  460. package/lib/lib/pg/backups.js +164 -0
  461. package/lib/lib/pg/bastion.d.ts +29 -0
  462. package/lib/lib/pg/bastion.js +121 -0
  463. package/lib/lib/pg/config.d.ts +2 -0
  464. package/lib/lib/pg/config.js +13 -0
  465. package/lib/lib/pg/download.d.ts +5 -0
  466. package/lib/lib/pg/download.js +34 -0
  467. package/lib/lib/pg/fetcher.d.ts +39 -0
  468. package/lib/lib/pg/fetcher.js +137 -0
  469. package/lib/lib/pg/host.d.ts +1 -0
  470. package/lib/lib/pg/host.js +7 -0
  471. package/lib/lib/pg/psql.d.ts +48 -0
  472. package/lib/lib/pg/psql.js +252 -0
  473. package/lib/lib/pg/push_pull.d.ts +13 -0
  474. package/lib/lib/pg/push_pull.js +118 -0
  475. package/lib/lib/pg/setter.d.ts +16 -0
  476. package/lib/lib/pg/setter.js +65 -0
  477. package/lib/lib/pg/types.d.ts +230 -0
  478. package/lib/lib/pg/types.js +2 -0
  479. package/lib/lib/pg/util.d.ts +36 -0
  480. package/lib/lib/pg/util.js +183 -0
  481. package/lib/lib/redis/api.d.ts +65 -0
  482. package/lib/lib/redis/api.js +122 -0
  483. package/lib/lib/releases/output.d.ts +1 -0
  484. package/lib/lib/releases/output.js +14 -0
  485. package/lib/lib/releases/releases.d.ts +6 -0
  486. package/lib/lib/releases/releases.js +32 -0
  487. package/lib/lib/releases/status_helper.d.ts +5 -0
  488. package/lib/lib/releases/status_helper.js +25 -0
  489. package/lib/lib/run/dyno.js +2 -2
  490. package/lib/lib/run/log-displayer.d.ts +1 -1
  491. package/lib/lib/spaces/format.d.ts +4 -0
  492. package/lib/lib/spaces/format.js +60 -0
  493. package/lib/lib/spaces/hosts.d.ts +9 -0
  494. package/lib/lib/spaces/hosts.js +34 -0
  495. package/lib/lib/spaces/outbound-rules.d.ts +4 -0
  496. package/lib/lib/spaces/outbound-rules.js +78 -0
  497. package/lib/lib/spaces/parsers.d.ts +8 -0
  498. package/lib/lib/spaces/parsers.js +17 -0
  499. package/lib/lib/spaces/peering.d.ts +4 -0
  500. package/lib/lib/spaces/peering.js +53 -0
  501. package/lib/lib/spaces/spaces.d.ts +4 -0
  502. package/lib/lib/spaces/spaces.js +37 -0
  503. package/lib/lib/spaces/vpn-connections.d.ts +2 -0
  504. package/lib/lib/spaces/vpn-connections.js +22 -0
  505. package/lib/lib/teamUtils.d.ts +3 -0
  506. package/lib/lib/teamUtils.js +18 -0
  507. package/lib/lib/time.d.ts +2 -0
  508. package/lib/lib/time.js +29 -0
  509. package/lib/lib/types/app_errors.d.ts +6 -0
  510. package/lib/lib/types/app_errors.js +2 -0
  511. package/lib/lib/types/domain.d.ts +61 -0
  512. package/lib/lib/types/domain.js +5 -0
  513. package/lib/lib/types/notifications.d.ts +20 -0
  514. package/lib/lib/types/notifications.js +2 -0
  515. package/lib/lib/utils/multisort.d.ts +32 -0
  516. package/lib/lib/utils/multisort.js +66 -0
  517. package/lib/lib/utils/uuid-validate.d.ts +1 -0
  518. package/lib/lib/utils/uuid-validate.js +7 -0
  519. package/lib/user-config.js +2 -2
  520. package/oclif.manifest.json +12776 -3097
  521. package/package.json +108 -61
  522. package/lib/lib/apps/confirm-app.d.ts +0 -1
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const command_1 = require("@heroku-cli/command");
4
+ const core_1 = require("@oclif/core");
5
+ const tsheredoc_1 = require("tsheredoc");
6
+ const outbound_rules_1 = require("../../../lib/spaces/outbound-rules");
7
+ const completions_1 = require("@heroku-cli/command/lib/completions");
8
+ class Index extends command_1.Command {
9
+ async run() {
10
+ const { flags, args } = await this.parse(Index);
11
+ const spaceName = flags.space || args.space;
12
+ if (!spaceName) {
13
+ core_1.ux.error((0, tsheredoc_1.default)(`
14
+ Error: Missing 1 required arg:
15
+ space
16
+ See more help with --help
17
+ `));
18
+ }
19
+ const { body: ruleset } = await this.heroku.get(`/spaces/${spaceName}/outbound-ruleset`, {
20
+ headers: { Accept: 'application/vnd.heroku+json; version=3.dogwood' },
21
+ });
22
+ if (flags.json)
23
+ (0, outbound_rules_1.displayRulesAsJSON)(ruleset);
24
+ else
25
+ (0, outbound_rules_1.displayRules)(spaceName, ruleset);
26
+ }
27
+ }
28
+ exports.default = Index;
29
+ Index.topic = 'spaces';
30
+ Index.aliases = ['outbound-rules'];
31
+ Index.description = (0, tsheredoc_1.default)(`
32
+ list Outbound Rules for a space
33
+ Outbound Rules are only available on Private Spaces.
34
+
35
+ Newly created spaces will have an "Allow All" rule set by default
36
+ allowing all egress dyno traffic outside of the space. You can
37
+ remove this default rule to completely stop your private dynos from
38
+ talking to the world.
39
+
40
+ You can add specific rules that only allow your dyno to communicate with trusted hosts.
41
+ `);
42
+ Index.hidden = true;
43
+ Index.flags = {
44
+ space: command_1.flags.string({ char: 's', description: 'space to get outbound rules from', completion: completions_1.SpaceCompletion }),
45
+ json: command_1.flags.boolean({ description: 'output in json format' }),
46
+ };
47
+ Index.args = {
48
+ space: core_1.Args.string({ hidden: true }),
49
+ };
@@ -0,0 +1,17 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Remove extends Command {
3
+ static topic: string;
4
+ static aliases: string[];
5
+ static description: string;
6
+ static examples: string[];
7
+ static hidden: boolean;
8
+ static flags: {
9
+ space: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
10
+ confirm: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
11
+ };
12
+ static args: {
13
+ ruleNumber: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
14
+ };
15
+ private clientOptions;
16
+ run(): Promise<void>;
17
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const color_1 = require("@heroku-cli/color");
4
+ const command_1 = require("@heroku-cli/command");
5
+ const core_1 = require("@oclif/core");
6
+ const tsheredoc_1 = require("tsheredoc");
7
+ const confirmCommand_1 = require("../../../lib/confirmCommand");
8
+ class Remove extends command_1.Command {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.clientOptions = {
12
+ headers: { Accept: 'application/vnd.heroku+json; version=3.dogwood' },
13
+ };
14
+ }
15
+ async run() {
16
+ var _a;
17
+ const { flags, args } = await this.parse(Remove);
18
+ const space = flags.space;
19
+ if (!space)
20
+ throw new Error('Space name required.');
21
+ const { body: ruleset } = await this.heroku.get(`/spaces/${space}/outbound-ruleset`, this.clientOptions);
22
+ if (!((_a = ruleset.rules) === null || _a === void 0 ? void 0 : _a.length)) {
23
+ throw new Error('No Outbound Rules configured. Nothing to do.');
24
+ }
25
+ const deleted = ruleset.rules.splice(Number.parseInt(args.ruleNumber, 10) - 1, 1)[0];
26
+ await (0, confirmCommand_1.default)(space, flags.confirm, (0, tsheredoc_1.default)(`
27
+ Destructive Action
28
+ This will remove:
29
+ Destination: ${deleted.target}, From Port: ${deleted.from_port}, To Port: ${deleted.to_port}, Protocol ${deleted.protocol}
30
+ from the Outbound Rules on ${color_1.default.cyan.bold(space)}
31
+ `));
32
+ const opts = Object.assign(Object.assign({}, this.clientOptions), { body: ruleset });
33
+ await this.heroku.put(`/spaces/${space}/outbound-ruleset`, opts);
34
+ core_1.ux.log(`Removed Rule ${color_1.default.cyan.bold(args.ruleNumber)} from Outbound Rules on ${color_1.default.cyan.bold(space)}`);
35
+ core_1.ux.warn('It may take a few moments for the changes to take effect.');
36
+ }
37
+ }
38
+ exports.default = Remove;
39
+ Remove.topic = 'spaces';
40
+ Remove.aliases = ['outbound-rules:remove'];
41
+ Remove.description = 'Remove a Rules from the list of Outbound Rules';
42
+ Remove.examples = [(0, tsheredoc_1.default)(`
43
+ $ heroku outbound-rules:remove --space my-space 4
44
+ Removed 192.168.2.0/24 from trusted IP ranges on my-space
45
+ `)];
46
+ Remove.hidden = true;
47
+ Remove.flags = {
48
+ space: command_1.flags.string({ optional: false, description: 'space to remove rule from' }),
49
+ confirm: command_1.flags.string({ description: 'set to space name to bypass confirm prompt' }),
50
+ };
51
+ Remove.args = {
52
+ ruleNumber: core_1.Args.string({ required: true }),
53
+ };
@@ -0,0 +1,15 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Accept extends Command {
3
+ static topic: string;
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ pcxid: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ space: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
+ };
10
+ static args: {
11
+ pcxid: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
12
+ space: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
13
+ };
14
+ run(): Promise<void>;
15
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const color_1 = require("@heroku-cli/color");
4
+ const command_1 = require("@heroku-cli/command");
5
+ const core_1 = require("@oclif/core");
6
+ const tsheredoc_1 = require("tsheredoc");
7
+ class Accept extends command_1.Command {
8
+ async run() {
9
+ const { flags, args } = await this.parse(Accept);
10
+ const space = flags.space || args.space;
11
+ if (!space) {
12
+ throw new Error('Space name required.\nUSAGE: heroku spaces:peerings:accept pcx-12345678 --space my-space');
13
+ }
14
+ const pcxID = flags.pcxid || args.pcxid;
15
+ await this.heroku.post(`/spaces/${space}/peerings`, {
16
+ body: { pcx_id: pcxID },
17
+ headers: { Accept: 'application/vnd.heroku+json; version=3.dogwood' },
18
+ });
19
+ core_1.ux.log(`Accepting and configuring peering connection ${color_1.default.cyan.bold(pcxID)}`);
20
+ }
21
+ }
22
+ exports.default = Accept;
23
+ Accept.topic = 'spaces';
24
+ Accept.description = 'accepts a pending peering request for a private space';
25
+ Accept.examples = [(0, tsheredoc_1.default)(`
26
+ $ heroku spaces:peerings:accept pcx-4bd27022 --space example-space
27
+ Accepting and configuring peering connection pcx-4bd27022
28
+ `)];
29
+ Accept.flags = {
30
+ pcxid: command_1.flags.string({ char: 'p', description: 'PCX ID of a pending peering' }),
31
+ space: command_1.flags.string({ char: 's', description: 'space to get peering info from' }),
32
+ };
33
+ Accept.args = {
34
+ pcxid: core_1.Args.string({ hidden: true }),
35
+ space: core_1.Args.string({ hidden: true }),
36
+ };
@@ -0,0 +1,15 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Destroy extends Command {
3
+ static topic: string;
4
+ static description: string;
5
+ static flags: {
6
+ pcxid: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
+ space: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ confirm: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
+ };
10
+ static args: {
11
+ pcxid: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
12
+ };
13
+ static example: string;
14
+ run(): Promise<void>;
15
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const color_1 = require("@heroku-cli/color");
4
+ const command_1 = require("@heroku-cli/command");
5
+ const core_1 = require("@oclif/core");
6
+ const tsheredoc_1 = require("tsheredoc");
7
+ const confirmCommand_1 = require("../../../lib/confirmCommand");
8
+ class Destroy extends command_1.Command {
9
+ async run() {
10
+ const { flags, args } = await this.parse(Destroy);
11
+ const pcxID = flags.pcxid || args.pcxid;
12
+ if (!pcxID) {
13
+ core_1.ux.error((0, tsheredoc_1.default) `
14
+ pcxid required.
15
+ USAGE: heroku spaces:peering:destroy pcx-4bd27022
16
+ `);
17
+ }
18
+ await (0, confirmCommand_1.default)(pcxID, flags.confirm, (0, tsheredoc_1.default)(`
19
+ Destructive Action
20
+ This command will attempt to destroy the peering connection ${color_1.default.bold.red(pcxID)}
21
+ `));
22
+ core_1.ux.action.start(`Tearing down peering connection ${color_1.default.cyan.bold(pcxID)}`);
23
+ await this.heroku.delete(`/spaces/${flags.space}/peerings/${pcxID}`);
24
+ core_1.ux.action.stop();
25
+ }
26
+ }
27
+ exports.default = Destroy;
28
+ Destroy.topic = 'spaces';
29
+ Destroy.description = 'destroys an active peering connection in a private space';
30
+ Destroy.flags = {
31
+ pcxid: command_1.flags.string({ char: 'p', description: 'PCX ID of a pending peering' }),
32
+ space: command_1.flags.string({
33
+ char: 's',
34
+ description: 'space to get peering info from',
35
+ required: true,
36
+ }),
37
+ confirm: command_1.flags.string({ description: 'set to PCX ID to bypass confirm prompt' }),
38
+ };
39
+ Destroy.args = {
40
+ pcxid: core_1.Args.string({ hidden: true }),
41
+ };
42
+ Destroy.example = (0, tsheredoc_1.default)(`
43
+ $ heroku spaces:peerings:destroy pcx-4bd27022 --confirm pcx-4bd27022 --space example-space
44
+ Tearing down peering connection pcx-4bd27022... done
45
+ `);
@@ -0,0 +1,13 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Index extends Command {
3
+ static topic: string;
4
+ static description: string;
5
+ static flags: {
6
+ space: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
+ };
9
+ static args: {
10
+ space: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
11
+ };
12
+ run(): Promise<void>;
13
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const command_1 = require("@heroku-cli/command");
4
+ const core_1 = require("@oclif/core");
5
+ const peering_1 = require("../../../lib/spaces/peering");
6
+ const tsheredoc_1 = require("tsheredoc");
7
+ class Index extends command_1.Command {
8
+ async run() {
9
+ const { flags, args } = await this.parse(Index);
10
+ const spaceName = flags.space || args.space;
11
+ if (!spaceName) {
12
+ core_1.ux.error((0, tsheredoc_1.default) `
13
+ space required.
14
+ USAGE: heroku spaces:peerings my-space
15
+ `);
16
+ }
17
+ const { body: peerings } = await this.heroku.get(`/spaces/${spaceName}/peerings`);
18
+ if (flags.json)
19
+ (0, peering_1.displayPeeringsAsJSON)(peerings);
20
+ else
21
+ (0, peering_1.displayPeerings)(spaceName, peerings);
22
+ }
23
+ }
24
+ exports.default = Index;
25
+ Index.topic = 'spaces';
26
+ Index.description = 'list peering connections for a space';
27
+ Index.flags = {
28
+ space: command_1.flags.string({ char: 's', description: 'space to get peer list from' }),
29
+ json: command_1.flags.boolean({ description: 'output in json format' }),
30
+ };
31
+ Index.args = {
32
+ space: core_1.Args.string({ hidden: true }),
33
+ };
@@ -0,0 +1,15 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Info extends Command {
3
+ static topic: string;
4
+ static hiddenAliases: string[];
5
+ static description: string;
6
+ static flags: {
7
+ space: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
+ };
10
+ static examples: string[];
11
+ static args: {
12
+ space: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
13
+ };
14
+ run(): Promise<void>;
15
+ }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const command_1 = require("@heroku-cli/command");
4
+ const core_1 = require("@oclif/core");
5
+ const tsheredoc_1 = require("tsheredoc");
6
+ const peering_1 = require("../../../lib/spaces/peering");
7
+ class Info extends command_1.Command {
8
+ async run() {
9
+ const { flags, args } = await this.parse(Info);
10
+ const spaceName = flags.space || args.space;
11
+ if (!spaceName) {
12
+ core_1.ux.error((0, tsheredoc_1.default)(`
13
+ Error: Missing 1 required arg:
14
+ space
15
+ See more help with --help
16
+ `));
17
+ }
18
+ const { body: pInfo } = await this.heroku.get(`/spaces/${spaceName}/peering-info`);
19
+ if (flags.json)
20
+ core_1.ux.log(JSON.stringify(pInfo, null, 2));
21
+ else
22
+ (0, peering_1.displayPeeringInfo)(spaceName, pInfo);
23
+ }
24
+ }
25
+ exports.default = Info;
26
+ Info.topic = 'spaces';
27
+ Info.hiddenAliases = ['spaces:peering:info'];
28
+ Info.description = (0, tsheredoc_1.default)(`
29
+ display the information necessary to initiate a peering connection
30
+
31
+ You will use the information provided by this command to establish a peering connection request from your AWS VPC to your private space.
32
+
33
+ To start the peering process, go into your AWS console for the VPC you would like peered with your Private Space,
34
+ navigate to the VPC service, choose the "Peering Connections" option and click the "Create peering connection" button.
35
+
36
+ - The AWS Account ID and VPC ID are necessary for the AWS VPC Peering connection wizard.
37
+ - You will also need to configure your VPC route table to route the Dyno CIDRs through the peering connection.
38
+
39
+ Once you've established the peering connection request, you can use the spaces:peerings:accept command to accept and
40
+ configure the peering connection for the space.
41
+ `);
42
+ Info.flags = {
43
+ space: command_1.flags.string({ char: 's', description: 'space to get peering info from' }),
44
+ json: command_1.flags.boolean({ description: 'output in json format' }),
45
+ };
46
+ Info.examples = [(0, tsheredoc_1.default)(`
47
+ $ heroku spaces:peering:info example-space
48
+ === example-space Peering Info
49
+
50
+ AWS Account ID: 012345678910
51
+ AWS Region: us-west-2
52
+ AWS VPC ID: vpc-baadf00d
53
+ AWS VPC CIDR: 10.0.0.0/16
54
+ Space CIDRs: 10.0.128.0/20, 10.0.144.0/20
55
+ Unavailable CIDRs: 10.1.0.0/16
56
+ `)];
57
+ Info.args = {
58
+ space: core_1.Args.string({ hidden: true }),
59
+ };
@@ -0,0 +1,15 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Ps extends Command {
3
+ static topic: string;
4
+ static description: string;
5
+ static flags: {
6
+ space: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
+ };
9
+ static args: {
10
+ space: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
11
+ };
12
+ run(): Promise<void>;
13
+ private render;
14
+ private printDynos;
15
+ }
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const color_1 = require("@heroku-cli/color");
4
+ const command_1 = require("@heroku-cli/command");
5
+ const core_1 = require("@oclif/core");
6
+ const time_1 = require("../../lib/time");
7
+ const getProcessNum = (s) => Number.parseInt(s.split('.', 2)[1], 10);
8
+ class Ps extends command_1.Command {
9
+ async run() {
10
+ const { flags, args } = await this.parse(Ps);
11
+ const spaceName = flags.space || args.space;
12
+ if (!spaceName) {
13
+ throw new Error('Space name required.\nUSAGE: heroku spaces:ps my-space');
14
+ }
15
+ const [{ body: spaceDynos }, { body: space }] = await Promise.all([
16
+ this.heroku.get(`/spaces/${spaceName}/dynos`),
17
+ this.heroku.get(`/spaces/${spaceName}`),
18
+ ]);
19
+ if (space.shield) {
20
+ spaceDynos.forEach(spaceDyno => {
21
+ spaceDyno.dynos.forEach(d => {
22
+ var _a;
23
+ if ((_a = d.size) === null || _a === void 0 ? void 0 : _a.startsWith('Private')) {
24
+ d.size = d.size.replace('Private-', 'Shield-');
25
+ }
26
+ });
27
+ });
28
+ }
29
+ if (flags.json) {
30
+ core_1.ux.styledJSON(spaceDynos);
31
+ }
32
+ else {
33
+ this.render(spaceDynos);
34
+ }
35
+ }
36
+ render(spaceDynos) {
37
+ spaceDynos === null || spaceDynos === void 0 ? void 0 : spaceDynos.forEach(spaceDyno => {
38
+ this.printDynos(spaceDyno.app_name, spaceDyno.dynos);
39
+ });
40
+ }
41
+ printDynos(appName, dynos) {
42
+ var _a, _b;
43
+ const dynosByCommand = new Map();
44
+ for (const dyno of dynos) {
45
+ const since = (0, time_1.ago)(new Date(dyno.updated_at));
46
+ const size = (_a = dyno.size) !== null && _a !== void 0 ? _a : '1X';
47
+ let key = '';
48
+ let item = '';
49
+ if (dyno.type === 'run') {
50
+ key = 'run: one-off processes';
51
+ item = `${dyno.name} (${size}): ${dyno.state} ${since}: ${dyno.command}`;
52
+ }
53
+ else {
54
+ key = `${color_1.default.green(dyno.type)} (${color_1.default.cyan(size)}): ${dyno.command}`;
55
+ const state = dyno.state === 'up' ? color_1.default.green(dyno.state) : color_1.default.yellow(dyno.state);
56
+ item = `${dyno.name}: ${color_1.default.green(state)} ${color_1.default.dim(since)}`;
57
+ }
58
+ if (!dynosByCommand.has(key)) {
59
+ dynosByCommand.set(key, []);
60
+ }
61
+ (_b = dynosByCommand.get(key)) === null || _b === void 0 ? void 0 : _b.push(item);
62
+ }
63
+ for (const [key, dynos] of dynosByCommand) {
64
+ core_1.ux.styledHeader(`${appName} ${key} (${color_1.default.yellow(dynos.length)})`);
65
+ dynos.sort((a, b) => getProcessNum(a) - getProcessNum(b));
66
+ for (const dyno of dynos) {
67
+ core_1.ux.log(dyno);
68
+ }
69
+ core_1.ux.log();
70
+ }
71
+ }
72
+ }
73
+ exports.default = Ps;
74
+ Ps.topic = 'spaces';
75
+ Ps.description = 'list dynos for a space';
76
+ Ps.flags = {
77
+ space: command_1.flags.string({ char: 's', description: 'space to get dynos of' }),
78
+ json: command_1.flags.boolean({ description: 'output in json format' }),
79
+ };
80
+ Ps.args = {
81
+ space: core_1.Args.string({ hidden: true }),
82
+ };
@@ -0,0 +1,11 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Rename extends Command {
3
+ static topic: string;
4
+ static description: string;
5
+ static example: string;
6
+ static flags: {
7
+ from: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ to: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
+ };
10
+ run(): Promise<void>;
11
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const color_1 = require("@heroku-cli/color");
4
+ const command_1 = require("@heroku-cli/command");
5
+ const core_1 = require("@oclif/core");
6
+ const tsheredoc_1 = require("tsheredoc");
7
+ class Rename extends command_1.Command {
8
+ async run() {
9
+ const { flags } = await this.parse(Rename);
10
+ const { to, from } = flags;
11
+ core_1.ux.action.start(`Renaming space from ${color_1.default.cyan(from)} to ${color_1.default.green(to)}`);
12
+ await this.heroku.patch(`/spaces/${from}`, { body: { name: to } });
13
+ core_1.ux.action.stop();
14
+ }
15
+ }
16
+ exports.default = Rename;
17
+ Rename.topic = 'spaces';
18
+ Rename.description = 'renames a space';
19
+ Rename.example = (0, tsheredoc_1.default)(`
20
+ $ heroku spaces:rename --from old-space-name --to new-space-name
21
+ Renaming space old-space-name to new-space-name... done
22
+ `);
23
+ Rename.flags = {
24
+ from: command_1.flags.string({ required: true, description: 'current name of space' }),
25
+ to: command_1.flags.string({ required: true, description: 'desired name of space' }),
26
+ };
@@ -0,0 +1,32 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ import * as Heroku from '@heroku-cli/schema';
3
+ export declare type SpaceTopology = {
4
+ version: number;
5
+ apps: Array<{
6
+ id?: string;
7
+ domains: string[];
8
+ formations: Array<{
9
+ process_type: string;
10
+ dynos: Array<{
11
+ number: number;
12
+ private_ip: string;
13
+ hostname: string;
14
+ }>;
15
+ }>;
16
+ }>;
17
+ };
18
+ export default class Topology extends Command {
19
+ static topic: string;
20
+ static description: string;
21
+ static flags: {
22
+ space: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
23
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
24
+ };
25
+ static args: {
26
+ space: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
27
+ };
28
+ run(): Promise<void>;
29
+ protected render(topology: SpaceTopology, appInfo: Heroku.App[], json: boolean): void;
30
+ protected getProcessType(s: string): string;
31
+ protected getProcessNum(s: string): number;
32
+ }
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const command_1 = require("@heroku-cli/command");
4
+ const core_1 = require("@oclif/core");
5
+ const tsheredoc_1 = require("tsheredoc");
6
+ const color_1 = require("@heroku-cli/color");
7
+ class Topology extends command_1.Command {
8
+ async run() {
9
+ const { flags, args } = await this.parse(Topology);
10
+ const spaceName = flags.space || args.space;
11
+ if (!spaceName) {
12
+ core_1.ux.error((0, tsheredoc_1.default)(`
13
+ Error: Missing 1 required arg:
14
+ space
15
+ See more help with --help
16
+ `));
17
+ }
18
+ const { body: topology } = await this.heroku.get(`/spaces/${spaceName}/topology`);
19
+ let appInfo = [];
20
+ if (topology.apps) {
21
+ appInfo = await Promise.all(topology.apps.map(async (topologyApp) => {
22
+ const { body: app } = await this.heroku.get(`/apps/${topologyApp.id}`);
23
+ return app;
24
+ }));
25
+ }
26
+ this.render(topology, appInfo, flags.json);
27
+ }
28
+ render(topology, appInfo, json) {
29
+ if (json) {
30
+ core_1.ux.styledJSON(topology);
31
+ }
32
+ else if (topology.apps) {
33
+ topology.apps.forEach(app => {
34
+ const formations = [];
35
+ const dynos = [];
36
+ if (app.formations) {
37
+ app.formations.forEach(formation => {
38
+ formations.push(formation.process_type);
39
+ if (formation.dynos) {
40
+ formation.dynos.forEach(dyno => {
41
+ const dynoS = [`${formation.process_type}.${dyno.number}`, dyno.private_ip, dyno.hostname].filter(Boolean);
42
+ dynos.push(dynoS.join(' - '));
43
+ });
44
+ }
45
+ });
46
+ }
47
+ const domains = app.domains.sort();
48
+ formations.sort();
49
+ dynos.sort((a, b) => {
50
+ const apt = this.getProcessType(a);
51
+ const bpt = this.getProcessType(b);
52
+ if (apt > bpt) {
53
+ return 1;
54
+ }
55
+ if (apt < bpt) {
56
+ return -1;
57
+ }
58
+ return this.getProcessNum(a) - this.getProcessNum(b);
59
+ });
60
+ const info = appInfo.find(info => info.id === app.id);
61
+ let header = info === null || info === void 0 ? void 0 : info.name;
62
+ if (formations.length > 0) {
63
+ header += ` (${color_1.default.cyan(formations.join(', '))})`;
64
+ }
65
+ core_1.ux.styledHeader(header || '');
66
+ core_1.ux.styledObject({
67
+ Domains: domains, Dynos: dynos,
68
+ }, ['Domains', 'Dynos']);
69
+ core_1.ux.log();
70
+ });
71
+ }
72
+ }
73
+ getProcessType(s) {
74
+ return s.split('-', 2)[0].split('.', 2)[0];
75
+ }
76
+ getProcessNum(s) {
77
+ return Number.parseInt(s.split('-', 2)[0].split('.', 2)[1], 10);
78
+ }
79
+ }
80
+ exports.default = Topology;
81
+ Topology.topic = 'spaces';
82
+ Topology.description = 'show space topology';
83
+ Topology.flags = {
84
+ space: command_1.flags.string({ char: 's', description: 'space to get topology of' }),
85
+ json: command_1.flags.boolean({ description: 'output in json format' }),
86
+ };
87
+ Topology.args = {
88
+ space: core_1.Args.string({ hidden: true }),
89
+ };
@@ -0,0 +1,11 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Transfer extends Command {
3
+ static topic: string;
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ space: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ team: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
+ };
10
+ run(): Promise<void>;
11
+ }