heroku 11.0.0-alpha.11 → 11.0.0-alpha.12

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 (865) hide show
  1. package/README.md +17 -2
  2. package/lib/commands/access/add.d.ts +5 -5
  3. package/lib/commands/access/add.js +13 -13
  4. package/lib/commands/access/index.d.ts +2 -2
  5. package/lib/commands/access/index.js +7 -8
  6. package/lib/commands/access/remove.d.ts +1 -1
  7. package/lib/commands/access/remove.js +5 -5
  8. package/lib/commands/access/update.d.ts +5 -5
  9. package/lib/commands/access/update.js +9 -9
  10. package/lib/commands/accounts/add.d.ts +1 -1
  11. package/lib/commands/accounts/add.js +3 -2
  12. package/lib/commands/accounts/current.js +4 -5
  13. package/lib/commands/accounts/index.js +2 -1
  14. package/lib/commands/accounts/remove.d.ts +1 -1
  15. package/lib/commands/accounts/remove.js +3 -2
  16. package/lib/commands/accounts/set.d.ts +1 -1
  17. package/lib/commands/accounts/set.js +3 -2
  18. package/lib/commands/addons/attach.d.ts +6 -6
  19. package/lib/commands/addons/attach.js +14 -14
  20. package/lib/commands/addons/create.d.ts +9 -10
  21. package/lib/commands/addons/create.js +31 -29
  22. package/lib/commands/addons/destroy.d.ts +9 -9
  23. package/lib/commands/addons/destroy.js +19 -19
  24. package/lib/commands/addons/detach.d.ts +4 -4
  25. package/lib/commands/addons/detach.js +9 -9
  26. package/lib/commands/addons/docs.d.ts +5 -5
  27. package/lib/commands/addons/docs.js +9 -9
  28. package/lib/commands/addons/index.d.ts +4 -4
  29. package/lib/commands/addons/index.js +28 -26
  30. package/lib/commands/addons/info.d.ts +4 -4
  31. package/lib/commands/addons/info.js +18 -14
  32. package/lib/commands/addons/open.d.ts +26 -27
  33. package/lib/commands/addons/open.js +21 -24
  34. package/lib/commands/addons/rename.d.ts +2 -2
  35. package/lib/commands/addons/rename.js +6 -6
  36. package/lib/commands/addons/services.d.ts +1 -1
  37. package/lib/commands/addons/services.js +5 -4
  38. package/lib/commands/addons/upgrade.d.ts +10 -11
  39. package/lib/commands/addons/upgrade.js +74 -70
  40. package/lib/commands/addons/wait.d.ts +5 -5
  41. package/lib/commands/addons/wait.js +10 -10
  42. package/lib/commands/apps/create.d.ts +12 -12
  43. package/lib/commands/apps/create.js +50 -58
  44. package/lib/commands/apps/destroy.d.ts +6 -6
  45. package/lib/commands/apps/destroy.js +10 -10
  46. package/lib/commands/apps/errors.d.ts +3 -3
  47. package/lib/commands/apps/errors.js +24 -12
  48. package/lib/commands/apps/favorites/add.d.ts +1 -1
  49. package/lib/commands/apps/favorites/add.js +4 -4
  50. package/lib/commands/apps/favorites/index.d.ts +1 -1
  51. package/lib/commands/apps/favorites/index.js +4 -4
  52. package/lib/commands/apps/favorites/remove.d.ts +1 -1
  53. package/lib/commands/apps/favorites/remove.js +3 -3
  54. package/lib/commands/apps/index.d.ts +4 -4
  55. package/lib/commands/apps/index.js +21 -21
  56. package/lib/commands/apps/info.d.ts +8 -8
  57. package/lib/commands/apps/info.js +31 -31
  58. package/lib/commands/apps/join.d.ts +2 -2
  59. package/lib/commands/apps/join.js +3 -3
  60. package/lib/commands/apps/leave.d.ts +1 -1
  61. package/lib/commands/apps/leave.js +3 -3
  62. package/lib/commands/apps/lock.d.ts +2 -2
  63. package/lib/commands/apps/lock.js +5 -5
  64. package/lib/commands/apps/open.d.ts +5 -5
  65. package/lib/commands/apps/open.js +11 -9
  66. package/lib/commands/apps/rename.d.ts +6 -6
  67. package/lib/commands/apps/rename.js +13 -13
  68. package/lib/commands/apps/stacks/index.d.ts +2 -2
  69. package/lib/commands/apps/stacks/index.js +5 -6
  70. package/lib/commands/apps/stacks/set.d.ts +4 -4
  71. package/lib/commands/apps/stacks/set.js +9 -9
  72. package/lib/commands/apps/transfer.d.ts +8 -8
  73. package/lib/commands/apps/transfer.js +33 -32
  74. package/lib/commands/apps/unlock.d.ts +2 -2
  75. package/lib/commands/apps/unlock.js +3 -3
  76. package/lib/commands/auth/2fa/disable.d.ts +1 -1
  77. package/lib/commands/auth/2fa/disable.js +3 -2
  78. package/lib/commands/auth/2fa/index.d.ts +1 -1
  79. package/lib/commands/auth/2fa/index.js +4 -4
  80. package/lib/commands/auth/login.d.ts +3 -3
  81. package/lib/commands/auth/login.js +6 -6
  82. package/lib/commands/auth/logout.js +1 -0
  83. package/lib/commands/auth/token.js +4 -2
  84. package/lib/commands/authorizations/create.js +2 -1
  85. package/lib/commands/authorizations/index.js +3 -4
  86. package/lib/commands/authorizations/revoke.d.ts +2 -2
  87. package/lib/commands/authorizations/revoke.js +6 -6
  88. package/lib/commands/autocomplete/create.d.ts +29 -0
  89. package/lib/commands/autocomplete/create.js +223 -0
  90. package/lib/commands/autocomplete/doctor.d.ts +12 -0
  91. package/lib/commands/autocomplete/doctor.js +111 -0
  92. package/lib/commands/autocomplete/index.d.ts +12 -0
  93. package/lib/commands/autocomplete/index.js +65 -0
  94. package/lib/commands/autocomplete/options.d.ts +25 -0
  95. package/lib/commands/autocomplete/options.js +208 -0
  96. package/lib/commands/autocomplete/script.d.ts +10 -0
  97. package/lib/commands/autocomplete/script.js +20 -0
  98. package/lib/commands/buildpacks/index.js +2 -3
  99. package/lib/commands/buildpacks/remove.d.ts +4 -4
  100. package/lib/commands/buildpacks/remove.js +9 -8
  101. package/lib/commands/certs/add.d.ts +8 -8
  102. package/lib/commands/certs/add.js +27 -29
  103. package/lib/commands/certs/auto/disable.d.ts +2 -2
  104. package/lib/commands/certs/auto/disable.js +4 -4
  105. package/lib/commands/certs/auto/enable.d.ts +2 -2
  106. package/lib/commands/certs/auto/enable.js +8 -9
  107. package/lib/commands/certs/auto/index.d.ts +2 -2
  108. package/lib/commands/certs/auto/index.js +16 -17
  109. package/lib/commands/certs/generate.d.ts +2 -3
  110. package/lib/commands/certs/generate.js +1 -2
  111. package/lib/commands/certs/index.d.ts +1 -1
  112. package/lib/commands/certs/index.js +3 -3
  113. package/lib/commands/certs/info.d.ts +4 -4
  114. package/lib/commands/certs/info.js +6 -6
  115. package/lib/commands/certs/remove.d.ts +3 -3
  116. package/lib/commands/certs/remove.js +5 -5
  117. package/lib/commands/certs/update.d.ts +8 -8
  118. package/lib/commands/certs/update.js +19 -19
  119. package/lib/commands/ci/config/get.d.ts +5 -5
  120. package/lib/commands/ci/config/get.js +8 -8
  121. package/lib/commands/ci/config/index.d.ts +2 -2
  122. package/lib/commands/ci/config/index.js +8 -9
  123. package/lib/commands/ci/config/set.d.ts +2 -2
  124. package/lib/commands/ci/config/set.js +10 -10
  125. package/lib/commands/ci/config/unset.d.ts +3 -3
  126. package/lib/commands/ci/config/unset.js +6 -5
  127. package/lib/commands/ci/index.d.ts +2 -2
  128. package/lib/commands/ci/index.js +5 -4
  129. package/lib/commands/ci/info.js +3 -2
  130. package/lib/commands/ci/last.d.ts +1 -1
  131. package/lib/commands/ci/last.js +4 -3
  132. package/lib/commands/ci/migrate-manifest.d.ts +1 -1
  133. package/lib/commands/ci/migrate-manifest.js +4 -4
  134. package/lib/commands/ci/open.d.ts +2 -2
  135. package/lib/commands/ci/open.js +4 -3
  136. package/lib/commands/ci/rerun.d.ts +4 -4
  137. package/lib/commands/ci/rerun.js +9 -8
  138. package/lib/commands/ci/run.d.ts +1 -1
  139. package/lib/commands/ci/run.js +9 -7
  140. package/lib/commands/clients/create.js +4 -3
  141. package/lib/commands/clients/destroy.d.ts +1 -1
  142. package/lib/commands/clients/destroy.js +4 -4
  143. package/lib/commands/clients/index.js +5 -4
  144. package/lib/commands/clients/info.d.ts +3 -3
  145. package/lib/commands/clients/info.js +5 -5
  146. package/lib/commands/clients/rotate.d.ts +3 -3
  147. package/lib/commands/clients/rotate.js +5 -6
  148. package/lib/commands/clients/update.d.ts +3 -3
  149. package/lib/commands/clients/update.js +5 -5
  150. package/lib/commands/config/edit.d.ts +5 -5
  151. package/lib/commands/config/edit.js +21 -22
  152. package/lib/commands/config/get.d.ts +5 -4
  153. package/lib/commands/config/get.js +34 -13
  154. package/lib/commands/config/index.d.ts +1 -1
  155. package/lib/commands/config/index.js +4 -5
  156. package/lib/commands/config/set.d.ts +2 -2
  157. package/lib/commands/config/set.js +17 -18
  158. package/lib/commands/config/unset.d.ts +1 -1
  159. package/lib/commands/config/unset.js +12 -11
  160. package/lib/commands/container/pull.d.ts +4 -4
  161. package/lib/commands/container/pull.js +12 -12
  162. package/lib/commands/container/push.d.ts +6 -6
  163. package/lib/commands/container/push.js +18 -18
  164. package/lib/commands/container/release.d.ts +4 -4
  165. package/lib/commands/container/release.js +16 -15
  166. package/lib/commands/container/rm.d.ts +4 -4
  167. package/lib/commands/container/rm.js +10 -9
  168. package/lib/commands/container/run.d.ts +5 -5
  169. package/lib/commands/container/run.js +14 -14
  170. package/lib/commands/dashboard.d.ts +1 -1
  171. package/lib/commands/dashboard.js +19 -20
  172. package/lib/commands/domains/add.d.ts +5 -5
  173. package/lib/commands/domains/add.js +17 -18
  174. package/lib/commands/domains/clear.js +2 -2
  175. package/lib/commands/domains/index.d.ts +5 -3
  176. package/lib/commands/domains/index.js +99 -69
  177. package/lib/commands/domains/info.js +2 -1
  178. package/lib/commands/domains/remove.d.ts +3 -3
  179. package/lib/commands/domains/remove.js +5 -5
  180. package/lib/commands/domains/update.d.ts +4 -4
  181. package/lib/commands/domains/update.js +8 -8
  182. package/lib/commands/drains/add.d.ts +3 -3
  183. package/lib/commands/drains/add.js +7 -7
  184. package/lib/commands/drains/index.d.ts +1 -1
  185. package/lib/commands/drains/index.js +5 -6
  186. package/lib/commands/drains/remove.d.ts +4 -4
  187. package/lib/commands/drains/remove.js +6 -6
  188. package/lib/commands/features/disable.d.ts +3 -3
  189. package/lib/commands/features/disable.js +8 -8
  190. package/lib/commands/features/enable.d.ts +3 -3
  191. package/lib/commands/features/enable.js +8 -8
  192. package/lib/commands/features/index.js +2 -3
  193. package/lib/commands/features/info.d.ts +4 -4
  194. package/lib/commands/features/info.js +10 -9
  195. package/lib/commands/git/clone.d.ts +2 -2
  196. package/lib/commands/git/clone.js +7 -6
  197. package/lib/commands/git/remote.js +6 -5
  198. package/lib/commands/keys/add.d.ts +3 -4
  199. package/lib/commands/keys/add.js +20 -18
  200. package/lib/commands/keys/index.js +4 -5
  201. package/lib/commands/keys/remove.d.ts +2 -2
  202. package/lib/commands/keys/remove.js +8 -8
  203. package/lib/commands/labs/disable.d.ts +3 -3
  204. package/lib/commands/labs/disable.js +13 -13
  205. package/lib/commands/labs/enable.d.ts +4 -4
  206. package/lib/commands/labs/enable.js +11 -11
  207. package/lib/commands/labs/index.d.ts +2 -2
  208. package/lib/commands/labs/index.js +6 -7
  209. package/lib/commands/labs/info.d.ts +3 -3
  210. package/lib/commands/labs/info.js +8 -7
  211. package/lib/commands/local/index.d.ts +4 -4
  212. package/lib/commands/local/index.js +21 -21
  213. package/lib/commands/local/run.d.ts +1 -1
  214. package/lib/commands/local/run.js +4 -3
  215. package/lib/commands/logs.d.ts +1 -1
  216. package/lib/commands/logs.js +22 -21
  217. package/lib/commands/maintenance/off.d.ts +1 -1
  218. package/lib/commands/maintenance/off.js +2 -2
  219. package/lib/commands/maintenance/on.d.ts +1 -1
  220. package/lib/commands/maintenance/on.js +2 -2
  221. package/lib/commands/members/index.d.ts +3 -3
  222. package/lib/commands/members/index.js +18 -13
  223. package/lib/commands/members/remove.d.ts +1 -1
  224. package/lib/commands/members/remove.js +6 -6
  225. package/lib/commands/notifications/index.d.ts +3 -3
  226. package/lib/commands/notifications/index.js +9 -10
  227. package/lib/commands/orgs/open.js +2 -2
  228. package/lib/commands/pg/backups/cancel.d.ts +13 -0
  229. package/lib/commands/pg/backups/cancel.js +43 -0
  230. package/lib/commands/pg/backups/capture.d.ts +15 -0
  231. package/lib/commands/pg/backups/capture.js +62 -0
  232. package/lib/commands/pg/backups/delete.d.ts +15 -0
  233. package/lib/commands/pg/backups/delete.js +34 -0
  234. package/lib/commands/pg/backups/download.d.ts +14 -0
  235. package/lib/commands/pg/backups/download.js +54 -0
  236. package/lib/commands/pg/backups/index.d.ts +20 -0
  237. package/lib/commands/pg/backups/index.js +121 -0
  238. package/lib/commands/pg/backups/info.d.ts +17 -0
  239. package/lib/commands/pg/backups/info.js +86 -0
  240. package/lib/commands/pg/backups/restore.d.ts +20 -0
  241. package/lib/commands/pg/backups/restore.js +134 -0
  242. package/lib/commands/pg/backups/schedule.d.ts +21 -0
  243. package/lib/commands/pg/backups/schedule.js +69 -0
  244. package/lib/commands/pg/backups/schedules.d.ts +10 -0
  245. package/lib/commands/pg/backups/schedules.js +27 -0
  246. package/lib/commands/pg/backups/unschedule.d.ts +13 -0
  247. package/lib/commands/pg/backups/unschedule.js +42 -0
  248. package/lib/commands/pg/backups/url.d.ts +13 -0
  249. package/lib/commands/pg/backups/url.js +37 -0
  250. package/lib/commands/pg/bloat.d.ts +13 -0
  251. package/lib/{oldCommands → commands}/pg/bloat.js +23 -30
  252. package/lib/commands/pg/blocking.d.ts +13 -0
  253. package/lib/commands/pg/blocking.js +42 -0
  254. package/lib/commands/pg/connection-pooling/attach.d.ts +15 -0
  255. package/lib/commands/pg/connection-pooling/attach.js +38 -0
  256. package/lib/commands/pg/copy.d.ts +18 -0
  257. package/lib/commands/pg/copy.js +83 -0
  258. package/lib/commands/pg/credentials/create.d.ts +15 -0
  259. package/lib/commands/pg/credentials/create.js +39 -0
  260. package/lib/commands/pg/credentials/destroy.d.ts +16 -0
  261. package/lib/commands/pg/credentials/destroy.js +45 -0
  262. package/lib/commands/pg/credentials/repair-default.d.ts +15 -0
  263. package/lib/commands/pg/credentials/repair-default.js +38 -0
  264. package/lib/commands/pg/credentials/rotate.d.ts +17 -0
  265. package/lib/commands/pg/credentials/rotate.js +79 -0
  266. package/lib/commands/pg/credentials/url.d.ts +14 -0
  267. package/lib/commands/pg/credentials/url.js +61 -0
  268. package/lib/commands/pg/credentials.d.ts +16 -0
  269. package/lib/commands/pg/credentials.js +61 -0
  270. package/lib/commands/pg/diagnose.d.ts +18 -0
  271. package/lib/commands/pg/diagnose.js +106 -0
  272. package/lib/commands/pg/info.d.ts +14 -0
  273. package/lib/commands/pg/info.js +91 -0
  274. package/lib/commands/pg/kill.d.ts +15 -0
  275. package/lib/commands/pg/kill.js +32 -0
  276. package/lib/commands/pg/killall.d.ts +13 -0
  277. package/lib/commands/pg/killall.js +24 -0
  278. package/lib/commands/pg/links/create.d.ts +16 -0
  279. package/lib/commands/pg/links/create.js +57 -0
  280. package/lib/commands/pg/links/destroy.d.ts +16 -0
  281. package/lib/commands/pg/links/destroy.js +40 -0
  282. package/lib/commands/pg/links/index.d.ts +13 -0
  283. package/lib/commands/pg/links/index.js +62 -0
  284. package/lib/commands/pg/locks.d.ts +15 -0
  285. package/lib/commands/pg/locks.js +53 -0
  286. package/lib/commands/pg/maintenance/index.d.ts +13 -0
  287. package/lib/commands/pg/maintenance/index.js +27 -0
  288. package/lib/commands/pg/maintenance/run.d.ts +14 -0
  289. package/lib/commands/pg/maintenance/run.js +34 -0
  290. package/lib/commands/pg/maintenance/window.d.ts +15 -0
  291. package/lib/commands/pg/maintenance/window.js +41 -0
  292. package/lib/commands/pg/outliers.d.ts +19 -0
  293. package/lib/commands/pg/outliers.js +100 -0
  294. package/lib/commands/pg/promote.d.ts +14 -0
  295. package/lib/commands/pg/promote.js +167 -0
  296. package/lib/commands/pg/ps.d.ts +14 -0
  297. package/lib/commands/pg/ps.js +52 -0
  298. package/lib/commands/pg/psql.d.ts +16 -0
  299. package/lib/commands/pg/psql.js +47 -0
  300. package/lib/commands/pg/pull.d.ts +18 -0
  301. package/lib/commands/pg/pull.js +87 -0
  302. package/lib/commands/pg/push.d.ts +18 -0
  303. package/lib/commands/pg/push.js +83 -0
  304. package/lib/commands/pg/reset.d.ts +15 -0
  305. package/lib/commands/pg/reset.js +43 -0
  306. package/lib/commands/pg/settings/auto-explain/log-analyze.d.ts +13 -0
  307. package/lib/commands/pg/settings/auto-explain/log-analyze.js +28 -0
  308. package/lib/commands/pg/settings/auto-explain/log-buffers.d.ts +13 -0
  309. package/lib/commands/pg/settings/auto-explain/log-buffers.js +26 -0
  310. package/lib/commands/pg/settings/auto-explain/log-format.d.ts +12 -0
  311. package/lib/commands/pg/settings/auto-explain/log-format.js +22 -0
  312. package/lib/commands/pg/settings/auto-explain/log-min-duration.d.ts +13 -0
  313. package/lib/commands/pg/settings/auto-explain/log-min-duration.js +29 -0
  314. package/lib/commands/pg/settings/auto-explain/log-nested-statements.d.ts +12 -0
  315. package/lib/commands/pg/settings/auto-explain/log-nested-statements.js +20 -0
  316. package/lib/commands/pg/settings/auto-explain/log-triggers.d.ts +13 -0
  317. package/lib/commands/pg/settings/auto-explain/log-triggers.js +26 -0
  318. package/lib/commands/pg/settings/auto-explain/log-verbose.d.ts +17 -0
  319. package/lib/commands/pg/settings/auto-explain/log-verbose.js +29 -0
  320. package/lib/commands/pg/settings/auto-explain.d.ts +18 -0
  321. package/lib/commands/pg/settings/auto-explain.js +34 -0
  322. package/lib/commands/pg/settings/data-connector-details-logs.d.ts +17 -0
  323. package/lib/commands/pg/settings/data-connector-details-logs.js +30 -0
  324. package/lib/commands/pg/settings/index.d.ts +13 -0
  325. package/lib/commands/pg/settings/index.js +33 -0
  326. package/lib/commands/pg/settings/log-connections.d.ts +17 -0
  327. package/lib/commands/pg/settings/log-connections.js +30 -0
  328. package/lib/commands/pg/settings/log-lock-waits.d.ts +13 -0
  329. package/lib/commands/pg/settings/log-lock-waits.js +27 -0
  330. package/lib/commands/pg/settings/log-min-duration-statement.d.ts +12 -0
  331. package/lib/commands/pg/settings/log-min-duration-statement.js +29 -0
  332. package/lib/commands/pg/settings/log-min-error-statement.d.ts +12 -0
  333. package/lib/commands/pg/settings/log-min-error-statement.js +23 -0
  334. package/lib/commands/pg/settings/log-statement.d.ts +12 -0
  335. package/lib/commands/pg/settings/log-statement.js +26 -0
  336. package/lib/commands/pg/settings/track-functions.d.ts +12 -0
  337. package/lib/commands/pg/settings/track-functions.js +25 -0
  338. package/lib/commands/pg/unfollow.d.ts +14 -0
  339. package/lib/commands/pg/unfollow.js +38 -0
  340. package/lib/commands/pg/upgrade/cancel.d.ts +13 -0
  341. package/lib/commands/pg/upgrade/cancel.js +50 -0
  342. package/lib/commands/pg/upgrade/dryrun.d.ts +14 -0
  343. package/lib/commands/pg/upgrade/dryrun.js +50 -0
  344. package/lib/commands/pg/upgrade/index.d.ts +15 -0
  345. package/lib/commands/pg/upgrade/index.js +73 -0
  346. package/lib/commands/pg/upgrade/prepare.d.ts +14 -0
  347. package/lib/commands/pg/upgrade/prepare.js +51 -0
  348. package/lib/commands/pg/upgrade/run.d.ts +16 -0
  349. package/lib/commands/pg/upgrade/run.js +95 -0
  350. package/lib/commands/pg/upgrade/wait.d.ts +16 -0
  351. package/lib/commands/pg/upgrade/wait.js +105 -0
  352. package/lib/commands/pg/vacuum-stats.d.ts +13 -0
  353. package/lib/{oldCommands → commands}/pg/vacuum-stats.js +25 -29
  354. package/lib/commands/pg/wait.d.ts +15 -0
  355. package/lib/commands/pg/wait.js +79 -0
  356. package/lib/commands/pipelines/add.d.ts +3 -3
  357. package/lib/commands/pipelines/add.js +13 -13
  358. package/lib/commands/pipelines/connect.js +2 -1
  359. package/lib/commands/pipelines/create.d.ts +3 -3
  360. package/lib/commands/pipelines/create.js +20 -20
  361. package/lib/commands/pipelines/destroy.d.ts +2 -2
  362. package/lib/commands/pipelines/destroy.js +5 -5
  363. package/lib/commands/pipelines/diff.d.ts +3 -3
  364. package/lib/commands/pipelines/diff.js +12 -13
  365. package/lib/commands/pipelines/index.js +3 -3
  366. package/lib/commands/pipelines/info.d.ts +3 -3
  367. package/lib/commands/pipelines/info.js +10 -9
  368. package/lib/commands/pipelines/open.d.ts +9 -0
  369. package/lib/commands/pipelines/open.js +19 -0
  370. package/lib/commands/pipelines/promote.d.ts +12 -0
  371. package/lib/commands/pipelines/promote.js +209 -0
  372. package/lib/commands/pipelines/remove.d.ts +10 -0
  373. package/lib/commands/pipelines/remove.js +20 -0
  374. package/lib/commands/pipelines/rename.d.ts +10 -0
  375. package/lib/commands/pipelines/rename.js +34 -0
  376. package/lib/commands/pipelines/setup.d.ts +16 -0
  377. package/lib/commands/pipelines/setup.js +88 -0
  378. package/lib/commands/pipelines/transfer.d.ts +13 -0
  379. package/lib/commands/pipelines/transfer.js +60 -0
  380. package/lib/commands/pipelines/update.d.ts +11 -0
  381. package/lib/commands/pipelines/update.js +29 -0
  382. package/lib/commands/prompt.d.ts +1 -1
  383. package/lib/commands/prompt.js +4 -3
  384. package/lib/commands/ps/autoscale/disable.d.ts +10 -0
  385. package/lib/commands/ps/autoscale/disable.js +33 -0
  386. package/lib/commands/ps/autoscale/enable.d.ts +14 -0
  387. package/lib/commands/ps/autoscale/enable.js +84 -0
  388. package/lib/commands/ps/index.d.ts +15 -0
  389. package/lib/commands/ps/index.js +199 -0
  390. package/lib/commands/ps/restart.d.ts +18 -0
  391. package/lib/commands/ps/restart.js +68 -0
  392. package/lib/commands/ps/scale.d.ts +13 -0
  393. package/lib/commands/ps/scale.js +81 -0
  394. package/lib/commands/ps/stop.d.ts +18 -0
  395. package/lib/commands/ps/stop.js +62 -0
  396. package/lib/commands/ps/type.d.ts +12 -0
  397. package/lib/commands/ps/type.js +168 -0
  398. package/lib/commands/ps/wait.d.ts +13 -0
  399. package/lib/commands/ps/wait.js +73 -0
  400. package/lib/commands/regions.d.ts +2 -2
  401. package/lib/commands/regions.js +6 -5
  402. package/lib/commands/releases/index.d.ts +14 -0
  403. package/lib/commands/releases/index.js +155 -0
  404. package/lib/commands/releases/info.d.ts +15 -0
  405. package/lib/commands/releases/info.js +75 -0
  406. package/lib/commands/releases/output.d.ts +13 -0
  407. package/lib/commands/releases/output.js +33 -0
  408. package/lib/commands/releases/retry.d.ts +11 -0
  409. package/lib/commands/releases/retry.js +46 -0
  410. package/lib/commands/releases/rollback.d.ts +14 -0
  411. package/lib/commands/releases/rollback.js +54 -0
  412. package/lib/commands/repl.d.ts +1 -1
  413. package/lib/commands/repl.js +3 -2
  414. package/lib/commands/reviewapps/disable.d.ts +3 -3
  415. package/lib/commands/reviewapps/disable.js +11 -10
  416. package/lib/commands/reviewapps/enable.d.ts +2 -2
  417. package/lib/commands/reviewapps/enable.js +9 -8
  418. package/lib/commands/run/detached.d.ts +16 -0
  419. package/lib/commands/run/detached.js +54 -0
  420. package/lib/commands/run/index.d.ts +19 -0
  421. package/lib/commands/run/index.js +69 -0
  422. package/lib/commands/run/inside.d.ts +18 -0
  423. package/lib/commands/run/inside.js +77 -0
  424. package/lib/commands/sessions/destroy.d.ts +1 -1
  425. package/lib/commands/sessions/destroy.js +4 -4
  426. package/lib/commands/sessions/index.js +2 -3
  427. package/lib/commands/spaces/create.d.ts +23 -0
  428. package/lib/commands/spaces/create.js +87 -0
  429. package/lib/commands/spaces/destroy.d.ts +14 -0
  430. package/lib/commands/spaces/destroy.js +61 -0
  431. package/lib/commands/spaces/drains/get.d.ts +11 -0
  432. package/lib/commands/spaces/drains/get.js +23 -0
  433. package/lib/commands/spaces/drains/set.d.ts +13 -0
  434. package/lib/commands/spaces/drains/set.js +25 -0
  435. package/lib/commands/spaces/hosts.d.ts +14 -0
  436. package/lib/commands/spaces/hosts.js +35 -0
  437. package/lib/commands/spaces/index.d.ts +16 -0
  438. package/lib/commands/spaces/index.js +65 -0
  439. package/lib/commands/spaces/info.d.ts +14 -0
  440. package/lib/commands/spaces/info.js +48 -0
  441. package/lib/commands/spaces/peerings/accept.d.ts +15 -0
  442. package/lib/commands/spaces/peerings/accept.js +33 -0
  443. package/lib/commands/spaces/peerings/destroy.d.ts +15 -0
  444. package/lib/commands/spaces/peerings/destroy.js +43 -0
  445. package/lib/commands/spaces/peerings/index.d.ts +13 -0
  446. package/lib/commands/spaces/peerings/index.js +31 -0
  447. package/lib/commands/spaces/peerings/info.d.ts +15 -0
  448. package/lib/{oldCommands → commands}/spaces/peerings/info.js +32 -40
  449. package/lib/commands/spaces/ps.d.ts +15 -0
  450. package/lib/commands/spaces/ps.js +77 -0
  451. package/lib/commands/spaces/rename.d.ts +11 -0
  452. package/lib/commands/spaces/rename.js +24 -0
  453. package/lib/commands/spaces/topology.d.ts +18 -0
  454. package/lib/commands/spaces/topology.js +87 -0
  455. package/lib/commands/spaces/transfer.d.ts +11 -0
  456. package/lib/commands/spaces/transfer.js +33 -0
  457. package/lib/commands/spaces/trusted-ips/add.d.ts +16 -0
  458. package/lib/commands/spaces/trusted-ips/add.js +49 -0
  459. package/lib/commands/spaces/trusted-ips/index.d.ts +15 -0
  460. package/lib/commands/spaces/trusted-ips/index.js +59 -0
  461. package/lib/commands/spaces/trusted-ips/remove.d.ts +15 -0
  462. package/lib/commands/spaces/trusted-ips/remove.js +51 -0
  463. package/lib/commands/spaces/vpn/config.d.ts +14 -0
  464. package/lib/commands/spaces/vpn/config.js +53 -0
  465. package/lib/commands/spaces/vpn/connect.d.ts +15 -0
  466. package/lib/commands/spaces/vpn/connect.js +46 -0
  467. package/lib/commands/spaces/vpn/connections.d.ts +17 -0
  468. package/lib/commands/spaces/vpn/connections.js +55 -0
  469. package/lib/commands/spaces/vpn/destroy.d.ts +14 -0
  470. package/lib/commands/spaces/vpn/destroy.js +36 -0
  471. package/lib/commands/spaces/vpn/info.d.ts +16 -0
  472. package/lib/commands/spaces/vpn/info.js +85 -0
  473. package/lib/commands/spaces/vpn/update.d.ts +14 -0
  474. package/lib/commands/spaces/vpn/update.js +36 -0
  475. package/lib/commands/spaces/vpn/wait.d.ts +16 -0
  476. package/lib/commands/spaces/vpn/wait.js +69 -0
  477. package/lib/commands/spaces/wait.d.ts +17 -0
  478. package/lib/commands/spaces/wait.js +87 -0
  479. package/lib/commands/status.js +14 -13
  480. package/lib/commands/teams/index.d.ts +1 -1
  481. package/lib/commands/teams/index.js +4 -5
  482. package/lib/commands/telemetry/add.d.ts +6 -5
  483. package/lib/commands/telemetry/add.js +43 -18
  484. package/lib/commands/telemetry/index.d.ts +4 -4
  485. package/lib/commands/telemetry/index.js +19 -17
  486. package/lib/commands/telemetry/info.d.ts +2 -2
  487. package/lib/commands/telemetry/info.js +5 -4
  488. package/lib/commands/telemetry/update.d.ts +3 -3
  489. package/lib/commands/telemetry/update.js +8 -9
  490. package/lib/commands/usage/addons.d.ts +2 -2
  491. package/lib/commands/usage/addons.js +17 -18
  492. package/lib/global_telemetry.d.ts +2 -2
  493. package/lib/global_telemetry.js +34 -36
  494. package/lib/lib/addons/addons_wait.d.ts +1 -1
  495. package/lib/lib/addons/addons_wait.js +2 -2
  496. package/lib/lib/addons/create_addon.d.ts +5 -3
  497. package/lib/lib/addons/create_addon.js +12 -9
  498. package/lib/lib/addons/destroy_addon.js +17 -9
  499. package/lib/lib/addons/resolve.d.ts +10 -11
  500. package/lib/lib/addons/resolve.js +19 -18
  501. package/lib/lib/addons/util.d.ts +2 -2
  502. package/lib/lib/addons/util.js +21 -14
  503. package/lib/lib/api.d.ts +1 -1
  504. package/lib/lib/api.js +19 -23
  505. package/lib/lib/apps/app-transfer.d.ts +3 -3
  506. package/lib/lib/apps/app-transfer.js +11 -11
  507. package/lib/lib/autocomplete/base.d.ts +11 -1
  508. package/lib/lib/autocomplete/base.js +33 -49
  509. package/lib/lib/autocomplete/cache.js +9 -7
  510. package/lib/lib/autocomplete/completions.d.ts +41 -1
  511. package/lib/lib/autocomplete/completions.js +258 -290
  512. package/lib/lib/buildpacks/buildpacks.d.ts +11 -11
  513. package/lib/lib/buildpacks/buildpacks.js +71 -71
  514. package/lib/lib/certs/certificate_details.js +3 -4
  515. package/lib/lib/certs/flags.d.ts +2 -2
  516. package/lib/lib/certs/flags.js +5 -8
  517. package/lib/lib/certs/get_cert_and_key.js +2 -2
  518. package/lib/lib/ci/git.d.ts +12 -2
  519. package/lib/lib/ci/git.js +20 -6
  520. package/lib/lib/ci/pipelines.d.ts +5 -5
  521. package/lib/lib/ci/pipelines.js +17 -17
  522. package/lib/lib/ci/source.d.ts +8 -0
  523. package/lib/lib/ci/source.js +22 -10
  524. package/lib/lib/ci/test-run.js +18 -15
  525. package/lib/lib/config/quote.js +4 -4
  526. package/lib/lib/config/util.d.ts +3 -0
  527. package/lib/lib/config/util.js +5 -0
  528. package/lib/lib/confirmCommand.js +6 -7
  529. package/lib/lib/container/docker_helper.d.ts +12 -12
  530. package/lib/lib/container/docker_helper.js +71 -74
  531. package/lib/lib/container/helpers.js +2 -2
  532. package/lib/lib/container/streamer.js +4 -4
  533. package/lib/lib/data/baseCommand.d.ts +4 -0
  534. package/lib/lib/data/baseCommand.js +15 -0
  535. package/lib/lib/data/createPool.d.ts +4 -0
  536. package/lib/lib/data/createPool.js +6 -0
  537. package/lib/lib/data/credentialUtils.d.ts +3 -0
  538. package/lib/lib/data/credentialUtils.js +23 -0
  539. package/lib/lib/data/displayQuota.d.ts +19 -0
  540. package/lib/lib/data/displayQuota.js +59 -0
  541. package/lib/lib/data/parseProvisionOpts.d.ts +15 -0
  542. package/lib/lib/data/parseProvisionOpts.js +31 -0
  543. package/lib/lib/data/types.d.ts +177 -0
  544. package/lib/lib/data/types.js +3 -0
  545. package/lib/lib/data-scrubber/patterns.d.ts +4 -0
  546. package/lib/lib/data-scrubber/patterns.js +13 -0
  547. package/lib/lib/data-scrubber/presets.d.ts +64 -0
  548. package/lib/lib/data-scrubber/presets.js +112 -0
  549. package/lib/lib/data-scrubber/scrubber.d.ts +131 -0
  550. package/lib/lib/data-scrubber/scrubber.js +256 -0
  551. package/lib/lib/data-scrubber/types.d.ts +169 -0
  552. package/lib/lib/domains/domains.js +10 -10
  553. package/lib/lib/domains/wait-for-domain.js +2 -3
  554. package/lib/lib/local/env-file-validator.js +2 -2
  555. package/lib/lib/local/fork-foreman.js +3 -2
  556. package/lib/lib/members/util.js +7 -7
  557. package/lib/lib/orgs/utils.js +2 -3
  558. package/lib/lib/pg/backups.d.ts +17 -1
  559. package/lib/lib/pg/backups.js +132 -156
  560. package/lib/lib/pg/download.js +7 -7
  561. package/lib/lib/pg/fetcher.d.ts +3 -1
  562. package/lib/lib/pg/fetcher.js +3 -162
  563. package/lib/lib/pg/psql.d.ts +17 -1
  564. package/lib/lib/pg/psql.js +59 -269
  565. package/lib/lib/pg/push_pull.d.ts +12 -0
  566. package/lib/lib/pg/push_pull.js +97 -119
  567. package/lib/lib/pg/setter.d.ts +16 -1
  568. package/lib/lib/pg/setter.js +61 -73
  569. package/lib/lib/pg/types.d.ts +10 -15
  570. package/lib/lib/pg/util.d.ts +8 -1
  571. package/lib/lib/pg/util.js +97 -211
  572. package/lib/lib/pipelines/disambiguate.js +9 -11
  573. package/lib/lib/pipelines/ownership.d.ts +1 -1
  574. package/lib/lib/pipelines/ownership.js +6 -12
  575. package/lib/lib/pipelines/render-pipeline.d.ts +2 -2
  576. package/lib/lib/pipelines/render-pipeline.js +10 -9
  577. package/lib/lib/pipelines/setup/create-apps.js +7 -9
  578. package/lib/lib/pipelines/setup/get-ci-settings.js +2 -2
  579. package/lib/lib/pipelines/setup/get-github-token.js +1 -3
  580. package/lib/lib/pipelines/setup/get-name-and-repo.js +27 -22
  581. package/lib/lib/pipelines/setup/get-settings.js +12 -12
  582. package/lib/lib/pipelines/setup/poll-app-setups.js +3 -5
  583. package/lib/lib/pipelines/setup/setup-pipeline.js +1 -3
  584. package/lib/lib/pipelines/setup/validate.d.ts +1 -1
  585. package/lib/lib/pipelines/setup/validate.js +2 -2
  586. package/lib/lib/pipelines/stages.d.ts +2 -2
  587. package/lib/lib/pipelines/stages.js +4 -4
  588. package/lib/lib/redis/api.d.ts +22 -22
  589. package/lib/lib/redis/api.js +62 -67
  590. package/lib/lib/releases/output.js +1 -1
  591. package/lib/lib/releases/status_helper.d.ts +1 -1
  592. package/lib/lib/releases/status_helper.js +16 -8
  593. package/lib/lib/run/colorize.js +73 -40
  594. package/lib/lib/run/dyno.d.ts +19 -19
  595. package/lib/lib/run/dyno.js +181 -174
  596. package/lib/lib/run/helpers.d.ts +25 -0
  597. package/lib/lib/run/helpers.js +119 -3
  598. package/lib/lib/run/log-displayer.d.ts +3 -3
  599. package/lib/lib/run/log-displayer.js +21 -21
  600. package/lib/lib/spaces/format.js +36 -23
  601. package/lib/lib/spaces/hosts.d.ts +9 -1
  602. package/lib/lib/spaces/hosts.js +28 -41
  603. package/lib/lib/spaces/peering.d.ts +4 -1
  604. package/lib/lib/spaces/peering.js +45 -52
  605. package/lib/lib/spaces/spaces.d.ts +6 -1
  606. package/lib/lib/spaces/spaces.js +30 -39
  607. package/lib/lib/spaces/vpn-connections.js +16 -16
  608. package/lib/lib/telemetry/util.d.ts +1 -1
  609. package/lib/lib/telemetry/util.js +3 -3
  610. package/lib/lib/types/completion.d.ts +15 -0
  611. package/lib/lib/utils/packageParser.js +2 -2
  612. package/lib/lib/utils/uuid-validate.js +1 -3
  613. package/lib/lib/webhooks/base.d.ts +2 -2
  614. package/lib/lib/webhooks/base.js +3 -3
  615. package/lib/nls-data.d.ts +10 -0
  616. package/lib/nls-data.js +10 -0
  617. package/lib/nls.d.ts +1 -1
  618. package/lib/nls.js +1 -1
  619. package/npm-shrinkwrap.json +17653 -18259
  620. package/oclif.manifest.json +9238 -3076
  621. package/package.json +26 -237
  622. package/lib/lib/pg/bastion.js +0 -137
  623. package/lib/lib/pg/config.d.ts +0 -2
  624. package/lib/lib/pg/config.js +0 -9
  625. package/lib/lib/pg/host.d.ts +0 -1
  626. package/lib/lib/pg/host.js +0 -3
  627. package/lib/lib/spaces/outbound-rules.js +0 -85
  628. package/lib/oldCommands/autocomplete/create.d.ts +0 -1
  629. package/lib/oldCommands/autocomplete/create.js +0 -254
  630. package/lib/oldCommands/autocomplete/doctor.d.ts +0 -1
  631. package/lib/oldCommands/autocomplete/doctor.js +0 -110
  632. package/lib/oldCommands/autocomplete/index.d.ts +0 -1
  633. package/lib/oldCommands/autocomplete/index.js +0 -80
  634. package/lib/oldCommands/autocomplete/options.d.ts +0 -1
  635. package/lib/oldCommands/autocomplete/options.js +0 -240
  636. package/lib/oldCommands/autocomplete/script.d.ts +0 -1
  637. package/lib/oldCommands/autocomplete/script.js +0 -35
  638. package/lib/oldCommands/pg/backups/cancel.d.ts +0 -1
  639. package/lib/oldCommands/pg/backups/cancel.js +0 -56
  640. package/lib/oldCommands/pg/backups/capture.d.ts +0 -1
  641. package/lib/oldCommands/pg/backups/capture.js +0 -77
  642. package/lib/oldCommands/pg/backups/delete.d.ts +0 -1
  643. package/lib/oldCommands/pg/backups/delete.js +0 -45
  644. package/lib/oldCommands/pg/backups/download.d.ts +0 -1
  645. package/lib/oldCommands/pg/backups/download.js +0 -64
  646. package/lib/oldCommands/pg/backups/index.d.ts +0 -1
  647. package/lib/oldCommands/pg/backups/index.js +0 -141
  648. package/lib/oldCommands/pg/backups/info.d.ts +0 -1
  649. package/lib/oldCommands/pg/backups/info.js +0 -102
  650. package/lib/oldCommands/pg/backups/restore.d.ts +0 -1
  651. package/lib/oldCommands/pg/backups/restore.js +0 -150
  652. package/lib/oldCommands/pg/backups/schedule.d.ts +0 -1
  653. package/lib/oldCommands/pg/backups/schedule.js +0 -107
  654. package/lib/oldCommands/pg/backups/schedules.d.ts +0 -1
  655. package/lib/oldCommands/pg/backups/schedules.js +0 -34
  656. package/lib/oldCommands/pg/backups/unschedule.d.ts +0 -1
  657. package/lib/oldCommands/pg/backups/unschedule.js +0 -60
  658. package/lib/oldCommands/pg/backups/url.d.ts +0 -1
  659. package/lib/oldCommands/pg/backups/url.js +0 -46
  660. package/lib/oldCommands/pg/bloat.d.ts +0 -1
  661. package/lib/oldCommands/pg/blocking.d.ts +0 -1
  662. package/lib/oldCommands/pg/blocking.js +0 -48
  663. package/lib/oldCommands/pg/connection-pooling/attach.d.ts +0 -1
  664. package/lib/oldCommands/pg/connection-pooling/attach.js +0 -53
  665. package/lib/oldCommands/pg/copy.d.ts +0 -1
  666. package/lib/oldCommands/pg/copy.js +0 -104
  667. package/lib/oldCommands/pg/credentials/create.d.ts +0 -1
  668. package/lib/oldCommands/pg/credentials/create.js +0 -47
  669. package/lib/oldCommands/pg/credentials/destroy.d.ts +0 -1
  670. package/lib/oldCommands/pg/credentials/destroy.js +0 -56
  671. package/lib/oldCommands/pg/credentials/repair-default.d.ts +0 -1
  672. package/lib/oldCommands/pg/credentials/repair-default.js +0 -43
  673. package/lib/oldCommands/pg/credentials/rotate.d.ts +0 -1
  674. package/lib/oldCommands/pg/credentials/rotate.js +0 -97
  675. package/lib/oldCommands/pg/credentials/url.d.ts +0 -1
  676. package/lib/oldCommands/pg/credentials/url.js +0 -75
  677. package/lib/oldCommands/pg/credentials.d.ts +0 -1
  678. package/lib/oldCommands/pg/credentials.js +0 -77
  679. package/lib/oldCommands/pg/diagnose.d.ts +0 -1
  680. package/lib/oldCommands/pg/diagnose.js +0 -136
  681. package/lib/oldCommands/pg/info.d.ts +0 -1
  682. package/lib/oldCommands/pg/info.js +0 -110
  683. package/lib/oldCommands/pg/kill.d.ts +0 -1
  684. package/lib/oldCommands/pg/kill.js +0 -37
  685. package/lib/oldCommands/pg/killall.d.ts +0 -1
  686. package/lib/oldCommands/pg/killall.js +0 -31
  687. package/lib/oldCommands/pg/links/create.d.ts +0 -1
  688. package/lib/oldCommands/pg/links/create.js +0 -70
  689. package/lib/oldCommands/pg/links/destroy.d.ts +0 -1
  690. package/lib/oldCommands/pg/links/destroy.js +0 -51
  691. package/lib/oldCommands/pg/links/index.d.ts +0 -1
  692. package/lib/oldCommands/pg/links/index.js +0 -64
  693. package/lib/oldCommands/pg/locks.d.ts +0 -1
  694. package/lib/oldCommands/pg/locks.js +0 -60
  695. package/lib/oldCommands/pg/maintenance/index.d.ts +0 -1
  696. package/lib/oldCommands/pg/maintenance/index.js +0 -34
  697. package/lib/oldCommands/pg/maintenance/run.d.ts +0 -1
  698. package/lib/oldCommands/pg/maintenance/run.js +0 -44
  699. package/lib/oldCommands/pg/maintenance/window.d.ts +0 -1
  700. package/lib/oldCommands/pg/maintenance/window.js +0 -52
  701. package/lib/oldCommands/pg/outliers.d.ts +0 -1
  702. package/lib/oldCommands/pg/outliers.js +0 -110
  703. package/lib/oldCommands/pg/promote.d.ts +0 -1
  704. package/lib/oldCommands/pg/promote.js +0 -183
  705. package/lib/oldCommands/pg/ps.d.ts +0 -1
  706. package/lib/oldCommands/pg/ps.js +0 -56
  707. package/lib/oldCommands/pg/psql.d.ts +0 -1
  708. package/lib/oldCommands/pg/psql.js +0 -53
  709. package/lib/oldCommands/pg/pull.d.ts +0 -1
  710. package/lib/oldCommands/pg/pull.js +0 -114
  711. package/lib/oldCommands/pg/push.d.ts +0 -1
  712. package/lib/oldCommands/pg/push.js +0 -111
  713. package/lib/oldCommands/pg/reset.d.ts +0 -1
  714. package/lib/oldCommands/pg/reset.js +0 -49
  715. package/lib/oldCommands/pg/settings/auto-explain/log-analyze.d.ts +0 -1
  716. package/lib/oldCommands/pg/settings/auto-explain/log-analyze.js +0 -37
  717. package/lib/oldCommands/pg/settings/auto-explain/log-buffers.d.ts +0 -1
  718. package/lib/oldCommands/pg/settings/auto-explain/log-buffers.js +0 -35
  719. package/lib/oldCommands/pg/settings/auto-explain/log-format.d.ts +0 -1
  720. package/lib/oldCommands/pg/settings/auto-explain/log-format.js +0 -30
  721. package/lib/oldCommands/pg/settings/auto-explain/log-min-duration.d.ts +0 -1
  722. package/lib/oldCommands/pg/settings/auto-explain/log-min-duration.js +0 -39
  723. package/lib/oldCommands/pg/settings/auto-explain/log-nested-statements.d.ts +0 -1
  724. package/lib/oldCommands/pg/settings/auto-explain/log-nested-statements.js +0 -30
  725. package/lib/oldCommands/pg/settings/auto-explain/log-triggers.d.ts +0 -1
  726. package/lib/oldCommands/pg/settings/auto-explain/log-triggers.js +0 -35
  727. package/lib/oldCommands/pg/settings/auto-explain/log-verbose.d.ts +0 -1
  728. package/lib/oldCommands/pg/settings/auto-explain/log-verbose.js +0 -40
  729. package/lib/oldCommands/pg/settings/auto-explain.d.ts +0 -1
  730. package/lib/oldCommands/pg/settings/auto-explain.js +0 -45
  731. package/lib/oldCommands/pg/settings/data-connector-details-logs.d.ts +0 -1
  732. package/lib/oldCommands/pg/settings/data-connector-details-logs.js +0 -40
  733. package/lib/oldCommands/pg/settings/index.d.ts +0 -1
  734. package/lib/oldCommands/pg/settings/index.js +0 -41
  735. package/lib/oldCommands/pg/settings/log-connections.d.ts +0 -1
  736. package/lib/oldCommands/pg/settings/log-connections.js +0 -40
  737. package/lib/oldCommands/pg/settings/log-lock-waits.d.ts +0 -1
  738. package/lib/oldCommands/pg/settings/log-lock-waits.js +0 -36
  739. package/lib/oldCommands/pg/settings/log-min-duration-statement.d.ts +0 -1
  740. package/lib/oldCommands/pg/settings/log-min-duration-statement.js +0 -39
  741. package/lib/oldCommands/pg/settings/log-min-error-statement.d.ts +0 -1
  742. package/lib/oldCommands/pg/settings/log-min-error-statement.js +0 -31
  743. package/lib/oldCommands/pg/settings/log-statement.d.ts +0 -1
  744. package/lib/oldCommands/pg/settings/log-statement.js +0 -33
  745. package/lib/oldCommands/pg/settings/track-functions.d.ts +0 -1
  746. package/lib/oldCommands/pg/settings/track-functions.js +0 -33
  747. package/lib/oldCommands/pg/unfollow.d.ts +0 -1
  748. package/lib/oldCommands/pg/unfollow.js +0 -46
  749. package/lib/oldCommands/pg/upgrade/cancel.d.ts +0 -1
  750. package/lib/oldCommands/pg/upgrade/cancel.js +0 -62
  751. package/lib/oldCommands/pg/upgrade/dryrun.d.ts +0 -1
  752. package/lib/oldCommands/pg/upgrade/dryrun.js +0 -62
  753. package/lib/oldCommands/pg/upgrade/index.d.ts +0 -1
  754. package/lib/oldCommands/pg/upgrade/index.js +0 -85
  755. package/lib/oldCommands/pg/upgrade/prepare.d.ts +0 -1
  756. package/lib/oldCommands/pg/upgrade/prepare.js +0 -64
  757. package/lib/oldCommands/pg/upgrade/run.d.ts +0 -1
  758. package/lib/oldCommands/pg/upgrade/run.js +0 -106
  759. package/lib/oldCommands/pg/upgrade/wait.d.ts +0 -1
  760. package/lib/oldCommands/pg/upgrade/wait.js +0 -121
  761. package/lib/oldCommands/pg/upgrade.d.ts +0 -1
  762. package/lib/oldCommands/pg/upgrade.js +0 -66
  763. package/lib/oldCommands/pg/vacuum-stats.d.ts +0 -1
  764. package/lib/oldCommands/pg/wait.d.ts +0 -1
  765. package/lib/oldCommands/pg/wait.js +0 -96
  766. package/lib/oldCommands/pipelines/open.d.ts +0 -1
  767. package/lib/oldCommands/pipelines/open.js +0 -25
  768. package/lib/oldCommands/pipelines/promote.d.ts +0 -1
  769. package/lib/oldCommands/pipelines/promote.js +0 -269
  770. package/lib/oldCommands/pipelines/remove.d.ts +0 -1
  771. package/lib/oldCommands/pipelines/remove.js +0 -29
  772. package/lib/oldCommands/pipelines/rename.d.ts +0 -1
  773. package/lib/oldCommands/pipelines/rename.js +0 -42
  774. package/lib/oldCommands/pipelines/setup.d.ts +0 -1
  775. package/lib/oldCommands/pipelines/setup.js +0 -117
  776. package/lib/oldCommands/pipelines/transfer.d.ts +0 -1
  777. package/lib/oldCommands/pipelines/transfer.js +0 -78
  778. package/lib/oldCommands/pipelines/update.d.ts +0 -1
  779. package/lib/oldCommands/pipelines/update.js +0 -39
  780. package/lib/oldCommands/ps/autoscale/disable.d.ts +0 -1
  781. package/lib/oldCommands/ps/autoscale/disable.js +0 -43
  782. package/lib/oldCommands/ps/autoscale/enable.d.ts +0 -1
  783. package/lib/oldCommands/ps/autoscale/enable.js +0 -103
  784. package/lib/oldCommands/ps/index.d.ts +0 -1
  785. package/lib/oldCommands/ps/index.js +0 -254
  786. package/lib/oldCommands/ps/restart.d.ts +0 -1
  787. package/lib/oldCommands/ps/restart.js +0 -78
  788. package/lib/oldCommands/ps/scale.d.ts +0 -1
  789. package/lib/oldCommands/ps/scale.js +0 -95
  790. package/lib/oldCommands/ps/stop.d.ts +0 -1
  791. package/lib/oldCommands/ps/stop.js +0 -73
  792. package/lib/oldCommands/ps/type.d.ts +0 -1
  793. package/lib/oldCommands/ps/type.js +0 -190
  794. package/lib/oldCommands/ps/wait.d.ts +0 -1
  795. package/lib/oldCommands/ps/wait.js +0 -93
  796. package/lib/oldCommands/releases/index.d.ts +0 -1
  797. package/lib/oldCommands/releases/index.js +0 -156
  798. package/lib/oldCommands/releases/info.d.ts +0 -1
  799. package/lib/oldCommands/releases/info.js +0 -68
  800. package/lib/oldCommands/releases/output.d.ts +0 -1
  801. package/lib/oldCommands/releases/output.js +0 -42
  802. package/lib/oldCommands/releases/retry.d.ts +0 -1
  803. package/lib/oldCommands/releases/retry.js +0 -59
  804. package/lib/oldCommands/releases/rollback.d.ts +0 -1
  805. package/lib/oldCommands/releases/rollback.js +0 -65
  806. package/lib/oldCommands/run/detached.d.ts +0 -1
  807. package/lib/oldCommands/run/detached.js +0 -61
  808. package/lib/oldCommands/run/index.d.ts +0 -1
  809. package/lib/oldCommands/run/index.js +0 -72
  810. package/lib/oldCommands/run/inside.d.ts +0 -1
  811. package/lib/oldCommands/run/inside.js +0 -93
  812. package/lib/oldCommands/spaces/create.d.ts +0 -1
  813. package/lib/oldCommands/spaces/create.js +0 -99
  814. package/lib/oldCommands/spaces/destroy.d.ts +0 -1
  815. package/lib/oldCommands/spaces/destroy.js +0 -79
  816. package/lib/oldCommands/spaces/drains/get.d.ts +0 -1
  817. package/lib/oldCommands/spaces/drains/get.js +0 -33
  818. package/lib/oldCommands/spaces/drains/set.d.ts +0 -1
  819. package/lib/oldCommands/spaces/drains/set.js +0 -33
  820. package/lib/oldCommands/spaces/hosts.d.ts +0 -1
  821. package/lib/oldCommands/spaces/hosts.js +0 -42
  822. package/lib/oldCommands/spaces/index.d.ts +0 -1
  823. package/lib/oldCommands/spaces/index.js +0 -74
  824. package/lib/oldCommands/spaces/info.d.ts +0 -1
  825. package/lib/oldCommands/spaces/info.js +0 -59
  826. package/lib/oldCommands/spaces/peerings/accept.d.ts +0 -1
  827. package/lib/oldCommands/spaces/peerings/accept.js +0 -41
  828. package/lib/oldCommands/spaces/peerings/destroy.d.ts +0 -1
  829. package/lib/oldCommands/spaces/peerings/destroy.js +0 -51
  830. package/lib/oldCommands/spaces/peerings/index.d.ts +0 -1
  831. package/lib/oldCommands/spaces/peerings/index.js +0 -39
  832. package/lib/oldCommands/spaces/peerings/info.d.ts +0 -1
  833. package/lib/oldCommands/spaces/ps.d.ts +0 -1
  834. package/lib/oldCommands/spaces/ps.js +0 -97
  835. package/lib/oldCommands/spaces/rename.d.ts +0 -1
  836. package/lib/oldCommands/spaces/rename.js +0 -29
  837. package/lib/oldCommands/spaces/topology.d.ts +0 -1
  838. package/lib/oldCommands/spaces/topology.js +0 -95
  839. package/lib/oldCommands/spaces/transfer.d.ts +0 -1
  840. package/lib/oldCommands/spaces/transfer.js +0 -37
  841. package/lib/oldCommands/spaces/trusted-ips/add.d.ts +0 -1
  842. package/lib/oldCommands/spaces/trusted-ips/add.js +0 -48
  843. package/lib/oldCommands/spaces/trusted-ips/index.d.ts +0 -1
  844. package/lib/oldCommands/spaces/trusted-ips/index.js +0 -57
  845. package/lib/oldCommands/spaces/trusted-ips/remove.d.ts +0 -1
  846. package/lib/oldCommands/spaces/trusted-ips/remove.js +0 -50
  847. package/lib/oldCommands/spaces/vpn/config.d.ts +0 -1
  848. package/lib/oldCommands/spaces/vpn/config.js +0 -61
  849. package/lib/oldCommands/spaces/vpn/connect.d.ts +0 -1
  850. package/lib/oldCommands/spaces/vpn/connect.js +0 -54
  851. package/lib/oldCommands/spaces/vpn/connections.d.ts +0 -1
  852. package/lib/oldCommands/spaces/vpn/connections.js +0 -70
  853. package/lib/oldCommands/spaces/vpn/destroy.d.ts +0 -1
  854. package/lib/oldCommands/spaces/vpn/destroy.js +0 -48
  855. package/lib/oldCommands/spaces/vpn/info.d.ts +0 -1
  856. package/lib/oldCommands/spaces/vpn/info.js +0 -89
  857. package/lib/oldCommands/spaces/vpn/update.d.ts +0 -1
  858. package/lib/oldCommands/spaces/vpn/update.js +0 -46
  859. package/lib/oldCommands/spaces/vpn/wait.d.ts +0 -1
  860. package/lib/oldCommands/spaces/vpn/wait.js +0 -80
  861. package/lib/oldCommands/spaces/wait.d.ts +0 -1
  862. package/lib/oldCommands/spaces/wait.js +0 -106
  863. package/lib/package.nls.json +0 -6
  864. /package/lib/lib/{pg/bastion.d.ts → data-scrubber/types.js} +0 -0
  865. /package/lib/lib/{spaces/outbound-rules.d.ts → types/completion.js} +0 -0
