heroku 9.0.0-dev.0 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (592) hide show
  1. package/README.md +6 -11
  2. package/lib/commands/access/add.d.ts +14 -0
  3. package/lib/commands/access/add.js +55 -0
  4. package/lib/commands/access/index.d.ts +11 -0
  5. package/lib/commands/access/index.js +86 -0
  6. package/lib/commands/access/remove.d.ts +12 -0
  7. package/lib/commands/access/remove.js +25 -0
  8. package/lib/commands/access/update.d.ts +14 -0
  9. package/lib/commands/access/update.js +39 -0
  10. package/lib/commands/addons/attach.d.ts +16 -0
  11. package/lib/commands/addons/attach.js +51 -0
  12. package/lib/commands/addons/create.d.ts +20 -0
  13. package/lib/commands/addons/create.js +96 -0
  14. package/lib/commands/addons/destroy.d.ts +19 -0
  15. package/lib/commands/addons/destroy.js +61 -0
  16. package/lib/commands/addons/detach.d.ts +13 -0
  17. package/lib/commands/addons/detach.js +31 -0
  18. package/lib/commands/addons/docs.d.ts +14 -0
  19. package/lib/commands/addons/docs.js +36 -0
  20. package/lib/commands/addons/index.d.ts +16 -0
  21. package/lib/commands/addons/index.js +246 -0
  22. package/lib/commands/addons/info.d.ts +14 -0
  23. package/lib/commands/addons/info.js +44 -0
  24. package/lib/commands/addons/open.d.ts +75 -0
  25. package/lib/commands/addons/open.js +87 -0
  26. package/lib/commands/addons/plans.d.ts +12 -0
  27. package/lib/commands/addons/plans.js +47 -0
  28. package/lib/commands/addons/rename.d.ts +10 -0
  29. package/lib/commands/addons/rename.js +20 -0
  30. package/lib/commands/addons/services.d.ts +9 -0
  31. package/lib/commands/addons/services.js +34 -0
  32. package/lib/commands/addons/upgrade.d.ts +28 -0
  33. package/lib/commands/addons/upgrade.js +145 -0
  34. package/lib/commands/addons/wait.d.ts +14 -0
  35. package/lib/commands/addons/wait.js +70 -0
  36. package/lib/commands/apps/create.d.ts +28 -0
  37. package/lib/commands/apps/create.js +201 -0
  38. package/lib/commands/apps/destroy.d.ts +15 -0
  39. package/lib/commands/apps/destroy.js +47 -0
  40. package/lib/commands/apps/errors.d.ts +13 -0
  41. package/lib/commands/apps/errors.js +120 -0
  42. package/lib/commands/apps/favorites/add.d.ts +2 -1
  43. package/lib/commands/apps/favorites/add.js +1 -0
  44. package/lib/commands/apps/favorites/remove.d.ts +2 -1
  45. package/lib/commands/apps/favorites/remove.js +1 -0
  46. package/lib/commands/apps/index.d.ts +16 -0
  47. package/lib/commands/apps/index.js +119 -0
  48. package/lib/commands/apps/info.d.ts +19 -0
  49. package/lib/commands/apps/info.js +162 -0
  50. package/lib/commands/apps/join.d.ts +11 -0
  51. package/lib/commands/apps/join.js +25 -0
  52. package/lib/commands/apps/leave.d.ts +12 -0
  53. package/lib/commands/apps/leave.js +25 -0
  54. package/lib/commands/apps/lock.d.ts +11 -0
  55. package/lib/commands/apps/lock.js +30 -0
  56. package/lib/commands/apps/open.d.ts +15 -0
  57. package/lib/commands/apps/open.js +30 -0
  58. package/lib/commands/apps/rename.d.ts +16 -0
  59. package/lib/commands/apps/rename.js +51 -0
  60. package/lib/commands/apps/stacks/index.d.ts +3 -2
  61. package/lib/commands/apps/stacks/index.js +2 -1
  62. package/lib/commands/apps/stacks/set.d.ts +4 -4
  63. package/lib/commands/apps/stacks/set.js +1 -1
  64. package/lib/commands/apps/transfer.d.ts +17 -0
  65. package/lib/commands/apps/transfer.js +91 -0
  66. package/lib/commands/apps/unlock.d.ts +11 -0
  67. package/lib/commands/apps/unlock.js +30 -0
  68. package/lib/commands/auth/token.js +2 -1
  69. package/lib/commands/authorizations/create.d.ts +3 -3
  70. package/lib/commands/authorizations/create.js +5 -1
  71. package/lib/commands/authorizations/info.d.ts +1 -1
  72. package/lib/commands/authorizations/info.js +5 -1
  73. package/lib/commands/authorizations/revoke.d.ts +1 -1
  74. package/lib/commands/authorizations/revoke.js +5 -1
  75. package/lib/commands/authorizations/rotate.d.ts +1 -1
  76. package/lib/commands/authorizations/rotate.js +5 -1
  77. package/lib/commands/authorizations/update.d.ts +4 -4
  78. package/lib/commands/authorizations/update.js +5 -1
  79. package/lib/commands/autocomplete/doctor.js +2 -2
  80. package/lib/commands/autocomplete/options.d.ts +2 -2
  81. package/lib/commands/autocomplete/options.js +2 -2
  82. package/lib/commands/autocomplete/script.d.ts +1 -1
  83. package/lib/commands/buildpacks/add.d.ts +4 -4
  84. package/lib/commands/buildpacks/clear.d.ts +2 -2
  85. package/lib/commands/buildpacks/index.d.ts +2 -2
  86. package/lib/commands/buildpacks/info.d.ts +1 -1
  87. package/lib/commands/buildpacks/remove.d.ts +4 -4
  88. package/lib/commands/buildpacks/search.d.ts +4 -4
  89. package/lib/commands/buildpacks/set.d.ts +4 -4
  90. package/lib/commands/buildpacks/versions.d.ts +1 -1
  91. package/lib/commands/certs/add.d.ts +16 -0
  92. package/lib/commands/certs/add.js +98 -0
  93. package/lib/commands/certs/auto/disable.d.ts +11 -0
  94. package/lib/commands/certs/auto/disable.js +34 -0
  95. package/lib/commands/certs/auto/enable.d.ts +11 -0
  96. package/lib/commands/certs/auto/enable.js +51 -0
  97. package/lib/commands/certs/auto/index.d.ts +12 -0
  98. package/lib/commands/certs/auto/index.js +94 -0
  99. package/lib/commands/certs/auto/refresh.d.ts +10 -0
  100. package/lib/commands/certs/auto/refresh.js +19 -0
  101. package/lib/commands/certs/generate.d.ts +26 -0
  102. package/lib/commands/certs/generate.js +111 -0
  103. package/lib/commands/certs/index.d.ts +10 -0
  104. package/lib/commands/certs/index.js +26 -0
  105. package/lib/commands/certs/info.d.ts +13 -0
  106. package/lib/commands/certs/info.js +43 -0
  107. package/lib/commands/certs/remove.d.ts +13 -0
  108. package/lib/commands/certs/remove.js +32 -0
  109. package/lib/commands/certs/update.d.ts +18 -0
  110. package/lib/commands/certs/update.js +54 -0
  111. package/lib/commands/ci/config/get.d.ts +4 -3
  112. package/lib/commands/ci/config/get.js +3 -2
  113. package/lib/commands/ci/config/index.d.ts +3 -2
  114. package/lib/commands/ci/config/index.js +3 -2
  115. package/lib/commands/ci/config/set.d.ts +3 -2
  116. package/lib/commands/ci/config/set.js +2 -1
  117. package/lib/commands/ci/config/unset.d.ts +3 -3
  118. package/lib/commands/ci/config/unset.js +3 -3
  119. package/lib/commands/ci/debug.d.ts +2 -2
  120. package/lib/commands/ci/index.d.ts +3 -2
  121. package/lib/commands/ci/index.js +1 -0
  122. package/lib/commands/ci/info.d.ts +5 -4
  123. package/lib/commands/ci/info.js +1 -0
  124. package/lib/commands/ci/last.d.ts +4 -3
  125. package/lib/commands/ci/last.js +1 -0
  126. package/lib/commands/ci/open.d.ts +3 -2
  127. package/lib/commands/ci/open.js +1 -0
  128. package/lib/commands/ci/rerun.d.ts +4 -3
  129. package/lib/commands/ci/rerun.js +1 -0
  130. package/lib/commands/ci/run.d.ts +2 -2
  131. package/lib/commands/clients/create.d.ts +2 -2
  132. package/lib/commands/clients/destroy.d.ts +1 -1
  133. package/lib/commands/clients/info.d.ts +1 -1
  134. package/lib/commands/clients/rotate.d.ts +1 -1
  135. package/lib/commands/clients/update.d.ts +3 -3
  136. package/lib/commands/config/edit.d.ts +3 -3
  137. package/lib/commands/config/get.d.ts +3 -3
  138. package/lib/commands/config/index.d.ts +2 -2
  139. package/lib/commands/config/set.d.ts +12 -0
  140. package/lib/commands/config/set.js +60 -0
  141. package/lib/commands/config/unset.d.ts +2 -2
  142. package/lib/commands/console.d.ts +4 -4
  143. package/lib/commands/container/index.d.ts +6 -0
  144. package/lib/commands/container/index.js +13 -0
  145. package/lib/commands/container/login.d.ts +9 -0
  146. package/lib/commands/container/login.js +57 -0
  147. package/lib/commands/container/logout.d.ts +9 -0
  148. package/lib/commands/container/logout.js +37 -0
  149. package/lib/commands/container/pull.d.ts +14 -0
  150. package/lib/commands/container/pull.js +43 -0
  151. package/lib/commands/container/push.d.ts +16 -0
  152. package/lib/commands/container/push.js +103 -0
  153. package/lib/commands/container/release.d.ts +14 -0
  154. package/lib/commands/container/release.js +91 -0
  155. package/lib/commands/container/rm.d.ts +13 -0
  156. package/lib/commands/container/rm.js +39 -0
  157. package/lib/commands/container/run.d.ts +15 -0
  158. package/lib/commands/container/run.js +66 -0
  159. package/lib/commands/dashboard.d.ts +7 -0
  160. package/lib/commands/dashboard.js +164 -0
  161. package/lib/commands/domains/add.d.ts +4 -4
  162. package/lib/commands/domains/clear.d.ts +2 -2
  163. package/lib/commands/domains/index.d.ts +10 -10
  164. package/lib/commands/domains/info.d.ts +3 -3
  165. package/lib/commands/domains/remove.d.ts +3 -3
  166. package/lib/commands/domains/update.d.ts +4 -4
  167. package/lib/commands/domains/wait.d.ts +3 -3
  168. package/lib/commands/drains/add.d.ts +12 -0
  169. package/lib/commands/drains/add.js +23 -0
  170. package/lib/commands/drains/index.d.ts +11 -0
  171. package/lib/commands/drains/index.js +50 -0
  172. package/lib/commands/drains/remove.d.ts +13 -0
  173. package/lib/commands/drains/remove.js +22 -0
  174. package/lib/commands/features/disable.d.ts +12 -0
  175. package/lib/commands/features/disable.js +30 -0
  176. package/lib/commands/features/enable.d.ts +12 -0
  177. package/lib/commands/features/enable.js +29 -0
  178. package/lib/commands/features/index.d.ts +10 -0
  179. package/lib/commands/features/index.js +37 -0
  180. package/lib/commands/features/info.d.ts +13 -0
  181. package/lib/commands/features/info.js +33 -0
  182. package/lib/commands/git/clone.d.ts +3 -3
  183. package/lib/commands/git/credentials.d.ts +1 -1
  184. package/lib/commands/git/remote.d.ts +2 -2
  185. package/lib/commands/keys/add.d.ts +14 -0
  186. package/lib/commands/keys/add.js +101 -0
  187. package/lib/commands/keys/clear.d.ts +5 -0
  188. package/lib/commands/keys/clear.js +17 -0
  189. package/lib/commands/keys/index.d.ts +9 -0
  190. package/lib/commands/keys/index.js +36 -0
  191. package/lib/commands/keys/remove.d.ts +9 -0
  192. package/lib/commands/keys/remove.js +29 -0
  193. package/lib/commands/labs/enable.d.ts +13 -0
  194. package/lib/commands/labs/enable.js +47 -0
  195. package/lib/commands/labs/index.d.ts +11 -0
  196. package/lib/commands/labs/index.js +71 -0
  197. package/lib/commands/labs/info.d.ts +14 -0
  198. package/lib/commands/labs/info.js +49 -0
  199. package/lib/commands/local/index.d.ts +5 -5
  200. package/lib/commands/local/index.js +8 -3
  201. package/lib/commands/local/run.d.ts +2 -2
  202. package/lib/commands/local/run.js +8 -3
  203. package/lib/commands/logs.d.ts +6 -6
  204. package/lib/commands/maintenance/index.d.ts +10 -0
  205. package/lib/commands/maintenance/index.js +19 -0
  206. package/lib/commands/maintenance/off.d.ts +10 -0
  207. package/lib/commands/maintenance/off.js +20 -0
  208. package/lib/commands/maintenance/on.d.ts +10 -0
  209. package/lib/commands/maintenance/on.js +20 -0
  210. package/lib/commands/members/add.d.ts +13 -0
  211. package/lib/commands/members/add.js +33 -0
  212. package/lib/commands/members/index.d.ts +12 -0
  213. package/lib/commands/members/index.js +76 -0
  214. package/lib/commands/members/remove.d.ts +10 -0
  215. package/lib/commands/members/remove.js +58 -0
  216. package/lib/commands/members/set.d.ts +11 -0
  217. package/lib/commands/members/set.js +21 -0
  218. package/lib/commands/notifications/index.d.ts +13 -0
  219. package/lib/commands/notifications/index.js +62 -0
  220. package/lib/commands/orgs/index.d.ts +11 -0
  221. package/lib/commands/orgs/index.js +27 -0
  222. package/lib/commands/orgs/open.d.ts +10 -0
  223. package/lib/commands/orgs/open.js +24 -0
  224. package/lib/commands/pg/backups/cancel.d.ts +15 -0
  225. package/lib/commands/pg/backups/cancel.js +49 -0
  226. package/lib/commands/pg/backups/capture.d.ts +15 -0
  227. package/lib/commands/pg/backups/capture.js +65 -0
  228. package/lib/commands/pg/backups/delete.d.ts +15 -0
  229. package/lib/commands/pg/backups/delete.js +38 -0
  230. package/lib/commands/pg/backups/download.d.ts +14 -0
  231. package/lib/commands/pg/backups/download.js +58 -0
  232. package/lib/commands/pg/backups/index.d.ts +20 -0
  233. package/lib/commands/pg/backups/index.js +129 -0
  234. package/lib/commands/pg/backups/info.d.ts +17 -0
  235. package/lib/commands/pg/backups/info.js +92 -0
  236. package/lib/commands/pg/backups/restore.d.ts +19 -0
  237. package/lib/commands/pg/backups/restore.js +107 -0
  238. package/lib/commands/pg/backups/schedule.d.ts +21 -0
  239. package/lib/commands/pg/backups/schedule.js +82 -0
  240. package/lib/commands/pg/backups/schedules.d.ts +10 -0
  241. package/lib/commands/pg/backups/schedules.js +31 -0
  242. package/lib/commands/pg/backups/unschedule.d.ts +13 -0
  243. package/lib/commands/pg/backups/unschedule.js +44 -0
  244. package/lib/commands/pg/backups/url.d.ts +13 -0
  245. package/lib/commands/pg/backups/url.js +41 -0
  246. package/lib/commands/pg/bloat.d.ts +13 -0
  247. package/lib/commands/pg/bloat.js +87 -0
  248. package/lib/commands/pg/blocking.d.ts +13 -0
  249. package/lib/commands/pg/blocking.js +42 -0
  250. package/lib/commands/pg/connection-pooling/attach.d.ts +15 -0
  251. package/lib/commands/pg/connection-pooling/attach.js +41 -0
  252. package/lib/commands/pg/copy.d.ts +18 -0
  253. package/lib/commands/pg/copy.js +86 -0
  254. package/lib/commands/pg/credentials/create.d.ts +14 -0
  255. package/lib/commands/pg/credentials/create.js +40 -0
  256. package/lib/commands/pg/credentials/destroy.d.ts +16 -0
  257. package/lib/commands/pg/credentials/destroy.js +48 -0
  258. package/lib/commands/pg/credentials/repair-default.d.ts +15 -0
  259. package/lib/commands/pg/credentials/repair-default.js +39 -0
  260. package/lib/commands/pg/credentials/rotate.d.ts +16 -0
  261. package/lib/commands/pg/credentials/rotate.js +82 -0
  262. package/lib/commands/pg/credentials/url.d.ts +14 -0
  263. package/lib/commands/pg/credentials/url.js +64 -0
  264. package/lib/commands/pg/credentials.d.ts +16 -0
  265. package/lib/commands/pg/credentials.js +61 -0
  266. package/lib/commands/pg/diagnose.d.ts +18 -0
  267. package/lib/commands/pg/diagnose.js +109 -0
  268. package/lib/commands/pg/info.d.ts +14 -0
  269. package/lib/commands/pg/info.js +92 -0
  270. package/lib/commands/pg/kill.d.ts +15 -0
  271. package/lib/commands/pg/kill.js +32 -0
  272. package/lib/commands/pg/killall.d.ts +13 -0
  273. package/lib/commands/pg/killall.js +26 -0
  274. package/lib/commands/pg/links/create.d.ts +15 -0
  275. package/lib/commands/pg/links/create.js +58 -0
  276. package/lib/commands/pg/links/destroy.d.ts +16 -0
  277. package/lib/commands/pg/links/destroy.js +42 -0
  278. package/lib/commands/pg/links/index.d.ts +13 -0
  279. package/lib/commands/pg/links/index.js +59 -0
  280. package/lib/commands/pg/locks.d.ts +15 -0
  281. package/lib/commands/pg/locks.js +53 -0
  282. package/lib/commands/pg/maintenance/index.d.ts +13 -0
  283. package/lib/commands/pg/maintenance/index.js +29 -0
  284. package/lib/commands/pg/maintenance/run.d.ts +14 -0
  285. package/lib/commands/pg/maintenance/run.js +37 -0
  286. package/lib/commands/pg/maintenance/window.d.ts +15 -0
  287. package/lib/commands/pg/maintenance/window.js +41 -0
  288. package/lib/commands/pg/outliers.d.ts +19 -0
  289. package/lib/commands/pg/outliers.js +97 -0
  290. package/lib/commands/pg/promote.d.ts +14 -0
  291. package/lib/commands/pg/promote.js +169 -0
  292. package/lib/commands/pg/ps.d.ts +14 -0
  293. package/lib/commands/pg/ps.js +52 -0
  294. package/lib/commands/pg/psql.d.ts +16 -0
  295. package/lib/commands/pg/psql.js +49 -0
  296. package/lib/commands/pg/pull.d.ts +18 -0
  297. package/lib/commands/pg/pull.js +87 -0
  298. package/lib/commands/pg/push.d.ts +18 -0
  299. package/lib/commands/pg/push.js +84 -0
  300. package/lib/commands/pg/reset.d.ts +15 -0
  301. package/lib/commands/pg/reset.js +44 -0
  302. package/lib/commands/pg/settings/auto-explain/log-analyze.d.ts +13 -0
  303. package/lib/commands/pg/settings/auto-explain/log-analyze.js +32 -0
  304. package/lib/commands/pg/settings/auto-explain/log-buffers.d.ts +13 -0
  305. package/lib/commands/pg/settings/auto-explain/log-buffers.js +30 -0
  306. package/lib/commands/pg/settings/auto-explain/log-min-duration.d.ts +16 -0
  307. package/lib/commands/pg/settings/auto-explain/log-min-duration.js +33 -0
  308. package/lib/commands/pg/settings/auto-explain/log-nested-statements.d.ts +12 -0
  309. package/lib/commands/pg/settings/auto-explain/log-nested-statements.js +25 -0
  310. package/lib/commands/pg/settings/auto-explain/log-triggers.d.ts +13 -0
  311. package/lib/commands/pg/settings/auto-explain/log-triggers.js +30 -0
  312. package/lib/commands/pg/settings/auto-explain/log-verbose.d.ts +17 -0
  313. package/lib/commands/pg/settings/auto-explain/log-verbose.js +33 -0
  314. package/lib/commands/pg/settings/auto-explain.d.ts +18 -0
  315. package/lib/commands/pg/settings/auto-explain.js +38 -0
  316. package/lib/commands/pg/settings/index.d.ts +13 -0
  317. package/lib/commands/pg/settings/index.js +34 -0
  318. package/lib/commands/pg/settings/log-connections.d.ts +17 -0
  319. package/lib/commands/pg/settings/log-connections.js +34 -0
  320. package/lib/commands/pg/settings/log-lock-waits.d.ts +13 -0
  321. package/lib/commands/pg/settings/log-lock-waits.js +31 -0
  322. package/lib/commands/pg/settings/log-min-duration-statement.d.ts +15 -0
  323. package/lib/commands/pg/settings/log-min-duration-statement.js +33 -0
  324. package/lib/commands/pg/settings/log-statement.d.ts +12 -0
  325. package/lib/commands/pg/settings/log-statement.js +30 -0
  326. package/lib/commands/pg/settings/track-functions.d.ts +12 -0
  327. package/lib/commands/pg/settings/track-functions.js +29 -0
  328. package/lib/commands/pg/unfollow.d.ts +14 -0
  329. package/lib/commands/pg/unfollow.js +40 -0
  330. package/lib/commands/pg/upgrade.d.ts +15 -0
  331. package/lib/commands/pg/upgrade.js +58 -0
  332. package/lib/commands/pg/vacuum-stats.d.ts +13 -0
  333. package/lib/commands/pg/vacuum-stats.js +65 -0
  334. package/lib/commands/pg/wait.d.ts +15 -0
  335. package/lib/commands/pg/wait.js +79 -0
  336. package/lib/commands/pipelines/add.d.ts +4 -4
  337. package/lib/commands/pipelines/connect.d.ts +2 -2
  338. package/lib/commands/pipelines/connect.js +1 -1
  339. package/lib/commands/pipelines/create.d.ts +5 -5
  340. package/lib/commands/pipelines/destroy.d.ts +1 -1
  341. package/lib/commands/pipelines/diff.d.ts +2 -2
  342. package/lib/commands/pipelines/diff.js +1 -1
  343. package/lib/commands/pipelines/info.d.ts +1 -1
  344. package/lib/commands/pipelines/open.d.ts +1 -1
  345. package/lib/commands/pipelines/promote.d.ts +3 -3
  346. package/lib/commands/pipelines/remove.d.ts +2 -2
  347. package/lib/commands/pipelines/rename.d.ts +2 -2
  348. package/lib/commands/pipelines/setup.d.ts +3 -3
  349. package/lib/commands/pipelines/transfer.d.ts +3 -3
  350. package/lib/commands/pipelines/update.d.ts +3 -3
  351. package/lib/commands/ps/autoscale/disable.d.ts +2 -2
  352. package/lib/commands/ps/autoscale/enable.d.ts +5 -5
  353. package/lib/commands/ps/index.d.ts +15 -0
  354. package/lib/commands/ps/index.js +195 -0
  355. package/lib/commands/ps/restart.d.ts +17 -0
  356. package/lib/commands/ps/restart.js +38 -0
  357. package/lib/commands/ps/scale.d.ts +13 -0
  358. package/lib/commands/ps/scale.js +108 -0
  359. package/lib/commands/ps/stop.d.ts +17 -0
  360. package/lib/commands/ps/stop.js +33 -0
  361. package/lib/commands/ps/type.d.ts +12 -0
  362. package/lib/commands/ps/type.js +163 -0
  363. package/lib/commands/ps/wait.d.ts +4 -4
  364. package/lib/commands/rake.d.ts +4 -4
  365. package/lib/commands/redis/cli.d.ts +15 -0
  366. package/lib/commands/redis/cli.js +204 -0
  367. package/lib/commands/redis/credentials.d.ts +14 -0
  368. package/lib/commands/redis/credentials.js +32 -0
  369. package/lib/commands/redis/info.d.ts +15 -0
  370. package/lib/commands/redis/info.js +25 -0
  371. package/lib/commands/redis/keyspace-notifications.d.ts +14 -0
  372. package/lib/commands/redis/keyspace-notifications.js +47 -0
  373. package/lib/commands/redis/maintenance.d.ts +16 -0
  374. package/lib/commands/redis/maintenance.js +63 -0
  375. package/lib/commands/redis/maxmemory.d.ts +14 -0
  376. package/lib/commands/redis/maxmemory.js +40 -0
  377. package/lib/commands/redis/promote.d.ts +13 -0
  378. package/lib/commands/redis/promote.js +39 -0
  379. package/lib/commands/redis/stats-reset.d.ts +14 -0
  380. package/lib/commands/redis/stats-reset.js +36 -0
  381. package/lib/commands/redis/timeout.d.ts +14 -0
  382. package/lib/commands/redis/timeout.js +35 -0
  383. package/lib/commands/redis/upgrade.d.ts +15 -0
  384. package/lib/commands/redis/upgrade.js +37 -0
  385. package/lib/commands/redis/wait.d.ts +14 -0
  386. package/lib/commands/redis/wait.js +60 -0
  387. package/lib/commands/releases/index.d.ts +14 -0
  388. package/lib/commands/releases/index.js +124 -0
  389. package/lib/commands/releases/info.d.ts +15 -0
  390. package/lib/commands/releases/info.js +56 -0
  391. package/lib/commands/releases/output.d.ts +13 -0
  392. package/lib/commands/releases/output.js +37 -0
  393. package/lib/commands/releases/rollback.d.ts +14 -0
  394. package/lib/commands/releases/rollback.js +48 -0
  395. package/lib/commands/reviewapps/disable.d.ts +3 -3
  396. package/lib/commands/reviewapps/enable.d.ts +3 -3
  397. package/lib/commands/run/detached.d.ts +7 -8
  398. package/lib/commands/run/detached.js +16 -20
  399. package/lib/commands/run/index.d.ts +10 -11
  400. package/lib/commands/run/index.js +16 -17
  401. package/lib/commands/run/inside.d.ts +5 -7
  402. package/lib/commands/run/inside.js +10 -14
  403. package/lib/commands/sessions/destroy.d.ts +1 -1
  404. package/lib/commands/spaces/create.d.ts +22 -0
  405. package/lib/commands/spaces/create.js +73 -0
  406. package/lib/commands/spaces/destroy.d.ts +14 -0
  407. package/lib/commands/spaces/destroy.js +49 -0
  408. package/lib/commands/spaces/drains/get.d.ts +12 -0
  409. package/lib/commands/spaces/drains/get.js +27 -0
  410. package/lib/commands/spaces/drains/set.d.ts +14 -0
  411. package/lib/commands/spaces/drains/set.js +29 -0
  412. package/lib/commands/spaces/hosts.d.ts +14 -0
  413. package/lib/commands/spaces/hosts.js +37 -0
  414. package/lib/commands/spaces/index.d.ts +16 -0
  415. package/lib/commands/spaces/index.js +55 -0
  416. package/lib/commands/spaces/info.d.ts +14 -0
  417. package/lib/commands/spaces/info.js +47 -0
  418. package/lib/commands/spaces/peerings/accept.d.ts +15 -0
  419. package/lib/commands/spaces/peerings/accept.js +36 -0
  420. package/lib/commands/spaces/peerings/destroy.d.ts +15 -0
  421. package/lib/commands/spaces/peerings/destroy.js +45 -0
  422. package/lib/commands/spaces/peerings/index.d.ts +13 -0
  423. package/lib/commands/spaces/peerings/index.js +33 -0
  424. package/lib/commands/spaces/peerings/info.d.ts +15 -0
  425. package/lib/commands/spaces/peerings/info.js +59 -0
  426. package/lib/commands/spaces/ps.d.ts +15 -0
  427. package/lib/commands/spaces/ps.js +82 -0
  428. package/lib/commands/spaces/rename.d.ts +11 -0
  429. package/lib/commands/spaces/rename.js +26 -0
  430. package/lib/commands/spaces/topology.d.ts +32 -0
  431. package/lib/commands/spaces/topology.js +89 -0
  432. package/lib/commands/spaces/transfer.d.ts +11 -0
  433. package/lib/commands/spaces/transfer.js +35 -0
  434. package/lib/commands/spaces/trusted-ips/add.d.ts +16 -0
  435. package/lib/commands/spaces/trusted-ips/add.js +43 -0
  436. package/lib/commands/spaces/trusted-ips/index.d.ts +15 -0
  437. package/lib/commands/spaces/trusted-ips/index.js +52 -0
  438. package/lib/commands/spaces/trusted-ips/remove.d.ts +15 -0
  439. package/lib/commands/spaces/trusted-ips/remove.js +44 -0
  440. package/lib/commands/spaces/vpn/config.d.ts +14 -0
  441. package/lib/commands/spaces/vpn/config.js +54 -0
  442. package/lib/commands/spaces/vpn/connect.d.ts +15 -0
  443. package/lib/commands/spaces/vpn/connect.js +48 -0
  444. package/lib/commands/spaces/vpn/connections.d.ts +17 -0
  445. package/lib/commands/spaces/vpn/connections.js +57 -0
  446. package/lib/commands/spaces/vpn/destroy.d.ts +14 -0
  447. package/lib/commands/spaces/vpn/destroy.js +38 -0
  448. package/lib/commands/spaces/vpn/info.d.ts +16 -0
  449. package/lib/commands/spaces/vpn/info.js +82 -0
  450. package/lib/commands/spaces/vpn/update.d.ts +14 -0
  451. package/lib/commands/spaces/vpn/update.js +39 -0
  452. package/lib/commands/spaces/vpn/wait.d.ts +16 -0
  453. package/lib/commands/spaces/vpn/wait.js +70 -0
  454. package/lib/commands/spaces/wait.d.ts +17 -0
  455. package/lib/commands/spaces/wait.js +89 -0
  456. package/lib/commands/status.js +4 -4
  457. package/lib/commands/teams/index.d.ts +9 -0
  458. package/lib/commands/teams/index.js +29 -0
  459. package/lib/commands/webhooks/add.d.ts +8 -8
  460. package/lib/commands/webhooks/deliveries/index.d.ts +4 -4
  461. package/lib/commands/webhooks/deliveries/info.d.ts +4 -4
  462. package/lib/commands/webhooks/events/index.d.ts +3 -3
  463. package/lib/commands/webhooks/events/info.d.ts +4 -4
  464. package/lib/commands/webhooks/index.d.ts +3 -3
  465. package/lib/commands/webhooks/info.d.ts +4 -4
  466. package/lib/commands/webhooks/remove.d.ts +4 -4
  467. package/lib/commands/webhooks/update.d.ts +9 -9
  468. package/lib/global_telemetry.js +10 -4
  469. package/lib/hooks/postrun/performance_analytics.js +5 -4
  470. package/lib/hooks/prerun/analytics.js +3 -0
  471. package/lib/lib/addons/addons_wait.d.ts +78 -0
  472. package/lib/lib/addons/addons_wait.js +56 -0
  473. package/lib/lib/addons/create_addon.d.ts +7 -0
  474. package/lib/lib/addons/create_addon.js +59 -0
  475. package/lib/lib/addons/destroy_addon.d.ts +3 -0
  476. package/lib/lib/addons/destroy_addon.js +48 -0
  477. package/lib/lib/addons/resolve.d.ts +39 -0
  478. package/lib/lib/addons/resolve.js +180 -0
  479. package/lib/lib/addons/util.d.ts +9 -0
  480. package/lib/lib/addons/util.js +72 -0
  481. package/lib/lib/apps/app-transfer.d.ts +10 -0
  482. package/lib/lib/apps/app-transfer.js +35 -0
  483. package/lib/lib/apps/error_info.d.ts +7 -0
  484. package/lib/lib/apps/error_info.js +185 -0
  485. package/lib/lib/autocomplete/base.d.ts +1 -1
  486. package/lib/lib/autocomplete/completions.d.ts +5 -1
  487. package/lib/lib/autocomplete/completions.js +6 -1
  488. package/lib/lib/certs/certificate_details.d.ts +2 -0
  489. package/lib/lib/certs/certificate_details.js +37 -0
  490. package/lib/lib/certs/display_table.d.ts +2 -0
  491. package/lib/lib/certs/display_table.js +51 -0
  492. package/lib/lib/certs/domains.d.ts +3 -0
  493. package/lib/lib/certs/domains.js +45 -0
  494. package/lib/lib/certs/flags.d.ts +7 -0
  495. package/lib/lib/certs/flags.js +42 -0
  496. package/lib/lib/certs/format_date.d.ts +1 -0
  497. package/lib/lib/certs/format_date.js +11 -0
  498. package/lib/lib/certs/get_cert_and_key.d.ts +9 -0
  499. package/lib/lib/certs/get_cert_and_key.js +11 -0
  500. package/lib/lib/ci/git.d.ts +7 -1
  501. package/lib/lib/ci/git.js +44 -1
  502. package/lib/lib/ci/interfaces/kolkrabbi.d.ts +1 -1
  503. package/lib/lib/ci/source.js +3 -3
  504. package/lib/lib/ci/test-run.js +2 -2
  505. package/lib/lib/config/quote.js +1 -1
  506. package/lib/lib/confirmCommand.d.ts +1 -0
  507. package/lib/lib/confirmCommand.js +23 -0
  508. package/lib/lib/container/debug.d.ts +2 -0
  509. package/lib/lib/container/debug.js +5 -0
  510. package/lib/lib/container/docker_helper.d.ts +24 -0
  511. package/lib/lib/container/docker_helper.js +168 -0
  512. package/lib/lib/container/helpers.d.ts +8 -0
  513. package/lib/lib/container/helpers.js +26 -0
  514. package/lib/lib/container/streamer.d.ts +1 -0
  515. package/lib/lib/container/streamer.js +31 -0
  516. package/lib/lib/domains/domains.d.ts +6 -0
  517. package/lib/lib/domains/domains.js +104 -0
  518. package/lib/lib/git/git.d.ts +3 -0
  519. package/lib/lib/git/git.js +22 -3
  520. package/lib/lib/local/run-foreman.d.ts +1 -0
  521. package/lib/lib/local/run-foreman.js +229 -1
  522. package/lib/lib/members/util.d.ts +3 -0
  523. package/lib/lib/members/util.js +25 -0
  524. package/lib/lib/members/utils.d.ts +2 -0
  525. package/lib/lib/members/utils.js +14 -0
  526. package/lib/lib/notify.d.ts +1 -0
  527. package/lib/lib/notify.js +23 -0
  528. package/lib/lib/orgs/utils.d.ts +5 -0
  529. package/lib/lib/orgs/utils.js +24 -0
  530. package/lib/lib/pg/backups.d.ts +17 -0
  531. package/lib/lib/pg/backups.js +164 -0
  532. package/lib/lib/pg/bastion.d.ts +29 -0
  533. package/lib/lib/pg/bastion.js +121 -0
  534. package/lib/lib/pg/config.d.ts +2 -0
  535. package/lib/lib/pg/config.js +13 -0
  536. package/lib/lib/pg/download.d.ts +5 -0
  537. package/lib/lib/pg/download.js +34 -0
  538. package/lib/lib/pg/fetcher.d.ts +39 -0
  539. package/lib/lib/pg/fetcher.js +138 -0
  540. package/lib/lib/pg/host.d.ts +1 -0
  541. package/lib/lib/pg/host.js +7 -0
  542. package/lib/lib/pg/psql.d.ts +48 -0
  543. package/lib/lib/pg/psql.js +252 -0
  544. package/lib/lib/pg/push_pull.d.ts +13 -0
  545. package/lib/lib/pg/push_pull.js +118 -0
  546. package/lib/lib/pg/setter.d.ts +16 -0
  547. package/lib/lib/pg/setter.js +65 -0
  548. package/lib/lib/pg/types.d.ts +230 -0
  549. package/lib/lib/pg/types.js +2 -0
  550. package/lib/lib/pg/util.d.ts +36 -0
  551. package/lib/lib/pg/util.js +183 -0
  552. package/lib/lib/redis/api.d.ts +65 -0
  553. package/lib/lib/redis/api.js +122 -0
  554. package/lib/lib/releases/output.d.ts +1 -0
  555. package/lib/lib/releases/output.js +14 -0
  556. package/lib/lib/releases/releases.d.ts +6 -0
  557. package/lib/lib/releases/releases.js +32 -0
  558. package/lib/lib/releases/status_helper.d.ts +5 -0
  559. package/lib/lib/releases/status_helper.js +25 -0
  560. package/lib/lib/run/dyno.js +2 -2
  561. package/lib/lib/run/log-displayer.d.ts +1 -1
  562. package/lib/lib/spaces/format.d.ts +4 -0
  563. package/lib/lib/spaces/format.js +60 -0
  564. package/lib/lib/spaces/hosts.d.ts +9 -0
  565. package/lib/lib/spaces/hosts.js +34 -0
  566. package/lib/lib/spaces/outbound-rules.d.ts +4 -0
  567. package/lib/lib/spaces/outbound-rules.js +78 -0
  568. package/lib/lib/spaces/parsers.d.ts +8 -0
  569. package/lib/lib/spaces/parsers.js +17 -0
  570. package/lib/lib/spaces/peering.d.ts +4 -0
  571. package/lib/lib/spaces/peering.js +53 -0
  572. package/lib/lib/spaces/spaces.d.ts +4 -0
  573. package/lib/lib/spaces/spaces.js +37 -0
  574. package/lib/lib/spaces/vpn-connections.d.ts +2 -0
  575. package/lib/lib/spaces/vpn-connections.js +22 -0
  576. package/lib/lib/teamUtils.d.ts +3 -0
  577. package/lib/lib/teamUtils.js +18 -0
  578. package/lib/lib/time.d.ts +2 -0
  579. package/lib/lib/time.js +29 -0
  580. package/lib/lib/types/app_errors.d.ts +6 -0
  581. package/lib/lib/types/app_errors.js +2 -0
  582. package/lib/lib/types/domain.d.ts +61 -0
  583. package/lib/lib/types/domain.js +5 -0
  584. package/lib/lib/types/notifications.d.ts +20 -0
  585. package/lib/lib/types/notifications.js +2 -0
  586. package/lib/lib/utils/multisort.d.ts +32 -0
  587. package/lib/lib/utils/multisort.js +66 -0
  588. package/lib/lib/utils/uuid-validate.d.ts +1 -0
  589. package/lib/lib/utils/uuid-validate.js +7 -0
  590. package/lib/user-config.js +2 -2
  591. package/oclif.manifest.json +12686 -2676
  592. package/package.json +115 -65
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AmbiguousError = exports.NotFound = exports.resolveAddon = exports.attachmentResolver = exports.appAttachment = exports.addonResolver = exports.appAddon = void 0;
4
+ const http_call_1 = require("http-call");
5
+ const api_client_1 = require("@heroku-cli/command/lib/api-client");
6
+ const addonHeaders = {
7
+ Accept: 'application/vnd.heroku+json; version=3.actions',
8
+ 'Accept-Expansion': 'addon_service,plan',
9
+ };
10
+ const appAddon = async function (heroku, app, id, options = {}) {
11
+ const response = await heroku.post('/actions/addons/resolve', {
12
+ headers: addonHeaders,
13
+ body: { app: app, addon: id, addon_service: options.addon_service },
14
+ });
15
+ return singularize('addon', options.namespace)(response === null || response === void 0 ? void 0 : response.body);
16
+ };
17
+ exports.appAddon = appAddon;
18
+ const handleNotFound = function (err, resource) {
19
+ if (err.statusCode === 404 && err.body && err.body.resource === resource) {
20
+ return true;
21
+ }
22
+ throw err;
23
+ };
24
+ const addonResolver = async (heroku, app, id, options) => {
25
+ const getAddon = async (addonId) => {
26
+ const response = await heroku.post('/actions/addons/resolve', {
27
+ headers: addonHeaders,
28
+ body: { app: null, addon: addonId, addon_service: options === null || options === void 0 ? void 0 : options.addon_service },
29
+ });
30
+ return singularize('addon', (options === null || options === void 0 ? void 0 : options.namespace) || '')(response === null || response === void 0 ? void 0 : response.body);
31
+ };
32
+ if (!app || id.includes('::')) {
33
+ return getAddon(id);
34
+ }
35
+ try {
36
+ return await (0, exports.appAddon)(heroku, app, id, options);
37
+ }
38
+ catch (error) {
39
+ if (error instanceof http_call_1.HTTPError && handleNotFound(error, 'add_on')) {
40
+ return getAddon(id);
41
+ }
42
+ throw error;
43
+ }
44
+ };
45
+ exports.addonResolver = addonResolver;
46
+ // -----------------------------------------------------
47
+ // Attachment resolver functions
48
+ // originating from `packages/addons-v5/lib/resolve.js`
49
+ // -----------------------------------------------------
50
+ const filter = function (app, addonService) {
51
+ return (attachments) => {
52
+ return attachments.filter(attachment => {
53
+ var _a, _b;
54
+ if (((_a = attachment === null || attachment === void 0 ? void 0 : attachment.app) === null || _a === void 0 ? void 0 : _a.name) !== app) {
55
+ return false;
56
+ }
57
+ return !(addonService && ((_b = attachment === null || attachment === void 0 ? void 0 : attachment.addon_service) === null || _b === void 0 ? void 0 : _b.name) !== addonService);
58
+ });
59
+ };
60
+ };
61
+ const attachmentHeaders = {
62
+ Accept: 'application/vnd.heroku+json; version=3.actions',
63
+ 'Accept-Inclusion': 'addon:plan,config_vars',
64
+ };
65
+ const appAttachment = async (heroku, app, id, options = {}) => {
66
+ const result = await heroku.post('/actions/addon-attachments/resolve', {
67
+ headers: attachmentHeaders, body: { app, addon_attachment: id, addon_service: options.addon_service },
68
+ });
69
+ return singularize('addon_attachment', options.namespace)(result.body);
70
+ };
71
+ exports.appAttachment = appAttachment;
72
+ const attachmentResolver = async (heroku, app, id, options = {}) => {
73
+ async function getAttachment(id) {
74
+ try {
75
+ const result = await heroku.post('/actions/addon-attachments/resolve', {
76
+ headers: attachmentHeaders, body: { app: null, addon_attachment: id, addon_service: options.addon_service },
77
+ });
78
+ return singularize('addon_attachment', options.namespace || '')(result.body);
79
+ }
80
+ catch (error) {
81
+ if (error instanceof api_client_1.HerokuAPIError) {
82
+ handleNotFound(error.http, 'add_on attachment');
83
+ }
84
+ }
85
+ }
86
+ async function getAppAddonAttachment(addon, app) {
87
+ var _a;
88
+ try {
89
+ const result = await heroku.get(`/addons/${encodeURIComponent((_a = addon.id) !== null && _a !== void 0 ? _a : '')}/addon-attachments`, { headers: attachmentHeaders });
90
+ const matches = filter(app, options.addon_service)(result.body);
91
+ return singularize('addon_attachment', options.namespace)(matches);
92
+ }
93
+ catch (error) {
94
+ const err = error instanceof api_client_1.HerokuAPIError ? error.http : error;
95
+ handleNotFound(err, 'add_on attachment');
96
+ }
97
+ }
98
+ // first check to see if there is an attachment matching this app/id combo
99
+ try {
100
+ const attachment = await (!app || id.includes('::') ? getAttachment(id) : (0, exports.appAttachment)(heroku, app, id, options));
101
+ if (attachment) {
102
+ return attachment;
103
+ }
104
+ }
105
+ catch (_a) { }
106
+ // if no attachment, look up an add-on that matches the id
107
+ // If we were passed an add-on slug, there still could be an attachment
108
+ // to the context app. Try to find and use it so `context_app` is set
109
+ // correctly in the SSO payload.
110
+ if (app) {
111
+ try {
112
+ const addon = await resolveAddon(heroku, app, id, options);
113
+ return await getAppAddonAttachment(addon, app);
114
+ }
115
+ catch (error) {
116
+ const err = error instanceof api_client_1.HerokuAPIError ? error.http : error;
117
+ handleNotFound(err, 'add_on attachment');
118
+ }
119
+ }
120
+ };
121
+ exports.attachmentResolver = attachmentResolver;
122
+ // -----------------------------------------------------
123
+ // END
124
+ // -----------------------------------------------------
125
+ const addonResolverMap = new Map();
126
+ async function resolveAddon(...args) {
127
+ var _a;
128
+ const [, app, id, options] = args;
129
+ const key = `${app}|${id}|${(_a = options === null || options === void 0 ? void 0 : options.addon_service) !== null && _a !== void 0 ? _a : ''}`;
130
+ const promise = addonResolverMap.get(key) || (0, exports.addonResolver)(...args);
131
+ try {
132
+ await promise;
133
+ addonResolverMap.has(key) || addonResolverMap.set(key, promise);
134
+ }
135
+ catch (_b) {
136
+ addonResolverMap.delete(key);
137
+ }
138
+ return promise;
139
+ }
140
+ exports.resolveAddon = resolveAddon;
141
+ resolveAddon.cache = addonResolverMap;
142
+ class NotFound extends Error {
143
+ constructor() {
144
+ super(...arguments);
145
+ this.statusCode = 404;
146
+ this.id = 'not_found';
147
+ this.message = 'Couldn\'t find that addon.';
148
+ }
149
+ }
150
+ exports.NotFound = NotFound;
151
+ class AmbiguousError extends Error {
152
+ constructor(matches, type) {
153
+ super();
154
+ this.matches = matches;
155
+ this.type = type;
156
+ this.statusCode = 422;
157
+ this.body = { id: 'multiple_matches', message: this.message };
158
+ this.message = `Ambiguous identifier; multiple matching add-ons found: ${matches.map(match => match.name).join(', ')}.`;
159
+ }
160
+ }
161
+ exports.AmbiguousError = AmbiguousError;
162
+ function singularize(type, namespace) {
163
+ return (matches) => {
164
+ if (namespace) {
165
+ matches = matches.filter(m => m.namespace === namespace);
166
+ }
167
+ else if (matches.length > 1) {
168
+ // In cases that aren't specific enough, filter by namespace
169
+ matches = matches.filter(m => !Reflect.has(m, 'namespace') || m.namespace === null);
170
+ }
171
+ switch (matches.length) {
172
+ case 0:
173
+ throw new NotFound();
174
+ case 1:
175
+ return matches[0];
176
+ default:
177
+ throw new AmbiguousError(matches, type !== null && type !== void 0 ? type : '');
178
+ }
179
+ };
180
+ }
@@ -0,0 +1,9 @@
1
+ import * as Heroku from '@heroku-cli/schema';
2
+ export declare const trapConfirmationRequired: <T>(app: string, confirm: string | undefined, fn: (confirmed?: string) => Promise<T>) => Promise<T>;
3
+ export declare const formatPrice: ({ price, hourly }: {
4
+ price: Heroku.AddOn['price'] | number;
5
+ hourly?: boolean | undefined;
6
+ }) => any;
7
+ export declare const formatPriceText: (price: Heroku.AddOn['price']) => string;
8
+ export declare const grandfatheredPrice: (addon: Heroku.AddOn) => any;
9
+ export declare const formatState: (state: string) => string;
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatState = exports.grandfatheredPrice = exports.formatPriceText = exports.formatPrice = exports.trapConfirmationRequired = void 0;
4
+ const confirmCommand_1 = require("../confirmCommand");
5
+ const color_1 = require("@heroku-cli/color");
6
+ const printf = require('printf');
7
+ const trapConfirmationRequired = async function (app, confirm, fn) {
8
+ return await fn(confirm)
9
+ .catch((error) => {
10
+ if (!error.body || error.body.id !== 'confirmation_required')
11
+ throw error;
12
+ return (0, confirmCommand_1.default)(app, confirm, error.body.message)
13
+ .then(() => fn(app));
14
+ });
15
+ };
16
+ exports.trapConfirmationRequired = trapConfirmationRequired;
17
+ // This function assumes that price.cents will reflect price per month.
18
+ // If the API returns any unit other than month
19
+ // this function will need to be updated.
20
+ const formatPrice = function ({ price, hourly }) {
21
+ if (!price)
22
+ return;
23
+ if (price.contract)
24
+ return 'contract';
25
+ if (price.cents === 0)
26
+ return 'free';
27
+ // we are using a standardized 720 hours/month
28
+ if (hourly)
29
+ return `~$${((price.cents / 100) / 720).toFixed(3)}/hour`;
30
+ const fmt = price.cents % 100 === 0 ? '$%.0f/%s' : '$%.02f/%s';
31
+ return printf(fmt, price.cents / 100, price.unit);
32
+ };
33
+ exports.formatPrice = formatPrice;
34
+ const formatPriceText = function (price) {
35
+ const priceHourly = (0, exports.formatPrice)({ price, hourly: true });
36
+ const priceMonthly = (0, exports.formatPrice)({ price, hourly: false });
37
+ if (!priceHourly)
38
+ return '';
39
+ if (priceHourly === 'free' || priceHourly === 'contract')
40
+ return `${color_1.default.green(priceHourly)}`;
41
+ return `${color_1.default.green(priceHourly)} (max ${priceMonthly})`;
42
+ };
43
+ exports.formatPriceText = formatPriceText;
44
+ const grandfatheredPrice = function (addon) {
45
+ var _a, _b, _c;
46
+ const price = (_a = addon.plan) === null || _a === void 0 ? void 0 : _a.price;
47
+ return Object.assign({}, price, {
48
+ cents: (_b = addon.billed_price) === null || _b === void 0 ? void 0 : _b.cents,
49
+ contract: (_c = addon.billed_price) === null || _c === void 0 ? void 0 : _c.contract,
50
+ });
51
+ };
52
+ exports.grandfatheredPrice = grandfatheredPrice;
53
+ const formatState = function (state) {
54
+ switch (state) {
55
+ case 'provisioned':
56
+ state = 'created';
57
+ break;
58
+ case 'provisioning':
59
+ state = 'creating';
60
+ break;
61
+ case 'deprovisioning':
62
+ state = 'destroying';
63
+ break;
64
+ case 'deprovisioned':
65
+ state = 'errored';
66
+ break;
67
+ default:
68
+ state = '';
69
+ }
70
+ return state;
71
+ };
72
+ exports.formatState = formatState;
@@ -0,0 +1,10 @@
1
+ import { APIClient } from '@heroku-cli/command';
2
+ declare type Options = {
3
+ heroku: APIClient;
4
+ appName: string;
5
+ recipient: string;
6
+ personalToPersonal: boolean;
7
+ bulk: boolean;
8
+ };
9
+ export declare const appTransfer: (options: Options) => Promise<void>;
10
+ export {};
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.appTransfer = void 0;
4
+ const color_1 = require("@heroku-cli/color");
5
+ const core_1 = require("@oclif/core");
6
+ const getRequestOpts = (options) => {
7
+ const { appName, bulk, recipient, personalToPersonal } = options;
8
+ const isPersonalToPersonal = personalToPersonal || personalToPersonal === undefined;
9
+ const requestOpts = isPersonalToPersonal ?
10
+ {
11
+ body: { app: appName, recipient },
12
+ transferMsg: `Initiating transfer of ${color_1.color.app(appName)}`,
13
+ path: '/account/app-transfers',
14
+ method: 'POST',
15
+ } : {
16
+ body: { owner: recipient },
17
+ transferMsg: `Transferring ${color_1.color.app(appName)}`,
18
+ path: `/teams/apps/${appName}`,
19
+ method: 'PATCH',
20
+ };
21
+ if (!bulk)
22
+ requestOpts.transferMsg += ` to ${color_1.color.magenta(recipient)}`;
23
+ return requestOpts;
24
+ };
25
+ const appTransfer = async (options) => {
26
+ const { body, transferMsg, path, method } = getRequestOpts(options);
27
+ core_1.ux.action.start(transferMsg);
28
+ const { body: request } = await options.heroku.request(path, {
29
+ method,
30
+ body,
31
+ });
32
+ const message = request.state === 'pending' ? 'email sent' : undefined;
33
+ core_1.ux.action.stop(message);
34
+ };
35
+ exports.appTransfer = appTransfer;
@@ -0,0 +1,7 @@
1
+ export declare type ErrorInfo = {
2
+ name: string;
3
+ title: string;
4
+ level: string;
5
+ };
6
+ declare const ERROR_INFO: ErrorInfo[];
7
+ export default ERROR_INFO;
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const ERROR_INFO = [
4
+ {
5
+ name: 'H10',
6
+ title: 'App Crashed',
7
+ level: 'critical',
8
+ },
9
+ {
10
+ name: 'H11',
11
+ title: 'Backlog too deep',
12
+ level: 'critical',
13
+ },
14
+ {
15
+ name: 'H12',
16
+ title: 'Request Timeout',
17
+ level: 'critical',
18
+ },
19
+ {
20
+ name: 'H13',
21
+ title: 'Connection closed without response',
22
+ level: 'critical',
23
+ },
24
+ {
25
+ name: 'H14',
26
+ title: 'No web dynos running',
27
+ level: 'critical',
28
+ },
29
+ {
30
+ name: 'H15',
31
+ title: 'Idle connection',
32
+ level: 'warning',
33
+ },
34
+ {
35
+ name: 'H16',
36
+ title: 'Redirect to herokuapp.com',
37
+ level: 'warning',
38
+ },
39
+ {
40
+ name: 'H17',
41
+ title: 'Poorly formatted HTTP response',
42
+ level: 'warning',
43
+ },
44
+ {
45
+ name: 'H18',
46
+ title: 'Server Request Interrupted',
47
+ level: 'critical',
48
+ },
49
+ {
50
+ name: 'H19',
51
+ title: 'Backend connection timeout',
52
+ level: 'critical',
53
+ },
54
+ {
55
+ name: 'H20',
56
+ title: 'App boot timeout',
57
+ level: 'critical',
58
+ },
59
+ {
60
+ name: 'H21',
61
+ title: 'Backend connection refused',
62
+ level: 'critical',
63
+ },
64
+ {
65
+ name: 'H22',
66
+ title: 'Connection limit reached',
67
+ level: 'critical',
68
+ },
69
+ {
70
+ name: 'H23',
71
+ title: 'Endpoint misconfigured',
72
+ level: 'critical',
73
+ },
74
+ {
75
+ name: 'H24',
76
+ title: 'Forced close',
77
+ level: 'critical',
78
+ },
79
+ {
80
+ name: 'H25',
81
+ title: 'HTTP Restriction',
82
+ level: 'critical',
83
+ },
84
+ {
85
+ name: 'H26',
86
+ title: 'Request Error',
87
+ level: 'critical',
88
+ },
89
+ {
90
+ name: 'H27',
91
+ title: 'Client Request Interrupted',
92
+ level: 'info',
93
+ },
94
+ {
95
+ name: 'H28',
96
+ title: 'Client Connection Idle',
97
+ level: 'warning',
98
+ },
99
+ {
100
+ name: 'H31',
101
+ title: 'Misdirected Request',
102
+ level: 'critical',
103
+ },
104
+ {
105
+ name: 'H80',
106
+ title: 'Maintenance Mode',
107
+ level: 'warning',
108
+ },
109
+ {
110
+ name: 'H81',
111
+ title: 'Blank app',
112
+ level: 'info',
113
+ },
114
+ {
115
+ name: 'H82',
116
+ title: "You've used up your dyno hour pool",
117
+ level: 'info',
118
+ },
119
+ {
120
+ name: 'H99',
121
+ title: 'Platform error',
122
+ level: 'critical',
123
+ },
124
+ {
125
+ name: 'R10',
126
+ title: 'Boot timeout',
127
+ level: 'critical',
128
+ },
129
+ {
130
+ name: 'R12',
131
+ title: 'Exit timeout',
132
+ level: 'warning',
133
+ },
134
+ {
135
+ name: 'R13',
136
+ title: 'Attach error',
137
+ level: 'warning',
138
+ },
139
+ {
140
+ name: 'R14',
141
+ title: 'Memory quota exceeded',
142
+ level: 'critical',
143
+ },
144
+ {
145
+ name: 'R15',
146
+ title: 'Memory quota vastly exceeded',
147
+ level: 'critical',
148
+ },
149
+ {
150
+ name: 'R151',
151
+ title: 'Memory quota vastly exceeded',
152
+ level: 'warning',
153
+ },
154
+ {
155
+ name: 'R16',
156
+ title: 'Detached',
157
+ level: 'warning',
158
+ },
159
+ {
160
+ name: 'R99',
161
+ title: 'Platform error',
162
+ level: 'warning',
163
+ },
164
+ {
165
+ name: 'L10',
166
+ title: 'Drain buffer overflow',
167
+ level: 'warning',
168
+ },
169
+ {
170
+ name: 'L11',
171
+ title: 'Tail buffer overflow',
172
+ level: 'warning',
173
+ },
174
+ {
175
+ name: 'L12',
176
+ title: 'Local buffer overflow',
177
+ level: 'warning',
178
+ },
179
+ {
180
+ name: 'L13',
181
+ title: 'Local delivery error',
182
+ level: 'critical',
183
+ },
184
+ ];
185
+ exports.default = ERROR_INFO;
@@ -1,5 +1,5 @@
1
1
  import Command from '@heroku-cli/command';
