heroku 11.0.0-alpha.11 → 11.0.0-alpha.13

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 (895) 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 +5 -5
  29. package/lib/commands/addons/index.js +32 -30
  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 +59 -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/commands/webhooks/add.d.ts +16 -0
  493. package/lib/commands/webhooks/add.js +43 -0
  494. package/lib/commands/webhooks/deliveries/index.d.ts +12 -0
  495. package/lib/commands/webhooks/deliveries/index.js +75 -0
  496. package/lib/commands/webhooks/deliveries/info.d.ts +14 -0
  497. package/lib/commands/webhooks/deliveries/info.js +40 -0
  498. package/lib/commands/webhooks/index.d.ts +11 -0
  499. package/lib/commands/webhooks/index.js +42 -0
  500. package/lib/commands/webhooks/info.d.ts +14 -0
  501. package/lib/commands/webhooks/info.js +29 -0
  502. package/lib/commands/webhooks/remove.d.ts +14 -0
  503. package/lib/commands/webhooks/remove.js +24 -0
  504. package/lib/commands/webhooks/update.d.ts +19 -0
  505. package/lib/commands/webhooks/update.js +36 -0
  506. package/lib/global_telemetry.d.ts +2 -2
  507. package/lib/global_telemetry.js +34 -36
  508. package/lib/lib/addons/addons_wait.d.ts +1 -1
  509. package/lib/lib/addons/addons_wait.js +2 -2
  510. package/lib/lib/addons/create_addon.d.ts +5 -3
  511. package/lib/lib/addons/create_addon.js +12 -9
  512. package/lib/lib/addons/destroy_addon.js +17 -9
  513. package/lib/lib/addons/resolve.d.ts +10 -11
  514. package/lib/lib/addons/resolve.js +19 -18
  515. package/lib/lib/addons/util.d.ts +2 -2
  516. package/lib/lib/addons/util.js +22 -16
  517. package/lib/lib/api.d.ts +1 -1
  518. package/lib/lib/api.js +19 -23
  519. package/lib/lib/apps/app-transfer.d.ts +3 -3
  520. package/lib/lib/apps/app-transfer.js +11 -11
  521. package/lib/lib/autocomplete/base.d.ts +11 -1
  522. package/lib/lib/autocomplete/base.js +33 -49
  523. package/lib/lib/autocomplete/cache.js +9 -7
  524. package/lib/lib/autocomplete/completions.d.ts +41 -1
  525. package/lib/lib/autocomplete/completions.js +258 -290
  526. package/lib/lib/buildpacks/buildpacks.d.ts +11 -11
  527. package/lib/lib/buildpacks/buildpacks.js +71 -71
  528. package/lib/lib/certs/certificate_details.js +3 -4
  529. package/lib/lib/certs/flags.d.ts +2 -2
  530. package/lib/lib/certs/flags.js +5 -8
  531. package/lib/lib/certs/get_cert_and_key.js +2 -2
  532. package/lib/lib/ci/git.d.ts +12 -2
  533. package/lib/lib/ci/git.js +20 -6
  534. package/lib/lib/ci/pipelines.d.ts +5 -5
  535. package/lib/lib/ci/pipelines.js +17 -17
  536. package/lib/lib/ci/source.d.ts +8 -0
  537. package/lib/lib/ci/source.js +22 -10
  538. package/lib/lib/ci/test-run.js +18 -15
  539. package/lib/lib/config/quote.js +4 -4
  540. package/lib/lib/config/util.d.ts +3 -0
  541. package/lib/lib/config/util.js +5 -0
  542. package/lib/lib/confirmCommand.js +6 -7
  543. package/lib/lib/container/docker_helper.d.ts +12 -12
  544. package/lib/lib/container/docker_helper.js +71 -74
  545. package/lib/lib/container/helpers.js +2 -2
  546. package/lib/lib/container/streamer.js +4 -4
  547. package/lib/lib/data/baseCommand.d.ts +4 -0
  548. package/lib/lib/data/baseCommand.js +15 -0
  549. package/lib/lib/data/createPool.d.ts +4 -0
  550. package/lib/lib/data/createPool.js +6 -0
  551. package/lib/lib/data/credentialUtils.d.ts +3 -0
  552. package/lib/lib/data/credentialUtils.js +23 -0
  553. package/lib/lib/data/displayQuota.d.ts +19 -0
  554. package/lib/lib/data/displayQuota.js +59 -0
  555. package/lib/lib/data/parseProvisionOpts.d.ts +15 -0
  556. package/lib/lib/data/parseProvisionOpts.js +31 -0
  557. package/lib/lib/data/types.d.ts +181 -0
  558. package/lib/lib/data/types.js +3 -0
  559. package/lib/lib/data-scrubber/patterns.d.ts +4 -0
  560. package/lib/lib/data-scrubber/patterns.js +13 -0
  561. package/lib/lib/data-scrubber/presets.d.ts +64 -0
  562. package/lib/lib/data-scrubber/presets.js +112 -0
  563. package/lib/lib/data-scrubber/scrubber.d.ts +131 -0
  564. package/lib/lib/data-scrubber/scrubber.js +256 -0
  565. package/lib/lib/data-scrubber/types.d.ts +169 -0
  566. package/lib/lib/domains/domains.js +10 -10
  567. package/lib/lib/domains/wait-for-domain.js +2 -3
  568. package/lib/lib/local/env-file-validator.js +2 -2
  569. package/lib/lib/local/fork-foreman.js +3 -2
  570. package/lib/lib/members/util.js +7 -7
  571. package/lib/lib/orgs/utils.js +2 -3
  572. package/lib/lib/pg/backups.d.ts +17 -1
  573. package/lib/lib/pg/backups.js +132 -156
  574. package/lib/lib/pg/download.js +7 -7
  575. package/lib/lib/pg/fetcher.d.ts +3 -1
  576. package/lib/lib/pg/fetcher.js +3 -162
  577. package/lib/lib/pg/psql.d.ts +17 -1
  578. package/lib/lib/pg/psql.js +59 -269
  579. package/lib/lib/pg/push_pull.d.ts +12 -0
  580. package/lib/lib/pg/push_pull.js +97 -119
  581. package/lib/lib/pg/setter.d.ts +16 -1
  582. package/lib/lib/pg/setter.js +61 -73
  583. package/lib/lib/pg/types.d.ts +10 -33
  584. package/lib/lib/pg/util.d.ts +8 -1
  585. package/lib/lib/pg/util.js +102 -211
  586. package/lib/lib/pipelines/disambiguate.js +9 -11
  587. package/lib/lib/pipelines/ownership.d.ts +1 -1
  588. package/lib/lib/pipelines/ownership.js +6 -12
  589. package/lib/lib/pipelines/render-pipeline.d.ts +2 -2
  590. package/lib/lib/pipelines/render-pipeline.js +10 -9
  591. package/lib/lib/pipelines/setup/create-apps.js +7 -9
  592. package/lib/lib/pipelines/setup/get-ci-settings.js +2 -2
  593. package/lib/lib/pipelines/setup/get-github-token.js +1 -3
  594. package/lib/lib/pipelines/setup/get-name-and-repo.js +27 -22
  595. package/lib/lib/pipelines/setup/get-settings.js +12 -12
  596. package/lib/lib/pipelines/setup/poll-app-setups.js +3 -5
  597. package/lib/lib/pipelines/setup/setup-pipeline.js +1 -3
  598. package/lib/lib/pipelines/setup/validate.d.ts +1 -1
  599. package/lib/lib/pipelines/setup/validate.js +2 -2
  600. package/lib/lib/pipelines/stages.d.ts +2 -2
  601. package/lib/lib/pipelines/stages.js +4 -4
  602. package/lib/lib/redis/api.d.ts +22 -22
  603. package/lib/lib/redis/api.js +62 -67
  604. package/lib/lib/releases/output.js +1 -1
  605. package/lib/lib/releases/status_helper.d.ts +1 -1
  606. package/lib/lib/releases/status_helper.js +16 -8
  607. package/lib/lib/run/colorize.js +73 -40
  608. package/lib/lib/run/dyno.d.ts +22 -30
  609. package/lib/lib/run/dyno.js +184 -180
  610. package/lib/lib/run/helpers.d.ts +25 -0
  611. package/lib/lib/run/helpers.js +119 -3
  612. package/lib/lib/run/log-displayer.d.ts +3 -3
  613. package/lib/lib/run/log-displayer.js +21 -21
  614. package/lib/lib/spaces/format.js +36 -23
  615. package/lib/lib/spaces/hosts.d.ts +9 -1
  616. package/lib/lib/spaces/hosts.js +28 -41
  617. package/lib/lib/spaces/peering.d.ts +4 -1
  618. package/lib/lib/spaces/peering.js +45 -52
  619. package/lib/lib/spaces/spaces.d.ts +6 -1
  620. package/lib/lib/spaces/spaces.js +30 -39
  621. package/lib/lib/spaces/vpn-connections.js +16 -16
  622. package/lib/lib/telemetry/util.d.ts +1 -1
  623. package/lib/lib/telemetry/util.js +3 -3
  624. package/lib/lib/types/completion.d.ts +15 -0
  625. package/lib/lib/utils/multisort.d.ts +4 -7
  626. package/lib/lib/utils/multisort.js +8 -32
  627. package/lib/lib/utils/packageParser.js +2 -2
  628. package/lib/lib/utils/uuid-validate.js +1 -3
  629. package/lib/lib/webhooks/base.d.ts +2 -2
  630. package/lib/lib/webhooks/base.js +3 -3
  631. package/lib/nls-data.d.ts +10 -0
  632. package/lib/nls-data.js +10 -0
  633. package/lib/nls.d.ts +1 -1
  634. package/lib/nls.js +1 -1
  635. package/npm-shrinkwrap.json +17653 -18259
  636. package/oclif.manifest.json +9918 -3293
  637. package/package.json +26 -237
  638. package/lib/lib/pg/bastion.js +0 -137
  639. package/lib/lib/pg/config.d.ts +0 -2
  640. package/lib/lib/pg/config.js +0 -9
  641. package/lib/lib/pg/host.d.ts +0 -1
  642. package/lib/lib/pg/host.js +0 -3
  643. package/lib/lib/spaces/outbound-rules.js +0 -85
  644. package/lib/oldCommands/autocomplete/create.d.ts +0 -1
  645. package/lib/oldCommands/autocomplete/create.js +0 -254
  646. package/lib/oldCommands/autocomplete/doctor.d.ts +0 -1
  647. package/lib/oldCommands/autocomplete/doctor.js +0 -110
  648. package/lib/oldCommands/autocomplete/index.d.ts +0 -1
  649. package/lib/oldCommands/autocomplete/index.js +0 -80
  650. package/lib/oldCommands/autocomplete/options.d.ts +0 -1
  651. package/lib/oldCommands/autocomplete/options.js +0 -240
  652. package/lib/oldCommands/autocomplete/script.d.ts +0 -1
  653. package/lib/oldCommands/autocomplete/script.js +0 -35
  654. package/lib/oldCommands/pg/backups/cancel.d.ts +0 -1
  655. package/lib/oldCommands/pg/backups/cancel.js +0 -56
  656. package/lib/oldCommands/pg/backups/capture.d.ts +0 -1
  657. package/lib/oldCommands/pg/backups/capture.js +0 -77
  658. package/lib/oldCommands/pg/backups/delete.d.ts +0 -1
  659. package/lib/oldCommands/pg/backups/delete.js +0 -45
  660. package/lib/oldCommands/pg/backups/download.d.ts +0 -1
  661. package/lib/oldCommands/pg/backups/download.js +0 -64
  662. package/lib/oldCommands/pg/backups/index.d.ts +0 -1
  663. package/lib/oldCommands/pg/backups/index.js +0 -141
  664. package/lib/oldCommands/pg/backups/info.d.ts +0 -1
  665. package/lib/oldCommands/pg/backups/info.js +0 -102
  666. package/lib/oldCommands/pg/backups/restore.d.ts +0 -1
  667. package/lib/oldCommands/pg/backups/restore.js +0 -150
  668. package/lib/oldCommands/pg/backups/schedule.d.ts +0 -1
  669. package/lib/oldCommands/pg/backups/schedule.js +0 -107
  670. package/lib/oldCommands/pg/backups/schedules.d.ts +0 -1
  671. package/lib/oldCommands/pg/backups/schedules.js +0 -34
  672. package/lib/oldCommands/pg/backups/unschedule.d.ts +0 -1
  673. package/lib/oldCommands/pg/backups/unschedule.js +0 -60
  674. package/lib/oldCommands/pg/backups/url.d.ts +0 -1
  675. package/lib/oldCommands/pg/backups/url.js +0 -46
  676. package/lib/oldCommands/pg/bloat.d.ts +0 -1
  677. package/lib/oldCommands/pg/blocking.d.ts +0 -1
  678. package/lib/oldCommands/pg/blocking.js +0 -48
  679. package/lib/oldCommands/pg/connection-pooling/attach.d.ts +0 -1
  680. package/lib/oldCommands/pg/connection-pooling/attach.js +0 -53
  681. package/lib/oldCommands/pg/copy.d.ts +0 -1
  682. package/lib/oldCommands/pg/copy.js +0 -104
  683. package/lib/oldCommands/pg/credentials/create.d.ts +0 -1
  684. package/lib/oldCommands/pg/credentials/create.js +0 -47
  685. package/lib/oldCommands/pg/credentials/destroy.d.ts +0 -1
  686. package/lib/oldCommands/pg/credentials/destroy.js +0 -56
  687. package/lib/oldCommands/pg/credentials/repair-default.d.ts +0 -1
  688. package/lib/oldCommands/pg/credentials/repair-default.js +0 -43
  689. package/lib/oldCommands/pg/credentials/rotate.d.ts +0 -1
  690. package/lib/oldCommands/pg/credentials/rotate.js +0 -97
  691. package/lib/oldCommands/pg/credentials/url.d.ts +0 -1
  692. package/lib/oldCommands/pg/credentials/url.js +0 -75
  693. package/lib/oldCommands/pg/credentials.d.ts +0 -1
  694. package/lib/oldCommands/pg/credentials.js +0 -77
  695. package/lib/oldCommands/pg/diagnose.d.ts +0 -1
  696. package/lib/oldCommands/pg/diagnose.js +0 -136
  697. package/lib/oldCommands/pg/info.d.ts +0 -1
  698. package/lib/oldCommands/pg/info.js +0 -110
  699. package/lib/oldCommands/pg/kill.d.ts +0 -1
  700. package/lib/oldCommands/pg/kill.js +0 -37
  701. package/lib/oldCommands/pg/killall.d.ts +0 -1
  702. package/lib/oldCommands/pg/killall.js +0 -31
  703. package/lib/oldCommands/pg/links/create.d.ts +0 -1
  704. package/lib/oldCommands/pg/links/create.js +0 -70
  705. package/lib/oldCommands/pg/links/destroy.d.ts +0 -1
  706. package/lib/oldCommands/pg/links/destroy.js +0 -51
  707. package/lib/oldCommands/pg/links/index.d.ts +0 -1
  708. package/lib/oldCommands/pg/links/index.js +0 -64
  709. package/lib/oldCommands/pg/locks.d.ts +0 -1
  710. package/lib/oldCommands/pg/locks.js +0 -60
  711. package/lib/oldCommands/pg/maintenance/index.d.ts +0 -1
  712. package/lib/oldCommands/pg/maintenance/index.js +0 -34
  713. package/lib/oldCommands/pg/maintenance/run.d.ts +0 -1
  714. package/lib/oldCommands/pg/maintenance/run.js +0 -44
  715. package/lib/oldCommands/pg/maintenance/window.d.ts +0 -1
  716. package/lib/oldCommands/pg/maintenance/window.js +0 -52
  717. package/lib/oldCommands/pg/outliers.d.ts +0 -1
  718. package/lib/oldCommands/pg/outliers.js +0 -110
  719. package/lib/oldCommands/pg/promote.d.ts +0 -1
  720. package/lib/oldCommands/pg/promote.js +0 -183
  721. package/lib/oldCommands/pg/ps.d.ts +0 -1
  722. package/lib/oldCommands/pg/ps.js +0 -56
  723. package/lib/oldCommands/pg/psql.d.ts +0 -1
  724. package/lib/oldCommands/pg/psql.js +0 -53
  725. package/lib/oldCommands/pg/pull.d.ts +0 -1
  726. package/lib/oldCommands/pg/pull.js +0 -114
  727. package/lib/oldCommands/pg/push.d.ts +0 -1
  728. package/lib/oldCommands/pg/push.js +0 -111
  729. package/lib/oldCommands/pg/reset.d.ts +0 -1
  730. package/lib/oldCommands/pg/reset.js +0 -49
  731. package/lib/oldCommands/pg/settings/auto-explain/log-analyze.d.ts +0 -1
  732. package/lib/oldCommands/pg/settings/auto-explain/log-analyze.js +0 -37
  733. package/lib/oldCommands/pg/settings/auto-explain/log-buffers.d.ts +0 -1
  734. package/lib/oldCommands/pg/settings/auto-explain/log-buffers.js +0 -35
  735. package/lib/oldCommands/pg/settings/auto-explain/log-format.d.ts +0 -1
  736. package/lib/oldCommands/pg/settings/auto-explain/log-format.js +0 -30
  737. package/lib/oldCommands/pg/settings/auto-explain/log-min-duration.d.ts +0 -1
  738. package/lib/oldCommands/pg/settings/auto-explain/log-min-duration.js +0 -39
  739. package/lib/oldCommands/pg/settings/auto-explain/log-nested-statements.d.ts +0 -1
  740. package/lib/oldCommands/pg/settings/auto-explain/log-nested-statements.js +0 -30
  741. package/lib/oldCommands/pg/settings/auto-explain/log-triggers.d.ts +0 -1
  742. package/lib/oldCommands/pg/settings/auto-explain/log-triggers.js +0 -35
  743. package/lib/oldCommands/pg/settings/auto-explain/log-verbose.d.ts +0 -1
  744. package/lib/oldCommands/pg/settings/auto-explain/log-verbose.js +0 -40
  745. package/lib/oldCommands/pg/settings/auto-explain.d.ts +0 -1
  746. package/lib/oldCommands/pg/settings/auto-explain.js +0 -45
  747. package/lib/oldCommands/pg/settings/data-connector-details-logs.d.ts +0 -1
  748. package/lib/oldCommands/pg/settings/data-connector-details-logs.js +0 -40
  749. package/lib/oldCommands/pg/settings/index.d.ts +0 -1
  750. package/lib/oldCommands/pg/settings/index.js +0 -41
  751. package/lib/oldCommands/pg/settings/log-connections.d.ts +0 -1
  752. package/lib/oldCommands/pg/settings/log-connections.js +0 -40
  753. package/lib/oldCommands/pg/settings/log-lock-waits.d.ts +0 -1
  754. package/lib/oldCommands/pg/settings/log-lock-waits.js +0 -36
  755. package/lib/oldCommands/pg/settings/log-min-duration-statement.d.ts +0 -1
  756. package/lib/oldCommands/pg/settings/log-min-duration-statement.js +0 -39
  757. package/lib/oldCommands/pg/settings/log-min-error-statement.d.ts +0 -1
  758. package/lib/oldCommands/pg/settings/log-min-error-statement.js +0 -31
  759. package/lib/oldCommands/pg/settings/log-statement.d.ts +0 -1
  760. package/lib/oldCommands/pg/settings/log-statement.js +0 -33
  761. package/lib/oldCommands/pg/settings/track-functions.d.ts +0 -1
  762. package/lib/oldCommands/pg/settings/track-functions.js +0 -33
  763. package/lib/oldCommands/pg/unfollow.d.ts +0 -1
  764. package/lib/oldCommands/pg/unfollow.js +0 -46
  765. package/lib/oldCommands/pg/upgrade/cancel.d.ts +0 -1
  766. package/lib/oldCommands/pg/upgrade/cancel.js +0 -62
  767. package/lib/oldCommands/pg/upgrade/dryrun.d.ts +0 -1
  768. package/lib/oldCommands/pg/upgrade/dryrun.js +0 -62
  769. package/lib/oldCommands/pg/upgrade/index.d.ts +0 -1
  770. package/lib/oldCommands/pg/upgrade/index.js +0 -85
  771. package/lib/oldCommands/pg/upgrade/prepare.d.ts +0 -1
  772. package/lib/oldCommands/pg/upgrade/prepare.js +0 -64
  773. package/lib/oldCommands/pg/upgrade/run.d.ts +0 -1
  774. package/lib/oldCommands/pg/upgrade/run.js +0 -106
  775. package/lib/oldCommands/pg/upgrade/wait.d.ts +0 -1
  776. package/lib/oldCommands/pg/upgrade/wait.js +0 -121
  777. package/lib/oldCommands/pg/upgrade.d.ts +0 -1
  778. package/lib/oldCommands/pg/upgrade.js +0 -66
  779. package/lib/oldCommands/pg/vacuum-stats.d.ts +0 -1
  780. package/lib/oldCommands/pg/wait.d.ts +0 -1
  781. package/lib/oldCommands/pg/wait.js +0 -96
  782. package/lib/oldCommands/pipelines/open.d.ts +0 -1
  783. package/lib/oldCommands/pipelines/open.js +0 -25
  784. package/lib/oldCommands/pipelines/promote.d.ts +0 -1
  785. package/lib/oldCommands/pipelines/promote.js +0 -269
  786. package/lib/oldCommands/pipelines/remove.d.ts +0 -1
  787. package/lib/oldCommands/pipelines/remove.js +0 -29
  788. package/lib/oldCommands/pipelines/rename.d.ts +0 -1
  789. package/lib/oldCommands/pipelines/rename.js +0 -42
  790. package/lib/oldCommands/pipelines/setup.d.ts +0 -1
  791. package/lib/oldCommands/pipelines/setup.js +0 -117
  792. package/lib/oldCommands/pipelines/transfer.d.ts +0 -1
  793. package/lib/oldCommands/pipelines/transfer.js +0 -78
  794. package/lib/oldCommands/pipelines/update.d.ts +0 -1
  795. package/lib/oldCommands/pipelines/update.js +0 -39
  796. package/lib/oldCommands/ps/autoscale/disable.d.ts +0 -1
  797. package/lib/oldCommands/ps/autoscale/disable.js +0 -43
  798. package/lib/oldCommands/ps/autoscale/enable.d.ts +0 -1
  799. package/lib/oldCommands/ps/autoscale/enable.js +0 -103
  800. package/lib/oldCommands/ps/index.d.ts +0 -1
  801. package/lib/oldCommands/ps/index.js +0 -254
  802. package/lib/oldCommands/ps/restart.d.ts +0 -1
  803. package/lib/oldCommands/ps/restart.js +0 -78
  804. package/lib/oldCommands/ps/scale.d.ts +0 -1
  805. package/lib/oldCommands/ps/scale.js +0 -95
  806. package/lib/oldCommands/ps/stop.d.ts +0 -1
  807. package/lib/oldCommands/ps/stop.js +0 -73
  808. package/lib/oldCommands/ps/type.d.ts +0 -1
  809. package/lib/oldCommands/ps/type.js +0 -190
  810. package/lib/oldCommands/ps/wait.d.ts +0 -1
  811. package/lib/oldCommands/ps/wait.js +0 -93
  812. package/lib/oldCommands/releases/index.d.ts +0 -1
  813. package/lib/oldCommands/releases/index.js +0 -156
  814. package/lib/oldCommands/releases/info.d.ts +0 -1
  815. package/lib/oldCommands/releases/info.js +0 -68
  816. package/lib/oldCommands/releases/output.d.ts +0 -1
  817. package/lib/oldCommands/releases/output.js +0 -42
  818. package/lib/oldCommands/releases/retry.d.ts +0 -1
  819. package/lib/oldCommands/releases/retry.js +0 -59
  820. package/lib/oldCommands/releases/rollback.d.ts +0 -1
  821. package/lib/oldCommands/releases/rollback.js +0 -65
  822. package/lib/oldCommands/run/detached.d.ts +0 -1
  823. package/lib/oldCommands/run/detached.js +0 -61
  824. package/lib/oldCommands/run/index.d.ts +0 -1
  825. package/lib/oldCommands/run/index.js +0 -72
  826. package/lib/oldCommands/run/inside.d.ts +0 -1
  827. package/lib/oldCommands/run/inside.js +0 -93
  828. package/lib/oldCommands/spaces/create.d.ts +0 -1
  829. package/lib/oldCommands/spaces/create.js +0 -99
  830. package/lib/oldCommands/spaces/destroy.d.ts +0 -1
  831. package/lib/oldCommands/spaces/destroy.js +0 -79
  832. package/lib/oldCommands/spaces/drains/get.d.ts +0 -1
  833. package/lib/oldCommands/spaces/drains/get.js +0 -33
  834. package/lib/oldCommands/spaces/drains/set.d.ts +0 -1
  835. package/lib/oldCommands/spaces/drains/set.js +0 -33
  836. package/lib/oldCommands/spaces/hosts.d.ts +0 -1
  837. package/lib/oldCommands/spaces/hosts.js +0 -42
  838. package/lib/oldCommands/spaces/index.d.ts +0 -1
  839. package/lib/oldCommands/spaces/index.js +0 -74
  840. package/lib/oldCommands/spaces/info.d.ts +0 -1
  841. package/lib/oldCommands/spaces/info.js +0 -59
  842. package/lib/oldCommands/spaces/peerings/accept.d.ts +0 -1
  843. package/lib/oldCommands/spaces/peerings/accept.js +0 -41
  844. package/lib/oldCommands/spaces/peerings/destroy.d.ts +0 -1
  845. package/lib/oldCommands/spaces/peerings/destroy.js +0 -51
  846. package/lib/oldCommands/spaces/peerings/index.d.ts +0 -1
  847. package/lib/oldCommands/spaces/peerings/index.js +0 -39
  848. package/lib/oldCommands/spaces/peerings/info.d.ts +0 -1
  849. package/lib/oldCommands/spaces/ps.d.ts +0 -1
  850. package/lib/oldCommands/spaces/ps.js +0 -97
  851. package/lib/oldCommands/spaces/rename.d.ts +0 -1
  852. package/lib/oldCommands/spaces/rename.js +0 -29
  853. package/lib/oldCommands/spaces/topology.d.ts +0 -1
  854. package/lib/oldCommands/spaces/topology.js +0 -95
  855. package/lib/oldCommands/spaces/transfer.d.ts +0 -1
  856. package/lib/oldCommands/spaces/transfer.js +0 -37
  857. package/lib/oldCommands/spaces/trusted-ips/add.d.ts +0 -1
  858. package/lib/oldCommands/spaces/trusted-ips/add.js +0 -48
  859. package/lib/oldCommands/spaces/trusted-ips/index.d.ts +0 -1
  860. package/lib/oldCommands/spaces/trusted-ips/index.js +0 -57
  861. package/lib/oldCommands/spaces/trusted-ips/remove.d.ts +0 -1
  862. package/lib/oldCommands/spaces/trusted-ips/remove.js +0 -50
  863. package/lib/oldCommands/spaces/vpn/config.d.ts +0 -1
  864. package/lib/oldCommands/spaces/vpn/config.js +0 -61
  865. package/lib/oldCommands/spaces/vpn/connect.d.ts +0 -1
  866. package/lib/oldCommands/spaces/vpn/connect.js +0 -54
  867. package/lib/oldCommands/spaces/vpn/connections.d.ts +0 -1
  868. package/lib/oldCommands/spaces/vpn/connections.js +0 -70
  869. package/lib/oldCommands/spaces/vpn/destroy.d.ts +0 -1
  870. package/lib/oldCommands/spaces/vpn/destroy.js +0 -48
  871. package/lib/oldCommands/spaces/vpn/info.d.ts +0 -1
  872. package/lib/oldCommands/spaces/vpn/info.js +0 -89
  873. package/lib/oldCommands/spaces/vpn/update.d.ts +0 -1
  874. package/lib/oldCommands/spaces/vpn/update.js +0 -46
  875. package/lib/oldCommands/spaces/vpn/wait.d.ts +0 -1
  876. package/lib/oldCommands/spaces/vpn/wait.js +0 -80
  877. package/lib/oldCommands/spaces/wait.d.ts +0 -1
  878. package/lib/oldCommands/spaces/wait.js +0 -106
  879. package/lib/oldCommands/webhooks/add.d.ts +0 -1
  880. package/lib/oldCommands/webhooks/add.js +0 -56
  881. package/lib/oldCommands/webhooks/deliveries/index.d.ts +0 -1
  882. package/lib/oldCommands/webhooks/deliveries/index.js +0 -90
  883. package/lib/oldCommands/webhooks/deliveries/info.d.ts +0 -1
  884. package/lib/oldCommands/webhooks/deliveries/info.js +0 -54
  885. package/lib/oldCommands/webhooks/index.d.ts +0 -1
  886. package/lib/oldCommands/webhooks/index.js +0 -55
  887. package/lib/oldCommands/webhooks/info.d.ts +0 -1
  888. package/lib/oldCommands/webhooks/info.js +0 -41
  889. package/lib/oldCommands/webhooks/remove.d.ts +0 -1
  890. package/lib/oldCommands/webhooks/remove.js +0 -37
  891. package/lib/oldCommands/webhooks/update.d.ts +0 -1
  892. package/lib/oldCommands/webhooks/update.js +0 -50
  893. package/lib/package.nls.json +0 -6
  894. /package/lib/lib/{pg/bastion.d.ts → data-scrubber/types.js} +0 -0
  895. /package/lib/lib/{spaces/outbound-rules.d.ts → types/completion.js} +0 -0