@@ -0,0 +1,51 @@
1
+ import { color } from '@heroku/heroku-cli-util';
2
+ import { Command, flags } from '@heroku-cli/command';
3
+ import { Args, ux } from '@oclif/core';
4
+ import tsheredoc from 'tsheredoc';
5
+ const heredoc = tsheredoc.default;
6
+ export default class Remove extends Command {
7
+ static args = {
8
+ source: Args.string({ description: 'IP address in CIDR notation', required: true }),
9
+ };
10
+ static description = heredoc(`
11
+ Remove a range from the list of trusted IP ranges
12
+ Uses CIDR notation.`);
13
+ static examples = [heredoc(`
14
+ ${color.command('heroku trusted-ips:remove --space my-space 192.168.2.0/24')}
15
+ Removed 192.168.2.0/24 from trusted IP ranges on my-space
16
+ `)];
17
+ static flags = {
18
+ confirm: flags.string({ description: 'set to space name to bypass confirm prompt' }),
19
+ space: flags.string({ char: 's', description: 'space to remove rule from', required: true }),
20
+ };
21
+ static hiddenAliases = ['trusted-ips:remove'];
22
+ static topic = 'spaces';
23
+ async run() {
24
+ const { args, flags } = await this.parse(Remove);
25
+ const { space } = flags;
26
+ const url = `/spaces/${space}/inbound-ruleset`;
27
+ const { body: rules } = await this.heroku.get(url);
28
+ if (rules.rules?.length === 0) {
29
+ throw new Error('No IP ranges are configured. Nothing to do.');
30
+ }
31
+ const originalLength = rules.rules?.length;
32
+ rules.rules = rules.rules?.filter(r => r.source !== args.source);
33
+ if (rules.rules?.length === originalLength) {
34
+ throw new Error(`No IP range matching ${args.source} was found.`);
35
+ }
36
+ await this.heroku.put(url, { body: rules });
37
+ ux.stdout(`Removed ${color.cyan.bold(args.source)} from trusted IP ranges on ${color.space(space)}`);
38
+ // Fetch updated ruleset to check applied status
39
+ const { body: updatedRuleset } = await this.heroku.get(url);
40
+ // Check applied status to inform users whether rules are effectively applied to the space.
41
+ // The applied field is optional for backward compatibility with API versions that don't include it yet.
42
+ // Once the API always includes the applied field (W-19525612), this can be simplified to:
43
+ // if (updatedRuleset.applied) { ... } else { ... }
44
+ if (updatedRuleset.applied === true) {
45
+ ux.stdout('Trusted IP rules are applied to this space.');
46
+ }
47
+ else if (updatedRuleset.applied === false) {
48
+ ux.stdout('Trusted IP rules are not applied to this space. Update your Trusted IP list to trigger a re-application of the rules.');
49
+ }
50
+ }
51
+ }
@@ -0,0 +1,14 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Config extends Command {
3
+ static args: {
4
+ name: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
5
+ };
6
+ static description: string;
7
+ static example: string;
8
+ static flags: {
9
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ space: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ };
12
+ static topic: string;
13
+ run(): Promise<void>;
14
+ }
@@ -0,0 +1,53 @@
1
+ import { hux, color } from '@heroku/heroku-cli-util';
2
+ import { Command, flags } from '@heroku-cli/command';
3
+ import { Args } from '@oclif/core';
4
+ import tsheredoc from 'tsheredoc';
5
+ import { displayVPNConfigInfo } from '../../../lib/spaces/vpn-connections.js';
6
+ const heredoc = tsheredoc.default;
7
+ export default class Config extends Command {
8
+ static args = {
9
+ name: Args.string({
10
+ description: 'name or id of the VPN connection to retrieve config from',
11
+ required: true,
12
+ }),
13
+ };
14
+ static description = heredoc(`
15
+ display the configuration information for VPN
16
+
17
+ You will use the information provided by this command to establish a Private Space VPN Connection.
18
+
19
+ - You must configure your VPN Gateway to use both Tunnels provided by Heroku
20
+ - The VPN Gateway values are the IP addresses of the Private Space Tunnels
21
+ - The Customer Gateway value is the Public IP of your VPN Gateway
22
+ - The VPN Gateway must use the IKE Version shown and the Pre-shared Keys as the authentication method
23
+ `);
24
+ static example = heredoc `
25
+ ${color.command('heroku spaces:vpn:config vpn-connection-name --space my-space')}
26
+ === vpn-connection-name VPN Tunnels
27
+ VPN Tunnel Customer Gateway VPN Gateway Pre-shared Key Routable Subnets IKE Version
28
+ ────────── ──────────────── ────────────── ────────────── ──────────────── ───────────
29
+ Tunnel 1 104.196.121.200 35.171.237.136 abcdef12345 10.0.0.0/16 1
30
+ Tunnel 2 104.196.121.200 52.44.7.216 fedcba54321 10.0.0.0/16 1
31
+ `;
32
+ static flags = {
33
+ json: flags.boolean({ description: 'output in json format' }),
34
+ space: flags.string({
35
+ char: 's',
36
+ description: 'space the VPN connection belongs to',
37
+ required: true,
38
+ }),
39
+ };
40
+ static topic = 'spaces';
41
+ async run() {
42
+ const { args, flags } = await this.parse(Config);
43
+ const { json, space } = flags;
44
+ const { name } = args;
45
+ const { body: vpnConnection } = await this.heroku.get(`/spaces/${space}/vpn-connections/${name}`);
46
+ if (json) {
47
+ hux.styledJSON(vpnConnection);
48
+ }
49
+ else {
50
+ displayVPNConfigInfo(space, name, vpnConnection);
51
+ }
52
+ }
53
+ }
@@ -0,0 +1,15 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Connect extends Command {
3
+ static args: {
4
+ name: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
5
+ };
6
+ static description: string;
7
+ static examples: string[];
8
+ static flags: {
9
+ cidrs: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
+ ip: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ space: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
12
+ };
13
+ static topic: string;
14
+ run(): Promise<void>;
15
+ }
@@ -0,0 +1,46 @@
1
+ import { color } from '@heroku/heroku-cli-util';
2
+ import { Command, flags } from '@heroku-cli/command';
3
+ import { Args, ux } from '@oclif/core';
4
+ import tsheredoc from 'tsheredoc';
5
+ import { splitCsv } from '../../../lib/spaces/parsers.js';
6
+ const heredoc = tsheredoc.default;
7
+ export default class Connect extends Command {
8
+ static args = {
9
+ name: Args.string({
10
+ description: 'name or id of the VPN connection to create',
11
+ required: true,
12
+ }),
13
+ };
14
+ static description = heredoc `
15
+ create VPN
16
+ Private Spaces can be connected to another private network via an IPSec VPN connection allowing dynos to connect to hosts on your private networks and vice versa.
17
+ The connection is established over the public Internet but all traffic is encrypted using IPSec.
18
+ `;
19
+ static examples = [heredoc(`
20
+ ${color.command('heroku spaces:vpn:connect vpn-connection-name --ip 35.161.69.30 --cidrs 172.16.0.0/16,10.0.0.0/24 --space my-space')}
21
+ Creating VPN Connection in space my-space... done
22
+ ▸ Use spaces:vpn:wait to track allocation.
23
+ `)];
24
+ static flags = {
25
+ cidrs: flags.string({ char: 'c', description: 'a list of routable CIDRs separated by commas', required: true }),
26
+ ip: flags.string({ char: 'i', description: 'public IP of customer gateway', required: true }),
27
+ space: flags.string({ char: 's', description: 'space name', required: true }),
28
+ };
29
+ static topic = 'spaces';
30
+ async run() {
31
+ const { args, flags } = await this.parse(Connect);
32
+ const { cidrs, ip, space } = flags;
33
+ const { name } = args;
34
+ const parsed_cidrs = splitCsv(cidrs);
35
+ ux.action.start(`Creating VPN Connection in space ${color.space(space)}`);
36
+ await this.heroku.post(`/spaces/${space}/vpn-connections`, {
37
+ body: {
38
+ name,
39
+ public_ip: ip,
40
+ routable_cidrs: parsed_cidrs,
41
+ },
42
+ });
43
+ ux.action.stop();
44
+ ux.warn(`Use ${color.code('heroku spaces:vpn:wait')} to track allocation.`);
45
+ }
46
+ }
@@ -0,0 +1,17 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ import * as Heroku from '@heroku-cli/schema';
3
+ declare type VpnConnectionTunnels = Required<Heroku.PrivateSpacesVpn>['tunnels'];
4
+ export default class Connections extends Command {
5
+ static description: string;
6
+ static example: string;
7
+ static flags: {
8
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ space: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
+ };
11
+ static topic: string;
12
+ protected displayVPNConnections(space: string, connections: Required<Heroku.PrivateSpacesVpn>[]): void;
13
+ protected render(space: string, connections: Required<Heroku.PrivateSpacesVpn>[], json: boolean): void;
14
+ run(): Promise<void>;
15
+ protected tunnelFormat(t: VpnConnectionTunnels): string;
16
+ }
17
+ export {};
@@ -0,0 +1,55 @@
1
+ import { color, hux } from '@heroku/heroku-cli-util';
2
+ import { Command, flags } from '@heroku-cli/command';
3
+ import { ux } from '@oclif/core';
4
+ import tsheredoc from 'tsheredoc';
5
+ import { displayVPNStatus } from '../../../lib/spaces/format.js';
6
+ const heredoc = tsheredoc.default;
7
+ export default class Connections extends Command {
8
+ static description = 'list the VPN Connections for a space';
9
+ static example = heredoc `
10
+ ${color.command('heroku spaces:vpn:connections --space my-space')}
11
+ === my-space VPN Connections
12
+ Name Status Tunnels
13
+ ────── ────── ───────
14
+ office active UP/UP`;
15
+ static flags = {
16
+ json: flags.boolean({ description: 'output in json format' }),
17
+ space: flags.string({ char: 's', description: 'space to get VPN connections from', required: true }),
18
+ };
19
+ static topic = 'spaces';
20
+ displayVPNConnections(space, connections) {
21
+ if (connections.length === 0) {
22
+ ux.stdout('No VPN Connections have been created yet');
23
+ return;
24
+ }
25
+ hux.styledHeader(`${space} VPN Connections`);
26
+ hux.table(connections, {
27
+ Name: {
28
+ get: c => c.name || c.id,
29
+ },
30
+ Status: {
31
+ get: c => displayVPNStatus(c.status),
32
+ },
33
+ Tunnels: {
34
+ get: c => this.tunnelFormat(c.tunnels),
35
+ },
36
+ });
37
+ }
38
+ render(space, connections, json) {
39
+ if (json) {
40
+ hux.styledJSON(connections);
41
+ }
42
+ else {
43
+ this.displayVPNConnections(space, connections);
44
+ }
45
+ }
46
+ async run() {
47
+ const { flags } = await this.parse(Connections);
48
+ const { json, space } = flags;
49
+ const { body: connections } = await this.heroku.get(`/spaces/${space}/vpn-connections`);
50
+ this.render(space, connections, json);
51
+ }
52
+ tunnelFormat(t) {
53
+ return t.map(tunnel => displayVPNStatus(tunnel.status)).join('/');
54
+ }
55
+ }
@@ -0,0 +1,14 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Destroy extends Command {
3
+ static args: {
4
+ name: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
5
+ };
6
+ static description: string;
7
+ static examples: string[];
8
+ static flags: {
9
+ confirm: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ space: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ };
12
+ static topic: string;
13
+ run(): Promise<void>;
14
+ }
@@ -0,0 +1,36 @@
1
+ import { color } from '@heroku/heroku-cli-util';
2
+ import { Command, flags } from '@heroku-cli/command';
3
+ import { Args, ux } from '@oclif/core';
4
+ import tsheredoc from 'tsheredoc';
5
+ import ConfirmCommand from '../../../lib/confirmCommand.js';
6
+ const heredoc = tsheredoc.default;
7
+ export default class Destroy extends Command {
8
+ static args = {
9
+ name: Args.string({
10
+ description: 'name or id of the VPN connection to destroy',
11
+ required: true,
12
+ }),
13
+ };
14
+ static description = 'destroys VPN in a private space';
15
+ static examples = [heredoc(`
16
+ ${color.command('heroku spaces:vpn:destroy vpn-connection-name --space example-space --confirm vpn-connection-name')}
17
+ Tearing down VPN Connection vpn-connection-name in space example-space... done
18
+ `)];
19
+ static flags = {
20
+ confirm: flags.string({ description: 'set to VPN connection name to bypass confirm prompt', hidden: true }),
21
+ space: flags.string({ char: 's', description: 'space name', required: true }),
22
+ };
23
+ static topic = 'spaces';
24
+ async run() {
25
+ const { args, flags } = await this.parse(Destroy);
26
+ const { confirm, space } = flags;
27
+ const { name } = args;
28
+ await new ConfirmCommand().confirm(name, confirm, heredoc `
29
+ Destructive Action
30
+ This command will attempt to destroy the specified VPN Connection in space ${color.space(space)}
31
+ `);
32
+ ux.action.start(`Tearing down VPN Connection ${color.cyan(name)} in space ${color.space(space)}`);
33
+ await this.heroku.delete(`/spaces/${space}/vpn-connections/${name}`);
34
+ ux.action.stop();
35
+ }
36
+ }
@@ -0,0 +1,16 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Info extends Command {
3
+ static args: {
4
+ name: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
5
+ };
6
+ static description: string;
7
+ static example: string;
8
+ static flags: {
9
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ space: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ };
12
+ static topic: string;
13
+ run(): Promise<void>;
14
+ private displayVPNInfo;
15
+ private render;
16
+ }
@@ -0,0 +1,85 @@
1
+ import { color, hux } from '@heroku/heroku-cli-util';
2
+ import { Command, flags } from '@heroku-cli/command';
3
+ import { Args } from '@oclif/core';
4
+ import tsheredoc from 'tsheredoc';
5
+ import { displayCIDR, displayVPNStatus } from '../../../lib/spaces/format.js';
6
+ const heredoc = tsheredoc.default;
7
+ export default class Info extends Command {
8
+ static args = {
9
+ name: Args.string({
10
+ description: 'name or id of the VPN connection to get info from',
11
+ required: true,
12
+ }),
13
+ };
14
+ static description = 'display the information for VPN';
15
+ static example = heredoc `
16
+ ${color.command('heroku spaces:vpn:info vpn-connection-name --space my-space')}
17
+ === vpn-connection-name VPN Tunnel Info
18
+ Name: vpn-connection-name
19
+ ID: 123456789012
20
+ Public IP: 35.161.69.30
21
+ Routable CIDRs: 172.16.0.0/16
22
+ Status: failed
23
+ Status Message: supplied CIDR block already in use
24
+ === my-space Tunnel Info
25
+ VPN Tunnel IP Address Status Last Changed Details
26
+ ────────── ───────────── ────── ──────────────────── ─────────────
27
+ Tunnel 1 52.44.146.197 UP 2016-10-25T22:09:05Z status message
28
+ Tunnel 2 52.44.146.197 UP 2016-10-25T22:09:05Z status message
29
+ `;
30
+ static flags = {
31
+ json: flags.boolean({ description: 'output in json format' }),
32
+ space: flags.string({
33
+ char: 's',
34
+ description: 'space the vpn connection belongs to',
35
+ required: true,
36
+ }),
37
+ };
38
+ static topic = 'spaces';
39
+ async run() {
40
+ const { args, flags } = await this.parse(Info);
41
+ const { json, space } = flags;
42
+ const { name } = args;
43
+ const { body: vpnConnection } = await this.heroku.get(`/spaces/${space}/vpn-connections/${name}`);
44
+ const connectionName = vpnConnection.name || name;
45
+ this.render(connectionName, vpnConnection, json);
46
+ }
47
+ displayVPNInfo(name, vpnConnection) {
48
+ hux.styledHeader(`${name} VPN Info`);
49
+ /* eslint-disable perfectionist/sort-objects */
50
+ hux.styledObject({
51
+ Name: name,
52
+ ID: vpnConnection.id,
53
+ 'Public IP': vpnConnection.public_ip,
54
+ 'Routable CIDRs': displayCIDR(vpnConnection.routable_cidrs),
55
+ Status: `${displayVPNStatus(vpnConnection.status)}`,
56
+ 'Status Message': vpnConnection.status_message,
57
+ }, ['Name', 'ID', 'Public IP', 'Routable CIDRs', 'State', 'Status', 'Status Message']);
58
+ /* eslint-enable perfectionist/sort-objects */
59
+ const vpnConnectionTunnels = vpnConnection.tunnels || [];
60
+ vpnConnectionTunnels.forEach((val, i) => {
61
+ val.tunnel_id = 'Tunnel ' + (i + 1);
62
+ });
63
+ hux.styledHeader(`${name} VPN Tunnel Info`);
64
+ /* eslint-disable perfectionist/sort-objects */
65
+ hux.table(vpnConnectionTunnels, {
66
+ tunnel_id: { header: 'VPN Tunnel' },
67
+ ip: { header: 'IP Address' },
68
+ status: {
69
+ header: 'Status',
70
+ get: row => displayVPNStatus(row.status),
71
+ },
72
+ last_status_change: { header: 'Status Last Changed' },
73
+ status_message: { header: 'Details' },
74
+ });
75
+ /* eslint-enable perfectionist/sort-objects */
76
+ }
77
+ render(name, vpnConnection, json) {
78
+ if (json) {
79
+ hux.styledJSON(vpnConnection);
80
+ }
81
+ else {
82
+ this.displayVPNInfo(name, vpnConnection);
83
+ }
84
+ }
85
+ }
@@ -0,0 +1,14 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Update extends Command {
3
+ static args: {
4
+ name: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
5
+ };
6
+ static description: string;
7
+ static example: string;
8
+ static flags: {
9
+ cidrs: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
+ space: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ };
12
+ static topic: string;
13
+ run(): Promise<void>;
14
+ }
@@ -0,0 +1,36 @@
1
+ import { color } from '@heroku/heroku-cli-util';
2
+ import { Command, flags } from '@heroku-cli/command';
3
+ import { Args, ux } from '@oclif/core';
4
+ import tsheredoc from 'tsheredoc';
5
+ import { splitCsv } from '../../../lib/spaces/parsers.js';
6
+ const heredoc = tsheredoc.default;
7
+ export default class Update extends Command {
8
+ static args = {
9
+ name: Args.string({
10
+ description: 'name or id of the VPN connection to update',
11
+ required: true,
12
+ }),
13
+ };
14
+ static description = heredoc `
15
+ update VPN
16
+ Private Spaces can be connected to another private network via an IPSec VPN connection allowing dynos to connect to hosts on your private networks and vice versa.
17
+ The connection is established over the public Internet but all traffic is encrypted using IPSec.
18
+ `;
19
+ static example = heredoc `
20
+ ${color.command('heroku spaces:vpn:update vpn-connection-name --space my-space --cidrs 172.16.0.0/16,10.0.0.0/24')}
21
+ Updating VPN Connection in space my-space... done`;
22
+ static flags = {
23
+ cidrs: flags.string({ char: 'c', description: 'a list of routable CIDRs separated by commas', required: true }),
24
+ space: flags.string({ char: 's', description: 'space name', required: true }),
25
+ };
26
+ static topic = 'spaces';
27
+ async run() {
28
+ const { args, flags } = await this.parse(Update);
29
+ const { cidrs, space } = flags;
30
+ const { name } = args;
31
+ const parsedCidrs = splitCsv(cidrs);
32
+ ux.action.start(`Updating VPN Connection in space ${color.space(space)}`);
33
+ await this.heroku.patch(`/spaces/${space}/vpn-connections/${name}`, { body: { routable_cidrs: parsedCidrs } });
34
+ ux.action.stop();
35
+ }
36
+ }
@@ -0,0 +1,16 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Wait extends Command {
3
+ static topic: string;
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ space: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
8
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ interval: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ timeout: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ };
12
+ static args: {
13
+ name: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
14
+ };
15
+ run(): Promise<void>;
16
+ }
@@ -0,0 +1,69 @@
1
+ import { color } from '@heroku/heroku-cli-util';
2
+ import { Command, flags } from '@heroku-cli/command';
3
+ import { Args, ux } from '@oclif/core';
4
+ import { hux } from '@heroku/heroku-cli-util';
5
+ import { displayVPNConfigInfo } from '../../../lib/spaces/vpn-connections.js';
6
+ import tsheredoc from 'tsheredoc';
7
+ const heredoc = tsheredoc.default;
8
+ const wait = (ms) => new Promise(resolve => {
9
+ setTimeout(resolve, ms);
10
+ });
11
+ export default class Wait extends Command {
12
+ static topic = 'spaces';
13
+ static description = 'wait for VPN Connection to be created';
14
+ static examples = [heredoc(`
15
+ ${color.command('heroku spaces:vpn:wait vpn-connection-name --space my-space')}
16
+ Waiting for VPN Connection vpn-connection-name to allocate... done
17
+ === my-space VPN Tunnels
18
+
19
+ VPN Tunnel Customer Gateway VPN Gateway Pre-shared Key Routable Subnets IKE Version
20
+ ────────── ──────────────── ────────────── ────────────── ──────────────── ───────────
21
+ Tunnel 1 104.196.121.200 35.171.237.136 abcdef12345 10.0.0.0/16 1
22
+ Tunnel 2 104.196.121.200 52.44.7.216 fedcba54321 10.0.0.0/16 1
23
+ `)];
24
+ static flags = {
25
+ space: flags.string({ char: 's', description: 'space the vpn connection belongs to', required: true }),
26
+ json: flags.boolean({ description: 'output in json format' }),
27
+ interval: flags.string({ char: 'i', description: 'seconds to wait between poll intervals' }),
28
+ timeout: flags.string({ char: 't', description: 'maximum number of seconds to wait' }),
29
+ };
30
+ static args = {
31
+ name: Args.string({
32
+ description: 'name or id of the VPN connection you are waiting on for allocation.',
33
+ required: true,
34
+ }),
35
+ };
36
+ async run() {
37
+ const { flags, args } = await this.parse(Wait);
38
+ const { space, json } = flags;
39
+ const { name } = args;
40
+ const interval = (flags.interval ? Number.parseInt(flags.interval, 10) : 10) * 1000;
41
+ const timeout = (flags.timeout ? Number.parseInt(flags.timeout, 10) : 20 * 60) * 1000;
42
+ const deadline = new Date(Date.now() + timeout);
43
+ let { body: vpnConnection } = await this.heroku.get(`/spaces/${space}/vpn-connections/${name}`);
44
+ if (vpnConnection.status === 'active') {
45
+ ux.stdout('VPN has been allocated.');
46
+ return;
47
+ }
48
+ ux.action.start(`Waiting for VPN Connection ${color.green(name)} to allocate...`);
49
+ while (vpnConnection.status !== 'active') {
50
+ if (new Date() > deadline) {
51
+ ux.error('Timeout waiting for VPN to become allocated.', { exit: 1 });
52
+ }
53
+ if (vpnConnection.status === 'failed') {
54
+ ux.error(vpnConnection.status_message || '', { exit: 1 });
55
+ }
56
+ await wait(interval);
57
+ const { body: updatedVpnConnection } = await this.heroku.get(`/spaces/${space}/vpn-connections/${name}`);
58
+ vpnConnection = updatedVpnConnection;
59
+ }
60
+ ux.action.stop();
61
+ const { body: newVpnConnection } = await this.heroku.get(`/spaces/${space}/vpn-connections/${name}`);
62
+ if (json) {
63
+ hux.styledJSON(newVpnConnection);
64
+ }
65
+ else {
66
+ displayVPNConfigInfo(space, name, newVpnConnection);
67
+ }
68
+ }
69
+ }
@@ -0,0 +1,17 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Wait extends Command {
3
+ static args: {
4
+ space: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
5
+ };
6
+ static description: string;
7
+ static flags: {
8
+ interval: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
9
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ space: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ timeout: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
12
+ };
13
+ static topic: string;
14
+ protected notify(spaceName: string): void;
15
+ run(): Promise<void>;
16
+ protected wait(ms: number): Promise<unknown>;
17
+ }
@@ -0,0 +1,87 @@
1
+ import { color } from '@heroku/heroku-cli-util';
2
+ import { Command, flags } from '@heroku-cli/command';
3
+ import { notify } from '@heroku-cli/notifications';
4
+ import { Args, ux } from '@oclif/core';
5
+ import debug from 'debug';
6
+ import tsheredoc from 'tsheredoc';
7
+ import { renderInfo } from '../../lib/spaces/spaces.js';
8
+ const heredoc = tsheredoc.default;
9
+ const spacesDebug = debug('spaces:wait');
10
+ export default class Wait extends Command {
11
+ static args = {
12
+ space: Args.string({ hidden: true }),
13
+ };
14
+ static description = 'wait for a space to be created';
15
+ static flags = {
16
+ interval: flags.integer({
17
+ char: 'i',
18
+ default: 30,
19
+ description: 'seconds to wait between poll intervals',
20
+ }),
21
+ json: flags.boolean({ description: 'output in json format' }),
22
+ space: flags.string({ char: 's', description: 'space to get info of' }),
23
+ timeout: flags.integer({
24
+ char: 't',
25
+ default: 25 * 60,
26
+ description: 'maximum number of seconds to wait',
27
+ }),
28
+ };
29
+ static topic = 'spaces';
30
+ notify(spaceName) {
31
+ try {
32
+ const notification = {
33
+ message: 'space was successfully created',
34
+ sound: true,
35
+ subtitle: `heroku spaces:wait ${spaceName}`,
36
+ title: spaceName,
37
+ };
38
+ notify(notification);
39
+ }
40
+ catch (error) {
41
+ ux.warn(error);
42
+ }
43
+ }
44
+ async run() {
45
+ const { args, flags } = await this.parse(Wait);
46
+ const spaceName = flags.space || args.space;
47
+ if (!spaceName) {
48
+ ux.error(heredoc(`
49
+ Error: Missing 1 required arg:
50
+ space
51
+ See more help with --help
52
+ `));
53
+ }
54
+ const interval = flags.interval * 1000;
55
+ const timeout = flags.timeout * 1000;
56
+ const deadline = new Date(Date.now() + timeout);
57
+ ux.action.start(`Waiting for space ${color.space(spaceName)} to allocate`);
58
+ const headers = {
59
+ Accept: 'application/vnd.heroku+json; version=3.fir',
60
+ };
61
+ if (!flags.json) {
62
+ headers['Accept-Expansion'] = 'region';
63
+ }
64
+ let { body: space } = await this.heroku.get(`/spaces/${spaceName}`, { headers });
65
+ while (space.state === 'allocating') {
66
+ if (new Date() > deadline) {
67
+ throw new Error('Timeout waiting for space to become allocated.');
68
+ }
69
+ await this.wait(interval);
70
+ const { body: updatedSpace } = await this.heroku.get(`/spaces/${spaceName}`, { headers });
71
+ space = updatedSpace;
72
+ }
73
+ try {
74
+ const { body: nat } = await this.heroku.get(`/spaces/${spaceName}/nat`, { headers: { Accept: 'application/vnd.heroku+json; version=3.fir' } });
75
+ space.outbound_ips = nat;
76
+ }
77
+ catch (error) {
78
+ spacesDebug(`Retrieving NAT details for the space failed with ${error}`);
79
+ }
80
+ ux.action.stop();
81
+ renderInfo(space, flags.json);
82
+ this.notify(spaceName);
83
+ }
84
+ wait(ms) {
85
+ return new Promise(resolve => setTimeout(resolve, ms));
86
+ }
87
+ }