heroku 9.0.0-dev.0 → 9.1.0-beta.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 (597) 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 +20 -0
  13. package/lib/commands/addons/create.js +96 -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 +28 -0
  37. package/lib/commands/apps/create.js +201 -0
  38. package/lib/commands/apps/destroy.d.ts +15 -0
  39. package/lib/commands/apps/destroy.js +47 -0
  40. package/lib/commands/apps/errors.d.ts +13 -0
  41. package/lib/commands/apps/errors.js +120 -0
  42. package/lib/commands/apps/favorites/add.d.ts +2 -1
  43. package/lib/commands/apps/favorites/add.js +1 -0
  44. package/lib/commands/apps/favorites/remove.d.ts +2 -1
  45. package/lib/commands/apps/favorites/remove.js +1 -0
  46. package/lib/commands/apps/index.d.ts +16 -0
  47. package/lib/commands/apps/index.js +119 -0
  48. package/lib/commands/apps/info.d.ts +19 -0
  49. package/lib/commands/apps/info.js +162 -0
  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 +15 -0
  57. package/lib/commands/apps/open.js +30 -0
  58. package/lib/commands/apps/rename.d.ts +16 -0
  59. package/lib/commands/apps/rename.js +51 -0
  60. package/lib/commands/apps/stacks/index.d.ts +3 -2
  61. package/lib/commands/apps/stacks/index.js +2 -1
  62. package/lib/commands/apps/stacks/set.d.ts +4 -4
  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.d.ts +3 -3
  70. package/lib/commands/authorizations/create.js +5 -1
  71. package/lib/commands/authorizations/info.d.ts +1 -1
  72. package/lib/commands/authorizations/info.js +5 -1
  73. package/lib/commands/authorizations/revoke.d.ts +1 -1
  74. package/lib/commands/authorizations/revoke.js +5 -1
  75. package/lib/commands/authorizations/rotate.d.ts +1 -1
  76. package/lib/commands/authorizations/rotate.js +5 -1
  77. package/lib/commands/authorizations/update.d.ts +4 -4
  78. package/lib/commands/authorizations/update.js +5 -1
  79. package/lib/commands/autocomplete/doctor.js +2 -2
  80. package/lib/commands/autocomplete/options.d.ts +2 -2
  81. package/lib/commands/autocomplete/options.js +2 -2
  82. package/lib/commands/autocomplete/script.d.ts +1 -1
  83. package/lib/commands/buildpacks/add.d.ts +4 -4
  84. package/lib/commands/buildpacks/clear.d.ts +2 -2
  85. package/lib/commands/buildpacks/index.d.ts +2 -2
  86. package/lib/commands/buildpacks/info.d.ts +1 -1
  87. package/lib/commands/buildpacks/remove.d.ts +4 -4
  88. package/lib/commands/buildpacks/search.d.ts +4 -4
  89. package/lib/commands/buildpacks/set.d.ts +4 -4
  90. package/lib/commands/buildpacks/versions.d.ts +1 -1
  91. package/lib/commands/certs/add.d.ts +16 -0
  92. package/lib/commands/certs/add.js +98 -0
  93. package/lib/commands/certs/auto/disable.d.ts +11 -0
  94. package/lib/commands/certs/auto/disable.js +34 -0
  95. package/lib/commands/certs/auto/enable.d.ts +11 -0
  96. package/lib/commands/certs/auto/enable.js +51 -0
  97. package/lib/commands/certs/auto/index.d.ts +12 -0
  98. package/lib/commands/certs/auto/index.js +94 -0
  99. package/lib/commands/certs/auto/refresh.d.ts +10 -0
  100. package/lib/commands/certs/auto/refresh.js +19 -0
  101. package/lib/commands/certs/generate.d.ts +26 -0
  102. package/lib/commands/certs/generate.js +111 -0
  103. package/lib/commands/certs/index.d.ts +10 -0
  104. package/lib/commands/certs/index.js +26 -0
  105. package/lib/commands/certs/info.d.ts +13 -0
  106. package/lib/commands/certs/info.js +43 -0
  107. package/lib/commands/certs/remove.d.ts +13 -0
  108. package/lib/commands/certs/remove.js +32 -0
  109. package/lib/commands/certs/update.d.ts +18 -0
  110. package/lib/commands/certs/update.js +54 -0
  111. package/lib/commands/ci/config/get.d.ts +4 -3
  112. package/lib/commands/ci/config/get.js +3 -2
  113. package/lib/commands/ci/config/index.d.ts +3 -2
  114. package/lib/commands/ci/config/index.js +3 -2
  115. package/lib/commands/ci/config/set.d.ts +3 -2
  116. package/lib/commands/ci/config/set.js +2 -1
  117. package/lib/commands/ci/config/unset.d.ts +3 -3
  118. package/lib/commands/ci/config/unset.js +3 -3
  119. package/lib/commands/ci/debug.d.ts +2 -2
  120. package/lib/commands/ci/index.d.ts +3 -2
  121. package/lib/commands/ci/index.js +1 -0
  122. package/lib/commands/ci/info.d.ts +5 -4
  123. package/lib/commands/ci/info.js +1 -0
  124. package/lib/commands/ci/last.d.ts +4 -3
  125. package/lib/commands/ci/last.js +1 -0
  126. package/lib/commands/ci/open.d.ts +3 -2
  127. package/lib/commands/ci/open.js +1 -0
  128. package/lib/commands/ci/rerun.d.ts +4 -3
  129. package/lib/commands/ci/rerun.js +1 -0
  130. package/lib/commands/ci/run.d.ts +2 -2
  131. package/lib/commands/clients/create.d.ts +2 -2
  132. package/lib/commands/clients/destroy.d.ts +1 -1
  133. package/lib/commands/clients/info.d.ts +1 -1
  134. package/lib/commands/clients/rotate.d.ts +1 -1
  135. package/lib/commands/clients/update.d.ts +3 -3
  136. package/lib/commands/config/edit.d.ts +3 -3
  137. package/lib/commands/config/get.d.ts +3 -3
  138. package/lib/commands/config/index.d.ts +2 -2
  139. package/lib/commands/config/set.d.ts +12 -0
  140. package/lib/commands/config/set.js +60 -0
  141. package/lib/commands/config/unset.d.ts +2 -2
  142. package/lib/commands/console.d.ts +4 -4
  143. package/lib/commands/container/index.d.ts +6 -0
  144. package/lib/commands/container/index.js +13 -0
  145. package/lib/commands/container/login.d.ts +9 -0
  146. package/lib/commands/container/login.js +57 -0
  147. package/lib/commands/container/logout.d.ts +9 -0
  148. package/lib/commands/container/logout.js +37 -0
  149. package/lib/commands/container/pull.d.ts +14 -0
  150. package/lib/commands/container/pull.js +43 -0
  151. package/lib/commands/container/push.d.ts +16 -0
  152. package/lib/commands/container/push.js +103 -0
  153. package/lib/commands/container/release.d.ts +14 -0
  154. package/lib/commands/container/release.js +91 -0
  155. package/lib/commands/container/rm.d.ts +13 -0
  156. package/lib/commands/container/rm.js +39 -0
  157. package/lib/commands/container/run.d.ts +15 -0
  158. package/lib/commands/container/run.js +66 -0
  159. package/lib/commands/dashboard.d.ts +7 -0
  160. package/lib/commands/dashboard.js +164 -0
  161. package/lib/commands/domains/add.d.ts +4 -4
  162. package/lib/commands/domains/clear.d.ts +2 -2
  163. package/lib/commands/domains/index.d.ts +14 -10
  164. package/lib/commands/domains/index.js +47 -3
  165. package/lib/commands/domains/info.d.ts +3 -3
  166. package/lib/commands/domains/remove.d.ts +3 -3
  167. package/lib/commands/domains/update.d.ts +4 -4
  168. package/lib/commands/domains/wait.d.ts +3 -3
  169. package/lib/commands/drains/add.d.ts +12 -0
  170. package/lib/commands/drains/add.js +23 -0
  171. package/lib/commands/drains/index.d.ts +11 -0
  172. package/lib/commands/drains/index.js +50 -0
  173. package/lib/commands/drains/remove.d.ts +13 -0
  174. package/lib/commands/drains/remove.js +22 -0
  175. package/lib/commands/features/disable.d.ts +12 -0
  176. package/lib/commands/features/disable.js +30 -0
  177. package/lib/commands/features/enable.d.ts +12 -0
  178. package/lib/commands/features/enable.js +29 -0
  179. package/lib/commands/features/index.d.ts +10 -0
  180. package/lib/commands/features/index.js +37 -0
  181. package/lib/commands/features/info.d.ts +13 -0
  182. package/lib/commands/features/info.js +33 -0
  183. package/lib/commands/git/clone.d.ts +3 -3
  184. package/lib/commands/git/credentials.d.ts +1 -1
  185. package/lib/commands/git/remote.d.ts +2 -2
  186. package/lib/commands/keys/add.d.ts +14 -0
  187. package/lib/commands/keys/add.js +101 -0
  188. package/lib/commands/keys/clear.d.ts +5 -0
  189. package/lib/commands/keys/clear.js +17 -0
  190. package/lib/commands/keys/index.d.ts +9 -0
  191. package/lib/commands/keys/index.js +36 -0
  192. package/lib/commands/keys/remove.d.ts +9 -0
  193. package/lib/commands/keys/remove.js +29 -0
  194. package/lib/commands/labs/enable.d.ts +13 -0
  195. package/lib/commands/labs/enable.js +47 -0
  196. package/lib/commands/labs/index.d.ts +11 -0
  197. package/lib/commands/labs/index.js +71 -0
  198. package/lib/commands/labs/info.d.ts +14 -0
  199. package/lib/commands/labs/info.js +49 -0
  200. package/lib/commands/local/index.d.ts +5 -5
  201. package/lib/commands/local/index.js +8 -3
  202. package/lib/commands/local/run.d.ts +2 -2
  203. package/lib/commands/local/run.js +8 -3
  204. package/lib/commands/logs.d.ts +6 -6
  205. package/lib/commands/maintenance/index.d.ts +10 -0
  206. package/lib/commands/maintenance/index.js +19 -0
  207. package/lib/commands/maintenance/off.d.ts +10 -0
  208. package/lib/commands/maintenance/off.js +20 -0
  209. package/lib/commands/maintenance/on.d.ts +10 -0
  210. package/lib/commands/maintenance/on.js +20 -0
  211. package/lib/commands/members/add.d.ts +13 -0
  212. package/lib/commands/members/add.js +33 -0
  213. package/lib/commands/members/index.d.ts +12 -0
  214. package/lib/commands/members/index.js +76 -0
  215. package/lib/commands/members/remove.d.ts +10 -0
  216. package/lib/commands/members/remove.js +58 -0
  217. package/lib/commands/members/set.d.ts +11 -0
  218. package/lib/commands/members/set.js +21 -0
  219. package/lib/commands/notifications/index.d.ts +13 -0
  220. package/lib/commands/notifications/index.js +62 -0
  221. package/lib/commands/orgs/index.d.ts +11 -0
  222. package/lib/commands/orgs/index.js +27 -0
  223. package/lib/commands/orgs/open.d.ts +10 -0
  224. package/lib/commands/orgs/open.js +24 -0
  225. package/lib/commands/pg/backups/cancel.d.ts +15 -0
  226. package/lib/commands/pg/backups/cancel.js +49 -0
  227. package/lib/commands/pg/backups/capture.d.ts +15 -0
  228. package/lib/commands/pg/backups/capture.js +65 -0
  229. package/lib/commands/pg/backups/delete.d.ts +15 -0
  230. package/lib/commands/pg/backups/delete.js +38 -0
  231. package/lib/commands/pg/backups/download.d.ts +14 -0
  232. package/lib/commands/pg/backups/download.js +58 -0
  233. package/lib/commands/pg/backups/index.d.ts +20 -0
  234. package/lib/commands/pg/backups/index.js +129 -0
  235. package/lib/commands/pg/backups/info.d.ts +17 -0
  236. package/lib/commands/pg/backups/info.js +92 -0
  237. package/lib/commands/pg/backups/restore.d.ts +19 -0
  238. package/lib/commands/pg/backups/restore.js +107 -0
  239. package/lib/commands/pg/backups/schedule.d.ts +21 -0
  240. package/lib/commands/pg/backups/schedule.js +82 -0
  241. package/lib/commands/pg/backups/schedules.d.ts +10 -0
  242. package/lib/commands/pg/backups/schedules.js +31 -0
  243. package/lib/commands/pg/backups/unschedule.d.ts +13 -0
  244. package/lib/commands/pg/backups/unschedule.js +44 -0
  245. package/lib/commands/pg/backups/url.d.ts +13 -0
  246. package/lib/commands/pg/backups/url.js +41 -0
  247. package/lib/commands/pg/bloat.d.ts +13 -0
  248. package/lib/commands/pg/bloat.js +87 -0
  249. package/lib/commands/pg/blocking.d.ts +13 -0
  250. package/lib/commands/pg/blocking.js +42 -0
  251. package/lib/commands/pg/connection-pooling/attach.d.ts +15 -0
  252. package/lib/commands/pg/connection-pooling/attach.js +41 -0
  253. package/lib/commands/pg/copy.d.ts +18 -0
  254. package/lib/commands/pg/copy.js +86 -0
  255. package/lib/commands/pg/credentials/create.d.ts +14 -0
  256. package/lib/commands/pg/credentials/create.js +40 -0
  257. package/lib/commands/pg/credentials/destroy.d.ts +16 -0
  258. package/lib/commands/pg/credentials/destroy.js +48 -0
  259. package/lib/commands/pg/credentials/repair-default.d.ts +15 -0
  260. package/lib/commands/pg/credentials/repair-default.js +39 -0
  261. package/lib/commands/pg/credentials/rotate.d.ts +16 -0
  262. package/lib/commands/pg/credentials/rotate.js +82 -0
  263. package/lib/commands/pg/credentials/url.d.ts +14 -0
  264. package/lib/commands/pg/credentials/url.js +64 -0
  265. package/lib/commands/pg/credentials.d.ts +16 -0
  266. package/lib/commands/pg/credentials.js +61 -0
  267. package/lib/commands/pg/diagnose.d.ts +18 -0
  268. package/lib/commands/pg/diagnose.js +109 -0
  269. package/lib/commands/pg/info.d.ts +14 -0
  270. package/lib/commands/pg/info.js +92 -0
  271. package/lib/commands/pg/kill.d.ts +15 -0
  272. package/lib/commands/pg/kill.js +32 -0
  273. package/lib/commands/pg/killall.d.ts +13 -0
  274. package/lib/commands/pg/killall.js +26 -0
  275. package/lib/commands/pg/links/create.d.ts +15 -0
  276. package/lib/commands/pg/links/create.js +58 -0
  277. package/lib/commands/pg/links/destroy.d.ts +16 -0
  278. package/lib/commands/pg/links/destroy.js +42 -0
  279. package/lib/commands/pg/links/index.d.ts +13 -0
  280. package/lib/commands/pg/links/index.js +59 -0
  281. package/lib/commands/pg/locks.d.ts +15 -0
  282. package/lib/commands/pg/locks.js +53 -0
  283. package/lib/commands/pg/maintenance/index.d.ts +13 -0
  284. package/lib/commands/pg/maintenance/index.js +29 -0
  285. package/lib/commands/pg/maintenance/run.d.ts +14 -0
  286. package/lib/commands/pg/maintenance/run.js +37 -0
  287. package/lib/commands/pg/maintenance/window.d.ts +15 -0
  288. package/lib/commands/pg/maintenance/window.js +41 -0
  289. package/lib/commands/pg/outliers.d.ts +19 -0
  290. package/lib/commands/pg/outliers.js +97 -0
  291. package/lib/commands/pg/promote.d.ts +14 -0
  292. package/lib/commands/pg/promote.js +169 -0
  293. package/lib/commands/pg/ps.d.ts +14 -0
  294. package/lib/commands/pg/ps.js +52 -0
  295. package/lib/commands/pg/psql.d.ts +16 -0
  296. package/lib/commands/pg/psql.js +49 -0
  297. package/lib/commands/pg/pull.d.ts +18 -0
  298. package/lib/commands/pg/pull.js +87 -0
  299. package/lib/commands/pg/push.d.ts +18 -0
  300. package/lib/commands/pg/push.js +84 -0
  301. package/lib/commands/pg/reset.d.ts +15 -0
  302. package/lib/commands/pg/reset.js +44 -0
  303. package/lib/commands/pg/settings/auto-explain/log-analyze.d.ts +13 -0
  304. package/lib/commands/pg/settings/auto-explain/log-analyze.js +32 -0
  305. package/lib/commands/pg/settings/auto-explain/log-buffers.d.ts +13 -0
  306. package/lib/commands/pg/settings/auto-explain/log-buffers.js +30 -0
  307. package/lib/commands/pg/settings/auto-explain/log-min-duration.d.ts +16 -0
  308. package/lib/commands/pg/settings/auto-explain/log-min-duration.js +33 -0
  309. package/lib/commands/pg/settings/auto-explain/log-nested-statements.d.ts +12 -0
  310. package/lib/commands/pg/settings/auto-explain/log-nested-statements.js +25 -0
  311. package/lib/commands/pg/settings/auto-explain/log-triggers.d.ts +13 -0
  312. package/lib/commands/pg/settings/auto-explain/log-triggers.js +30 -0
  313. package/lib/commands/pg/settings/auto-explain/log-verbose.d.ts +17 -0
  314. package/lib/commands/pg/settings/auto-explain/log-verbose.js +33 -0
  315. package/lib/commands/pg/settings/auto-explain.d.ts +18 -0
  316. package/lib/commands/pg/settings/auto-explain.js +38 -0
  317. package/lib/commands/pg/settings/index.d.ts +13 -0
  318. package/lib/commands/pg/settings/index.js +34 -0
  319. package/lib/commands/pg/settings/log-connections.d.ts +17 -0
  320. package/lib/commands/pg/settings/log-connections.js +34 -0
  321. package/lib/commands/pg/settings/log-lock-waits.d.ts +13 -0
  322. package/lib/commands/pg/settings/log-lock-waits.js +31 -0
  323. package/lib/commands/pg/settings/log-min-duration-statement.d.ts +15 -0
  324. package/lib/commands/pg/settings/log-min-duration-statement.js +33 -0
  325. package/lib/commands/pg/settings/log-statement.d.ts +12 -0
  326. package/lib/commands/pg/settings/log-statement.js +30 -0
  327. package/lib/commands/pg/settings/track-functions.d.ts +12 -0
  328. package/lib/commands/pg/settings/track-functions.js +29 -0
  329. package/lib/commands/pg/unfollow.d.ts +14 -0
  330. package/lib/commands/pg/unfollow.js +40 -0
  331. package/lib/commands/pg/upgrade.d.ts +15 -0
  332. package/lib/commands/pg/upgrade.js +58 -0
  333. package/lib/commands/pg/vacuum-stats.d.ts +13 -0
  334. package/lib/commands/pg/vacuum-stats.js +65 -0
  335. package/lib/commands/pg/wait.d.ts +15 -0
  336. package/lib/commands/pg/wait.js +79 -0
  337. package/lib/commands/pipelines/add.d.ts +4 -4
  338. package/lib/commands/pipelines/connect.d.ts +2 -2
  339. package/lib/commands/pipelines/connect.js +1 -1
  340. package/lib/commands/pipelines/create.d.ts +5 -5
  341. package/lib/commands/pipelines/destroy.d.ts +1 -1
  342. package/lib/commands/pipelines/diff.d.ts +2 -2
  343. package/lib/commands/pipelines/diff.js +1 -1
  344. package/lib/commands/pipelines/info.d.ts +1 -1
  345. package/lib/commands/pipelines/open.d.ts +1 -1
  346. package/lib/commands/pipelines/promote.d.ts +3 -3
  347. package/lib/commands/pipelines/remove.d.ts +2 -2
  348. package/lib/commands/pipelines/rename.d.ts +2 -2
  349. package/lib/commands/pipelines/setup.d.ts +3 -3
  350. package/lib/commands/pipelines/transfer.d.ts +3 -3
  351. package/lib/commands/pipelines/update.d.ts +3 -3
  352. package/lib/commands/ps/autoscale/disable.d.ts +2 -2
  353. package/lib/commands/ps/autoscale/enable.d.ts +5 -5
  354. package/lib/commands/ps/index.d.ts +15 -0
  355. package/lib/commands/ps/index.js +195 -0
  356. package/lib/commands/ps/restart.d.ts +17 -0
  357. package/lib/commands/ps/restart.js +38 -0
  358. package/lib/commands/ps/scale.d.ts +13 -0
  359. package/lib/commands/ps/scale.js +108 -0
  360. package/lib/commands/ps/stop.d.ts +17 -0
  361. package/lib/commands/ps/stop.js +33 -0
  362. package/lib/commands/ps/type.d.ts +12 -0
  363. package/lib/commands/ps/type.js +163 -0
  364. package/lib/commands/ps/wait.d.ts +4 -4
  365. package/lib/commands/rake.d.ts +4 -4
  366. package/lib/commands/redis/cli.d.ts +15 -0
  367. package/lib/commands/redis/cli.js +204 -0
  368. package/lib/commands/redis/credentials.d.ts +14 -0
  369. package/lib/commands/redis/credentials.js +32 -0
  370. package/lib/commands/redis/info.d.ts +15 -0
  371. package/lib/commands/redis/info.js +25 -0
  372. package/lib/commands/redis/keyspace-notifications.d.ts +14 -0
  373. package/lib/commands/redis/keyspace-notifications.js +47 -0
  374. package/lib/commands/redis/maintenance.d.ts +16 -0
  375. package/lib/commands/redis/maintenance.js +63 -0
  376. package/lib/commands/redis/maxmemory.d.ts +14 -0
  377. package/lib/commands/redis/maxmemory.js +40 -0
  378. package/lib/commands/redis/promote.d.ts +13 -0
  379. package/lib/commands/redis/promote.js +39 -0
  380. package/lib/commands/redis/stats-reset.d.ts +14 -0
  381. package/lib/commands/redis/stats-reset.js +36 -0
  382. package/lib/commands/redis/timeout.d.ts +14 -0
  383. package/lib/commands/redis/timeout.js +35 -0
  384. package/lib/commands/redis/upgrade.d.ts +15 -0
  385. package/lib/commands/redis/upgrade.js +37 -0
  386. package/lib/commands/redis/wait.d.ts +14 -0
  387. package/lib/commands/redis/wait.js +60 -0
  388. package/lib/commands/releases/index.d.ts +14 -0
  389. package/lib/commands/releases/index.js +124 -0
  390. package/lib/commands/releases/info.d.ts +15 -0
  391. package/lib/commands/releases/info.js +56 -0
  392. package/lib/commands/releases/output.d.ts +13 -0
  393. package/lib/commands/releases/output.js +37 -0
  394. package/lib/commands/releases/rollback.d.ts +14 -0
  395. package/lib/commands/releases/rollback.js +48 -0
  396. package/lib/commands/reviewapps/disable.d.ts +3 -3
  397. package/lib/commands/reviewapps/enable.d.ts +3 -3
  398. package/lib/commands/run/detached.d.ts +7 -8
  399. package/lib/commands/run/detached.js +16 -20
  400. package/lib/commands/run/index.d.ts +10 -11
  401. package/lib/commands/run/index.js +16 -17
  402. package/lib/commands/run/inside.d.ts +5 -7
  403. package/lib/commands/run/inside.js +10 -14
  404. package/lib/commands/sessions/destroy.d.ts +1 -1
  405. package/lib/commands/spaces/create.d.ts +22 -0
  406. package/lib/commands/spaces/create.js +73 -0
  407. package/lib/commands/spaces/destroy.d.ts +14 -0
  408. package/lib/commands/spaces/destroy.js +49 -0
  409. package/lib/commands/spaces/drains/get.d.ts +12 -0
  410. package/lib/commands/spaces/drains/get.js +27 -0
  411. package/lib/commands/spaces/drains/set.d.ts +14 -0
  412. package/lib/commands/spaces/drains/set.js +29 -0
  413. package/lib/commands/spaces/hosts.d.ts +14 -0
  414. package/lib/commands/spaces/hosts.js +37 -0
  415. package/lib/commands/spaces/index.d.ts +16 -0
  416. package/lib/commands/spaces/index.js +55 -0
  417. package/lib/commands/spaces/info.d.ts +14 -0
  418. package/lib/commands/spaces/info.js +47 -0
  419. package/lib/commands/spaces/peerings/accept.d.ts +15 -0
  420. package/lib/commands/spaces/peerings/accept.js +36 -0
  421. package/lib/commands/spaces/peerings/destroy.d.ts +15 -0
  422. package/lib/commands/spaces/peerings/destroy.js +45 -0
  423. package/lib/commands/spaces/peerings/index.d.ts +13 -0
  424. package/lib/commands/spaces/peerings/index.js +33 -0
  425. package/lib/commands/spaces/peerings/info.d.ts +15 -0
  426. package/lib/commands/spaces/peerings/info.js +59 -0
  427. package/lib/commands/spaces/ps.d.ts +15 -0
  428. package/lib/commands/spaces/ps.js +82 -0
  429. package/lib/commands/spaces/rename.d.ts +11 -0
  430. package/lib/commands/spaces/rename.js +26 -0
  431. package/lib/commands/spaces/topology.d.ts +32 -0
  432. package/lib/commands/spaces/topology.js +89 -0
  433. package/lib/commands/spaces/transfer.d.ts +11 -0
  434. package/lib/commands/spaces/transfer.js +35 -0
  435. package/lib/commands/spaces/trusted-ips/add.d.ts +16 -0
  436. package/lib/commands/spaces/trusted-ips/add.js +43 -0
  437. package/lib/commands/spaces/trusted-ips/index.d.ts +15 -0
  438. package/lib/commands/spaces/trusted-ips/index.js +52 -0
  439. package/lib/commands/spaces/trusted-ips/remove.d.ts +15 -0
  440. package/lib/commands/spaces/trusted-ips/remove.js +44 -0
  441. package/lib/commands/spaces/vpn/config.d.ts +14 -0
  442. package/lib/commands/spaces/vpn/config.js +54 -0
  443. package/lib/commands/spaces/vpn/connect.d.ts +15 -0
  444. package/lib/commands/spaces/vpn/connect.js +48 -0
  445. package/lib/commands/spaces/vpn/connections.d.ts +17 -0
  446. package/lib/commands/spaces/vpn/connections.js +57 -0
  447. package/lib/commands/spaces/vpn/destroy.d.ts +14 -0
  448. package/lib/commands/spaces/vpn/destroy.js +38 -0
  449. package/lib/commands/spaces/vpn/info.d.ts +16 -0
  450. package/lib/commands/spaces/vpn/info.js +82 -0
  451. package/lib/commands/spaces/vpn/update.d.ts +14 -0
  452. package/lib/commands/spaces/vpn/update.js +39 -0
  453. package/lib/commands/spaces/vpn/wait.d.ts +16 -0
  454. package/lib/commands/spaces/vpn/wait.js +70 -0
  455. package/lib/commands/spaces/wait.d.ts +17 -0
  456. package/lib/commands/spaces/wait.js +89 -0
  457. package/lib/commands/status.js +4 -4
  458. package/lib/commands/teams/index.d.ts +9 -0
  459. package/lib/commands/teams/index.js +29 -0
  460. package/lib/commands/webhooks/add.d.ts +8 -8
  461. package/lib/commands/webhooks/deliveries/index.d.ts +4 -4
  462. package/lib/commands/webhooks/deliveries/info.d.ts +4 -4
  463. package/lib/commands/webhooks/events/index.d.ts +3 -3
  464. package/lib/commands/webhooks/events/info.d.ts +4 -4
  465. package/lib/commands/webhooks/index.d.ts +3 -3
  466. package/lib/commands/webhooks/info.d.ts +4 -4
  467. package/lib/commands/webhooks/remove.d.ts +4 -4
  468. package/lib/commands/webhooks/update.d.ts +9 -9
  469. package/lib/global_telemetry.js +10 -4
  470. package/lib/hooks/postrun/performance_analytics.js +5 -4
  471. package/lib/hooks/prerun/analytics.js +3 -0
  472. package/lib/lib/addons/addons_wait.d.ts +78 -0
  473. package/lib/lib/addons/addons_wait.js +56 -0
  474. package/lib/lib/addons/create_addon.d.ts +7 -0
  475. package/lib/lib/addons/create_addon.js +59 -0
  476. package/lib/lib/addons/destroy_addon.d.ts +3 -0
  477. package/lib/lib/addons/destroy_addon.js +48 -0
  478. package/lib/lib/addons/resolve.d.ts +39 -0
  479. package/lib/lib/addons/resolve.js +180 -0
  480. package/lib/lib/addons/util.d.ts +9 -0
  481. package/lib/lib/addons/util.js +72 -0
  482. package/lib/lib/apps/app-transfer.d.ts +10 -0
  483. package/lib/lib/apps/app-transfer.js +35 -0
  484. package/lib/lib/apps/error_info.d.ts +7 -0
  485. package/lib/lib/apps/error_info.js +185 -0
  486. package/lib/lib/autocomplete/base.d.ts +1 -1
  487. package/lib/lib/autocomplete/completions.d.ts +5 -1
  488. package/lib/lib/autocomplete/completions.js +6 -1
  489. package/lib/lib/certs/certificate_details.d.ts +2 -0
  490. package/lib/lib/certs/certificate_details.js +37 -0
  491. package/lib/lib/certs/display_table.d.ts +2 -0
  492. package/lib/lib/certs/display_table.js +51 -0
  493. package/lib/lib/certs/domains.d.ts +3 -0
  494. package/lib/lib/certs/domains.js +45 -0
  495. package/lib/lib/certs/flags.d.ts +7 -0
  496. package/lib/lib/certs/flags.js +42 -0
  497. package/lib/lib/certs/format_date.d.ts +1 -0
  498. package/lib/lib/certs/format_date.js +11 -0
  499. package/lib/lib/certs/get_cert_and_key.d.ts +9 -0
  500. package/lib/lib/certs/get_cert_and_key.js +11 -0
  501. package/lib/lib/ci/git.d.ts +7 -1
  502. package/lib/lib/ci/git.js +44 -1
  503. package/lib/lib/ci/interfaces/kolkrabbi.d.ts +1 -1
  504. package/lib/lib/ci/source.js +3 -3
  505. package/lib/lib/ci/test-run.js +2 -2
  506. package/lib/lib/config/quote.js +1 -1
  507. package/lib/lib/confirmCommand.d.ts +1 -0
  508. package/lib/lib/confirmCommand.js +23 -0
  509. package/lib/lib/container/debug.d.ts +2 -0
  510. package/lib/lib/container/debug.js +5 -0
  511. package/lib/lib/container/docker_helper.d.ts +24 -0
  512. package/lib/lib/container/docker_helper.js +168 -0
  513. package/lib/lib/container/helpers.d.ts +8 -0
  514. package/lib/lib/container/helpers.js +29 -0
  515. package/lib/lib/container/streamer.d.ts +1 -0
  516. package/lib/lib/container/streamer.js +31 -0
  517. package/lib/lib/domains/domains.d.ts +6 -0
  518. package/lib/lib/domains/domains.js +104 -0
  519. package/lib/lib/git/git.d.ts +3 -0
  520. package/lib/lib/git/git.js +22 -3
  521. package/lib/lib/local/run-foreman.d.ts +1 -0
  522. package/lib/lib/local/run-foreman.js +229 -1
  523. package/lib/lib/members/util.d.ts +3 -0
  524. package/lib/lib/members/util.js +25 -0
  525. package/lib/lib/members/utils.d.ts +2 -0
  526. package/lib/lib/members/utils.js +14 -0
  527. package/lib/lib/notify.d.ts +1 -0
  528. package/lib/lib/notify.js +23 -0
  529. package/lib/lib/orgs/utils.d.ts +5 -0
  530. package/lib/lib/orgs/utils.js +24 -0
  531. package/lib/lib/pg/backups.d.ts +17 -0
  532. package/lib/lib/pg/backups.js +164 -0
  533. package/lib/lib/pg/bastion.d.ts +29 -0
  534. package/lib/lib/pg/bastion.js +121 -0
  535. package/lib/lib/pg/config.d.ts +2 -0
  536. package/lib/lib/pg/config.js +13 -0
  537. package/lib/lib/pg/download.d.ts +5 -0
  538. package/lib/lib/pg/download.js +34 -0
  539. package/lib/lib/pg/fetcher.d.ts +39 -0
  540. package/lib/lib/pg/fetcher.js +137 -0
  541. package/lib/lib/pg/host.d.ts +1 -0
  542. package/lib/lib/pg/host.js +7 -0
  543. package/lib/lib/pg/psql.d.ts +48 -0
  544. package/lib/lib/pg/psql.js +252 -0
  545. package/lib/lib/pg/push_pull.d.ts +13 -0
  546. package/lib/lib/pg/push_pull.js +118 -0
  547. package/lib/lib/pg/setter.d.ts +16 -0
  548. package/lib/lib/pg/setter.js +65 -0
  549. package/lib/lib/pg/types.d.ts +230 -0
  550. package/lib/lib/pg/types.js +2 -0
  551. package/lib/lib/pg/util.d.ts +36 -0
  552. package/lib/lib/pg/util.js +183 -0
  553. package/lib/lib/redis/api.d.ts +65 -0
  554. package/lib/lib/redis/api.js +122 -0
  555. package/lib/lib/releases/output.d.ts +1 -0
  556. package/lib/lib/releases/output.js +14 -0
  557. package/lib/lib/releases/releases.d.ts +6 -0
  558. package/lib/lib/releases/releases.js +32 -0
  559. package/lib/lib/releases/status_helper.d.ts +5 -0
  560. package/lib/lib/releases/status_helper.js +25 -0
  561. package/lib/lib/run/dyno.js +2 -2
  562. package/lib/lib/run/log-displayer.d.ts +1 -1
  563. package/lib/lib/spaces/format.d.ts +4 -0
  564. package/lib/lib/spaces/format.js +60 -0
  565. package/lib/lib/spaces/hosts.d.ts +9 -0
  566. package/lib/lib/spaces/hosts.js +34 -0
  567. package/lib/lib/spaces/outbound-rules.d.ts +4 -0
  568. package/lib/lib/spaces/outbound-rules.js +78 -0
  569. package/lib/lib/spaces/parsers.d.ts +8 -0
  570. package/lib/lib/spaces/parsers.js +17 -0
  571. package/lib/lib/spaces/peering.d.ts +4 -0
  572. package/lib/lib/spaces/peering.js +53 -0
  573. package/lib/lib/spaces/spaces.d.ts +4 -0
  574. package/lib/lib/spaces/spaces.js +37 -0
  575. package/lib/lib/spaces/vpn-connections.d.ts +2 -0
  576. package/lib/lib/spaces/vpn-connections.js +22 -0
  577. package/lib/lib/teamUtils.d.ts +3 -0
  578. package/lib/lib/teamUtils.js +18 -0
  579. package/lib/lib/time.d.ts +2 -0
  580. package/lib/lib/time.js +29 -0
  581. package/lib/lib/types/app_errors.d.ts +6 -0
  582. package/lib/lib/types/app_errors.js +2 -0
  583. package/lib/lib/types/domain.d.ts +61 -0
  584. package/lib/lib/types/domain.js +5 -0
  585. package/lib/lib/types/notifications.d.ts +20 -0
  586. package/lib/lib/types/notifications.js +2 -0
  587. package/lib/lib/utils/keyValueParser.d.ts +4 -0
  588. package/lib/lib/utils/keyValueParser.js +9 -0
  589. package/lib/lib/utils/multisort.d.ts +32 -0
  590. package/lib/lib/utils/multisort.js +66 -0
  591. package/lib/lib/utils/paginator.d.ts +2 -0
  592. package/lib/lib/utils/paginator.js +29 -0
  593. package/lib/lib/utils/uuid-validate.d.ts +1 -0
  594. package/lib/lib/utils/uuid-validate.js +7 -0
  595. package/lib/user-config.js +2 -2
  596. package/oclif.manifest.json +12684 -2674
  597. package/package.json +116 -65
