heroku 9.0.0-alpha.0 → 9.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (544) hide show
  1. package/README.md +9 -11
  2. package/lib/commands/access/add.d.ts +14 -0
  3. package/lib/commands/access/add.js +55 -0
  4. package/lib/commands/access/index.d.ts +11 -0
  5. package/lib/commands/access/index.js +86 -0
  6. package/lib/commands/access/remove.d.ts +12 -0
  7. package/lib/commands/access/remove.js +25 -0
  8. package/lib/commands/access/update.d.ts +14 -0
  9. package/lib/commands/access/update.js +39 -0
  10. package/lib/commands/addons/attach.d.ts +16 -0
  11. package/lib/commands/addons/attach.js +51 -0
  12. package/lib/commands/addons/create.d.ts +19 -0
  13. package/lib/commands/addons/create.js +84 -0
  14. package/lib/commands/addons/destroy.d.ts +19 -0
  15. package/lib/commands/addons/destroy.js +61 -0
  16. package/lib/commands/addons/detach.d.ts +13 -0
  17. package/lib/commands/addons/detach.js +31 -0
  18. package/lib/commands/addons/docs.d.ts +14 -0
  19. package/lib/commands/addons/docs.js +36 -0
  20. package/lib/commands/addons/index.d.ts +16 -0
  21. package/lib/commands/addons/index.js +246 -0
  22. package/lib/commands/addons/info.d.ts +14 -0
  23. package/lib/commands/addons/info.js +44 -0
  24. package/lib/commands/addons/open.d.ts +75 -0
  25. package/lib/commands/addons/open.js +87 -0
  26. package/lib/commands/addons/plans.d.ts +12 -0
  27. package/lib/commands/addons/plans.js +47 -0
  28. package/lib/commands/addons/rename.d.ts +10 -0
  29. package/lib/commands/addons/rename.js +20 -0
  30. package/lib/commands/addons/services.d.ts +9 -0
  31. package/lib/commands/addons/services.js +34 -0
  32. package/lib/commands/addons/upgrade.d.ts +28 -0
  33. package/lib/commands/addons/upgrade.js +145 -0
  34. package/lib/commands/addons/wait.d.ts +14 -0
  35. package/lib/commands/addons/wait.js +70 -0
  36. package/lib/commands/apps/create.d.ts +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 +10 -0
  43. package/lib/commands/apps/favorites/add.js +38 -0
  44. package/lib/commands/apps/favorites/index.d.ts +9 -0
  45. package/lib/commands/apps/favorites/index.js +25 -0
  46. package/lib/commands/apps/favorites/remove.d.ts +10 -0
  47. package/lib/commands/apps/favorites/remove.js +28 -0
  48. package/lib/commands/apps/index.d.ts +16 -0
  49. package/lib/commands/apps/index.js +119 -0
  50. package/lib/commands/apps/info.d.ts +19 -0
  51. package/lib/commands/apps/info.js +162 -0
  52. package/lib/commands/apps/join.d.ts +11 -0
  53. package/lib/commands/apps/join.js +25 -0
  54. package/lib/commands/apps/leave.d.ts +12 -0
  55. package/lib/commands/apps/leave.js +25 -0
  56. package/lib/commands/apps/lock.d.ts +11 -0
  57. package/lib/commands/apps/lock.js +30 -0
  58. package/lib/commands/apps/open.d.ts +15 -0
  59. package/lib/commands/apps/open.js +30 -0
  60. package/lib/commands/apps/rename.d.ts +16 -0
  61. package/lib/commands/apps/rename.js +51 -0
  62. package/lib/commands/apps/stacks/index.d.ts +11 -0
  63. package/lib/commands/apps/stacks/index.js +44 -0
  64. package/lib/commands/apps/stacks/set.d.ts +14 -0
  65. package/lib/commands/apps/stacks/set.js +41 -0
  66. package/lib/commands/apps/transfer.d.ts +17 -0
  67. package/lib/commands/apps/transfer.js +91 -0
  68. package/lib/commands/apps/unlock.d.ts +11 -0
  69. package/lib/commands/apps/unlock.js +30 -0
  70. package/lib/commands/auth/logout.js +1 -0
  71. package/lib/commands/auth/token.js +2 -1
  72. package/lib/commands/authorizations/create.js +5 -1
  73. package/lib/commands/authorizations/info.js +5 -1
  74. package/lib/commands/authorizations/revoke.js +5 -1
  75. package/lib/commands/authorizations/rotate.js +5 -1
  76. package/lib/commands/authorizations/update.js +5 -1
  77. package/lib/commands/autocomplete/doctor.js +2 -2
  78. package/lib/commands/autocomplete/options.js +2 -2
  79. package/lib/commands/certs/add.d.ts +16 -0
  80. package/lib/commands/certs/add.js +98 -0
  81. package/lib/commands/certs/auto/disable.d.ts +11 -0
  82. package/lib/commands/certs/auto/disable.js +34 -0
  83. package/lib/commands/certs/auto/enable.d.ts +11 -0
  84. package/lib/commands/certs/auto/enable.js +51 -0
  85. package/lib/commands/certs/auto/index.d.ts +12 -0
  86. package/lib/commands/certs/auto/index.js +94 -0
  87. package/lib/commands/certs/auto/refresh.d.ts +10 -0
  88. package/lib/commands/certs/auto/refresh.js +19 -0
  89. package/lib/commands/certs/generate.d.ts +26 -0
  90. package/lib/commands/certs/generate.js +111 -0
  91. package/lib/commands/certs/index.d.ts +10 -0
  92. package/lib/commands/certs/index.js +26 -0
  93. package/lib/commands/certs/info.d.ts +13 -0
  94. package/lib/commands/certs/info.js +43 -0
  95. package/lib/commands/certs/remove.d.ts +13 -0
  96. package/lib/commands/certs/remove.js +32 -0
  97. package/lib/commands/certs/update.d.ts +18 -0
  98. package/lib/commands/certs/update.js +54 -0
  99. package/lib/commands/ci/config/get.d.ts +1 -0
  100. package/lib/commands/ci/config/get.js +1 -0
  101. package/lib/commands/ci/config/index.d.ts +12 -0
  102. package/lib/commands/ci/config/index.js +43 -0
  103. package/lib/commands/ci/config/set.d.ts +3 -2
  104. package/lib/commands/ci/config/set.js +3 -6
  105. package/lib/commands/ci/config/unset.d.ts +14 -0
  106. package/lib/commands/ci/config/unset.js +36 -0
  107. package/lib/commands/ci/index.d.ts +1 -0
  108. package/lib/commands/ci/index.js +1 -0
  109. package/lib/commands/ci/info.d.ts +1 -0
  110. package/lib/commands/ci/info.js +1 -0
  111. package/lib/commands/ci/last.d.ts +1 -0
  112. package/lib/commands/ci/last.js +1 -0
  113. package/lib/commands/ci/migrate-manifest.d.ts +7 -0
  114. package/lib/commands/ci/migrate-manifest.js +74 -0
  115. package/lib/commands/ci/open.d.ts +1 -0
  116. package/lib/commands/ci/open.js +1 -0
  117. package/lib/commands/ci/rerun.d.ts +1 -0
  118. package/lib/commands/ci/rerun.js +1 -0
  119. package/lib/commands/config/set.d.ts +12 -0
  120. package/lib/commands/config/set.js +60 -0
  121. package/lib/commands/container/index.d.ts +6 -0
  122. package/lib/commands/container/index.js +13 -0
  123. package/lib/commands/container/login.d.ts +9 -0
  124. package/lib/commands/container/login.js +57 -0
  125. package/lib/commands/container/logout.d.ts +9 -0
  126. package/lib/commands/container/logout.js +37 -0
  127. package/lib/commands/container/pull.d.ts +14 -0
  128. package/lib/commands/container/pull.js +40 -0
  129. package/lib/commands/container/push.d.ts +16 -0
  130. package/lib/commands/container/push.js +101 -0
  131. package/lib/commands/container/release.d.ts +14 -0
  132. package/lib/commands/container/release.js +89 -0
  133. package/lib/commands/container/rm.d.ts +13 -0
  134. package/lib/commands/container/rm.js +36 -0
  135. package/lib/commands/container/run.d.ts +15 -0
  136. package/lib/commands/container/run.js +63 -0
  137. package/lib/commands/dashboard.d.ts +7 -0
  138. package/lib/commands/dashboard.js +164 -0
  139. package/lib/commands/domains/index.d.ts +3 -3
  140. package/lib/commands/drains/add.d.ts +12 -0
  141. package/lib/commands/drains/add.js +23 -0
  142. package/lib/commands/drains/index.d.ts +11 -0
  143. package/lib/commands/drains/index.js +50 -0
  144. package/lib/commands/drains/remove.d.ts +13 -0
  145. package/lib/commands/drains/remove.js +22 -0
  146. package/lib/commands/features/disable.d.ts +12 -0
  147. package/lib/commands/features/disable.js +30 -0
  148. package/lib/commands/features/enable.d.ts +12 -0
  149. package/lib/commands/features/enable.js +29 -0
  150. package/lib/commands/features/index.d.ts +10 -0
  151. package/lib/commands/features/index.js +37 -0
  152. package/lib/commands/features/info.d.ts +13 -0
  153. package/lib/commands/features/info.js +33 -0
  154. package/lib/commands/keys/add.d.ts +14 -0
  155. package/lib/commands/keys/add.js +101 -0
  156. package/lib/commands/keys/clear.d.ts +5 -0
  157. package/lib/commands/keys/clear.js +17 -0
  158. package/lib/commands/keys/index.d.ts +9 -0
  159. package/lib/commands/keys/index.js +36 -0
  160. package/lib/commands/keys/remove.d.ts +9 -0
  161. package/lib/commands/keys/remove.js +29 -0
  162. package/lib/commands/labs/enable.d.ts +13 -0
  163. package/lib/commands/labs/enable.js +47 -0
  164. package/lib/commands/labs/index.d.ts +11 -0
  165. package/lib/commands/labs/index.js +71 -0
  166. package/lib/commands/labs/info.d.ts +14 -0
  167. package/lib/commands/labs/info.js +49 -0
  168. package/lib/commands/local/index.d.ts +1 -1
  169. package/lib/commands/local/index.js +8 -3
  170. package/lib/commands/local/run.d.ts +1 -1
  171. package/lib/commands/local/run.js +8 -3
  172. package/lib/commands/maintenance/index.d.ts +10 -0
  173. package/lib/commands/maintenance/index.js +19 -0
  174. package/lib/commands/maintenance/off.d.ts +10 -0
  175. package/lib/commands/maintenance/off.js +20 -0
  176. package/lib/commands/maintenance/on.d.ts +10 -0
  177. package/lib/commands/maintenance/on.js +20 -0
  178. package/lib/commands/members/add.d.ts +13 -0
  179. package/lib/commands/members/add.js +33 -0
  180. package/lib/commands/members/index.d.ts +12 -0
  181. package/lib/commands/members/index.js +76 -0
  182. package/lib/commands/members/remove.d.ts +10 -0
  183. package/lib/commands/members/remove.js +58 -0
  184. package/lib/commands/members/set.d.ts +11 -0
  185. package/lib/commands/members/set.js +21 -0
  186. package/lib/commands/notifications/index.d.ts +13 -0
  187. package/lib/commands/notifications/index.js +62 -0
  188. package/lib/commands/orgs/index.d.ts +11 -0
  189. package/lib/commands/orgs/index.js +27 -0
  190. package/lib/commands/orgs/open.d.ts +10 -0
  191. package/lib/commands/orgs/open.js +24 -0
  192. package/lib/commands/pg/backups/cancel.d.ts +15 -0
  193. package/lib/commands/pg/backups/cancel.js +49 -0
  194. package/lib/commands/pg/backups/capture.d.ts +15 -0
  195. package/lib/commands/pg/backups/capture.js +65 -0
  196. package/lib/commands/pg/backups/delete.d.ts +15 -0
  197. package/lib/commands/pg/backups/delete.js +38 -0
  198. package/lib/commands/pg/backups/download.d.ts +14 -0
  199. package/lib/commands/pg/backups/download.js +58 -0
  200. package/lib/commands/pg/backups/index.d.ts +20 -0
  201. package/lib/commands/pg/backups/index.js +129 -0
  202. package/lib/commands/pg/backups/info.d.ts +17 -0
  203. package/lib/commands/pg/backups/info.js +92 -0
  204. package/lib/commands/pg/backups/restore.d.ts +19 -0
  205. package/lib/commands/pg/backups/restore.js +107 -0
  206. package/lib/commands/pg/backups/schedule.d.ts +21 -0
  207. package/lib/commands/pg/backups/schedule.js +82 -0
  208. package/lib/commands/pg/backups/schedules.d.ts +10 -0
  209. package/lib/commands/pg/backups/schedules.js +31 -0
  210. package/lib/commands/pg/backups/unschedule.d.ts +13 -0
  211. package/lib/commands/pg/backups/unschedule.js +44 -0
  212. package/lib/commands/pg/backups/url.d.ts +13 -0
  213. package/lib/commands/pg/backups/url.js +41 -0
  214. package/lib/commands/pg/bloat.d.ts +13 -0
  215. package/lib/commands/pg/bloat.js +87 -0
  216. package/lib/commands/pg/blocking.d.ts +13 -0
  217. package/lib/commands/pg/blocking.js +42 -0
  218. package/lib/commands/pg/connection-pooling/attach.d.ts +15 -0
  219. package/lib/commands/pg/connection-pooling/attach.js +41 -0
  220. package/lib/commands/pg/copy.d.ts +18 -0
  221. package/lib/commands/pg/copy.js +86 -0
  222. package/lib/commands/pg/credentials/create.d.ts +14 -0
  223. package/lib/commands/pg/credentials/create.js +40 -0
  224. package/lib/commands/pg/credentials/destroy.d.ts +16 -0
  225. package/lib/commands/pg/credentials/destroy.js +48 -0
  226. package/lib/commands/pg/credentials/repair-default.d.ts +15 -0
  227. package/lib/commands/pg/credentials/repair-default.js +39 -0
  228. package/lib/commands/pg/credentials/rotate.d.ts +16 -0
  229. package/lib/commands/pg/credentials/rotate.js +82 -0
  230. package/lib/commands/pg/credentials/url.d.ts +14 -0
  231. package/lib/commands/pg/credentials/url.js +64 -0
  232. package/lib/commands/pg/credentials.d.ts +16 -0
  233. package/lib/commands/pg/credentials.js +61 -0
  234. package/lib/commands/pg/diagnose.d.ts +18 -0
  235. package/lib/commands/pg/diagnose.js +109 -0
  236. package/lib/commands/pg/info.d.ts +14 -0
  237. package/lib/commands/pg/info.js +92 -0
  238. package/lib/commands/pg/kill.d.ts +15 -0
  239. package/lib/commands/pg/kill.js +32 -0
  240. package/lib/commands/pg/killall.d.ts +13 -0
  241. package/lib/commands/pg/killall.js +26 -0
  242. package/lib/commands/pg/links/create.d.ts +15 -0
  243. package/lib/commands/pg/links/create.js +58 -0
  244. package/lib/commands/pg/links/destroy.d.ts +16 -0
  245. package/lib/commands/pg/links/destroy.js +42 -0
  246. package/lib/commands/pg/links/index.d.ts +13 -0
  247. package/lib/commands/pg/links/index.js +59 -0
  248. package/lib/commands/pg/locks.d.ts +15 -0
  249. package/lib/commands/pg/locks.js +53 -0
  250. package/lib/commands/pg/maintenance/index.d.ts +13 -0
  251. package/lib/commands/pg/maintenance/index.js +29 -0
  252. package/lib/commands/pg/maintenance/run.d.ts +14 -0
  253. package/lib/commands/pg/maintenance/run.js +37 -0
  254. package/lib/commands/pg/maintenance/window.d.ts +15 -0
  255. package/lib/commands/pg/maintenance/window.js +41 -0
  256. package/lib/commands/pg/outliers.d.ts +19 -0
  257. package/lib/commands/pg/outliers.js +97 -0
  258. package/lib/commands/pg/promote.d.ts +14 -0
  259. package/lib/commands/pg/promote.js +169 -0
  260. package/lib/commands/pg/ps.d.ts +14 -0
  261. package/lib/commands/pg/ps.js +52 -0
  262. package/lib/commands/pg/psql.d.ts +16 -0
  263. package/lib/commands/pg/psql.js +49 -0
  264. package/lib/commands/pg/pull.d.ts +18 -0
  265. package/lib/commands/pg/pull.js +87 -0
  266. package/lib/commands/pg/push.d.ts +18 -0
  267. package/lib/commands/pg/push.js +84 -0
  268. package/lib/commands/pg/reset.d.ts +15 -0
  269. package/lib/commands/pg/reset.js +44 -0
  270. package/lib/commands/pg/settings/auto-explain/log-analyze.d.ts +13 -0
  271. package/lib/commands/pg/settings/auto-explain/log-analyze.js +32 -0
  272. package/lib/commands/pg/settings/auto-explain/log-buffers.d.ts +13 -0
  273. package/lib/commands/pg/settings/auto-explain/log-buffers.js +30 -0
  274. package/lib/commands/pg/settings/auto-explain/log-min-duration.d.ts +16 -0
  275. package/lib/commands/pg/settings/auto-explain/log-min-duration.js +33 -0
  276. package/lib/commands/pg/settings/auto-explain/log-nested-statements.d.ts +12 -0
  277. package/lib/commands/pg/settings/auto-explain/log-nested-statements.js +25 -0
  278. package/lib/commands/pg/settings/auto-explain/log-triggers.d.ts +13 -0
  279. package/lib/commands/pg/settings/auto-explain/log-triggers.js +30 -0
  280. package/lib/commands/pg/settings/auto-explain/log-verbose.d.ts +17 -0
  281. package/lib/commands/pg/settings/auto-explain/log-verbose.js +33 -0
  282. package/lib/commands/pg/settings/auto-explain.d.ts +18 -0
  283. package/lib/commands/pg/settings/auto-explain.js +38 -0
  284. package/lib/commands/pg/settings/index.d.ts +13 -0
  285. package/lib/commands/pg/settings/index.js +34 -0
  286. package/lib/commands/pg/settings/log-connections.d.ts +17 -0
  287. package/lib/commands/pg/settings/log-connections.js +34 -0
  288. package/lib/commands/pg/settings/log-lock-waits.d.ts +13 -0
  289. package/lib/commands/pg/settings/log-lock-waits.js +31 -0
  290. package/lib/commands/pg/settings/log-min-duration-statement.d.ts +15 -0
  291. package/lib/commands/pg/settings/log-min-duration-statement.js +33 -0
  292. package/lib/commands/pg/settings/log-statement.d.ts +12 -0
  293. package/lib/commands/pg/settings/log-statement.js +30 -0
  294. package/lib/commands/pg/settings/track-functions.d.ts +12 -0
  295. package/lib/commands/pg/settings/track-functions.js +29 -0
  296. package/lib/commands/pg/unfollow.d.ts +14 -0
  297. package/lib/commands/pg/unfollow.js +40 -0
  298. package/lib/commands/pg/upgrade.d.ts +15 -0
  299. package/lib/commands/pg/upgrade.js +58 -0
  300. package/lib/commands/pg/vacuum-stats.d.ts +13 -0
  301. package/lib/commands/pg/vacuum-stats.js +65 -0
  302. package/lib/commands/pg/wait.d.ts +15 -0
  303. package/lib/commands/pg/wait.js +79 -0
  304. package/lib/commands/pipelines/connect.js +1 -1
  305. package/lib/commands/pipelines/diff.js +1 -1
  306. package/lib/commands/ps/index.d.ts +15 -0
  307. package/lib/commands/ps/index.js +195 -0
  308. package/lib/commands/ps/restart.d.ts +17 -0
  309. package/lib/commands/ps/restart.js +38 -0
  310. package/lib/commands/ps/scale.d.ts +13 -0
  311. package/lib/commands/ps/scale.js +108 -0
  312. package/lib/commands/ps/stop.d.ts +17 -0
  313. package/lib/commands/ps/stop.js +33 -0
  314. package/lib/commands/ps/type.d.ts +12 -0
  315. package/lib/commands/ps/type.js +163 -0
  316. package/lib/commands/redis/cli.d.ts +15 -0
  317. package/lib/commands/redis/cli.js +204 -0
  318. package/lib/commands/redis/credentials.d.ts +14 -0
  319. package/lib/commands/redis/credentials.js +32 -0
  320. package/lib/commands/redis/info.d.ts +15 -0
  321. package/lib/commands/redis/info.js +25 -0
  322. package/lib/commands/redis/keyspace-notifications.d.ts +14 -0
  323. package/lib/commands/redis/keyspace-notifications.js +47 -0
  324. package/lib/commands/redis/maintenance.d.ts +16 -0
  325. package/lib/commands/redis/maintenance.js +63 -0
  326. package/lib/commands/redis/maxmemory.d.ts +14 -0
  327. package/lib/commands/redis/maxmemory.js +40 -0
  328. package/lib/commands/redis/promote.d.ts +13 -0
  329. package/lib/commands/redis/promote.js +39 -0
  330. package/lib/commands/redis/stats-reset.d.ts +14 -0
  331. package/lib/commands/redis/stats-reset.js +36 -0
  332. package/lib/commands/redis/timeout.d.ts +14 -0
  333. package/lib/commands/redis/timeout.js +35 -0
  334. package/lib/commands/redis/upgrade.d.ts +15 -0
  335. package/lib/commands/redis/upgrade.js +37 -0
  336. package/lib/commands/redis/wait.d.ts +14 -0
  337. package/lib/commands/redis/wait.js +60 -0
  338. package/lib/commands/releases/index.d.ts +14 -0
  339. package/lib/commands/releases/index.js +124 -0
  340. package/lib/commands/releases/info.d.ts +15 -0
  341. package/lib/commands/releases/info.js +56 -0
  342. package/lib/commands/releases/output.d.ts +13 -0
  343. package/lib/commands/releases/output.js +37 -0
  344. package/lib/commands/releases/rollback.d.ts +14 -0
  345. package/lib/commands/releases/rollback.js +48 -0
  346. package/lib/commands/run/detached.d.ts +7 -8
  347. package/lib/commands/run/detached.js +16 -20
  348. package/lib/commands/run/index.d.ts +10 -11
  349. package/lib/commands/run/index.js +16 -17
  350. package/lib/commands/run/inside.d.ts +5 -7
  351. package/lib/commands/run/inside.js +10 -14
  352. package/lib/commands/spaces/create.d.ts +22 -0
  353. package/lib/commands/spaces/create.js +73 -0
  354. package/lib/commands/spaces/destroy.d.ts +14 -0
  355. package/lib/commands/spaces/destroy.js +49 -0
  356. package/lib/commands/spaces/drains/get.d.ts +12 -0
  357. package/lib/commands/spaces/drains/get.js +27 -0
  358. package/lib/commands/spaces/drains/set.d.ts +14 -0
  359. package/lib/commands/spaces/drains/set.js +29 -0
  360. package/lib/commands/spaces/hosts.d.ts +14 -0
  361. package/lib/commands/spaces/hosts.js +37 -0
  362. package/lib/commands/spaces/index.d.ts +16 -0
  363. package/lib/commands/spaces/index.js +55 -0
  364. package/lib/commands/spaces/info.d.ts +14 -0
  365. package/lib/commands/spaces/info.js +47 -0
  366. package/lib/commands/spaces/outbound-rules/add.d.ts +15 -0
  367. package/lib/commands/spaces/outbound-rules/add.js +81 -0
  368. package/lib/commands/spaces/outbound-rules/index.d.ts +15 -0
  369. package/lib/commands/spaces/outbound-rules/index.js +49 -0
  370. package/lib/commands/spaces/outbound-rules/remove.d.ts +17 -0
  371. package/lib/commands/spaces/outbound-rules/remove.js +53 -0
  372. package/lib/commands/spaces/peerings/accept.d.ts +15 -0
  373. package/lib/commands/spaces/peerings/accept.js +36 -0
  374. package/lib/commands/spaces/peerings/destroy.d.ts +15 -0
  375. package/lib/commands/spaces/peerings/destroy.js +45 -0
  376. package/lib/commands/spaces/peerings/index.d.ts +13 -0
  377. package/lib/commands/spaces/peerings/index.js +33 -0
  378. package/lib/commands/spaces/peerings/info.d.ts +15 -0
  379. package/lib/commands/spaces/peerings/info.js +59 -0
  380. package/lib/commands/spaces/ps.d.ts +15 -0
  381. package/lib/commands/spaces/ps.js +82 -0
  382. package/lib/commands/spaces/rename.d.ts +11 -0
  383. package/lib/commands/spaces/rename.js +26 -0
  384. package/lib/commands/spaces/topology.d.ts +32 -0
  385. package/lib/commands/spaces/topology.js +89 -0
  386. package/lib/commands/spaces/transfer.d.ts +11 -0
  387. package/lib/commands/spaces/transfer.js +35 -0
  388. package/lib/commands/spaces/trusted-ips/add.d.ts +16 -0
  389. package/lib/commands/spaces/trusted-ips/add.js +43 -0
  390. package/lib/commands/spaces/trusted-ips/index.d.ts +15 -0
  391. package/lib/commands/spaces/trusted-ips/index.js +52 -0
  392. package/lib/commands/spaces/trusted-ips/remove.d.ts +15 -0
  393. package/lib/commands/spaces/trusted-ips/remove.js +44 -0
  394. package/lib/commands/spaces/vpn/config.d.ts +14 -0
  395. package/lib/commands/spaces/vpn/config.js +54 -0
  396. package/lib/commands/spaces/vpn/connect.d.ts +15 -0
  397. package/lib/commands/spaces/vpn/connect.js +45 -0
  398. package/lib/commands/spaces/vpn/connections.d.ts +17 -0
  399. package/lib/commands/spaces/vpn/connections.js +57 -0
  400. package/lib/commands/spaces/vpn/destroy.d.ts +14 -0
  401. package/lib/commands/spaces/vpn/destroy.js +35 -0
  402. package/lib/commands/spaces/vpn/info.d.ts +16 -0
  403. package/lib/commands/spaces/vpn/info.js +82 -0
  404. package/lib/commands/spaces/vpn/update.d.ts +14 -0
  405. package/lib/commands/spaces/vpn/update.js +36 -0
  406. package/lib/commands/spaces/vpn/wait.d.ts +13 -0
  407. package/lib/commands/spaces/vpn/wait.js +53 -0
  408. package/lib/commands/spaces/wait.d.ts +17 -0
  409. package/lib/commands/spaces/wait.js +89 -0
  410. package/lib/commands/status.js +4 -4
  411. package/lib/commands/teams/index.d.ts +9 -0
  412. package/lib/commands/teams/index.js +29 -0
  413. package/lib/global_telemetry.js +10 -4
  414. package/lib/hooks/postrun/performance_analytics.js +5 -4
  415. package/lib/hooks/prerun/analytics.js +3 -0
  416. package/lib/lib/addons/addons_wait.d.ts +78 -0
  417. package/lib/lib/addons/addons_wait.js +56 -0
  418. package/lib/lib/addons/create_addon.d.ts +7 -0
  419. package/lib/lib/addons/create_addon.js +59 -0
  420. package/lib/lib/addons/destroy_addon.d.ts +3 -0
  421. package/lib/lib/addons/destroy_addon.js +48 -0
  422. package/lib/lib/addons/resolve.d.ts +38 -0
  423. package/lib/lib/addons/resolve.js +179 -0
  424. package/lib/lib/addons/util.d.ts +9 -0
  425. package/lib/lib/addons/util.js +72 -0
  426. package/lib/lib/api.d.ts +1 -1
  427. package/lib/lib/apps/app-transfer.d.ts +10 -0
  428. package/lib/lib/apps/app-transfer.js +35 -0
  429. package/lib/lib/apps/error_info.d.ts +7 -0
  430. package/lib/lib/apps/error_info.js +185 -0
  431. package/lib/lib/autocomplete/completions.d.ts +4 -0
  432. package/lib/lib/autocomplete/completions.js +6 -1
  433. package/lib/lib/buildpacks/buildpacks.js +3 -4
  434. package/lib/lib/certs/certificate_details.d.ts +2 -0
  435. package/lib/lib/certs/certificate_details.js +37 -0
  436. package/lib/lib/certs/display_table.d.ts +2 -0
  437. package/lib/lib/certs/display_table.js +51 -0
  438. package/lib/lib/certs/domains.d.ts +3 -0
  439. package/lib/lib/certs/domains.js +45 -0
  440. package/lib/lib/certs/flags.d.ts +7 -0
  441. package/lib/lib/certs/flags.js +42 -0
  442. package/lib/lib/certs/format_date.d.ts +1 -0
  443. package/lib/lib/certs/format_date.js +11 -0
  444. package/lib/lib/certs/get_cert_and_key.d.ts +9 -0
  445. package/lib/lib/certs/get_cert_and_key.js +11 -0
  446. package/lib/lib/ci/git.d.ts +7 -1
  447. package/lib/lib/ci/git.js +44 -1
  448. package/lib/lib/ci/interfaces/kolkrabbi.d.ts +1 -1
  449. package/lib/lib/ci/source.js +3 -3
  450. package/lib/lib/ci/test-run.js +2 -2
  451. package/lib/lib/ci/validate.d.ts +2 -0
  452. package/lib/lib/ci/validate.js +10 -0
  453. package/lib/lib/config/quote.js +1 -1
  454. package/lib/lib/confirmCommand.d.ts +1 -0
  455. package/lib/lib/confirmCommand.js +23 -0
  456. package/lib/lib/container/debug.d.ts +2 -0
  457. package/lib/lib/container/debug.js +5 -0
  458. package/lib/lib/container/docker_helper.d.ts +24 -0
  459. package/lib/lib/container/docker_helper.js +168 -0
  460. package/lib/lib/container/streamer.d.ts +1 -0
  461. package/lib/lib/container/streamer.js +31 -0
  462. package/lib/lib/domains/domains.d.ts +6 -0
  463. package/lib/lib/domains/domains.js +104 -0
  464. package/lib/lib/git/git.d.ts +3 -0
  465. package/lib/lib/git/git.js +19 -0
  466. package/lib/lib/git/push.d.ts +1 -0
  467. package/lib/lib/git/push.js +6 -0
  468. package/lib/lib/local/run-foreman.d.ts +1 -0
  469. package/lib/lib/local/run-foreman.js +229 -1
  470. package/lib/lib/members/util.d.ts +3 -0
  471. package/lib/lib/members/util.js +25 -0
  472. package/lib/lib/members/utils.d.ts +2 -0
  473. package/lib/lib/members/utils.js +14 -0
  474. package/lib/lib/notify.d.ts +1 -0
  475. package/lib/lib/notify.js +23 -0
  476. package/lib/lib/orgs/utils.d.ts +5 -0
  477. package/lib/lib/orgs/utils.js +24 -0
  478. package/lib/lib/pg/backups.d.ts +17 -0
  479. package/lib/lib/pg/backups.js +164 -0
  480. package/lib/lib/pg/bastion.d.ts +29 -0
  481. package/lib/lib/pg/bastion.js +121 -0
  482. package/lib/lib/pg/config.d.ts +2 -0
  483. package/lib/lib/pg/config.js +13 -0
  484. package/lib/lib/pg/download.d.ts +5 -0
  485. package/lib/lib/pg/download.js +34 -0
  486. package/lib/lib/pg/fetcher.d.ts +39 -0
  487. package/lib/lib/pg/fetcher.js +137 -0
  488. package/lib/lib/pg/host.d.ts +1 -0
  489. package/lib/lib/pg/host.js +7 -0
  490. package/lib/lib/pg/psql.d.ts +48 -0
  491. package/lib/lib/pg/psql.js +252 -0
  492. package/lib/lib/pg/push_pull.d.ts +13 -0
  493. package/lib/lib/pg/push_pull.js +118 -0
  494. package/lib/lib/pg/setter.d.ts +16 -0
  495. package/lib/lib/pg/setter.js +65 -0
  496. package/lib/lib/pg/types.d.ts +230 -0
  497. package/lib/lib/pg/types.js +2 -0
  498. package/lib/lib/pg/util.d.ts +36 -0
  499. package/lib/lib/pg/util.js +183 -0
  500. package/lib/lib/redis/api.d.ts +65 -0
  501. package/lib/lib/redis/api.js +122 -0
  502. package/lib/lib/releases/output.d.ts +1 -0
  503. package/lib/lib/releases/output.js +14 -0
  504. package/lib/lib/releases/releases.d.ts +6 -0
  505. package/lib/lib/releases/releases.js +32 -0
  506. package/lib/lib/releases/status_helper.d.ts +5 -0
  507. package/lib/lib/releases/status_helper.js +25 -0
  508. package/lib/lib/run/dyno.js +2 -2
  509. package/lib/lib/run/log-displayer.d.ts +1 -1
  510. package/lib/lib/spaces/format.d.ts +4 -0
  511. package/lib/lib/spaces/format.js +60 -0
  512. package/lib/lib/spaces/hosts.d.ts +9 -0
  513. package/lib/lib/spaces/hosts.js +34 -0
  514. package/lib/lib/spaces/outbound-rules.d.ts +4 -0
  515. package/lib/lib/spaces/outbound-rules.js +78 -0
  516. package/lib/lib/spaces/parsers.d.ts +8 -0
  517. package/lib/lib/spaces/parsers.js +17 -0
  518. package/lib/lib/spaces/peering.d.ts +4 -0
  519. package/lib/lib/spaces/peering.js +53 -0
  520. package/lib/lib/spaces/spaces.d.ts +4 -0
  521. package/lib/lib/spaces/spaces.js +37 -0
  522. package/lib/lib/spaces/vpn-connections.d.ts +2 -0
  523. package/lib/lib/spaces/vpn-connections.js +22 -0
  524. package/lib/lib/teamUtils.d.ts +3 -0
  525. package/lib/lib/teamUtils.js +18 -0
  526. package/lib/lib/time.d.ts +2 -0
  527. package/lib/lib/time.js +29 -0
  528. package/lib/lib/types/app_errors.d.ts +6 -0
  529. package/lib/lib/types/app_errors.js +2 -0
  530. package/lib/lib/types/domain.d.ts +61 -0
  531. package/lib/lib/types/domain.js +5 -0
  532. package/lib/lib/types/favorites.d.ts +7 -0
  533. package/lib/lib/types/favorites.js +2 -0
  534. package/lib/lib/types/notifications.d.ts +20 -0
  535. package/lib/lib/types/notifications.js +2 -0
  536. package/lib/lib/utils/multisort.d.ts +32 -0
  537. package/lib/lib/utils/multisort.js +66 -0
  538. package/lib/lib/utils/uuid-validate.d.ts +1 -0
  539. package/lib/lib/utils/uuid-validate.js +7 -0
  540. package/lib/user-config.js +2 -2
  541. package/oclif.manifest.json +12920 -2534
  542. package/package.json +111 -60
  543. package/lib/lib/buildpacks/push.d.ts +0 -0
  544. package/lib/lib/buildpacks/push.js +0 -4