2
- import { Completion } from '@heroku-cli/command/lib/completions';
2
+ import { Completion } from '@oclif/core/lib/interfaces/parser';
3
3
  export declare abstract class AutocompleteBase extends Command {
4
4
  errorIfWindows(): void;
5
5
  errorIfNotSupportedShell(shell: string): void;
@@ -1,4 +1,4 @@
1
- import { Completion, CompletionContext } from '@heroku-cli/command/lib/completions';
1
+ import { Completion, CompletionContext } from '@oclif/core/lib/interfaces/parser';
2
2
  export declare const oneDay: number;
3
3
  export declare const herokuGet: (resource: string, ctx: CompletionContext) => Promise<string[]>;
4
4
  export declare const AppCompletion: Completion;
@@ -9,6 +9,10 @@ export declare const DynoSizeCompletion: Completion;
9
9
  export declare const FileCompletion: Completion;
10
10
  export declare const PipelineCompletion: Completion;
11
11
  export declare const ProcessTypeCompletion: Completion;
12
+ export declare const ProtocolCompletion: {
13
+ cacheDuration: number;
14
+ options: () => Promise<string[]>;
15
+ };
12
16
  export declare const RegionCompletion: Completion;
13
17
  export declare const RemoteCompletion: Completion;
14
18
  export declare const RoleCompletion: Completion;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CompletionLookup = exports.CompletionMapping = exports.TeamCompletion = exports.StageCompletion = exports.StackCompletion = exports.SpaceCompletion = exports.ScopeCompletion = exports.RoleCompletion = exports.RemoteCompletion = exports.RegionCompletion = exports.ProcessTypeCompletion = exports.PipelineCompletion = exports.FileCompletion = exports.DynoSizeCompletion = exports.BuildpackCompletion = exports.AppDynoCompletion = exports.AppAddonCompletion = exports.AppCompletion = exports.herokuGet = exports.oneDay = void 0;
3
+ exports.CompletionLookup = exports.CompletionMapping = exports.TeamCompletion = exports.StageCompletion = exports.StackCompletion = exports.SpaceCompletion = exports.ScopeCompletion = exports.RoleCompletion = exports.RemoteCompletion = exports.RegionCompletion = exports.ProtocolCompletion = exports.ProcessTypeCompletion = exports.PipelineCompletion = exports.FileCompletion = exports.DynoSizeCompletion = exports.BuildpackCompletion = exports.AppDynoCompletion = exports.AppAddonCompletion = exports.AppCompletion = exports.herokuGet = exports.oneDay = void 0;
4
4
  const command_1 = require("@heroku-cli/command");
5
5
  const deps_1 = require("@heroku-cli/command/lib/deps");
6
6
  const git_1 = require("@heroku-cli/command/lib/git");
@@ -138,6 +138,11 @@ exports.ProcessTypeCompletion = {
138
138
  return types;
139
139
  },
140
140
  };
