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.
- package/README.md +6 -11
- package/lib/commands/access/add.d.ts +14 -0
- package/lib/commands/access/add.js +55 -0
- package/lib/commands/access/index.d.ts +11 -0
- package/lib/commands/access/index.js +86 -0
- package/lib/commands/access/remove.d.ts +12 -0
- package/lib/commands/access/remove.js +25 -0
- package/lib/commands/access/update.d.ts +14 -0
- package/lib/commands/access/update.js +39 -0
- package/lib/commands/addons/attach.d.ts +16 -0
- package/lib/commands/addons/attach.js +51 -0
- package/lib/commands/addons/create.d.ts +20 -0
- package/lib/commands/addons/create.js +96 -0
- package/lib/commands/addons/destroy.d.ts +19 -0
- package/lib/commands/addons/destroy.js +61 -0
- package/lib/commands/addons/detach.d.ts +13 -0
- package/lib/commands/addons/detach.js +31 -0
- package/lib/commands/addons/docs.d.ts +14 -0
- package/lib/commands/addons/docs.js +36 -0
- package/lib/commands/addons/index.d.ts +16 -0
- package/lib/commands/addons/index.js +246 -0
- package/lib/commands/addons/info.d.ts +14 -0
- package/lib/commands/addons/info.js +44 -0
- package/lib/commands/addons/open.d.ts +75 -0
- package/lib/commands/addons/open.js +87 -0
- package/lib/commands/addons/plans.d.ts +12 -0
- package/lib/commands/addons/plans.js +47 -0
- package/lib/commands/addons/rename.d.ts +10 -0
- package/lib/commands/addons/rename.js +20 -0
- package/lib/commands/addons/services.d.ts +9 -0
- package/lib/commands/addons/services.js +34 -0
- package/lib/commands/addons/upgrade.d.ts +28 -0
- package/lib/commands/addons/upgrade.js +145 -0
- package/lib/commands/addons/wait.d.ts +14 -0
- package/lib/commands/addons/wait.js +70 -0
- package/lib/commands/apps/create.d.ts +28 -0
- package/lib/commands/apps/create.js +201 -0
- package/lib/commands/apps/destroy.d.ts +15 -0
- package/lib/commands/apps/destroy.js +47 -0
- package/lib/commands/apps/errors.d.ts +13 -0
- package/lib/commands/apps/errors.js +120 -0
- package/lib/commands/apps/favorites/add.d.ts +2 -1
- package/lib/commands/apps/favorites/add.js +1 -0
- package/lib/commands/apps/favorites/remove.d.ts +2 -1
- package/lib/commands/apps/favorites/remove.js +1 -0
- package/lib/commands/apps/index.d.ts +16 -0
- package/lib/commands/apps/index.js +119 -0
- package/lib/commands/apps/info.d.ts +19 -0
- package/lib/commands/apps/info.js +162 -0
- package/lib/commands/apps/join.d.ts +11 -0
- package/lib/commands/apps/join.js +25 -0
- package/lib/commands/apps/leave.d.ts +12 -0
- package/lib/commands/apps/leave.js +25 -0
- package/lib/commands/apps/lock.d.ts +11 -0
- package/lib/commands/apps/lock.js +30 -0
- package/lib/commands/apps/open.d.ts +15 -0
- package/lib/commands/apps/open.js +30 -0
- package/lib/commands/apps/rename.d.ts +16 -0
- package/lib/commands/apps/rename.js +51 -0
- package/lib/commands/apps/stacks/index.d.ts +3 -2
- package/lib/commands/apps/stacks/index.js +2 -1
- package/lib/commands/apps/stacks/set.d.ts +4 -4
- package/lib/commands/apps/stacks/set.js +1 -1
- package/lib/commands/apps/transfer.d.ts +17 -0
- package/lib/commands/apps/transfer.js +91 -0
- package/lib/commands/apps/unlock.d.ts +11 -0
- package/lib/commands/apps/unlock.js +30 -0
- package/lib/commands/auth/token.js +2 -1
- package/lib/commands/authorizations/create.d.ts +3 -3
- package/lib/commands/authorizations/create.js +5 -1
- package/lib/commands/authorizations/info.d.ts +1 -1
- package/lib/commands/authorizations/info.js +5 -1
- package/lib/commands/authorizations/revoke.d.ts +1 -1
- package/lib/commands/authorizations/revoke.js +5 -1
- package/lib/commands/authorizations/rotate.d.ts +1 -1
- package/lib/commands/authorizations/rotate.js +5 -1
- package/lib/commands/authorizations/update.d.ts +4 -4
- package/lib/commands/authorizations/update.js +5 -1
- package/lib/commands/autocomplete/doctor.js +2 -2
- package/lib/commands/autocomplete/options.d.ts +2 -2
- package/lib/commands/autocomplete/options.js +2 -2
- package/lib/commands/autocomplete/script.d.ts +1 -1
- package/lib/commands/buildpacks/add.d.ts +4 -4
- package/lib/commands/buildpacks/clear.d.ts +2 -2
- package/lib/commands/buildpacks/index.d.ts +2 -2
- package/lib/commands/buildpacks/info.d.ts +1 -1
- package/lib/commands/buildpacks/remove.d.ts +4 -4
- package/lib/commands/buildpacks/search.d.ts +4 -4
- package/lib/commands/buildpacks/set.d.ts +4 -4
- package/lib/commands/buildpacks/versions.d.ts +1 -1
- package/lib/commands/certs/add.d.ts +16 -0
- package/lib/commands/certs/add.js +98 -0
- package/lib/commands/certs/auto/disable.d.ts +11 -0
- package/lib/commands/certs/auto/disable.js +34 -0
- package/lib/commands/certs/auto/enable.d.ts +11 -0
- package/lib/commands/certs/auto/enable.js +51 -0
- package/lib/commands/certs/auto/index.d.ts +12 -0
- package/lib/commands/certs/auto/index.js +94 -0
- package/lib/commands/certs/auto/refresh.d.ts +10 -0
- package/lib/commands/certs/auto/refresh.js +19 -0
- package/lib/commands/certs/generate.d.ts +26 -0
- package/lib/commands/certs/generate.js +111 -0
- package/lib/commands/certs/index.d.ts +10 -0
- package/lib/commands/certs/index.js +26 -0
- package/lib/commands/certs/info.d.ts +13 -0
- package/lib/commands/certs/info.js +43 -0
- package/lib/commands/certs/remove.d.ts +13 -0
- package/lib/commands/certs/remove.js +32 -0
- package/lib/commands/certs/update.d.ts +18 -0
- package/lib/commands/certs/update.js +54 -0
- package/lib/commands/ci/config/get.d.ts +4 -3
- package/lib/commands/ci/config/get.js +3 -2
- package/lib/commands/ci/config/index.d.ts +3 -2
- package/lib/commands/ci/config/index.js +3 -2
- package/lib/commands/ci/config/set.d.ts +3 -2
- package/lib/commands/ci/config/set.js +2 -1
- package/lib/commands/ci/config/unset.d.ts +3 -3
- package/lib/commands/ci/config/unset.js +3 -3
- package/lib/commands/ci/debug.d.ts +2 -2
- package/lib/commands/ci/index.d.ts +3 -2
- package/lib/commands/ci/index.js +1 -0
- package/lib/commands/ci/info.d.ts +5 -4
- package/lib/commands/ci/info.js +1 -0
- package/lib/commands/ci/last.d.ts +4 -3
- package/lib/commands/ci/last.js +1 -0
- package/lib/commands/ci/open.d.ts +3 -2
- package/lib/commands/ci/open.js +1 -0
- package/lib/commands/ci/rerun.d.ts +4 -3
- package/lib/commands/ci/rerun.js +1 -0
- package/lib/commands/ci/run.d.ts +2 -2
- package/lib/commands/clients/create.d.ts +2 -2
- package/lib/commands/clients/destroy.d.ts +1 -1
- package/lib/commands/clients/info.d.ts +1 -1
- package/lib/commands/clients/rotate.d.ts +1 -1
- package/lib/commands/clients/update.d.ts +3 -3
- package/lib/commands/config/edit.d.ts +3 -3
- package/lib/commands/config/get.d.ts +3 -3
- package/lib/commands/config/index.d.ts +2 -2
- package/lib/commands/config/set.d.ts +12 -0
- package/lib/commands/config/set.js +60 -0
- package/lib/commands/config/unset.d.ts +2 -2
- package/lib/commands/console.d.ts +4 -4
- package/lib/commands/container/index.d.ts +6 -0
- package/lib/commands/container/index.js +13 -0
- package/lib/commands/container/login.d.ts +9 -0
- package/lib/commands/container/login.js +57 -0
- package/lib/commands/container/logout.d.ts +9 -0
- package/lib/commands/container/logout.js +37 -0
- package/lib/commands/container/pull.d.ts +14 -0
- package/lib/commands/container/pull.js +43 -0
- package/lib/commands/container/push.d.ts +16 -0
- package/lib/commands/container/push.js +103 -0
- package/lib/commands/container/release.d.ts +14 -0
- package/lib/commands/container/release.js +91 -0
- package/lib/commands/container/rm.d.ts +13 -0
- package/lib/commands/container/rm.js +39 -0
- package/lib/commands/container/run.d.ts +15 -0
- package/lib/commands/container/run.js +66 -0
- package/lib/commands/dashboard.d.ts +7 -0
- package/lib/commands/dashboard.js +164 -0
- package/lib/commands/domains/add.d.ts +4 -4
- package/lib/commands/domains/clear.d.ts +2 -2
- package/lib/commands/domains/index.d.ts +10 -10
- package/lib/commands/domains/info.d.ts +3 -3
- package/lib/commands/domains/remove.d.ts +3 -3
- package/lib/commands/domains/update.d.ts +4 -4
- package/lib/commands/domains/wait.d.ts +3 -3
- package/lib/commands/drains/add.d.ts +12 -0
- package/lib/commands/drains/add.js +23 -0
- package/lib/commands/drains/index.d.ts +11 -0
- package/lib/commands/drains/index.js +50 -0
- package/lib/commands/drains/remove.d.ts +13 -0
- package/lib/commands/drains/remove.js +22 -0
- package/lib/commands/features/disable.d.ts +12 -0
- package/lib/commands/features/disable.js +30 -0
- package/lib/commands/features/enable.d.ts +12 -0
- package/lib/commands/features/enable.js +29 -0
- package/lib/commands/features/index.d.ts +10 -0
- package/lib/commands/features/index.js +37 -0
- package/lib/commands/features/info.d.ts +13 -0
- package/lib/commands/features/info.js +33 -0
- package/lib/commands/git/clone.d.ts +3 -3
- package/lib/commands/git/credentials.d.ts +1 -1
- package/lib/commands/git/remote.d.ts +2 -2
- package/lib/commands/keys/add.d.ts +14 -0
- package/lib/commands/keys/add.js +101 -0
- package/lib/commands/keys/clear.d.ts +5 -0
- package/lib/commands/keys/clear.js +17 -0
- package/lib/commands/keys/index.d.ts +9 -0
- package/lib/commands/keys/index.js +36 -0
- package/lib/commands/keys/remove.d.ts +9 -0
- package/lib/commands/keys/remove.js +29 -0
- package/lib/commands/labs/enable.d.ts +13 -0
- package/lib/commands/labs/enable.js +47 -0
- package/lib/commands/labs/index.d.ts +11 -0
- package/lib/commands/labs/index.js +71 -0
- package/lib/commands/labs/info.d.ts +14 -0
- package/lib/commands/labs/info.js +49 -0
- package/lib/commands/local/index.d.ts +5 -5
- package/lib/commands/local/index.js +8 -3
- package/lib/commands/local/run.d.ts +2 -2
- package/lib/commands/local/run.js +8 -3
- package/lib/commands/logs.d.ts +6 -6
- package/lib/commands/maintenance/index.d.ts +10 -0
- package/lib/commands/maintenance/index.js +19 -0
- package/lib/commands/maintenance/off.d.ts +10 -0
- package/lib/commands/maintenance/off.js +20 -0
- package/lib/commands/maintenance/on.d.ts +10 -0
- package/lib/commands/maintenance/on.js +20 -0
- package/lib/commands/members/add.d.ts +13 -0
- package/lib/commands/members/add.js +33 -0
- package/lib/commands/members/index.d.ts +12 -0
- package/lib/commands/members/index.js +76 -0
- package/lib/commands/members/remove.d.ts +10 -0
- package/lib/commands/members/remove.js +58 -0
- package/lib/commands/members/set.d.ts +11 -0
- package/lib/commands/members/set.js +21 -0
- package/lib/commands/notifications/index.d.ts +13 -0
- package/lib/commands/notifications/index.js +62 -0
- package/lib/commands/orgs/index.d.ts +11 -0
- package/lib/commands/orgs/index.js +27 -0
- package/lib/commands/orgs/open.d.ts +10 -0
- package/lib/commands/orgs/open.js +24 -0
- package/lib/commands/pg/backups/cancel.d.ts +15 -0
- package/lib/commands/pg/backups/cancel.js +49 -0
- package/lib/commands/pg/backups/capture.d.ts +15 -0
- package/lib/commands/pg/backups/capture.js +65 -0
- package/lib/commands/pg/backups/delete.d.ts +15 -0
- package/lib/commands/pg/backups/delete.js +38 -0
- package/lib/commands/pg/backups/download.d.ts +14 -0
- package/lib/commands/pg/backups/download.js +58 -0
- package/lib/commands/pg/backups/index.d.ts +20 -0
- package/lib/commands/pg/backups/index.js +129 -0
- package/lib/commands/pg/backups/info.d.ts +17 -0
- package/lib/commands/pg/backups/info.js +92 -0
- package/lib/commands/pg/backups/restore.d.ts +19 -0
- package/lib/commands/pg/backups/restore.js +107 -0
- package/lib/commands/pg/backups/schedule.d.ts +21 -0
- package/lib/commands/pg/backups/schedule.js +82 -0
- package/lib/commands/pg/backups/schedules.d.ts +10 -0
- package/lib/commands/pg/backups/schedules.js +31 -0
- package/lib/commands/pg/backups/unschedule.d.ts +13 -0
- package/lib/commands/pg/backups/unschedule.js +44 -0
- package/lib/commands/pg/backups/url.d.ts +13 -0
- package/lib/commands/pg/backups/url.js +41 -0
- package/lib/commands/pg/bloat.d.ts +13 -0
- package/lib/commands/pg/bloat.js +87 -0
- package/lib/commands/pg/blocking.d.ts +13 -0
- package/lib/commands/pg/blocking.js +42 -0
- package/lib/commands/pg/connection-pooling/attach.d.ts +15 -0
- package/lib/commands/pg/connection-pooling/attach.js +41 -0
- package/lib/commands/pg/copy.d.ts +18 -0
- package/lib/commands/pg/copy.js +86 -0
- package/lib/commands/pg/credentials/create.d.ts +14 -0
- package/lib/commands/pg/credentials/create.js +40 -0
- package/lib/commands/pg/credentials/destroy.d.ts +16 -0
- package/lib/commands/pg/credentials/destroy.js +48 -0
- package/lib/commands/pg/credentials/repair-default.d.ts +15 -0
- package/lib/commands/pg/credentials/repair-default.js +39 -0
- package/lib/commands/pg/credentials/rotate.d.ts +16 -0
- package/lib/commands/pg/credentials/rotate.js +82 -0
- package/lib/commands/pg/credentials/url.d.ts +14 -0
- package/lib/commands/pg/credentials/url.js +64 -0
- package/lib/commands/pg/credentials.d.ts +16 -0
- package/lib/commands/pg/credentials.js +61 -0
- package/lib/commands/pg/diagnose.d.ts +18 -0
- package/lib/commands/pg/diagnose.js +109 -0
- package/lib/commands/pg/info.d.ts +14 -0
- package/lib/commands/pg/info.js +92 -0
- package/lib/commands/pg/kill.d.ts +15 -0
- package/lib/commands/pg/kill.js +32 -0
- package/lib/commands/pg/killall.d.ts +13 -0
- package/lib/commands/pg/killall.js +26 -0
- package/lib/commands/pg/links/create.d.ts +15 -0
- package/lib/commands/pg/links/create.js +58 -0
- package/lib/commands/pg/links/destroy.d.ts +16 -0
- package/lib/commands/pg/links/destroy.js +42 -0
- package/lib/commands/pg/links/index.d.ts +13 -0
- package/lib/commands/pg/links/index.js +59 -0
- package/lib/commands/pg/locks.d.ts +15 -0
- package/lib/commands/pg/locks.js +53 -0
- package/lib/commands/pg/maintenance/index.d.ts +13 -0
- package/lib/commands/pg/maintenance/index.js +29 -0
- package/lib/commands/pg/maintenance/run.d.ts +14 -0
- package/lib/commands/pg/maintenance/run.js +37 -0
- package/lib/commands/pg/maintenance/window.d.ts +15 -0
- package/lib/commands/pg/maintenance/window.js +41 -0
- package/lib/commands/pg/outliers.d.ts +19 -0
- package/lib/commands/pg/outliers.js +97 -0
- package/lib/commands/pg/promote.d.ts +14 -0
- package/lib/commands/pg/promote.js +169 -0
- package/lib/commands/pg/ps.d.ts +14 -0
- package/lib/commands/pg/ps.js +52 -0
- package/lib/commands/pg/psql.d.ts +16 -0
- package/lib/commands/pg/psql.js +49 -0
- package/lib/commands/pg/pull.d.ts +18 -0
- package/lib/commands/pg/pull.js +87 -0
- package/lib/commands/pg/push.d.ts +18 -0
- package/lib/commands/pg/push.js +84 -0
- package/lib/commands/pg/reset.d.ts +15 -0
- package/lib/commands/pg/reset.js +44 -0
- package/lib/commands/pg/settings/auto-explain/log-analyze.d.ts +13 -0
- package/lib/commands/pg/settings/auto-explain/log-analyze.js +32 -0
- package/lib/commands/pg/settings/auto-explain/log-buffers.d.ts +13 -0
- package/lib/commands/pg/settings/auto-explain/log-buffers.js +30 -0
- package/lib/commands/pg/settings/auto-explain/log-min-duration.d.ts +16 -0
- package/lib/commands/pg/settings/auto-explain/log-min-duration.js +33 -0
- package/lib/commands/pg/settings/auto-explain/log-nested-statements.d.ts +12 -0
- package/lib/commands/pg/settings/auto-explain/log-nested-statements.js +25 -0
- package/lib/commands/pg/settings/auto-explain/log-triggers.d.ts +13 -0
- package/lib/commands/pg/settings/auto-explain/log-triggers.js +30 -0
- package/lib/commands/pg/settings/auto-explain/log-verbose.d.ts +17 -0
- package/lib/commands/pg/settings/auto-explain/log-verbose.js +33 -0
- package/lib/commands/pg/settings/auto-explain.d.ts +18 -0
- package/lib/commands/pg/settings/auto-explain.js +38 -0
- package/lib/commands/pg/settings/index.d.ts +13 -0
- package/lib/commands/pg/settings/index.js +34 -0
- package/lib/commands/pg/settings/log-connections.d.ts +17 -0
- package/lib/commands/pg/settings/log-connections.js +34 -0
- package/lib/commands/pg/settings/log-lock-waits.d.ts +13 -0
- package/lib/commands/pg/settings/log-lock-waits.js +31 -0
- package/lib/commands/pg/settings/log-min-duration-statement.d.ts +15 -0
- package/lib/commands/pg/settings/log-min-duration-statement.js +33 -0
- package/lib/commands/pg/settings/log-statement.d.ts +12 -0
- package/lib/commands/pg/settings/log-statement.js +30 -0
- package/lib/commands/pg/settings/track-functions.d.ts +12 -0
- package/lib/commands/pg/settings/track-functions.js +29 -0
- package/lib/commands/pg/unfollow.d.ts +14 -0
- package/lib/commands/pg/unfollow.js +40 -0
- package/lib/commands/pg/upgrade.d.ts +15 -0
- package/lib/commands/pg/upgrade.js +58 -0
- package/lib/commands/pg/vacuum-stats.d.ts +13 -0
- package/lib/commands/pg/vacuum-stats.js +65 -0
- package/lib/commands/pg/wait.d.ts +15 -0
- package/lib/commands/pg/wait.js +79 -0
- package/lib/commands/pipelines/add.d.ts +4 -4
- package/lib/commands/pipelines/connect.d.ts +2 -2
- package/lib/commands/pipelines/connect.js +1 -1
- package/lib/commands/pipelines/create.d.ts +5 -5
- package/lib/commands/pipelines/destroy.d.ts +1 -1
- package/lib/commands/pipelines/diff.d.ts +2 -2
- package/lib/commands/pipelines/diff.js +1 -1
- package/lib/commands/pipelines/info.d.ts +1 -1
- package/lib/commands/pipelines/open.d.ts +1 -1
- package/lib/commands/pipelines/promote.d.ts +3 -3
- package/lib/commands/pipelines/remove.d.ts +2 -2
- package/lib/commands/pipelines/rename.d.ts +2 -2
- package/lib/commands/pipelines/setup.d.ts +3 -3
- package/lib/commands/pipelines/transfer.d.ts +3 -3
- package/lib/commands/pipelines/update.d.ts +3 -3
- package/lib/commands/ps/autoscale/disable.d.ts +2 -2
- package/lib/commands/ps/autoscale/enable.d.ts +5 -5
- package/lib/commands/ps/index.d.ts +15 -0
- package/lib/commands/ps/index.js +195 -0
- package/lib/commands/ps/restart.d.ts +17 -0
- package/lib/commands/ps/restart.js +38 -0
- package/lib/commands/ps/scale.d.ts +13 -0
- package/lib/commands/ps/scale.js +108 -0
- package/lib/commands/ps/stop.d.ts +17 -0
- package/lib/commands/ps/stop.js +33 -0
- package/lib/commands/ps/type.d.ts +12 -0
- package/lib/commands/ps/type.js +163 -0
- package/lib/commands/ps/wait.d.ts +4 -4
- package/lib/commands/rake.d.ts +4 -4
- package/lib/commands/redis/cli.d.ts +15 -0
- package/lib/commands/redis/cli.js +204 -0
- package/lib/commands/redis/credentials.d.ts +14 -0
- package/lib/commands/redis/credentials.js +32 -0
- package/lib/commands/redis/info.d.ts +15 -0
- package/lib/commands/redis/info.js +25 -0
- package/lib/commands/redis/keyspace-notifications.d.ts +14 -0
- package/lib/commands/redis/keyspace-notifications.js +47 -0
- package/lib/commands/redis/maintenance.d.ts +16 -0
- package/lib/commands/redis/maintenance.js +63 -0
- package/lib/commands/redis/maxmemory.d.ts +14 -0
- package/lib/commands/redis/maxmemory.js +40 -0
- package/lib/commands/redis/promote.d.ts +13 -0
- package/lib/commands/redis/promote.js +39 -0
- package/lib/commands/redis/stats-reset.d.ts +14 -0
- package/lib/commands/redis/stats-reset.js +36 -0
- package/lib/commands/redis/timeout.d.ts +14 -0
- package/lib/commands/redis/timeout.js +35 -0
- package/lib/commands/redis/upgrade.d.ts +15 -0
- package/lib/commands/redis/upgrade.js +37 -0
- package/lib/commands/redis/wait.d.ts +14 -0
- package/lib/commands/redis/wait.js +60 -0
- package/lib/commands/releases/index.d.ts +14 -0
- package/lib/commands/releases/index.js +124 -0
- package/lib/commands/releases/info.d.ts +15 -0
- package/lib/commands/releases/info.js +56 -0
- package/lib/commands/releases/output.d.ts +13 -0
- package/lib/commands/releases/output.js +37 -0
- package/lib/commands/releases/rollback.d.ts +14 -0
- package/lib/commands/releases/rollback.js +48 -0
- package/lib/commands/reviewapps/disable.d.ts +3 -3
- package/lib/commands/reviewapps/enable.d.ts +3 -3
- package/lib/commands/run/detached.d.ts +7 -8
- package/lib/commands/run/detached.js +16 -20
- package/lib/commands/run/index.d.ts +10 -11
- package/lib/commands/run/index.js +16 -17
- package/lib/commands/run/inside.d.ts +5 -7
- package/lib/commands/run/inside.js +10 -14
- package/lib/commands/sessions/destroy.d.ts +1 -1
- package/lib/commands/spaces/create.d.ts +22 -0
- package/lib/commands/spaces/create.js +73 -0
- package/lib/commands/spaces/destroy.d.ts +14 -0
- package/lib/commands/spaces/destroy.js +49 -0
- package/lib/commands/spaces/drains/get.d.ts +12 -0
- package/lib/commands/spaces/drains/get.js +27 -0
- package/lib/commands/spaces/drains/set.d.ts +14 -0
- package/lib/commands/spaces/drains/set.js +29 -0
- package/lib/commands/spaces/hosts.d.ts +14 -0
- package/lib/commands/spaces/hosts.js +37 -0
- package/lib/commands/spaces/index.d.ts +16 -0
- package/lib/commands/spaces/index.js +55 -0
- package/lib/commands/spaces/info.d.ts +14 -0
- package/lib/commands/spaces/info.js +47 -0
- package/lib/commands/spaces/peerings/accept.d.ts +15 -0
- package/lib/commands/spaces/peerings/accept.js +36 -0
- package/lib/commands/spaces/peerings/destroy.d.ts +15 -0
- package/lib/commands/spaces/peerings/destroy.js +45 -0
- package/lib/commands/spaces/peerings/index.d.ts +13 -0
- package/lib/commands/spaces/peerings/index.js +33 -0
- package/lib/commands/spaces/peerings/info.d.ts +15 -0
- package/lib/commands/spaces/peerings/info.js +59 -0
- package/lib/commands/spaces/ps.d.ts +15 -0
- package/lib/commands/spaces/ps.js +82 -0
- package/lib/commands/spaces/rename.d.ts +11 -0
- package/lib/commands/spaces/rename.js +26 -0
- package/lib/commands/spaces/topology.d.ts +32 -0
- package/lib/commands/spaces/topology.js +89 -0
- package/lib/commands/spaces/transfer.d.ts +11 -0
- package/lib/commands/spaces/transfer.js +35 -0
- package/lib/commands/spaces/trusted-ips/add.d.ts +16 -0
- package/lib/commands/spaces/trusted-ips/add.js +43 -0
- package/lib/commands/spaces/trusted-ips/index.d.ts +15 -0
- package/lib/commands/spaces/trusted-ips/index.js +52 -0
- package/lib/commands/spaces/trusted-ips/remove.d.ts +15 -0
- package/lib/commands/spaces/trusted-ips/remove.js +44 -0
- package/lib/commands/spaces/vpn/config.d.ts +14 -0
- package/lib/commands/spaces/vpn/config.js +54 -0
- package/lib/commands/spaces/vpn/connect.d.ts +15 -0
- package/lib/commands/spaces/vpn/connect.js +48 -0
- package/lib/commands/spaces/vpn/connections.d.ts +17 -0
- package/lib/commands/spaces/vpn/connections.js +57 -0
- package/lib/commands/spaces/vpn/destroy.d.ts +14 -0
- package/lib/commands/spaces/vpn/destroy.js +38 -0
- package/lib/commands/spaces/vpn/info.d.ts +16 -0
- package/lib/commands/spaces/vpn/info.js +82 -0
- package/lib/commands/spaces/vpn/update.d.ts +14 -0
- package/lib/commands/spaces/vpn/update.js +39 -0
- package/lib/commands/spaces/vpn/wait.d.ts +16 -0
- package/lib/commands/spaces/vpn/wait.js +70 -0
- package/lib/commands/spaces/wait.d.ts +17 -0
- package/lib/commands/spaces/wait.js +89 -0
- package/lib/commands/status.js +4 -4
- package/lib/commands/teams/index.d.ts +9 -0
- package/lib/commands/teams/index.js +29 -0
- package/lib/commands/webhooks/add.d.ts +8 -8
- package/lib/commands/webhooks/deliveries/index.d.ts +4 -4
- package/lib/commands/webhooks/deliveries/info.d.ts +4 -4
- package/lib/commands/webhooks/events/index.d.ts +3 -3
- package/lib/commands/webhooks/events/info.d.ts +4 -4
- package/lib/commands/webhooks/index.d.ts +3 -3
- package/lib/commands/webhooks/info.d.ts +4 -4
- package/lib/commands/webhooks/remove.d.ts +4 -4
- package/lib/commands/webhooks/update.d.ts +9 -9
- package/lib/global_telemetry.js +10 -4
- package/lib/hooks/postrun/performance_analytics.js +5 -4
- package/lib/hooks/prerun/analytics.js +3 -0
- package/lib/lib/addons/addons_wait.d.ts +78 -0
- package/lib/lib/addons/addons_wait.js +56 -0
- package/lib/lib/addons/create_addon.d.ts +7 -0
- package/lib/lib/addons/create_addon.js +59 -0
- package/lib/lib/addons/destroy_addon.d.ts +3 -0
- package/lib/lib/addons/destroy_addon.js +48 -0
- package/lib/lib/addons/resolve.d.ts +39 -0
- package/lib/lib/addons/resolve.js +180 -0
- package/lib/lib/addons/util.d.ts +9 -0
- package/lib/lib/addons/util.js +72 -0
- package/lib/lib/apps/app-transfer.d.ts +10 -0
- package/lib/lib/apps/app-transfer.js +35 -0
- package/lib/lib/apps/error_info.d.ts +7 -0
- package/lib/lib/apps/error_info.js +185 -0
- package/lib/lib/autocomplete/base.d.ts +1 -1
- package/lib/lib/autocomplete/completions.d.ts +5 -1
- package/lib/lib/autocomplete/completions.js +6 -1
- package/lib/lib/certs/certificate_details.d.ts +2 -0
- package/lib/lib/certs/certificate_details.js +37 -0
- package/lib/lib/certs/display_table.d.ts +2 -0
- package/lib/lib/certs/display_table.js +51 -0
- package/lib/lib/certs/domains.d.ts +3 -0
- package/lib/lib/certs/domains.js +45 -0
- package/lib/lib/certs/flags.d.ts +7 -0
- package/lib/lib/certs/flags.js +42 -0
- package/lib/lib/certs/format_date.d.ts +1 -0
- package/lib/lib/certs/format_date.js +11 -0
- package/lib/lib/certs/get_cert_and_key.d.ts +9 -0
- package/lib/lib/certs/get_cert_and_key.js +11 -0
- package/lib/lib/ci/git.d.ts +7 -1
- package/lib/lib/ci/git.js +44 -1
- package/lib/lib/ci/interfaces/kolkrabbi.d.ts +1 -1
- package/lib/lib/ci/source.js +3 -3
- package/lib/lib/ci/test-run.js +2 -2
- package/lib/lib/config/quote.js +1 -1
- package/lib/lib/confirmCommand.d.ts +1 -0
- package/lib/lib/confirmCommand.js +23 -0
- package/lib/lib/container/debug.d.ts +2 -0
- package/lib/lib/container/debug.js +5 -0
- package/lib/lib/container/docker_helper.d.ts +24 -0
- package/lib/lib/container/docker_helper.js +168 -0
- package/lib/lib/container/helpers.d.ts +8 -0
- package/lib/lib/container/helpers.js +26 -0
- package/lib/lib/container/streamer.d.ts +1 -0
- package/lib/lib/container/streamer.js +31 -0
- package/lib/lib/domains/domains.d.ts +6 -0
- package/lib/lib/domains/domains.js +104 -0
- package/lib/lib/git/git.d.ts +3 -0
- package/lib/lib/git/git.js +22 -3
- package/lib/lib/local/run-foreman.d.ts +1 -0
- package/lib/lib/local/run-foreman.js +229 -1
- package/lib/lib/members/util.d.ts +3 -0
- package/lib/lib/members/util.js +25 -0
- package/lib/lib/members/utils.d.ts +2 -0
- package/lib/lib/members/utils.js +14 -0
- package/lib/lib/notify.d.ts +1 -0
- package/lib/lib/notify.js +23 -0
- package/lib/lib/orgs/utils.d.ts +5 -0
- package/lib/lib/orgs/utils.js +24 -0
- package/lib/lib/pg/backups.d.ts +17 -0
- package/lib/lib/pg/backups.js +164 -0
- package/lib/lib/pg/bastion.d.ts +29 -0
- package/lib/lib/pg/bastion.js +121 -0
- package/lib/lib/pg/config.d.ts +2 -0
- package/lib/lib/pg/config.js +13 -0
- package/lib/lib/pg/download.d.ts +5 -0
- package/lib/lib/pg/download.js +34 -0
- package/lib/lib/pg/fetcher.d.ts +39 -0
- package/lib/lib/pg/fetcher.js +138 -0
- package/lib/lib/pg/host.d.ts +1 -0
- package/lib/lib/pg/host.js +7 -0
- package/lib/lib/pg/psql.d.ts +48 -0
- package/lib/lib/pg/psql.js +252 -0
- package/lib/lib/pg/push_pull.d.ts +13 -0
- package/lib/lib/pg/push_pull.js +118 -0
- package/lib/lib/pg/setter.d.ts +16 -0
- package/lib/lib/pg/setter.js +65 -0
- package/lib/lib/pg/types.d.ts +230 -0
- package/lib/lib/pg/types.js +2 -0
- package/lib/lib/pg/util.d.ts +36 -0
- package/lib/lib/pg/util.js +183 -0
- package/lib/lib/redis/api.d.ts +65 -0
- package/lib/lib/redis/api.js +122 -0
- package/lib/lib/releases/output.d.ts +1 -0
- package/lib/lib/releases/output.js +14 -0
- package/lib/lib/releases/releases.d.ts +6 -0
- package/lib/lib/releases/releases.js +32 -0
- package/lib/lib/releases/status_helper.d.ts +5 -0
- package/lib/lib/releases/status_helper.js +25 -0
- package/lib/lib/run/dyno.js +2 -2
- package/lib/lib/run/log-displayer.d.ts +1 -1
- package/lib/lib/spaces/format.d.ts +4 -0
- package/lib/lib/spaces/format.js +60 -0
- package/lib/lib/spaces/hosts.d.ts +9 -0
- package/lib/lib/spaces/hosts.js +34 -0
- package/lib/lib/spaces/outbound-rules.d.ts +4 -0
- package/lib/lib/spaces/outbound-rules.js +78 -0
- package/lib/lib/spaces/parsers.d.ts +8 -0
- package/lib/lib/spaces/parsers.js +17 -0
- package/lib/lib/spaces/peering.d.ts +4 -0
- package/lib/lib/spaces/peering.js +53 -0
- package/lib/lib/spaces/spaces.d.ts +4 -0
- package/lib/lib/spaces/spaces.js +37 -0
- package/lib/lib/spaces/vpn-connections.d.ts +2 -0
- package/lib/lib/spaces/vpn-connections.js +22 -0
- package/lib/lib/teamUtils.d.ts +3 -0
- package/lib/lib/teamUtils.js +18 -0
- package/lib/lib/time.d.ts +2 -0
- package/lib/lib/time.js +29 -0
- package/lib/lib/types/app_errors.d.ts +6 -0
- package/lib/lib/types/app_errors.js +2 -0
- package/lib/lib/types/domain.d.ts +61 -0
- package/lib/lib/types/domain.js +5 -0
- package/lib/lib/types/notifications.d.ts +20 -0
- package/lib/lib/types/notifications.js +2 -0
- package/lib/lib/utils/multisort.d.ts +32 -0
- package/lib/lib/utils/multisort.js +66 -0
- package/lib/lib/utils/uuid-validate.d.ts +1 -0
- package/lib/lib/utils/uuid-validate.js +7 -0
- package/lib/user-config.js +2 -2
- package/oclif.manifest.json +12686 -2676
- 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,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 '@
|
|
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 '@
|
|
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,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,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;
|