@@ -0,0 +1,179 @@
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.message = 'Couldn\'t find that addon.';
147
+ }
148
+ }
149
+ exports.NotFound = NotFound;
150
+ class AmbiguousError extends Error {
151
+ constructor(matches, type) {
152
+ super();
153
+ this.matches = matches;
154
+ this.type = type;
155
+ this.statusCode = 422;
156
+ this.body = { id: 'multiple_matches', message: this.message };
157
+ this.message = `Ambiguous identifier; multiple matching add-ons found: ${matches.map(match => match.name).join(', ')}.`;
158
+ }
159
+ }
160
+ exports.AmbiguousError = AmbiguousError;
161
+ function singularize(type, namespace) {
162
+ return (matches) => {
163
+ if (namespace) {
164
+ matches = matches.filter(m => m.namespace === namespace);
165
+ }
166
+ else if (matches.length > 1) {
167
+ // In cases that aren't specific enough, filter by namespace
168
+ matches = matches.filter(m => !Reflect.has(m, 'namespace') || m.namespace === null);
169
+ }
170
+ switch (matches.length) {
171
+ case 0:
172
+ throw new NotFound();
173
+ case 1:
174
+ return matches[0];
175
+ default:
176
+ throw new AmbiguousError(matches, type !== null && type !== void 0 ? type : '');
177
+ }
178
+ };
179
+ }
@@ -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;
package/lib/lib/api.d.ts CHANGED
@@ -24,7 +24,7 @@ export declare function removeCoupling(heroku: APIClient, app: string): Promise<
24
24
  export declare function updateCoupling(heroku: APIClient, app: string, stage: string): Promise<import("http-call").HTTP<Heroku.PipelineCoupling>>;