@@ -0,0 +1,106 @@
1
+ import { Command, flags } from '@heroku-cli/command';
2
+ import { Args, ux } from '@oclif/core';
3
+ import { color, hux, utils } from '@heroku/heroku-cli-util';
4
+ const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1);
5
+ import tsheredoc from 'tsheredoc';
6
+ import { essentialPlan } from '../../lib/pg/util.js';
7
+ import { uuidValidate } from '../../lib/utils/uuid-validate.js';
8
+ const heredoc = tsheredoc.default;
9
+ const PGDIAGNOSE_HOST = process.env.PGDIAGNOSE_URL || 'pgdiagnose.herokai.com';
10
+ export default class Diagnose extends Command {
11
+ static topic = 'pg';
12
+ static description = heredoc(`
13
+ run or view diagnostics report
14
+ defaults to DATABASE_URL database if no DATABASE is specified
15
+ if REPORT_ID is specified instead, a previous report is displayed
16
+
17
+ `);
18
+ static flags = {
19
+ json: flags.boolean({ description: 'format output as JSON' }),
20
+ app: flags.app({ required: true }),
21
+ remote: flags.remote(),
22
+ };
23
+ static args = {
24
+ 'DATABASE|REPORT_ID': Args.string({ description: 'config var exposed to the owning app containing the database URL or the report ID' }),
25
+ };
26
+ async run() {
27
+ const { flags, args } = await this.parse(Diagnose);
28
+ const id = args['DATABASE|REPORT_ID'];
29
+ let report;
30
+ if (id && uuidValidate(id)) {
31
+ ({ body: report } = await this.heroku.get(`/reports/${encodeURIComponent(id)}`, { hostname: PGDIAGNOSE_HOST }));
32
+ }
33
+ else {
34
+ report = await this.generateReport(id, flags.app);
35
+ }
36
+ this.displayReport(report, flags.json);
37
+ }
38
+ displayReport(report, json) {
39
+ if (json) {
40
+ hux.styledJSON(report);
41
+ return;
42
+ }
43
+ ux.stdout(`Report ${report.id} for ${report.app}::${report.database}\navailable for one month after creation on ${report.created_at}\n`);
44
+ this.display(report.checks.filter((c) => c.status === 'red'));
45
+ this.display(report.checks.filter((c) => c.status === 'yellow'));
46
+ this.display(report.checks.filter((c) => c.status === 'green'));
47
+ this.display(report.checks.filter((c) => !['green', 'red', 'yellow'].includes(c.status)));
48
+ }
49
+ display(checks) {
50
+ checks.forEach((check) => {
51
+ const colorFn = color[check.status] || ((txt) => txt);
52
+ ux.stdout(colorFn(`${check.status.toUpperCase()}: ${check.name}`));
53
+ const isNonEmptyArray = Array.isArray(check.results) && check.results.length > 0;
54
+ const resultsKeys = Object.keys(check.results ?? {});
55
+ if (check.status === 'green' || (!isNonEmptyArray && resultsKeys.length === 0)) {
56
+ return;
57
+ }
58
+ if (isNonEmptyArray) {
59
+ const keys = Object.keys(check.results[0]);
60
+ const cols = {};
61
+ keys.forEach((key) => {
62
+ const keyStr = String(key);
63
+ cols[capitalize(keyStr)] = {
64
+ get: (row) => String(row[key]),
65
+ };
66
+ });
67
+ hux.table(check.results, cols);
68
+ }
69
+ else {
70
+ const [key] = resultsKeys;
71
+ ux.stdout(`${key.split('_')
72
+ .map(s => capitalize(s))
73
+ .join(' ')} ${check.results[key]}`);
74
+ }
75
+ });
76
+ }
77
+ async generateParams(url, db, dbName) {
78
+ const base_params = {
79
+ url,
80
+ plan: db.plan.name.split(':')[1],
81
+ app: db.app.name,
82
+ database: dbName,
83
+ };
84
+ if (!essentialPlan(db)) {
85
+ const { body: metrics } = await this.heroku.get(`/client/v11/databases/${db.id}/metrics`, { hostname: utils.pg.host() });
86
+ base_params.metrics = metrics;
87
+ const { body: burstData } = await this.heroku.get(`/client/v11/databases/${db.id}/burst_status`, { hostname: utils.pg.host() });
88
+ if (burstData && Object.keys(burstData).length > 0) {
89
+ base_params.burst_data_present = true;
90
+ base_params.burst_status = burstData.burst_status;
91
+ }
92
+ }
93
+ return base_params;
94
+ }
95
+ async generateReport(database, app) {
96
+ const dbResolver = new utils.pg.DatabaseResolver(this.heroku);
97
+ const attachment = await dbResolver.getAttachment(app, database);
98
+ const { addon: db } = attachment;
99
+ const { body: config } = await this.heroku.get(`/apps/${app}/config-vars`);
100
+ const { url } = dbResolver.getConnectionDetails(attachment, config);
101
+ const dbName = utils.pg.psql.getConfigVarNameFromAttachment(attachment, config);
102
+ const body = await this.generateParams(url, db, dbName);
103
+ const { body: report } = await this.heroku.post('/reports', { hostname: PGDIAGNOSE_HOST, body });
104
+ return report;
105
+ }
106
+ }
@@ -0,0 +1,14 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Info extends Command {
3
+ static topic: string;
4
+ static description: string;
5
+ static flags: {
6
+ app: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
7
+ remote: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ };
9
+ static args: {
10
+ database: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
11
+ };
12
+ static aliases: string[];
13
+ run(): Promise<void>;
14
+ }
@@ -0,0 +1,91 @@
1
+ import { color, hux, utils } from '@heroku/heroku-cli-util';
2
+ import { Command, flags } from '@heroku-cli/command';
3
+ import { Args, ux } from '@oclif/core';
4
+ import { configVarNamesFromValue, databaseNameFromUrl } from '../../lib/pg/util.js';
5
+ import { nls } from '../../nls.js';
6
+ function displayDB(db, app) {
7
+ if (db.addon.attachment_names) {
8
+ hux.styledHeader(db.addon.attachment_names.map((c) => color.attachment(c + '_URL'))
9
+ .join(', '));
10
+ }
11
+ else {
12
+ hux.styledHeader(db.configVars?.map(c => color.name(c))
13
+ .join(', ') || '');
14
+ }
15
+ if (db.addon.app.name && db.addon.app.name !== app) {
16
+ db.dbInfo?.info.push({ name: 'Billing App', values: [color.app(db.addon.app.name)] });
17
+ }
18
+ db.dbInfo?.info.push({ name: 'Add-on', values: [color.addon(db.addon.name)] });
19
+ const info = {};
20
+ db.dbInfo?.info.forEach(infoObject => {
21
+ if (infoObject.values.length > 0) {
22
+ let valuesArray;
23
+ if (infoObject.resolve_db_name) {
24
+ valuesArray = infoObject.values.map(v => databaseNameFromUrl(v, db.config));
25
+ }
26
+ else {
27
+ valuesArray = infoObject.values;
28
+ }
29
+ info[infoObject.name] = valuesArray.join(', ');
30
+ }
31
+ });
32
+ const keys = db.dbInfo?.info.map(i => i.name);
33
+ hux.styledObject(info, keys);
34
+ ux.stdout('');
35
+ }
36
+ export default class Info extends Command {
37
+ static topic = 'pg';
38
+ static description = 'show database information';
39
+ static flags = {
40
+ app: flags.app({ required: true }),
41
+ remote: flags.remote(),
42
+ };
43
+ static args = {
44
+ database: Args.string({ description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:all-dbs:suffix')}` }),
45
+ };
46
+ static aliases = ['pg'];
47
+ async run() {
48
+ const { flags, args } = await this.parse(Info);
49
+ const { app } = flags;
50
+ const lodash = await import('lodash');
51
+ const { sortBy } = lodash.default;
52
+ const { database: db } = args;
53
+ let addons;
54
+ const { body: config } = await this.heroku.get(`/apps/${app}/config-vars`);
55
+ if (db) {
56
+ const dbResolver = new utils.pg.DatabaseResolver(this.heroku);
57
+ const { addon } = await dbResolver.getAttachment(app, db);
58
+ addons = [addon];
59
+ }
60
+ else {
61
+ const dbResolver = new utils.pg.DatabaseResolver(this.heroku);
62
+ addons = await dbResolver.getAllLegacyDatabases(app);
63
+ if (addons.length === 0) {
64
+ ux.stdout(`${color.app(app)} has no heroku-postgresql databases.`);
65
+ return;
66
+ }
67
+ }
68
+ let dbs = await Promise.all(addons.map(async (addon) => {
69
+ const pgResponse = await this.heroku.get(`/client/v11/databases/${addon.id}`, {
70
+ hostname: utils.pg.host(),
71
+ })
72
+ .catch(error => {
73
+ if (error.statusCode !== 404)
74
+ throw error;
75
+ ux.warn(`${color.datastore(addon.name)} is not yet provisioned.\nRun ${color.code('heroku addons:wait')} to wait until the db is provisioned.`);
76
+ });
77
+ const { body: dbInfo } = pgResponse || { body: null };
78
+ return {
79
+ addon,
80
+ config,
81
+ dbInfo,
82
+ };
83
+ }));
84
+ dbs = dbs.filter(db => db.dbInfo);
85
+ dbs.forEach(db => {
86
+ db.configVars = configVarNamesFromValue(db.config, db.dbInfo?.resource_url || '');
87
+ });
88
+ dbs = sortBy(dbs, (db) => db.configVars && db.configVars[0] !== 'DATABASE_URL', 'configVars[0]');
89
+ dbs.forEach(db => displayDB(db, app));
90
+ }
91
+ }
@@ -0,0 +1,15 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Kill extends Command {
3
+ static topic: string;
4
+ static description: string;
5
+ static flags: {
6
+ force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
+ app: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
8
+ remote: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ };
10
+ static args: {
11
+ pid: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
12
+ database: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
13
+ };
14
+ run(): Promise<void>;
15
+ }
@@ -0,0 +1,32 @@
1
+ import { Command, flags } from '@heroku-cli/command';
2
+ import { Args, ux } from '@oclif/core';
3
+ import { utils } from '@heroku/heroku-cli-util';
4
+ import tsheredoc from 'tsheredoc';
5
+ import { nls } from '../../nls.js';
6
+ const heredoc = tsheredoc.default;
7
+ export default class Kill extends Command {
8
+ static topic = 'pg';
9
+ static description = 'kill a query';
10
+ static flags = {
11
+ force: flags.boolean({ char: 'f' }),
12
+ app: flags.app({ required: true }),
13
+ remote: flags.remote(),
14
+ };
15
+ static args = {
16
+ pid: Args.string({ required: true, description: 'ID of the process' }),
17
+ database: Args.string({ description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}` }),
18
+ };
19
+ async run() {
20
+ const { flags, args } = await this.parse(Kill);
21
+ const { app, force } = flags;
22
+ const { pid, database } = args;
23
+ const dbResolver = new utils.pg.DatabaseResolver(this.heroku);
24
+ const db = await dbResolver.getDatabase(app, database);
25
+ const psqlService = new utils.pg.PsqlService(db);
26
+ const query = heredoc `
27
+ SELECT ${force ? 'pg_terminate_backend' : 'pg_cancel_backend'}(${Number.parseInt(pid, 10)});
28
+ `;
29
+ const output = await psqlService.execQuery(query);
30
+ ux.stdout(output);
31
+ }
32
+ }
@@ -0,0 +1,13 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Killall extends Command {
3
+ static topic: string;
4
+ static description: string;
5
+ static flags: {
6
+ app: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
7
+ remote: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ };
9
+ static args: {
10
+ database: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
11
+ };
12
+ run(): Promise<void>;
13
+ }
@@ -0,0 +1,24 @@
1
+ import { Command, flags } from '@heroku-cli/command';
2
+ import { Args, ux } from '@oclif/core';
3
+ import { utils } from '@heroku/heroku-cli-util';
4
+ import { nls } from '../../nls.js';
5
+ export default class Killall extends Command {
6
+ static topic = 'pg';
7
+ static description = 'terminates all connections for all credentials';
8
+ static flags = {
9
+ app: flags.app({ required: true }),
10
+ remote: flags.remote(),
11
+ };
12
+ static args = {
13
+ database: Args.string({ description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}` }),
14
+ };
15
+ async run() {
16
+ const { flags, args } = await this.parse(Killall);
17
+ const { app } = flags;
18
+ ux.action.start('Terminating connections for all credentials');
19
+ const dbResolver = new utils.pg.DatabaseResolver(this.heroku);
20
+ const { addon } = await dbResolver.getAttachment(app, args.database);
21
+ await this.heroku.post(`/client/v11/databases/${addon.id}/connection_reset`, { hostname: utils.pg.host() });
22
+ ux.action.stop();
23
+ }
24
+ }
@@ -0,0 +1,16 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Create extends Command {
3
+ static args: {
4
+ remote: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
5
+ database: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static description: string;
8
+ static example: string;
9
+ static flags: {
10
+ app: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ as: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ remote: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ };
14
+ static topic: string;
15
+ run(): Promise<void>;
16
+ }
@@ -0,0 +1,57 @@
1
+ import { color, utils } from '@heroku/heroku-cli-util';
2
+ import { Command, flags } from '@heroku-cli/command';
3
+ import { Args, ux } from '@oclif/core';
4
+ import { addonResolver } from '../../../lib/addons/resolve.js';
5
+ import { essentialPlan } from '../../../lib/pg/util.js';
6
+ import { nls } from '../../../nls.js';
7
+ export default class Create extends Command {
8
+ /* eslint-disable perfectionist/sort-objects */
9
+ // the order of args is important for the command to work
10
+ // TODO: change database to be a flag
11
+ static args = {
12
+ remote: Args.string({ description: nls('pg:database:arg:description'), required: true }),
13
+ database: Args.string({ description: nls('pg:database:arg:description'), required: true }),
14
+ };
15
+ /* eslint-enable perfectionist/sort-objects */
16
+ static description = 'create a link between data stores';
17
+ static example = `${color.command('heroku pg:links:create HEROKU_REDIS_RED HEROKU_POSTGRESQL_CERULEAN')}`;
18
+ static flags = {
19
+ app: flags.app({ required: true }),
20
+ as: flags.string({ description: 'name of link to create' }),
21
+ remote: flags.remote(),
22
+ };
23
+ static topic = 'pg';
24
+ async run() {
25
+ const { args, flags } = await this.parse(Create);
26
+ const { app } = flags;
27
+ const service = async (remoteId) => {
28
+ const addon = await addonResolver(this.heroku, app, remoteId);
29
+ if (!addon.plan.name.match(/^heroku-(redis|postgresql)/))
30
+ throw new Error('Remote database must be heroku-redis or heroku-postgresql');
31
+ return addon;
32
+ };
33
+ const dbResolver = new utils.pg.DatabaseResolver(this.heroku);
34
+ const [{ addon: db }, target] = await Promise.all([
35
+ dbResolver.getAttachment(app, args.database),
36
+ service(args.remote),
37
+ ]);
38
+ if (essentialPlan(db))
39
+ throw new Error("pg:links isn't available for Essential-tier databases.");
40
+ if (essentialPlan(target))
41
+ throw new Error("pg:links isn't available for Essential-tier databases.");
42
+ ux.action.start(`Adding link from ${color.datastore(target.name)} to ${color.datastore(db.name)}`);
43
+ const { body: link } = await this.heroku.post(`/client/v11/databases/${db.id}/links`, {
44
+ body: {
45
+ as: flags.as,
46
+ target: target.name,
47
+ },
48
+ hostname: utils.pg.host(),
49
+ });
50
+ // This doesn't exist according to Shogun's link serializer. May it be that the original idea was to use to catch
51
+ // a Data API error and then show an re-throw the error here?
52
+ // if (link.message) {
53
+ // throw new Error(link.message)
54
+ // }
55
+ ux.action.stop(`done, ${color.name(link.name)}`);
56
+ }
57
+ }
@@ -0,0 +1,16 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Destroy extends Command {
3
+ static args: {
4
+ database: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
5
+ link: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static description: string;
8
+ static example: string;
9
+ static flags: {
10
+ app: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ confirm: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ remote: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ };
14
+ static topic: string;
15
+ run(): Promise<void>;
16
+ }
@@ -0,0 +1,40 @@
1
+ import { color, utils } 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
+ import { essentialPlan } from '../../../lib/pg/util.js';
7
+ const heredoc = tsheredoc.default;
8
+ import { nls } from '../../../nls.js';
9
+ export default class Destroy extends Command {
10
+ static args = {
11
+ database: Args.string({ description: nls('pg:database:arg:description'), required: true }),
12
+ link: Args.string({ description: 'name of the linked data store', required: true }),
13
+ };
14
+ static description = 'destroys a link between data stores';
15
+ static example = `${color.command('heroku pg:links:destroy HEROKU_POSTGRESQL_CERULEAN redis-symmetrical-100')}`;
16
+ static flags = {
17
+ app: flags.app({ required: true }),
18
+ confirm: flags.string({ char: 'c' }),
19
+ remote: flags.remote(),
20
+ };
21
+ static topic = 'pg';
22
+ async run() {
23
+ const { args, flags } = await this.parse(Destroy);
24
+ const { app, confirm } = flags;
25
+ const { database, link } = args;
26
+ const dbResolver = new utils.pg.DatabaseResolver(this.heroku);
27
+ const { addon: db } = await dbResolver.getAttachment(app, database);
28
+ if (essentialPlan(db))
29
+ throw new Error("pg:links isn't available for Essential-tier databases.");
30
+ await new ConfirmCommand().confirm(app, confirm, heredoc(`
31
+ Destructive action
32
+ This command will affect the database ${color.yellow(db.name)}
33
+ This will delete ${color.cyan(link)} along with the tables and views created within it.
34
+ This may have adverse effects for software written against the ${color.cyan(link)} schema.
35
+ `));
36
+ ux.action.start(`Destroying link ${color.cyan(link)} from ${color.yellow(db.name)}`);
37
+ await this.heroku.delete(`/client/v11/databases/${db.id}/links/${encodeURIComponent(link)}`, { hostname: utils.pg.host() });
38
+ ux.action.stop();
39
+ }
40
+ }
@@ -0,0 +1,13 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Index extends Command {
3
+ static args: {
4
+ database: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
5
+ };
6
+ static description: string;
7
+ static flags: {
8
+ app: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
9
+ remote: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ };
11
+ static topic: string;
12
+ run(): Promise<void>;
13
+ }
@@ -0,0 +1,62 @@
1
+ import { color, hux, utils } from '@heroku/heroku-cli-util';
2
+ import { Command, flags } from '@heroku-cli/command';
3
+ import { Args } from '@oclif/core';
4
+ import { nls } from '../../../nls.js';
5
+ export default class Index extends Command {
6
+ static args = {
7
+ database: Args.string({ description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}` }),
8
+ };
9
+ static description = 'lists all databases and information on link';
10
+ static flags = {
11
+ app: flags.app({ required: true }),
12
+ remote: flags.remote(),
13
+ };
14
+ static topic = 'pg';
15
+ async run() {
16
+ const { args, flags } = await this.parse(Index);
17
+ const { app } = flags;
18
+ const { database } = args;
19
+ let dbs;
20
+ if (database) {
21
+ const dbResolver = new utils.pg.DatabaseResolver(this.heroku);
22
+ const { addon } = await dbResolver.getAttachment(app, database);
23
+ dbs = [addon];
24
+ }
25
+ else {
26
+ const dbResolver = new utils.pg.DatabaseResolver(this.heroku);
27
+ dbs = await dbResolver.getAllLegacyDatabases(app);
28
+ }
29
+ if (dbs.length === 0)
30
+ throw new Error(`No databases on ${color.app(app)}`);
31
+ dbs = await Promise.all(dbs.map(async (db) => {
32
+ const { body: links } = await this.heroku.get(`/client/v11/databases/${db.id}/links`, { hostname: utils.pg.host() });
33
+ db.links = links;
34
+ return db;
35
+ }));
36
+ let once;
37
+ dbs.forEach(db => {
38
+ if (once)
39
+ this.log();
40
+ else
41
+ once = true;
42
+ hux.styledHeader(color.datastore(db.name));
43
+ // This doesn't exist according to Shogun's link serializer. May it be that the original idea was to use Promise.allSettled
44
+ // and capture here and show only the error message if an error was returned for some database? Currently a CLI error is
45
+ // thrown instead, because Promise.all will reject if any of the promises reject and there's no catch block for that.
46
+ // if (db.links?.message)
47
+ // return this.log(db.links.message)
48
+ if (db.links?.length === 0)
49
+ return this.log('No data sources are linked into this database');
50
+ db.links?.forEach((link) => {
51
+ this.log(` * ${color.name(link.name)}`);
52
+ const remoteAttachmentName = link.remote?.attachment_name || '';
53
+ const remoteName = link.remote?.name || '';
54
+ const remoteLinkText = `${color.name(remoteAttachmentName)} (${color.datastore(remoteName)})`;
55
+ hux.styledObject({
56
+ created_at: link.created_at,
57
+ remote: remoteLinkText,
58
+ });
59
+ });
60
+ });
61
+ }
62
+ }
@@ -0,0 +1,15 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Locks extends Command {
3
+ static topic: string;
4
+ static description: string;
5
+ static flags: {
6
+ truncate: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
+ app: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
8
+ remote: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ };
10
+ static args: {
11
+ database: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
12
+ };
13
+ run(): Promise<void>;
14
+ protected truncatedQueryString(truncate: boolean): string;
15
+ }
@@ -0,0 +1,53 @@
1
+ import { Command, flags } from '@heroku-cli/command';
2
+ import { Args, ux } from '@oclif/core';
3
+ import { utils } from '@heroku/heroku-cli-util';
4
+ import tsheredoc from 'tsheredoc';
5
+ import { nls } from '../../nls.js';
6
+ const heredoc = tsheredoc.default;
7
+ export default class Locks extends Command {
8
+ static topic = 'pg';
9
+ static description = 'display queries with active locks';
10
+ static flags = {
11
+ truncate: flags.boolean({ char: 't', description: 'truncates queries to 40 characters' }),
12
+ app: flags.app({ required: true }),
13
+ remote: flags.remote(),
14
+ };
15
+ static args = {
16
+ database: Args.string({ description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}` }),
17
+ };
18
+ async run() {
19
+ const { flags, args } = await this.parse(Locks);
20
+ const { app, truncate } = flags;
21
+ const dbResolver = new utils.pg.DatabaseResolver(this.heroku);
22
+ const db = await dbResolver.getDatabase(app, args.database);
23
+ const psqlService = new utils.pg.PsqlService(db);
24
+ const query = heredoc `
25
+ SELECT
26
+ pg_stat_activity.pid,
27
+ pg_class.relname,
28
+ pg_locks.transactionid,
29
+ pg_locks.granted,
30
+ ${this.truncatedQueryString(truncate)} AS query_snippet,
31
+ age(now(), pg_stat_activity.query_start) AS "age"
32
+ FROM
33
+ pg_stat_activity,
34
+ pg_locks
35
+ LEFT OUTER JOIN pg_class
36
+ ON pg_locks.relation = pg_class.oid
37
+ WHERE
38
+ pg_stat_activity.query <> '<insufficient privilege>'
39
+ AND pg_locks.pid = pg_stat_activity.pid
40
+ AND pg_locks.mode = 'ExclusiveLock'
41
+ AND pg_stat_activity.pid <> pg_backend_pid() order by query_start;
42
+ `;
43
+ const output = await psqlService.execQuery(query);
44
+ ux.stdout(output);
45
+ }
46
+ truncatedQueryString(truncate) {
47
+ const column = 'pg_stat_activity.query';
48
+ if (truncate) {
49
+ return `CASE WHEN length(${column}) <= 40 THEN ${column} ELSE substr(${column}, 0, 39) || '…' END`;
50
+ }
51
+ return column;
52
+ }
53
+ }
@@ -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
+ app: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
7
+ remote: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ };
9
+ static args: {
10
+ database: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
11
+ };
12
+ run(): Promise<void>;
13
+ }
@@ -0,0 +1,27 @@
1
+ import { Command, flags } from '@heroku-cli/command';
2
+ import { Args, ux } from '@oclif/core';
3
+ import { utils } from '@heroku/heroku-cli-util';
4
+ import { essentialPlan } from '../../../lib/pg/util.js';
5
+ import { nls } from '../../../nls.js';
6
+ export default class Index extends Command {
7
+ static topic = 'pg';
8
+ static description = 'show current maintenance information';
9
+ static flags = {
10
+ app: flags.app({ required: true }),
11
+ remote: flags.remote(),
12
+ };
13
+ static args = {
14
+ database: Args.string({ description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}` }),
15
+ };
16
+ async run() {
17
+ const { flags, args } = await this.parse(Index);
18
+ const { app } = flags;
19
+ const { database } = args;
20
+ const dbResolver = new utils.pg.DatabaseResolver(this.heroku);
21
+ const { addon: db } = await dbResolver.getAttachment(app, database);
22
+ if (essentialPlan(db))
23
+ ux.error('pg:maintenance isn\'t available for Essential-tier databases.');
24
+ const { body: info } = await this.heroku.get(`/client/v11/databases/${db.id}/maintenance`, { hostname: utils.pg.host() });
25
+ this.log(info.message);
26
+ }
27
+ }
@@ -0,0 +1,14 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Run extends Command {
3
+ static args: {
4
+ database: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
5
+ };
6
+ static description: string;
7
+ static flags: {
8
+ app: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
9
+ force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ remote: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ };
12
+ static topic: string;
13
+ run(): Promise<void>;
14
+ }