141
+ exports.ProtocolCompletion = {
142
+ cacheDuration: 60 * 60 * 24 * 365, options: async () => {
143
+ return ['tcp', 'udp', 'icmp', '0-255', 'any'];
144
+ },
145
+ };
141
146
  exports.RegionCompletion = {
142
147
  cacheDuration: exports.oneDay * 7,
143
148
  options: async (ctx) => {
@@ -0,0 +1,2 @@
1
+ import { SniEndpoint } from '../types/sni_endpoint';
2
+ export declare const displayCertificateDetails: (sniEndpoint: SniEndpoint, message?: string) => void;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.displayCertificateDetails = void 0;
4
+ const format_date_1 = require("./format_date");
5
+ const core_1 = require("@oclif/core");
6
+ const color_1 = require("@heroku-cli/color");
7
+ const displayCertificateDetails = function (sniEndpoint, message = 'Certificate details:') {
8
+ const now = new Date();
9
+ const autoRenewsAt = new Date(sniEndpoint.ssl_cert.expires_at);
10
+ autoRenewsAt.setMonth(autoRenewsAt.getMonth() - 1);
11
+ if (sniEndpoint.app && sniEndpoint.ssl_cert.acm && autoRenewsAt > now) {
12
+ core_1.ux.log(`Renewal scheduled for ${color_1.color.green((0, format_date_1.default)(autoRenewsAt.toString()))}.\n`);
13
+ }
14
+ core_1.ux.log(message);
15
+ const tableObject = {
16
+ 'Common Name(s)': sniEndpoint.ssl_cert.cert_domains,
17
+ 'Expires At': (0, format_date_1.default)(sniEndpoint.ssl_cert.expires_at),
18
+ Issuer: sniEndpoint.ssl_cert.issuer,
19
+ 'Starts At': (0, format_date_1.default)(sniEndpoint.ssl_cert.starts_at),
20
+ Subject: sniEndpoint.ssl_cert.subject,
21
+ };
22
+ // Only displays domains when the list of ids was replaced by the list of hostnames
23
+ if (sniEndpoint.domains.length > 0 && !sniEndpoint.domains.some(domain => domain.match('^[a-f0-9]{8}(-[a-f0-9]{4}){3}-[a-f0-9]{12}'))) {
24
+ tableObject['Domain(s)'] = sniEndpoint.domains;
25
+ }
26
+ core_1.ux.styledObject(tableObject);
27
+ if (sniEndpoint.ssl_cert['ca_signed?']) {
28
+ core_1.ux.log('SSL certificate is verified by a root authority.');
29
+ }
30
+ else if (sniEndpoint.ssl_cert.issuer === sniEndpoint.ssl_cert.subject) {
31
+ core_1.ux.log('SSL certificate is self signed.');
32
+ }
33
+ else {
34
+ core_1.ux.log('SSL certificate is not trusted.');
35
+ }
36
+ };
37
+ exports.displayCertificateDetails = displayCertificateDetails;
@@ -0,0 +1,2 @@
1
+ import { SniEndpoint } from '../types/sni_endpoint';
2
+ export default function (endpoints: SniEndpoint[]): void;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const format_date_1 = require("./format_date");
5
+ function type(endpoint) {
6
+ if (endpoint.ssl_cert && endpoint.ssl_cert.acm) {
7
+ return 'ACM';
8
+ }
9
+ return 'SNI';
10
+ }
11
+ function default_1(endpoints) {
12
+ const mapped = endpoints
13
+ .filter(endpoint => endpoint.ssl_cert)
14
+ .map(endpoint => {
15
+ const tableContents = {
16
+ name: endpoint.name,
17
+ expires_at: endpoint.ssl_cert.expires_at,
18
+ ca_signed: endpoint.ssl_cert['ca_signed?'],
19
+ type: type(endpoint),
20
+ common_names: endpoint.ssl_cert.cert_domains.join(', '),
21
+ display_name: endpoint.display_name,
22
+ };
23
+ // If they're using ACM it's not really worth showing the number of associated domains since
24
+ // it'll always be 1 and is entirely outside the user's control
25
+ if (!endpoint.ssl_cert.acm) {
26
+ tableContents.associated_domains = endpoint.domains.length > 0 ? endpoint.domains.length : '0';
27
+ }
28
+ return tableContents;
29
+ });
30
+ const columns = {
31
+ name: { header: 'Name' },
32
+ };
33
+ if (endpoints.some(endpoint => endpoint.display_name)) {
34
+ columns.display_name = { header: 'Display Name' };
35
+ }
36
+ columns.common_names = { header: 'Common Name(s)' };
37
+ columns.expires_at = {
38
+ header: 'Expires',
39
+ get: ({ expires_at }) => expires_at === undefined ? '' : (0, format_date_1.default)(expires_at),
40
+ };
41
+ columns.ca_signed = {
42
+ header: 'Trusted',
43
+ get: ({ ca_signed }) => ca_signed ? 'True' : 'False',
44
+ };
45
+ columns.type = { header: 'Type' };
46
+ if (endpoints.some(endpoint => !endpoint.ssl_cert.acm)) {
47
+ columns.associated_domains = { header: 'Domains' };
48
+ }
49
+ core_1.ux.table(mapped, columns);
50
+ }
51
+ exports.default = default_1;
@@ -0,0 +1,3 @@
1
+ import { APIClient } from '@heroku-cli/command';
2
+ import { Domain } from '../types/domain';
3
+ export declare function waitForDomains(app: string, heroku: APIClient): Promise<Domain[]>;