25
25
  export declare function getReleases(heroku: APIClient, appId: string): Promise<import("http-call").HTTP<Heroku.Release[]>>;
26
26
  export declare function getPipelineConfigVars(heroku: APIClient, pipelineID: string): Promise<import("http-call").HTTP<Heroku.ConfigVars>>;
27
- export declare function setPipelineConfigVars(heroku: APIClient, pipelineID: string, body: Heroku.ConfigVars): Promise<import("http-call").HTTP<Heroku.ConfigVars>>;
27
+ export declare function setPipelineConfigVars(heroku: APIClient, pipelineID: string, body: Heroku.ConfigVars | Record<string, null>): Promise<import("http-call").HTTP<Heroku.ConfigVars>>;
28
28
  export declare function createTestRun(heroku: APIClient, body: Heroku.TestRun): Promise<import("http-call").HTTP<Heroku.TestRun>>;
29
29
  export declare function getTestNodes(heroku: APIClient, testRunIdD: string): Promise<import("http-call").HTTP<Heroku.TestRun>>;
30
30
  export declare function updateTestRun(heroku: APIClient, id: string, body: Heroku.TestRun): Promise<import("http-call").HTTP<Heroku.TestRun>>;
@@ -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;
@@ -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) => {
@@ -6,8 +6,7 @@ const buildpack_registry_1 = require("@heroku/buildpack-registry");
6
6
  const core_1 = require("@oclif/core");
7
7
  const lodash_1 = require("lodash");
8
8
  const true_myth_1 = require("true-myth");
9
- // eslint-disable-next-line node/no-missing-require
10
- const push = require('./push');
9
+ const push_1 = require("../git/push");
11
10
  const validUrl = require('valid-url');
12
11
  class BuildpackCommand {
13
12
  constructor(heroku) {
@@ -103,12 +102,12 @@ class BuildpackCommand {
103
102
  displayUpdate(app, remote, buildpacks, action) {
104
103
  if (buildpacks.length === 1) {
105
104
  core_1.ux.log(`Buildpack ${action}. Next release on ${app} will use ${this.registryUrlToName(buildpacks[0].buildpack.url)}.`);
106
- core_1.ux.log(`Run ${color_1.default.magenta(push(remote))} to create a new release using this buildpack.`);
105
+ core_1.ux.log(`Run ${color_1.default.magenta((0, push_1.default)(remote))} to create a new release using this buildpack.`);
107
106
  }
108
107
  else {
109
108
  core_1.ux.log(`Buildpack ${action}. Next release on ${app} will use:`);
110
109
  this.display(buildpacks, ' ');
111
- core_1.ux.log(`Run ${color_1.default.magenta(push(remote))} to create a new release using these buildpacks.`);
110
+ core_1.ux.log(`Run ${color_1.default.magenta((0, push_1.default)(remote))} to create a new release using these buildpacks.`);
112
111
  }
113
112
  }
114
113
  registryUrlToName(buildpack, registryOnly = false) {
@@ -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[]>;