@@ -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
+ }
@@ -0,0 +1,35 @@
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 Transfer extends command_1.Command {
8
+ async run() {
9
+ const { flags } = await this.parse(Transfer);
10
+ const space = flags.space;
11
+ const team = flags.team;
12
+ try {
13
+ core_1.ux.action.start(`Transferring space ${color_1.default.yellow(space)} to team ${color_1.default.green(team)}`);
14
+ await this.heroku.post(`/spaces/${space}/transfer`, { body: { new_owner: team } });
15
+ }
16
+ catch (error) {
17
+ const { body: { message } } = error;
18
+ core_1.ux.error(message);
19
+ }
20
+ finally {
21
+ core_1.ux.action.stop();
22
+ }
23
+ }
24
+ }
25
+ exports.default = Transfer;
26
+ Transfer.topic = 'spaces';
27
+ Transfer.description = 'transfer a space to another team';
28
+ Transfer.examples = [(0, tsheredoc_1.default)(`
29
+ $ heroku spaces:transfer --space=space-name --team=team-name
30
+ Transferring space-name to team-name... done
31
+ `)];
32
+ Transfer.flags = {
33
+ space: command_1.flags.string({ required: true, char: 's', description: 'name of space' }),
34
+ team: command_1.flags.string({ required: true, char: 't', description: 'desired owner of space' }),
35
+ };
@@ -0,0 +1,16 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Add extends Command {
3
+ static topic: string;
4
+ static hiddenAliases: string[];
5
+ static description: string;
6
+ static examples: string[];
7
+ static flags: {
8
+ space: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
+ confirm: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
10
+ };
11
+ static args: {
12
+ source: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
13
+ };
14
+ run(): Promise<void>;
15
+ private isUniqueRule;
16
+ }
@@ -0,0 +1,43 @@
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 Add extends command_1.Command {
8
+ async run() {
9
+ const { flags, args } = await this.parse(Add);
10
+ const { space } = flags;
11
+ const url = `/spaces/${space}/inbound-ruleset`;
12
+ const options = {
13
+ headers: { Accept: 'application/vnd.heroku+json; version=3.dogwood' },
14
+ };
15
+ const { body: ruleset } = await this.heroku.get(url, options);
16
+ if (!this.isUniqueRule(ruleset, args.source)) {
17
+ throw new Error(`A rule already exists for ${args.source}.`);
18
+ }
19
+ ruleset.rules.push({ action: 'allow', source: args.source });
20
+ await this.heroku.put(url, Object.assign(Object.assign({}, options), { body: ruleset }));
21
+ core_1.ux.log(`Added ${color_1.default.cyan.bold(args.source)} to trusted IP ranges on ${color_1.default.cyan.bold(space)}`);
22
+ core_1.ux.warn('It may take a few moments for the changes to take effect.');
23
+ }
24
+ isUniqueRule(ruleset, source) {
25
+ return Array.isArray(ruleset.rules) && !ruleset.rules.some(rs => rs.source === source);
26
+ }
27
+ }
28
+ exports.default = Add;
29
+ Add.topic = 'spaces';
30
+ Add.hiddenAliases = ['trusted-ips:add'];
31
+ Add.description = (0, tsheredoc_1.default)(`
32
+ Add one range to the list of trusted IP ranges
33
+ Uses CIDR notation.`);
34
+ Add.examples = [(0, tsheredoc_1.default)(`
35
+ $ heroku trusted-ips:add --space my-space 192.168.2.0/24
36
+ Added 192.168.0.1/24 to trusted IP ranges on my-space`)];
37
+ Add.flags = {
38
+ space: command_1.flags.string({ char: 's', description: 'space to add rule to', required: true }),
39
+ confirm: command_1.flags.string({ description: 'set to space name to bypass confirm prompt' }),
40
+ };
41
+ Add.args = {
42
+ source: core_1.Args.string({ required: true }),
43
+ };
@@ -0,0 +1,15 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Index 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 args: {
11
+ space: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
12
+ };
13
+ run(): Promise<void>;
14
+ private displayRules;
15
+ }
@@ -0,0 +1,52 @@
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
+ class Index extends command_1.Command {
7
+ async run() {
8
+ const { flags, args } = await this.parse(Index);
9
+ const space = flags.space || args.space;
10
+ if (!space) {
11
+ throw new Error('Space name required.\nUSAGE: heroku trusted-ips my-space');
12
+ }
13
+ const { body: rules } = await this.heroku.get(`/spaces/${space}/inbound-ruleset`, {
14
+ headers: { Accept: 'application/vnd.heroku+json; version=3.dogwood' },
15
+ });
16
+ if (flags.json) {
17
+ core_1.ux.log(JSON.stringify(rules, null, 2));
18
+ }
19
+ else {
20
+ this.displayRules(space, rules);
21
+ }
22
+ }
23
+ displayRules(space, ruleset) {
24
+ if (ruleset.rules.length > 0) {
25
+ core_1.ux.styledHeader('Trusted IP Ranges');
26
+ for (const rule of ruleset.rules) {
27
+ core_1.ux.log(rule.source);
28
+ }
29
+ }
30
+ else {
31
+ core_1.ux.styledHeader(`${space} has no trusted IP ranges. All inbound web requests to dynos are blocked.`);
32
+ }
33
+ }
34
+ }
35
+ exports.default = Index;
36
+ Index.topic = 'spaces';
37
+ Index.hiddenAliases = ['trusted-ips'];
38
+ Index.description = (0, tsheredoc_1.default)(`
39
+ list trusted IP ranges for a space
40
+ Trusted IP ranges are only available on Private Spaces.
41
+
42
+ The space name is a required parameter. Newly created spaces will have 0.0.0.0/0 set by default
43
+ allowing all traffic to applications in the space. More than one CIDR block can be provided at
44
+ a time to the commands listed below. For example 1.2.3.4/20 and 5.6.7.8/20 can be added with:
45
+ `);
46
+ Index.flags = {
47
+ space: command_1.flags.string({ char: 's', description: 'space to get inbound rules from' }),
48
+ json: command_1.flags.boolean({ description: 'output in json format' }),
49
+ };
50
+ Index.args = {
51
+ space: core_1.Args.string({ hidden: true }),
52
+ };
@@ -0,0 +1,15 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Remove extends Command {
3
+ static topic: string;
4
+ static hiddenAliases: string[];
5
+ static description: string;
6
+ static examples: string[];
7
+ static flags: {
8
+ space: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
+ confirm: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
10
+ };
11
+ static args: {
12
+ source: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
13
+ };
14
+ run(): Promise<void>;
15
+ }