heroku 11.0.0-alpha.10 → 11.0.0-alpha.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -2
- package/lib/commands/access/add.d.ts +5 -5
- package/lib/commands/access/add.js +13 -13
- package/lib/commands/access/index.d.ts +2 -2
- package/lib/commands/access/index.js +7 -8
- package/lib/commands/access/remove.d.ts +1 -1
- package/lib/commands/access/remove.js +5 -5
- package/lib/commands/access/update.d.ts +5 -5
- package/lib/commands/access/update.js +9 -9
- package/lib/commands/accounts/add.d.ts +1 -1
- package/lib/commands/accounts/add.js +3 -2
- package/lib/commands/accounts/current.js +4 -5
- package/lib/commands/accounts/index.js +2 -1
- package/lib/commands/accounts/remove.d.ts +1 -1
- package/lib/commands/accounts/remove.js +3 -2
- package/lib/commands/accounts/set.d.ts +1 -1
- package/lib/commands/accounts/set.js +3 -2
- package/lib/commands/addons/attach.d.ts +6 -6
- package/lib/commands/addons/attach.js +14 -14
- package/lib/commands/addons/create.d.ts +9 -10
- package/lib/commands/addons/create.js +31 -29
- package/lib/commands/addons/destroy.d.ts +9 -9
- package/lib/commands/addons/destroy.js +19 -19
- package/lib/commands/addons/detach.d.ts +4 -4
- package/lib/commands/addons/detach.js +9 -9
- package/lib/commands/addons/docs.d.ts +5 -5
- package/lib/commands/addons/docs.js +9 -9
- package/lib/commands/addons/index.d.ts +4 -4
- package/lib/commands/addons/index.js +28 -26
- package/lib/commands/addons/info.d.ts +4 -4
- package/lib/commands/addons/info.js +18 -14
- package/lib/commands/addons/open.d.ts +26 -27
- package/lib/commands/addons/open.js +21 -24
- package/lib/commands/addons/rename.d.ts +2 -2
- package/lib/commands/addons/rename.js +6 -6
- package/lib/commands/addons/services.d.ts +1 -1
- package/lib/commands/addons/services.js +5 -4
- package/lib/commands/addons/upgrade.d.ts +10 -11
- package/lib/commands/addons/upgrade.js +74 -70
- package/lib/commands/addons/wait.d.ts +5 -5
- package/lib/commands/addons/wait.js +10 -10
- package/lib/commands/apps/create.d.ts +12 -12
- package/lib/commands/apps/create.js +50 -58
- package/lib/commands/apps/destroy.d.ts +6 -6
- package/lib/commands/apps/destroy.js +10 -10
- package/lib/commands/apps/errors.d.ts +3 -3
- package/lib/commands/apps/errors.js +24 -12
- package/lib/commands/apps/favorites/add.d.ts +1 -1
- package/lib/commands/apps/favorites/add.js +4 -4
- package/lib/commands/apps/favorites/index.d.ts +1 -1
- package/lib/commands/apps/favorites/index.js +4 -4
- package/lib/commands/apps/favorites/remove.d.ts +1 -1
- package/lib/commands/apps/favorites/remove.js +3 -3
- package/lib/commands/apps/index.d.ts +4 -4
- package/lib/commands/apps/index.js +21 -21
- package/lib/commands/apps/info.d.ts +8 -8
- package/lib/commands/apps/info.js +31 -31
- package/lib/commands/apps/join.d.ts +2 -2
- package/lib/commands/apps/join.js +3 -3
- package/lib/commands/apps/leave.d.ts +1 -1
- package/lib/commands/apps/leave.js +3 -3
- package/lib/commands/apps/lock.d.ts +2 -2
- package/lib/commands/apps/lock.js +5 -5
- package/lib/commands/apps/open.d.ts +5 -5
- package/lib/commands/apps/open.js +11 -9
- package/lib/commands/apps/rename.d.ts +6 -6
- package/lib/commands/apps/rename.js +13 -13
- package/lib/commands/apps/stacks/index.d.ts +2 -2
- package/lib/commands/apps/stacks/index.js +5 -6
- package/lib/commands/apps/stacks/set.d.ts +4 -4
- package/lib/commands/apps/stacks/set.js +9 -9
- package/lib/commands/apps/transfer.d.ts +8 -8
- package/lib/commands/apps/transfer.js +33 -32
- package/lib/commands/apps/unlock.d.ts +2 -2
- package/lib/commands/apps/unlock.js +3 -3
- package/lib/commands/auth/2fa/disable.d.ts +1 -1
- package/lib/commands/auth/2fa/disable.js +3 -2
- package/lib/commands/auth/2fa/index.d.ts +1 -1
- package/lib/commands/auth/2fa/index.js +4 -4
- package/lib/commands/auth/login.d.ts +3 -3
- package/lib/commands/auth/login.js +6 -6
- package/lib/commands/auth/logout.js +1 -0
- package/lib/commands/auth/token.js +4 -2
- package/lib/commands/authorizations/create.js +2 -1
- package/lib/commands/authorizations/index.js +3 -4
- package/lib/commands/authorizations/revoke.d.ts +2 -2
- package/lib/commands/authorizations/revoke.js +6 -6
- package/lib/commands/autocomplete/create.d.ts +29 -0
- package/lib/commands/autocomplete/create.js +223 -0
- package/lib/commands/autocomplete/doctor.d.ts +12 -0
- package/lib/commands/autocomplete/doctor.js +111 -0
- package/lib/commands/autocomplete/index.d.ts +12 -0
- package/lib/commands/autocomplete/index.js +65 -0
- package/lib/commands/autocomplete/options.d.ts +25 -0
- package/lib/commands/autocomplete/options.js +208 -0
- package/lib/commands/autocomplete/script.d.ts +10 -0
- package/lib/commands/autocomplete/script.js +20 -0
- package/lib/commands/buildpacks/index.js +2 -3
- package/lib/commands/buildpacks/remove.d.ts +4 -4
- package/lib/commands/buildpacks/remove.js +9 -8
- package/lib/commands/certs/add.d.ts +8 -8
- package/lib/commands/certs/add.js +27 -29
- package/lib/commands/certs/auto/disable.d.ts +2 -2
- package/lib/commands/certs/auto/disable.js +4 -4
- package/lib/commands/certs/auto/enable.d.ts +2 -2
- package/lib/commands/certs/auto/enable.js +8 -9
- package/lib/commands/certs/auto/index.d.ts +2 -2
- package/lib/commands/certs/auto/index.js +16 -17
- package/lib/commands/certs/generate.d.ts +2 -3
- package/lib/commands/certs/generate.js +1 -2
- package/lib/commands/certs/index.d.ts +1 -1
- package/lib/commands/certs/index.js +3 -3
- package/lib/commands/certs/info.d.ts +4 -4
- package/lib/commands/certs/info.js +6 -6
- package/lib/commands/certs/remove.d.ts +3 -3
- package/lib/commands/certs/remove.js +5 -5
- package/lib/commands/certs/update.d.ts +8 -8
- package/lib/commands/certs/update.js +19 -19
- package/lib/commands/ci/config/get.d.ts +5 -5
- package/lib/commands/ci/config/get.js +8 -8
- package/lib/commands/ci/config/index.d.ts +2 -2
- package/lib/commands/ci/config/index.js +8 -9
- package/lib/commands/ci/config/set.d.ts +2 -2
- package/lib/commands/ci/config/set.js +10 -10
- package/lib/commands/ci/config/unset.d.ts +3 -3
- package/lib/commands/ci/config/unset.js +6 -5
- package/lib/commands/ci/index.d.ts +2 -2
- package/lib/commands/ci/index.js +5 -4
- package/lib/commands/ci/info.js +3 -2
- package/lib/commands/ci/last.d.ts +1 -1
- package/lib/commands/ci/last.js +4 -3
- package/lib/commands/ci/migrate-manifest.d.ts +1 -1
- package/lib/commands/ci/migrate-manifest.js +4 -4
- package/lib/commands/ci/open.d.ts +2 -2
- package/lib/commands/ci/open.js +4 -3
- package/lib/commands/ci/rerun.d.ts +4 -4
- package/lib/commands/ci/rerun.js +9 -8
- package/lib/commands/ci/run.d.ts +1 -1
- package/lib/commands/ci/run.js +9 -7
- package/lib/commands/clients/create.js +4 -3
- package/lib/commands/clients/destroy.d.ts +1 -1
- package/lib/commands/clients/destroy.js +4 -4
- package/lib/commands/clients/index.js +5 -4
- package/lib/commands/clients/info.d.ts +3 -3
- package/lib/commands/clients/info.js +5 -5
- package/lib/commands/clients/rotate.d.ts +3 -3
- package/lib/commands/clients/rotate.js +5 -6
- package/lib/commands/clients/update.d.ts +3 -3
- package/lib/commands/clients/update.js +5 -5
- package/lib/commands/config/edit.d.ts +5 -5
- package/lib/commands/config/edit.js +21 -22
- package/lib/commands/config/get.d.ts +5 -4
- package/lib/commands/config/get.js +34 -13
- package/lib/commands/config/index.d.ts +1 -1
- package/lib/commands/config/index.js +4 -5
- package/lib/commands/config/set.d.ts +2 -2
- package/lib/commands/config/set.js +17 -18
- package/lib/commands/config/unset.d.ts +1 -1
- package/lib/commands/config/unset.js +12 -11
- package/lib/commands/container/pull.d.ts +4 -4
- package/lib/commands/container/pull.js +12 -12
- package/lib/commands/container/push.d.ts +6 -6
- package/lib/commands/container/push.js +18 -18
- package/lib/commands/container/release.d.ts +4 -4
- package/lib/commands/container/release.js +16 -15
- package/lib/commands/container/rm.d.ts +4 -4
- package/lib/commands/container/rm.js +10 -9
- package/lib/commands/container/run.d.ts +5 -5
- package/lib/commands/container/run.js +14 -14
- package/lib/commands/dashboard.d.ts +1 -1
- package/lib/commands/dashboard.js +19 -20
- package/lib/commands/domains/add.d.ts +5 -5
- package/lib/commands/domains/add.js +17 -18
- package/lib/commands/domains/clear.js +2 -2
- package/lib/commands/domains/index.d.ts +5 -3
- package/lib/commands/domains/index.js +99 -69
- package/lib/commands/domains/info.js +2 -1
- package/lib/commands/domains/remove.d.ts +3 -3
- package/lib/commands/domains/remove.js +5 -5
- package/lib/commands/domains/update.d.ts +4 -4
- package/lib/commands/domains/update.js +8 -8
- package/lib/commands/drains/add.d.ts +3 -3
- package/lib/commands/drains/add.js +7 -7
- package/lib/commands/drains/index.d.ts +1 -1
- package/lib/commands/drains/index.js +5 -6
- package/lib/commands/drains/remove.d.ts +4 -4
- package/lib/commands/drains/remove.js +6 -6
- package/lib/commands/features/disable.d.ts +3 -3
- package/lib/commands/features/disable.js +8 -8
- package/lib/commands/features/enable.d.ts +3 -3
- package/lib/commands/features/enable.js +8 -8
- package/lib/commands/features/index.js +2 -3
- package/lib/commands/features/info.d.ts +4 -4
- package/lib/commands/features/info.js +10 -9
- package/lib/commands/git/clone.d.ts +2 -2
- package/lib/commands/git/clone.js +7 -6
- package/lib/commands/git/remote.js +6 -5
- package/lib/commands/keys/add.d.ts +3 -4
- package/lib/commands/keys/add.js +20 -18
- package/lib/commands/keys/index.js +4 -5
- package/lib/commands/keys/remove.d.ts +2 -2
- package/lib/commands/keys/remove.js +8 -8
- package/lib/commands/labs/disable.d.ts +3 -3
- package/lib/commands/labs/disable.js +13 -13
- package/lib/commands/labs/enable.d.ts +4 -4
- package/lib/commands/labs/enable.js +11 -11
- package/lib/commands/labs/index.d.ts +2 -2
- package/lib/commands/labs/index.js +6 -7
- package/lib/commands/labs/info.d.ts +3 -3
- package/lib/commands/labs/info.js +8 -7
- package/lib/commands/local/index.d.ts +4 -4
- package/lib/commands/local/index.js +21 -21
- package/lib/commands/local/run.d.ts +1 -1
- package/lib/commands/local/run.js +4 -3
- package/lib/commands/logs.d.ts +1 -1
- package/lib/commands/logs.js +22 -21
- package/lib/commands/maintenance/off.d.ts +1 -1
- package/lib/commands/maintenance/off.js +2 -2
- package/lib/commands/maintenance/on.d.ts +1 -1
- package/lib/commands/maintenance/on.js +2 -2
- package/lib/commands/members/index.d.ts +3 -3
- package/lib/commands/members/index.js +18 -13
- package/lib/commands/members/remove.d.ts +1 -1
- package/lib/commands/members/remove.js +6 -6
- package/lib/commands/notifications/index.d.ts +3 -3
- package/lib/commands/notifications/index.js +9 -10
- package/lib/commands/orgs/open.js +2 -2
- package/lib/commands/pg/backups/cancel.d.ts +13 -0
- package/lib/commands/pg/backups/cancel.js +43 -0
- package/lib/commands/pg/backups/capture.d.ts +15 -0
- package/lib/commands/pg/backups/capture.js +62 -0
- package/lib/commands/pg/backups/delete.d.ts +15 -0
- package/lib/commands/pg/backups/delete.js +34 -0
- package/lib/commands/pg/backups/download.d.ts +14 -0
- package/lib/commands/pg/backups/download.js +54 -0
- package/lib/commands/pg/backups/index.d.ts +20 -0
- package/lib/commands/pg/backups/index.js +121 -0
- package/lib/commands/pg/backups/info.d.ts +17 -0
- package/lib/commands/pg/backups/info.js +86 -0
- package/lib/commands/pg/backups/restore.d.ts +20 -0
- package/lib/commands/pg/backups/restore.js +134 -0
- package/lib/commands/pg/backups/schedule.d.ts +21 -0
- package/lib/commands/pg/backups/schedule.js +69 -0
- package/lib/commands/pg/backups/schedules.d.ts +10 -0
- package/lib/commands/pg/backups/schedules.js +27 -0
- package/lib/commands/pg/backups/unschedule.d.ts +13 -0
- package/lib/commands/pg/backups/unschedule.js +42 -0
- package/lib/commands/pg/backups/url.d.ts +13 -0
- package/lib/commands/pg/backups/url.js +37 -0
- package/lib/commands/pg/bloat.d.ts +13 -0
- package/lib/{oldCommands → commands}/pg/bloat.js +23 -30
- 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 +38 -0
- package/lib/commands/pg/copy.d.ts +18 -0
- package/lib/commands/pg/copy.js +83 -0
- package/lib/commands/pg/credentials/create.d.ts +15 -0
- package/lib/commands/pg/credentials/create.js +39 -0
- package/lib/commands/pg/credentials/destroy.d.ts +16 -0
- package/lib/commands/pg/credentials/destroy.js +45 -0
- package/lib/commands/pg/credentials/repair-default.d.ts +15 -0
- package/lib/commands/pg/credentials/repair-default.js +38 -0
- package/lib/commands/pg/credentials/rotate.d.ts +17 -0
- package/lib/commands/pg/credentials/rotate.js +79 -0
- package/lib/commands/pg/credentials/url.d.ts +14 -0
- package/lib/commands/pg/credentials/url.js +61 -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 +106 -0
- package/lib/commands/pg/info.d.ts +14 -0
- package/lib/commands/pg/info.js +91 -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 +24 -0
- package/lib/commands/pg/links/create.d.ts +16 -0
- package/lib/commands/pg/links/create.js +57 -0
- package/lib/commands/pg/links/destroy.d.ts +16 -0
- package/lib/commands/pg/links/destroy.js +40 -0
- package/lib/commands/pg/links/index.d.ts +13 -0
- package/lib/commands/pg/links/index.js +62 -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 +27 -0
- package/lib/commands/pg/maintenance/run.d.ts +14 -0
- package/lib/commands/pg/maintenance/run.js +34 -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 +100 -0
- package/lib/commands/pg/promote.d.ts +14 -0
- package/lib/commands/pg/promote.js +167 -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 +47 -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 +83 -0
- package/lib/commands/pg/reset.d.ts +15 -0
- package/lib/commands/pg/reset.js +43 -0
- package/lib/commands/pg/settings/auto-explain/log-analyze.d.ts +13 -0
- package/lib/commands/pg/settings/auto-explain/log-analyze.js +28 -0
- package/lib/commands/pg/settings/auto-explain/log-buffers.d.ts +13 -0
- package/lib/commands/pg/settings/auto-explain/log-buffers.js +26 -0
- package/lib/commands/pg/settings/auto-explain/log-format.d.ts +12 -0
- package/lib/commands/pg/settings/auto-explain/log-format.js +22 -0
- package/lib/commands/pg/settings/auto-explain/log-min-duration.d.ts +13 -0
- package/lib/commands/pg/settings/auto-explain/log-min-duration.js +29 -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 +20 -0
- package/lib/commands/pg/settings/auto-explain/log-triggers.d.ts +13 -0
- package/lib/commands/pg/settings/auto-explain/log-triggers.js +26 -0
- package/lib/commands/pg/settings/auto-explain/log-verbose.d.ts +17 -0
- package/lib/commands/pg/settings/auto-explain/log-verbose.js +29 -0
- package/lib/commands/pg/settings/auto-explain.d.ts +18 -0
- package/lib/commands/pg/settings/auto-explain.js +34 -0
- package/lib/commands/pg/settings/data-connector-details-logs.d.ts +17 -0
- package/lib/commands/pg/settings/data-connector-details-logs.js +30 -0
- package/lib/commands/pg/settings/index.d.ts +13 -0
- package/lib/commands/pg/settings/index.js +33 -0
- package/lib/commands/pg/settings/log-connections.d.ts +17 -0
- package/lib/commands/pg/settings/log-connections.js +30 -0
- package/lib/commands/pg/settings/log-lock-waits.d.ts +13 -0
- package/lib/commands/pg/settings/log-lock-waits.js +27 -0
- package/lib/commands/pg/settings/log-min-duration-statement.d.ts +12 -0
- package/lib/commands/pg/settings/log-min-duration-statement.js +29 -0
- package/lib/commands/pg/settings/log-min-error-statement.d.ts +12 -0
- package/lib/commands/pg/settings/log-min-error-statement.js +23 -0
- package/lib/commands/pg/settings/log-statement.d.ts +12 -0
- package/lib/commands/pg/settings/log-statement.js +26 -0
- package/lib/commands/pg/settings/track-functions.d.ts +12 -0
- package/lib/commands/pg/settings/track-functions.js +25 -0
- package/lib/commands/pg/unfollow.d.ts +14 -0
- package/lib/commands/pg/unfollow.js +38 -0
- package/lib/commands/pg/upgrade/cancel.d.ts +13 -0
- package/lib/commands/pg/upgrade/cancel.js +50 -0
- package/lib/commands/pg/upgrade/dryrun.d.ts +14 -0
- package/lib/commands/pg/upgrade/dryrun.js +50 -0
- package/lib/commands/pg/upgrade/index.d.ts +15 -0
- package/lib/commands/pg/upgrade/index.js +73 -0
- package/lib/commands/pg/upgrade/prepare.d.ts +14 -0
- package/lib/commands/pg/upgrade/prepare.js +51 -0
- package/lib/commands/pg/upgrade/run.d.ts +16 -0
- package/lib/commands/pg/upgrade/run.js +95 -0
- package/lib/commands/pg/upgrade/wait.d.ts +16 -0
- package/lib/commands/pg/upgrade/wait.js +105 -0
- package/lib/commands/pg/vacuum-stats.d.ts +13 -0
- package/lib/{oldCommands → commands}/pg/vacuum-stats.js +25 -29
- package/lib/commands/pg/wait.d.ts +15 -0
- package/lib/commands/pg/wait.js +79 -0
- package/lib/commands/pipelines/add.d.ts +3 -3
- package/lib/commands/pipelines/add.js +13 -13
- package/lib/commands/pipelines/connect.js +2 -1
- package/lib/commands/pipelines/create.d.ts +3 -3
- package/lib/commands/pipelines/create.js +20 -20
- package/lib/commands/pipelines/destroy.d.ts +2 -2
- package/lib/commands/pipelines/destroy.js +5 -5
- package/lib/commands/pipelines/diff.d.ts +3 -3
- package/lib/commands/pipelines/diff.js +12 -13
- package/lib/commands/pipelines/index.js +3 -3
- package/lib/commands/pipelines/info.d.ts +3 -3
- package/lib/commands/pipelines/info.js +10 -9
- package/lib/commands/pipelines/open.d.ts +9 -0
- package/lib/commands/pipelines/open.js +19 -0
- package/lib/commands/pipelines/promote.d.ts +12 -0
- package/lib/commands/pipelines/promote.js +209 -0
- package/lib/commands/pipelines/remove.d.ts +10 -0
- package/lib/commands/pipelines/remove.js +20 -0
- package/lib/commands/pipelines/rename.d.ts +10 -0
- package/lib/commands/pipelines/rename.js +34 -0
- package/lib/commands/pipelines/setup.d.ts +16 -0
- package/lib/commands/pipelines/setup.js +88 -0
- package/lib/commands/pipelines/transfer.d.ts +13 -0
- package/lib/commands/pipelines/transfer.js +60 -0
- package/lib/commands/pipelines/update.d.ts +11 -0
- package/lib/commands/pipelines/update.js +29 -0
- package/lib/commands/prompt.d.ts +1 -1
- package/lib/commands/prompt.js +4 -3
- package/lib/commands/ps/autoscale/disable.d.ts +10 -0
- package/lib/commands/ps/autoscale/disable.js +33 -0
- package/lib/commands/ps/autoscale/enable.d.ts +14 -0
- package/lib/commands/ps/autoscale/enable.js +84 -0
- package/lib/commands/ps/index.d.ts +15 -0
- package/lib/commands/ps/index.js +199 -0
- package/lib/commands/ps/restart.d.ts +18 -0
- package/lib/commands/ps/restart.js +68 -0
- package/lib/commands/ps/scale.d.ts +13 -0
- package/lib/commands/ps/scale.js +81 -0
- package/lib/commands/ps/stop.d.ts +18 -0
- package/lib/commands/ps/stop.js +62 -0
- package/lib/commands/ps/type.d.ts +12 -0
- package/lib/commands/ps/type.js +168 -0
- package/lib/commands/ps/wait.d.ts +13 -0
- package/lib/commands/ps/wait.js +73 -0
- package/lib/commands/regions.d.ts +2 -2
- package/lib/commands/regions.js +6 -5
- package/lib/commands/releases/index.d.ts +14 -0
- package/lib/commands/releases/index.js +155 -0
- package/lib/commands/releases/info.d.ts +15 -0
- package/lib/commands/releases/info.js +75 -0
- package/lib/commands/releases/output.d.ts +13 -0
- package/lib/commands/releases/output.js +33 -0
- package/lib/commands/releases/retry.d.ts +11 -0
- package/lib/commands/releases/retry.js +46 -0
- package/lib/commands/releases/rollback.d.ts +14 -0
- package/lib/commands/releases/rollback.js +54 -0
- package/lib/commands/repl.d.ts +1 -1
- package/lib/commands/repl.js +3 -2
- package/lib/commands/reviewapps/disable.d.ts +3 -3
- package/lib/commands/reviewapps/disable.js +11 -10
- package/lib/commands/reviewapps/enable.d.ts +2 -2
- package/lib/commands/reviewapps/enable.js +9 -8
- package/lib/commands/run/detached.d.ts +16 -0
- package/lib/commands/run/detached.js +54 -0
- package/lib/commands/run/index.d.ts +19 -0
- package/lib/commands/run/index.js +69 -0
- package/lib/commands/run/inside.d.ts +18 -0
- package/lib/commands/run/inside.js +77 -0
- package/lib/commands/sessions/destroy.d.ts +1 -1
- package/lib/commands/sessions/destroy.js +4 -4
- package/lib/commands/sessions/index.js +2 -3
- package/lib/commands/spaces/create.d.ts +23 -0
- package/lib/commands/spaces/create.js +87 -0
- package/lib/commands/spaces/destroy.d.ts +14 -0
- package/lib/commands/spaces/destroy.js +61 -0
- package/lib/commands/spaces/drains/get.d.ts +11 -0
- package/lib/commands/spaces/drains/get.js +23 -0
- package/lib/commands/spaces/drains/set.d.ts +13 -0
- package/lib/commands/spaces/drains/set.js +25 -0
- package/lib/commands/spaces/hosts.d.ts +14 -0
- package/lib/commands/spaces/hosts.js +35 -0
- package/lib/commands/spaces/index.d.ts +16 -0
- package/lib/commands/spaces/index.js +65 -0
- package/lib/commands/spaces/info.d.ts +14 -0
- package/lib/commands/spaces/info.js +48 -0
- package/lib/commands/spaces/peerings/accept.d.ts +15 -0
- package/lib/commands/spaces/peerings/accept.js +33 -0
- package/lib/commands/spaces/peerings/destroy.d.ts +15 -0
- package/lib/commands/spaces/peerings/destroy.js +43 -0
- package/lib/commands/spaces/peerings/index.d.ts +13 -0
- package/lib/commands/spaces/peerings/index.js +31 -0
- package/lib/commands/spaces/peerings/info.d.ts +15 -0
- package/lib/{oldCommands → commands}/spaces/peerings/info.js +32 -40
- package/lib/commands/spaces/ps.d.ts +15 -0
- package/lib/commands/spaces/ps.js +77 -0
- package/lib/commands/spaces/rename.d.ts +11 -0
- package/lib/commands/spaces/rename.js +24 -0
- package/lib/commands/spaces/topology.d.ts +18 -0
- package/lib/commands/spaces/topology.js +87 -0
- package/lib/commands/spaces/transfer.d.ts +11 -0
- package/lib/commands/spaces/transfer.js +33 -0
- package/lib/commands/spaces/trusted-ips/add.d.ts +16 -0
- package/lib/commands/spaces/trusted-ips/add.js +49 -0
- package/lib/commands/spaces/trusted-ips/index.d.ts +15 -0
- package/lib/commands/spaces/trusted-ips/index.js +59 -0
- package/lib/commands/spaces/trusted-ips/remove.d.ts +15 -0
- package/lib/commands/spaces/trusted-ips/remove.js +51 -0
- package/lib/commands/spaces/vpn/config.d.ts +14 -0
- package/lib/commands/spaces/vpn/config.js +53 -0
- package/lib/commands/spaces/vpn/connect.d.ts +15 -0
- package/lib/commands/spaces/vpn/connect.js +46 -0
- package/lib/commands/spaces/vpn/connections.d.ts +17 -0
- package/lib/commands/spaces/vpn/connections.js +55 -0
- package/lib/commands/spaces/vpn/destroy.d.ts +14 -0
- package/lib/commands/spaces/vpn/destroy.js +36 -0
- package/lib/commands/spaces/vpn/info.d.ts +16 -0
- package/lib/commands/spaces/vpn/info.js +85 -0
- package/lib/commands/spaces/vpn/update.d.ts +14 -0
- package/lib/commands/spaces/vpn/update.js +36 -0
- package/lib/commands/spaces/vpn/wait.d.ts +16 -0
- package/lib/commands/spaces/vpn/wait.js +69 -0
- package/lib/commands/spaces/wait.d.ts +17 -0
- package/lib/commands/spaces/wait.js +87 -0
- package/lib/commands/status.js +14 -13
- package/lib/commands/teams/index.d.ts +1 -1
- package/lib/commands/teams/index.js +4 -5
- package/lib/commands/telemetry/add.d.ts +6 -5
- package/lib/commands/telemetry/add.js +43 -18
- package/lib/commands/telemetry/index.d.ts +4 -4
- package/lib/commands/telemetry/index.js +19 -17
- package/lib/commands/telemetry/info.d.ts +2 -2
- package/lib/commands/telemetry/info.js +5 -4
- package/lib/commands/telemetry/update.d.ts +3 -3
- package/lib/commands/telemetry/update.js +8 -9
- package/lib/commands/usage/addons.d.ts +2 -2
- package/lib/commands/usage/addons.js +17 -18
- package/lib/global_telemetry.d.ts +2 -2
- package/lib/global_telemetry.js +34 -36
- package/lib/lib/addons/addons_wait.d.ts +1 -1
- package/lib/lib/addons/addons_wait.js +2 -2
- package/lib/lib/addons/create_addon.d.ts +5 -3
- package/lib/lib/addons/create_addon.js +12 -9
- package/lib/lib/addons/destroy_addon.js +17 -9
- package/lib/lib/addons/resolve.d.ts +10 -11
- package/lib/lib/addons/resolve.js +19 -18
- package/lib/lib/addons/util.d.ts +2 -2
- package/lib/lib/addons/util.js +21 -14
- package/lib/lib/api.d.ts +1 -1
- package/lib/lib/api.js +19 -23
- package/lib/lib/apps/app-transfer.d.ts +3 -3
- package/lib/lib/apps/app-transfer.js +11 -11
- package/lib/lib/autocomplete/base.d.ts +11 -1
- package/lib/lib/autocomplete/base.js +33 -49
- package/lib/lib/autocomplete/cache.js +9 -7
- package/lib/lib/autocomplete/completions.d.ts +41 -1
- package/lib/lib/autocomplete/completions.js +258 -290
- package/lib/lib/buildpacks/buildpacks.d.ts +11 -11
- package/lib/lib/buildpacks/buildpacks.js +71 -71
- package/lib/lib/certs/certificate_details.js +3 -4
- package/lib/lib/certs/flags.d.ts +2 -2
- package/lib/lib/certs/flags.js +5 -8
- package/lib/lib/certs/get_cert_and_key.js +2 -2
- package/lib/lib/ci/git.d.ts +12 -2
- package/lib/lib/ci/git.js +20 -6
- package/lib/lib/ci/pipelines.d.ts +5 -5
- package/lib/lib/ci/pipelines.js +17 -17
- package/lib/lib/ci/source.d.ts +8 -0
- package/lib/lib/ci/source.js +22 -10
- package/lib/lib/ci/test-run.js +18 -15
- package/lib/lib/config/quote.js +4 -4
- package/lib/lib/config/util.d.ts +3 -0
- package/lib/lib/config/util.js +5 -0
- package/lib/lib/confirmCommand.js +6 -7
- package/lib/lib/container/docker_helper.d.ts +12 -12
- package/lib/lib/container/docker_helper.js +71 -74
- package/lib/lib/container/helpers.js +2 -2
- package/lib/lib/container/streamer.js +4 -4
- package/lib/lib/data/baseCommand.d.ts +4 -0
- package/lib/lib/data/baseCommand.js +15 -0
- package/lib/lib/data/createPool.d.ts +4 -0
- package/lib/lib/data/createPool.js +6 -0
- package/lib/lib/data/credentialUtils.d.ts +3 -0
- package/lib/lib/data/credentialUtils.js +23 -0
- package/lib/lib/data/displayQuota.d.ts +19 -0
- package/lib/lib/data/displayQuota.js +59 -0
- package/lib/lib/data/parseProvisionOpts.d.ts +15 -0
- package/lib/lib/data/parseProvisionOpts.js +31 -0
- package/lib/lib/data/types.d.ts +177 -0
- package/lib/lib/data/types.js +3 -0
- package/lib/lib/data-scrubber/patterns.d.ts +4 -0
- package/lib/lib/data-scrubber/patterns.js +13 -0
- package/lib/lib/data-scrubber/presets.d.ts +64 -0
- package/lib/lib/data-scrubber/presets.js +112 -0
- package/lib/lib/data-scrubber/scrubber.d.ts +131 -0
- package/lib/lib/data-scrubber/scrubber.js +256 -0
- package/lib/lib/data-scrubber/types.d.ts +169 -0
- package/lib/lib/domains/domains.js +10 -10
- package/lib/lib/domains/wait-for-domain.js +2 -3
- package/lib/lib/local/env-file-validator.js +2 -2
- package/lib/lib/local/fork-foreman.js +3 -2
- package/lib/lib/members/util.js +7 -7
- package/lib/lib/orgs/utils.js +2 -3
- package/lib/lib/pg/backups.d.ts +17 -1
- package/lib/lib/pg/backups.js +132 -156
- package/lib/lib/pg/download.js +7 -7
- package/lib/lib/pg/fetcher.d.ts +3 -1
- package/lib/lib/pg/fetcher.js +3 -162
- package/lib/lib/pg/psql.d.ts +17 -1
- package/lib/lib/pg/psql.js +59 -269
- package/lib/lib/pg/push_pull.d.ts +12 -0
- package/lib/lib/pg/push_pull.js +97 -119
- package/lib/lib/pg/setter.d.ts +16 -1
- package/lib/lib/pg/setter.js +61 -73
- package/lib/lib/pg/types.d.ts +10 -15
- package/lib/lib/pg/util.d.ts +8 -1
- package/lib/lib/pg/util.js +97 -211
- package/lib/lib/pipelines/disambiguate.js +9 -11
- package/lib/lib/pipelines/ownership.d.ts +1 -1
- package/lib/lib/pipelines/ownership.js +6 -12
- package/lib/lib/pipelines/render-pipeline.d.ts +2 -2
- package/lib/lib/pipelines/render-pipeline.js +10 -9
- package/lib/lib/pipelines/setup/create-apps.js +7 -9
- package/lib/lib/pipelines/setup/get-ci-settings.js +2 -2
- package/lib/lib/pipelines/setup/get-github-token.js +1 -3
- package/lib/lib/pipelines/setup/get-name-and-repo.js +27 -22
- package/lib/lib/pipelines/setup/get-settings.js +12 -12
- package/lib/lib/pipelines/setup/poll-app-setups.js +3 -5
- package/lib/lib/pipelines/setup/setup-pipeline.js +1 -3
- package/lib/lib/pipelines/setup/validate.d.ts +1 -1
- package/lib/lib/pipelines/setup/validate.js +2 -2
- package/lib/lib/pipelines/stages.d.ts +2 -2
- package/lib/lib/pipelines/stages.js +4 -4
- package/lib/lib/redis/api.d.ts +22 -22
- package/lib/lib/redis/api.js +62 -67
- package/lib/lib/releases/output.js +1 -1
- package/lib/lib/releases/status_helper.d.ts +1 -1
- package/lib/lib/releases/status_helper.js +16 -8
- package/lib/lib/run/colorize.js +73 -40
- package/lib/lib/run/dyno.d.ts +19 -19
- package/lib/lib/run/dyno.js +181 -174
- package/lib/lib/run/helpers.d.ts +25 -0
- package/lib/lib/run/helpers.js +119 -3
- package/lib/lib/run/log-displayer.d.ts +3 -3
- package/lib/lib/run/log-displayer.js +21 -21
- package/lib/lib/spaces/format.js +36 -23
- package/lib/lib/spaces/hosts.d.ts +9 -1
- package/lib/lib/spaces/hosts.js +28 -41
- package/lib/lib/spaces/peering.d.ts +4 -1
- package/lib/lib/spaces/peering.js +45 -52
- package/lib/lib/spaces/spaces.d.ts +6 -1
- package/lib/lib/spaces/spaces.js +30 -39
- package/lib/lib/spaces/vpn-connections.js +16 -16
- package/lib/lib/telemetry/util.d.ts +1 -1
- package/lib/lib/telemetry/util.js +3 -3
- package/lib/lib/types/completion.d.ts +15 -0
- package/lib/lib/utils/packageParser.js +2 -2
- package/lib/lib/utils/uuid-validate.js +1 -3
- package/lib/lib/webhooks/base.d.ts +2 -2
- package/lib/lib/webhooks/base.js +3 -3
- package/lib/nls-data.d.ts +10 -0
- package/lib/nls-data.js +10 -0
- package/lib/nls.d.ts +1 -1
- package/lib/nls.js +1 -1
- package/npm-shrinkwrap.json +17653 -18259
- package/oclif.manifest.json +8433 -2271
- package/package.json +26 -237
- package/lib/lib/pg/bastion.js +0 -137
- package/lib/lib/pg/config.d.ts +0 -2
- package/lib/lib/pg/config.js +0 -9
- package/lib/lib/pg/host.d.ts +0 -1
- package/lib/lib/pg/host.js +0 -3
- package/lib/lib/spaces/outbound-rules.js +0 -85
- package/lib/oldCommands/autocomplete/create.d.ts +0 -1
- package/lib/oldCommands/autocomplete/create.js +0 -254
- package/lib/oldCommands/autocomplete/doctor.d.ts +0 -1
- package/lib/oldCommands/autocomplete/doctor.js +0 -110
- package/lib/oldCommands/autocomplete/index.d.ts +0 -1
- package/lib/oldCommands/autocomplete/index.js +0 -80
- package/lib/oldCommands/autocomplete/options.d.ts +0 -1
- package/lib/oldCommands/autocomplete/options.js +0 -240
- package/lib/oldCommands/autocomplete/script.d.ts +0 -1
- package/lib/oldCommands/autocomplete/script.js +0 -35
- package/lib/oldCommands/pg/backups/cancel.d.ts +0 -1
- package/lib/oldCommands/pg/backups/cancel.js +0 -56
- package/lib/oldCommands/pg/backups/capture.d.ts +0 -1
- package/lib/oldCommands/pg/backups/capture.js +0 -77
- package/lib/oldCommands/pg/backups/delete.d.ts +0 -1
- package/lib/oldCommands/pg/backups/delete.js +0 -45
- package/lib/oldCommands/pg/backups/download.d.ts +0 -1
- package/lib/oldCommands/pg/backups/download.js +0 -64
- package/lib/oldCommands/pg/backups/index.d.ts +0 -1
- package/lib/oldCommands/pg/backups/index.js +0 -141
- package/lib/oldCommands/pg/backups/info.d.ts +0 -1
- package/lib/oldCommands/pg/backups/info.js +0 -102
- package/lib/oldCommands/pg/backups/restore.d.ts +0 -1
- package/lib/oldCommands/pg/backups/restore.js +0 -150
- package/lib/oldCommands/pg/backups/schedule.d.ts +0 -1
- package/lib/oldCommands/pg/backups/schedule.js +0 -107
- package/lib/oldCommands/pg/backups/schedules.d.ts +0 -1
- package/lib/oldCommands/pg/backups/schedules.js +0 -34
- package/lib/oldCommands/pg/backups/unschedule.d.ts +0 -1
- package/lib/oldCommands/pg/backups/unschedule.js +0 -60
- package/lib/oldCommands/pg/backups/url.d.ts +0 -1
- package/lib/oldCommands/pg/backups/url.js +0 -46
- package/lib/oldCommands/pg/bloat.d.ts +0 -1
- package/lib/oldCommands/pg/blocking.d.ts +0 -1
- package/lib/oldCommands/pg/blocking.js +0 -48
- package/lib/oldCommands/pg/connection-pooling/attach.d.ts +0 -1
- package/lib/oldCommands/pg/connection-pooling/attach.js +0 -53
- package/lib/oldCommands/pg/copy.d.ts +0 -1
- package/lib/oldCommands/pg/copy.js +0 -104
- package/lib/oldCommands/pg/credentials/create.d.ts +0 -1
- package/lib/oldCommands/pg/credentials/create.js +0 -47
- package/lib/oldCommands/pg/credentials/destroy.d.ts +0 -1
- package/lib/oldCommands/pg/credentials/destroy.js +0 -56
- package/lib/oldCommands/pg/credentials/repair-default.d.ts +0 -1
- package/lib/oldCommands/pg/credentials/repair-default.js +0 -43
- package/lib/oldCommands/pg/credentials/rotate.d.ts +0 -1
- package/lib/oldCommands/pg/credentials/rotate.js +0 -97
- package/lib/oldCommands/pg/credentials/url.d.ts +0 -1
- package/lib/oldCommands/pg/credentials/url.js +0 -75
- package/lib/oldCommands/pg/credentials.d.ts +0 -1
- package/lib/oldCommands/pg/credentials.js +0 -77
- package/lib/oldCommands/pg/diagnose.d.ts +0 -1
- package/lib/oldCommands/pg/diagnose.js +0 -136
- package/lib/oldCommands/pg/info.d.ts +0 -1
- package/lib/oldCommands/pg/info.js +0 -110
- package/lib/oldCommands/pg/kill.d.ts +0 -1
- package/lib/oldCommands/pg/kill.js +0 -37
- package/lib/oldCommands/pg/killall.d.ts +0 -1
- package/lib/oldCommands/pg/killall.js +0 -31
- package/lib/oldCommands/pg/links/create.d.ts +0 -1
- package/lib/oldCommands/pg/links/create.js +0 -70
- package/lib/oldCommands/pg/links/destroy.d.ts +0 -1
- package/lib/oldCommands/pg/links/destroy.js +0 -51
- package/lib/oldCommands/pg/links/index.d.ts +0 -1
- package/lib/oldCommands/pg/links/index.js +0 -64
- package/lib/oldCommands/pg/locks.d.ts +0 -1
- package/lib/oldCommands/pg/locks.js +0 -60
- package/lib/oldCommands/pg/maintenance/index.d.ts +0 -1
- package/lib/oldCommands/pg/maintenance/index.js +0 -34
- package/lib/oldCommands/pg/maintenance/run.d.ts +0 -1
- package/lib/oldCommands/pg/maintenance/run.js +0 -44
- package/lib/oldCommands/pg/maintenance/window.d.ts +0 -1
- package/lib/oldCommands/pg/maintenance/window.js +0 -52
- package/lib/oldCommands/pg/outliers.d.ts +0 -1
- package/lib/oldCommands/pg/outliers.js +0 -110
- package/lib/oldCommands/pg/promote.d.ts +0 -1
- package/lib/oldCommands/pg/promote.js +0 -183
- package/lib/oldCommands/pg/ps.d.ts +0 -1
- package/lib/oldCommands/pg/ps.js +0 -56
- package/lib/oldCommands/pg/psql.d.ts +0 -1
- package/lib/oldCommands/pg/psql.js +0 -53
- package/lib/oldCommands/pg/pull.d.ts +0 -1
- package/lib/oldCommands/pg/pull.js +0 -114
- package/lib/oldCommands/pg/push.d.ts +0 -1
- package/lib/oldCommands/pg/push.js +0 -111
- package/lib/oldCommands/pg/reset.d.ts +0 -1
- package/lib/oldCommands/pg/reset.js +0 -49
- package/lib/oldCommands/pg/settings/auto-explain/log-analyze.d.ts +0 -1
- package/lib/oldCommands/pg/settings/auto-explain/log-analyze.js +0 -37
- package/lib/oldCommands/pg/settings/auto-explain/log-buffers.d.ts +0 -1
- package/lib/oldCommands/pg/settings/auto-explain/log-buffers.js +0 -35
- package/lib/oldCommands/pg/settings/auto-explain/log-format.d.ts +0 -1
- package/lib/oldCommands/pg/settings/auto-explain/log-format.js +0 -30
- package/lib/oldCommands/pg/settings/auto-explain/log-min-duration.d.ts +0 -1
- package/lib/oldCommands/pg/settings/auto-explain/log-min-duration.js +0 -39
- package/lib/oldCommands/pg/settings/auto-explain/log-nested-statements.d.ts +0 -1
- package/lib/oldCommands/pg/settings/auto-explain/log-nested-statements.js +0 -30
- package/lib/oldCommands/pg/settings/auto-explain/log-triggers.d.ts +0 -1
- package/lib/oldCommands/pg/settings/auto-explain/log-triggers.js +0 -35
- package/lib/oldCommands/pg/settings/auto-explain/log-verbose.d.ts +0 -1
- package/lib/oldCommands/pg/settings/auto-explain/log-verbose.js +0 -40
- package/lib/oldCommands/pg/settings/auto-explain.d.ts +0 -1
- package/lib/oldCommands/pg/settings/auto-explain.js +0 -45
- package/lib/oldCommands/pg/settings/data-connector-details-logs.d.ts +0 -1
- package/lib/oldCommands/pg/settings/data-connector-details-logs.js +0 -40
- package/lib/oldCommands/pg/settings/index.d.ts +0 -1
- package/lib/oldCommands/pg/settings/index.js +0 -41
- package/lib/oldCommands/pg/settings/log-connections.d.ts +0 -1
- package/lib/oldCommands/pg/settings/log-connections.js +0 -40
- package/lib/oldCommands/pg/settings/log-lock-waits.d.ts +0 -1
- package/lib/oldCommands/pg/settings/log-lock-waits.js +0 -36
- package/lib/oldCommands/pg/settings/log-min-duration-statement.d.ts +0 -1
- package/lib/oldCommands/pg/settings/log-min-duration-statement.js +0 -39
- package/lib/oldCommands/pg/settings/log-min-error-statement.d.ts +0 -1
- package/lib/oldCommands/pg/settings/log-min-error-statement.js +0 -31
- package/lib/oldCommands/pg/settings/log-statement.d.ts +0 -1
- package/lib/oldCommands/pg/settings/log-statement.js +0 -33
- package/lib/oldCommands/pg/settings/track-functions.d.ts +0 -1
- package/lib/oldCommands/pg/settings/track-functions.js +0 -33
- package/lib/oldCommands/pg/unfollow.d.ts +0 -1
- package/lib/oldCommands/pg/unfollow.js +0 -46
- package/lib/oldCommands/pg/upgrade/cancel.d.ts +0 -1
- package/lib/oldCommands/pg/upgrade/cancel.js +0 -62
- package/lib/oldCommands/pg/upgrade/dryrun.d.ts +0 -1
- package/lib/oldCommands/pg/upgrade/dryrun.js +0 -62
- package/lib/oldCommands/pg/upgrade/index.d.ts +0 -1
- package/lib/oldCommands/pg/upgrade/index.js +0 -85
- package/lib/oldCommands/pg/upgrade/prepare.d.ts +0 -1
- package/lib/oldCommands/pg/upgrade/prepare.js +0 -64
- package/lib/oldCommands/pg/upgrade/run.d.ts +0 -1
- package/lib/oldCommands/pg/upgrade/run.js +0 -106
- package/lib/oldCommands/pg/upgrade/wait.d.ts +0 -1
- package/lib/oldCommands/pg/upgrade/wait.js +0 -121
- package/lib/oldCommands/pg/upgrade.d.ts +0 -1
- package/lib/oldCommands/pg/upgrade.js +0 -66
- package/lib/oldCommands/pg/vacuum-stats.d.ts +0 -1
- package/lib/oldCommands/pg/wait.d.ts +0 -1
- package/lib/oldCommands/pg/wait.js +0 -96
- package/lib/oldCommands/pipelines/open.d.ts +0 -1
- package/lib/oldCommands/pipelines/open.js +0 -25
- package/lib/oldCommands/pipelines/promote.d.ts +0 -1
- package/lib/oldCommands/pipelines/promote.js +0 -269
- package/lib/oldCommands/pipelines/remove.d.ts +0 -1
- package/lib/oldCommands/pipelines/remove.js +0 -29
- package/lib/oldCommands/pipelines/rename.d.ts +0 -1
- package/lib/oldCommands/pipelines/rename.js +0 -42
- package/lib/oldCommands/pipelines/setup.d.ts +0 -1
- package/lib/oldCommands/pipelines/setup.js +0 -117
- package/lib/oldCommands/pipelines/transfer.d.ts +0 -1
- package/lib/oldCommands/pipelines/transfer.js +0 -78
- package/lib/oldCommands/pipelines/update.d.ts +0 -1
- package/lib/oldCommands/pipelines/update.js +0 -39
- package/lib/oldCommands/ps/autoscale/disable.d.ts +0 -1
- package/lib/oldCommands/ps/autoscale/disable.js +0 -43
- package/lib/oldCommands/ps/autoscale/enable.d.ts +0 -1
- package/lib/oldCommands/ps/autoscale/enable.js +0 -103
- package/lib/oldCommands/ps/index.d.ts +0 -1
- package/lib/oldCommands/ps/index.js +0 -254
- package/lib/oldCommands/ps/restart.d.ts +0 -1
- package/lib/oldCommands/ps/restart.js +0 -78
- package/lib/oldCommands/ps/scale.d.ts +0 -1
- package/lib/oldCommands/ps/scale.js +0 -95
- package/lib/oldCommands/ps/stop.d.ts +0 -1
- package/lib/oldCommands/ps/stop.js +0 -73
- package/lib/oldCommands/ps/type.d.ts +0 -1
- package/lib/oldCommands/ps/type.js +0 -190
- package/lib/oldCommands/ps/wait.d.ts +0 -1
- package/lib/oldCommands/ps/wait.js +0 -93
- package/lib/oldCommands/releases/index.d.ts +0 -1
- package/lib/oldCommands/releases/index.js +0 -156
- package/lib/oldCommands/releases/info.d.ts +0 -1
- package/lib/oldCommands/releases/info.js +0 -68
- package/lib/oldCommands/releases/output.d.ts +0 -1
- package/lib/oldCommands/releases/output.js +0 -42
- package/lib/oldCommands/releases/retry.d.ts +0 -1
- package/lib/oldCommands/releases/retry.js +0 -59
- package/lib/oldCommands/releases/rollback.d.ts +0 -1
- package/lib/oldCommands/releases/rollback.js +0 -65
- package/lib/oldCommands/run/detached.d.ts +0 -1
- package/lib/oldCommands/run/detached.js +0 -61
- package/lib/oldCommands/run/index.d.ts +0 -1
- package/lib/oldCommands/run/index.js +0 -72
- package/lib/oldCommands/run/inside.d.ts +0 -1
- package/lib/oldCommands/run/inside.js +0 -93
- package/lib/oldCommands/spaces/create.d.ts +0 -1
- package/lib/oldCommands/spaces/create.js +0 -99
- package/lib/oldCommands/spaces/destroy.d.ts +0 -1
- package/lib/oldCommands/spaces/destroy.js +0 -79
- package/lib/oldCommands/spaces/drains/get.d.ts +0 -1
- package/lib/oldCommands/spaces/drains/get.js +0 -33
- package/lib/oldCommands/spaces/drains/set.d.ts +0 -1
- package/lib/oldCommands/spaces/drains/set.js +0 -33
- package/lib/oldCommands/spaces/hosts.d.ts +0 -1
- package/lib/oldCommands/spaces/hosts.js +0 -42
- package/lib/oldCommands/spaces/index.d.ts +0 -1
- package/lib/oldCommands/spaces/index.js +0 -74
- package/lib/oldCommands/spaces/info.d.ts +0 -1
- package/lib/oldCommands/spaces/info.js +0 -59
- package/lib/oldCommands/spaces/peerings/accept.d.ts +0 -1
- package/lib/oldCommands/spaces/peerings/accept.js +0 -41
- package/lib/oldCommands/spaces/peerings/destroy.d.ts +0 -1
- package/lib/oldCommands/spaces/peerings/destroy.js +0 -51
- package/lib/oldCommands/spaces/peerings/index.d.ts +0 -1
- package/lib/oldCommands/spaces/peerings/index.js +0 -39
- package/lib/oldCommands/spaces/peerings/info.d.ts +0 -1
- package/lib/oldCommands/spaces/ps.d.ts +0 -1
- package/lib/oldCommands/spaces/ps.js +0 -97
- package/lib/oldCommands/spaces/rename.d.ts +0 -1
- package/lib/oldCommands/spaces/rename.js +0 -29
- package/lib/oldCommands/spaces/topology.d.ts +0 -1
- package/lib/oldCommands/spaces/topology.js +0 -95
- package/lib/oldCommands/spaces/transfer.d.ts +0 -1
- package/lib/oldCommands/spaces/transfer.js +0 -37
- package/lib/oldCommands/spaces/trusted-ips/add.d.ts +0 -1
- package/lib/oldCommands/spaces/trusted-ips/add.js +0 -48
- package/lib/oldCommands/spaces/trusted-ips/index.d.ts +0 -1
- package/lib/oldCommands/spaces/trusted-ips/index.js +0 -57
- package/lib/oldCommands/spaces/trusted-ips/remove.d.ts +0 -1
- package/lib/oldCommands/spaces/trusted-ips/remove.js +0 -50
- package/lib/oldCommands/spaces/vpn/config.d.ts +0 -1
- package/lib/oldCommands/spaces/vpn/config.js +0 -61
- package/lib/oldCommands/spaces/vpn/connect.d.ts +0 -1
- package/lib/oldCommands/spaces/vpn/connect.js +0 -54
- package/lib/oldCommands/spaces/vpn/connections.d.ts +0 -1
- package/lib/oldCommands/spaces/vpn/connections.js +0 -70
- package/lib/oldCommands/spaces/vpn/destroy.d.ts +0 -1
- package/lib/oldCommands/spaces/vpn/destroy.js +0 -48
- package/lib/oldCommands/spaces/vpn/info.d.ts +0 -1
- package/lib/oldCommands/spaces/vpn/info.js +0 -89
- package/lib/oldCommands/spaces/vpn/update.d.ts +0 -1
- package/lib/oldCommands/spaces/vpn/update.js +0 -46
- package/lib/oldCommands/spaces/vpn/wait.d.ts +0 -1
- package/lib/oldCommands/spaces/vpn/wait.js +0 -80
- package/lib/oldCommands/spaces/wait.d.ts +0 -1
- package/lib/oldCommands/spaces/wait.js +0 -106
- package/lib/package.nls.json +0 -6
- /package/lib/lib/{pg/bastion.d.ts → data-scrubber/types.js} +0 -0
- /package/lib/lib/{spaces/outbound-rules.d.ts → types/completion.js} +0 -0
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
/* eslint-disable complexity */
|
|
3
|
-
/*
|
|
4
|
-
import color from '@heroku-cli/color'
|
|
5
|
-
import {Command, flags} from '@heroku-cli/command'
|
|
6
|
-
import {Args, ux} from '@oclif/core'
|
|
7
|
-
import * as Heroku from '@heroku-cli/schema'
|
|
8
|
-
import heredoc from 'tsheredoc'
|
|
9
|
-
import {getAttachment, getRelease} from '../../lib/pg/fetcher'
|
|
10
|
-
import pgHost from '../../lib/pg/host'
|
|
11
|
-
import {PgStatus, PgDatabase} from '../../lib/pg/types'
|
|
12
|
-
import {nls} from '../../nls'
|
|
13
|
-
|
|
14
|
-
export default class Promote extends Command {
|
|
15
|
-
static topic = 'pg';
|
|
16
|
-
static description = 'sets DATABASE as your DATABASE_URL';
|
|
17
|
-
static flags = {
|
|
18
|
-
force: flags.boolean({char: 'f'}),
|
|
19
|
-
app: flags.app({required: true}),
|
|
20
|
-
remote: flags.remote(),
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
static args = {
|
|
24
|
-
database: Args.string({required: true, description: nls('pg:database:arg:description')}),
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
public async run(): Promise<void> {
|
|
28
|
-
const {flags, args} = await this.parse(Promote)
|
|
29
|
-
const {force, app} = flags
|
|
30
|
-
const {database} = args
|
|
31
|
-
const attachment = await getAttachment(this.heroku, app, database)
|
|
32
|
-
ux.action.start(`Ensuring an alternate alias for existing ${color.green('DATABASE_URL')}`)
|
|
33
|
-
const {body: attachments} = await this.heroku.get<Heroku.AddOnAttachment[]>(`/apps/${app}/addon-attachments`)
|
|
34
|
-
const current = attachments.find(a => a.name === 'DATABASE')
|
|
35
|
-
if (current) {
|
|
36
|
-
// eslint-disable-next-line eqeqeq
|
|
37
|
-
if (current.addon?.name === attachment.addon.name && current.namespace == attachment.namespace) {
|
|
38
|
-
if (attachment.namespace) {
|
|
39
|
-
ux.error(`${color.cyan(attachment.name)} is already promoted on ${color.app(app)}`)
|
|
40
|
-
} else {
|
|
41
|
-
ux.error(`${color.addon(attachment.addon.name)} is already promoted on ${color.app(app)}`)
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
const existing = attachments.filter(a => a.addon?.id === current.addon?.id && a.namespace === current.namespace)
|
|
46
|
-
.find(a => a.name !== 'DATABASE')
|
|
47
|
-
if (existing) {
|
|
48
|
-
ux.action.stop(color.green(existing.name + '_URL'))
|
|
49
|
-
} else {
|
|
50
|
-
// The current add-on occupying the DATABASE attachment has no
|
|
51
|
-
// other attachments. In order to promote this database without
|
|
52
|
-
// error, we can create a secondary attachment, just-in-time.
|
|
53
|
-
const {body: backup} = await this.heroku.post<Heroku.AddOnAttachment>('/addon-attachments', {
|
|
54
|
-
body: {
|
|
55
|
-
app: {name: app},
|
|
56
|
-
addon: {name: current.addon?.name},
|
|
57
|
-
namespace: current.namespace,
|
|
58
|
-
confirm: app,
|
|
59
|
-
},
|
|
60
|
-
})
|
|
61
|
-
ux.action.stop(color.green(backup.name + '_URL'))
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
if (!force) {
|
|
66
|
-
const {body: status} = await this.heroku.get<PgStatus>(`/client/v11/databases/${attachment.addon.id}/wait_status`, {
|
|
67
|
-
hostname: pgHost(),
|
|
68
|
-
})
|
|
69
|
-
if (status['waiting?']) {
|
|
70
|
-
ux.error(heredoc(`
|
|
71
|
-
Database cannot be promoted while in state: ${status.message}
|
|
72
|
-
|
|
73
|
-
Promoting this database can lead to application errors and outage. Please run ${color.cmd('heroku pg:wait')} to wait for database to become available.
|
|
74
|
-
|
|
75
|
-
To ignore this error, you can pass the --force flag to promote the database and risk application issues.
|
|
76
|
-
`))
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
let promotionMessage
|
|
81
|
-
if (attachment.namespace) {
|
|
82
|
-
promotionMessage = `Promoting ${color.cyan(attachment.name)} to ${color.green('DATABASE_URL')} on ${color.app(app)}`
|
|
83
|
-
} else {
|
|
84
|
-
promotionMessage = `Promoting ${color.addon(attachment.addon.name)} to ${color.green('DATABASE_URL')} on ${color.app(app)}`
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
ux.action.start(promotionMessage)
|
|
88
|
-
await this.heroku.post('/addon-attachments', {
|
|
89
|
-
body: {
|
|
90
|
-
name: 'DATABASE',
|
|
91
|
-
app: {name: app},
|
|
92
|
-
addon: {name: attachment.addon.name},
|
|
93
|
-
namespace: attachment.namespace || null,
|
|
94
|
-
confirm: app,
|
|
95
|
-
},
|
|
96
|
-
})
|
|
97
|
-
ux.action.stop()
|
|
98
|
-
const currentPooler = attachments.find(a => a.namespace === 'connection-pooling:default' && a.addon?.id === current?.addon?.id && a.name === 'DATABASE_CONNECTION_POOL')
|
|
99
|
-
if (currentPooler) {
|
|
100
|
-
ux.action.start('Reattaching pooler to new leader')
|
|
101
|
-
await this.heroku.post('/addon-attachments', {
|
|
102
|
-
body: {
|
|
103
|
-
name: currentPooler.name,
|
|
104
|
-
app: {name: app},
|
|
105
|
-
addon: {name: attachment.addon.name},
|
|
106
|
-
namespace: 'connection-pooling:default',
|
|
107
|
-
confirm: app,
|
|
108
|
-
},
|
|
109
|
-
})
|
|
110
|
-
ux.action.stop()
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
const {body: promotedDatabaseDetails} = await this.heroku.get<PgDatabase>(`/client/v11/databases/${attachment.addon.id}`, {
|
|
114
|
-
hostname: pgHost(),
|
|
115
|
-
})
|
|
116
|
-
if (promotedDatabaseDetails.following) {
|
|
117
|
-
const unfollowLeaderCmd = `heroku pg:unfollow ${attachment.addon.name}`
|
|
118
|
-
ux.warn(heredoc(`
|
|
119
|
-
Your database has been promoted but it is currently a follower database in read-only mode.
|
|
120
|
-
|
|
121
|
-
Promoting a database with ${color.cmd('heroku pg:promote')} doesn't automatically unfollow its leader.
|
|
122
|
-
|
|
123
|
-
Use ${color.cmd(unfollowLeaderCmd)} to stop this follower from replicating from its leader (${color.yellow(promotedDatabaseDetails.leader as string)}) and convert it into a writable database.
|
|
124
|
-
`))
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
const {body: formation} = await this.heroku.get<Heroku.Formation[]>(`/apps/${app}/formation`)
|
|
128
|
-
const releasePhase = formation.find(process => process.type === 'release')
|
|
129
|
-
if (releasePhase) {
|
|
130
|
-
ux.action.start('Checking release phase')
|
|
131
|
-
const {body: releases} = await this.heroku.get<Heroku.Release[]>(`/apps/${app}/releases`, {
|
|
132
|
-
partial: true,
|
|
133
|
-
headers: {
|
|
134
|
-
Range: 'version ..; max=5, order=desc',
|
|
135
|
-
},
|
|
136
|
-
})
|
|
137
|
-
|
|
138
|
-
const attach = releases.find(release => release.description?.includes('Attach DATABASE'))
|
|
139
|
-
const detach = releases.find(release => release.description?.includes('Detach DATABASE'))
|
|
140
|
-
if (!attach || !detach) {
|
|
141
|
-
ux.error('Unable to check release phase. Check your Attach DATABASE release for failures.')
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
const endTime = Date.now() + 900000 // 15 minutes from now
|
|
145
|
-
const [attachId, detachId] = [attach?.id as string, detach?.id as string]
|
|
146
|
-
while (true) {
|
|
147
|
-
const attach = await getRelease(this.heroku, app, attachId)
|
|
148
|
-
if (attach && attach.status === 'succeeded') {
|
|
149
|
-
let msg = 'pg:promote succeeded.'
|
|
150
|
-
const detach = await getRelease(this.heroku, app, detachId)
|
|
151
|
-
if (detach && detach.status === 'failed') {
|
|
152
|
-
msg += ` It is safe to ignore the failed ${detach.description} release.`
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
ux.action.stop(msg)
|
|
156
|
-
return
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
if (attach && attach.status === 'failed') {
|
|
160
|
-
let msg = `pg:promote failed because ${attach.description} release was unsuccessful. Your application is currently running `
|
|
161
|
-
const detach = await getRelease(this.heroku, app, detachId)
|
|
162
|
-
if (detach && detach.status === 'succeeded') {
|
|
163
|
-
msg += 'without an attached DATABASE_URL.'
|
|
164
|
-
} else {
|
|
165
|
-
msg += `with ${current?.addon?.name} attached as DATABASE_URL.`
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
msg += ' Check your release phase logs for failure causes.'
|
|
169
|
-
ux.action.stop(msg)
|
|
170
|
-
return
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
if (Date.now() > endTime) {
|
|
174
|
-
ux.action.stop('timeout. Check your Attach DATABASE release for failures.')
|
|
175
|
-
return
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
await new Promise(resolve => setTimeout(resolve, 5000))
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
*/
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/lib/oldCommands/pg/ps.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
/*
|
|
3
|
-
import {Command, flags} from '@heroku-cli/command'
|
|
4
|
-
import {Args} from '@oclif/core'
|
|
5
|
-
import heredoc from 'tsheredoc'
|
|
6
|
-
import {database} from '../../lib/pg/fetcher'
|
|
7
|
-
import {exec} from '../../lib/pg/psql'
|
|
8
|
-
import {nls} from '../../nls'
|
|
9
|
-
|
|
10
|
-
export default class Ps extends Command {
|
|
11
|
-
static topic = 'pg'
|
|
12
|
-
static description = 'view active queries with execution time'
|
|
13
|
-
static flags = {
|
|
14
|
-
verbose: flags.boolean({char: 'v'}),
|
|
15
|
-
app: flags.app({required: true}),
|
|
16
|
-
remote: flags.remote(),
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
static args = {
|
|
20
|
-
database: Args.string({description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}`}),
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
public async run(): Promise<void> {
|
|
24
|
-
const {flags, args} = await this.parse(Ps)
|
|
25
|
-
const {database: databaseName} = args
|
|
26
|
-
const {verbose, app} = flags
|
|
27
|
-
const db = await database(this.heroku, app, databaseName)
|
|
28
|
-
const num = Math.random()
|
|
29
|
-
const waitingMarker = `${num}${num}`
|
|
30
|
-
const waitingQuery = heredoc(`
|
|
31
|
-
SELECT '${num}' || '${num}'
|
|
32
|
-
WHERE EXISTS
|
|
33
|
-
(SELECT 1
|
|
34
|
-
FROM information_schema.columns
|
|
35
|
-
WHERE table_schema = 'pg_catalog'
|
|
36
|
-
AND TABLE_NAME = 'pg_stat_activity'
|
|
37
|
-
AND COLUMN_NAME = 'waiting')
|
|
38
|
-
`)
|
|
39
|
-
const waitingOutput = await exec(db, waitingQuery)
|
|
40
|
-
const waiting = waitingOutput.includes(waitingMarker) ? 'waiting' : 'wait_event IS NOT NULL AS waiting'
|
|
41
|
-
const query = heredoc(`SELECT pid,
|
|
42
|
-
state,
|
|
43
|
-
application_name AS SOURCE,
|
|
44
|
-
usename AS username,
|
|
45
|
-
age(now(), xact_start) AS running_for,
|
|
46
|
-
xact_start AS transaction_start, ${waiting}, query
|
|
47
|
-
FROM pg_stat_activity
|
|
48
|
-
WHERE query <> '<insufficient privilege>' ${verbose ? '' : "AND state <> 'idle'"}
|
|
49
|
-
AND pid <> pg_backend_pid()
|
|
50
|
-
ORDER BY query_start DESC
|
|
51
|
-
`)
|
|
52
|
-
const output = await exec(db, query)
|
|
53
|
-
process.stdout.write(output)
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
*/
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
/*
|
|
3
|
-
import color from '@heroku-cli/color'
|
|
4
|
-
import {Command, flags} from '@heroku-cli/command'
|
|
5
|
-
import {Args} from '@oclif/core'
|
|
6
|
-
import {database} from '../../lib/pg/fetcher'
|
|
7
|
-
import {exec, execFile, interactive} from '../../lib/pg/psql'
|
|
8
|
-
import {nls} from '../../nls'
|
|
9
|
-
|
|
10
|
-
export default class Psql extends Command {
|
|
11
|
-
static description = 'open a psql shell to the database';
|
|
12
|
-
static flags = {
|
|
13
|
-
command: flags.string({char: 'c', description: 'SQL command to run'}),
|
|
14
|
-
file: flags.string({char: 'f', description: 'SQL file to run'}),
|
|
15
|
-
credential: flags.string({description: 'credential to use'}),
|
|
16
|
-
app: flags.app({required: true}),
|
|
17
|
-
remote: flags.remote(),
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
static args = {
|
|
21
|
-
database: Args.string({description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}`}),
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
static aliases = ['psql']
|
|
25
|
-
|
|
26
|
-
public async run(): Promise<void> {
|
|
27
|
-
const {flags, args} = await this.parse(Psql)
|
|
28
|
-
const {app, command, credential, file} = flags
|
|
29
|
-
const namespace = credential ? `credential:${credential}` : undefined
|
|
30
|
-
let db
|
|
31
|
-
try {
|
|
32
|
-
db = await database(this.heroku, app, args.database, namespace)
|
|
33
|
-
} catch (error) {
|
|
34
|
-
if (namespace && error instanceof Error && error.message === "Couldn't find that addon.") {
|
|
35
|
-
throw new Error("Credential doesn't match, make sure credential is attached")
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
throw error
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
console.error(`--> Connecting to ${color.yellow(db.attachment.addon.name)}`)
|
|
42
|
-
if (command) {
|
|
43
|
-
const output = await exec(db, command)
|
|
44
|
-
process.stdout.write(output)
|
|
45
|
-
} else if (file) {
|
|
46
|
-
const output = await execFile(db, file)
|
|
47
|
-
process.stdout.write(output)
|
|
48
|
-
} else {
|
|
49
|
-
await interactive(db)
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
*/
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
/*
|
|
3
|
-
import color from '@heroku-cli/color'
|
|
4
|
-
import {Command, flags} from '@heroku-cli/command'
|
|
5
|
-
import {Args, ux} from '@oclif/core'
|
|
6
|
-
import heredoc from 'tsheredoc'
|
|
7
|
-
import {database} from '../../lib/pg/fetcher'
|
|
8
|
-
import {ConnectionDetails, parsePostgresConnectionString} from '../../lib/pg/util'
|
|
9
|
-
import {
|
|
10
|
-
connArgs,
|
|
11
|
-
maybeTunnel,
|
|
12
|
-
parseExclusions,
|
|
13
|
-
prepare,
|
|
14
|
-
spawnPipe,
|
|
15
|
-
verifyExtensionsMatch,
|
|
16
|
-
} from '../../lib/pg/push_pull'
|
|
17
|
-
import {SpawnOptions, spawn} from 'node:child_process'
|
|
18
|
-
import {nls} from '../../nls'
|
|
19
|
-
const env = process.env
|
|
20
|
-
|
|
21
|
-
export default class Pull extends Command {
|
|
22
|
-
static topic = 'pg'
|
|
23
|
-
static description = heredoc`
|
|
24
|
-
pull Heroku database into local or remote database
|
|
25
|
-
Pull from SOURCE into TARGET.
|
|
26
|
-
|
|
27
|
-
TARGET must be one of:
|
|
28
|
-
* a database name (i.e. on a local PostgreSQL server) => TARGET must not exist and will be created
|
|
29
|
-
* a fully qualified URL to a local PostgreSQL server => TARGET must not exist and will be created
|
|
30
|
-
* a fully qualified URL to a remote PostgreSQL server => TARGET must exist and be empty
|
|
31
|
-
|
|
32
|
-
To delete a local database run ${color.cmd('dropdb TARGET')}.
|
|
33
|
-
To create an empty remote database, run ${color.cmd('createdb')} with connection command-line options (run ${color.cmd('createdb --help')} for details).
|
|
34
|
-
`
|
|
35
|
-
|
|
36
|
-
static examples = [heredoc`
|
|
37
|
-
# pull Heroku DB named postgresql-swimmingly-100 into local DB mylocaldb that must not exist
|
|
38
|
-
$ heroku pg:pull postgresql-swimmingly-100 mylocaldb --app sushi
|
|
39
|
-
`, heredoc`
|
|
40
|
-
# pull Heroku DB named postgresql-swimmingly-100 into empty remote DB at postgres://myhost/mydb
|
|
41
|
-
$ heroku pg:pull postgresql-swimmingly-100 postgres://myhost/mydb --app sushi
|
|
42
|
-
`]
|
|
43
|
-
|
|
44
|
-
static flags = {
|
|
45
|
-
'exclude-table-data': flags.string({description: 'tables for which data should be excluded (use \';\' to split multiple names)', hasValue: true}),
|
|
46
|
-
app: flags.app({required: true}),
|
|
47
|
-
remote: flags.remote(),
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
static args = {
|
|
51
|
-
source: Args.string({required: true, description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}`}),
|
|
52
|
-
target: Args.string({required: true, description: 'PostgreSQL connection string for the target database'}),
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
public async run(): Promise<void> {
|
|
56
|
-
const {flags, args} = await this.parse(Pull)
|
|
57
|
-
const {app, 'exclude-table-data': excludeTableData} = flags
|
|
58
|
-
|
|
59
|
-
const exclusions = parseExclusions(excludeTableData)
|
|
60
|
-
const source = await database(this.heroku, app, args.source)
|
|
61
|
-
const target = parsePostgresConnectionString(args.target)
|
|
62
|
-
|
|
63
|
-
ux.log(`Pulling ${color.cyan(source.attachment.addon.name)} to ${color.addon(args.target)}`)
|
|
64
|
-
await this.pull(source, target, exclusions)
|
|
65
|
-
ux.log('Pulling complete.')
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
protected async pull(
|
|
69
|
-
sourceIn: ConnectionDetails,
|
|
70
|
-
targetIn: ConnectionDetails,
|
|
71
|
-
exclusions: string[]) {
|
|
72
|
-
await prepare(targetIn)
|
|
73
|
-
|
|
74
|
-
const source = await maybeTunnel(sourceIn)
|
|
75
|
-
const target = await maybeTunnel(targetIn)
|
|
76
|
-
const exclude = exclusions.map(function (e) {
|
|
77
|
-
return '--exclude-table-data=' + e
|
|
78
|
-
}).join(' ')
|
|
79
|
-
|
|
80
|
-
const dumpFlags = ['--verbose', '-F', 'c', '-Z', '0', '-N', '_heroku', ...connArgs(source, true)]
|
|
81
|
-
|
|
82
|
-
if (exclude !== '') dumpFlags.push(exclude)
|
|
83
|
-
|
|
84
|
-
const dumpOptions: SpawnOptions & {env: NodeJS.ProcessEnv} = {
|
|
85
|
-
env: {
|
|
86
|
-
PGSSLMODE: 'prefer',
|
|
87
|
-
...env,
|
|
88
|
-
} as {[key: string]: string},
|
|
89
|
-
stdio: ['pipe', 'pipe', 2],
|
|
90
|
-
shell: true,
|
|
91
|
-
}
|
|
92
|
-
if (source.password) dumpOptions.env.PGPASSWORD = source.password
|
|
93
|
-
|
|
94
|
-
const restoreFlags = ['--verbose', '-F', 'c', '--no-acl', '--no-owner', ...connArgs(target)]
|
|
95
|
-
|
|
96
|
-
const restoreOptions: SpawnOptions & {env: NodeJS.ProcessEnv} = {
|
|
97
|
-
env: {...env},
|
|
98
|
-
stdio: ['pipe', 'pipe', 2],
|
|
99
|
-
shell: true,
|
|
100
|
-
}
|
|
101
|
-
if (target.password) restoreOptions.env.PGPASSWORD = target.password
|
|
102
|
-
|
|
103
|
-
const pgDump = spawn('pg_dump', dumpFlags, dumpOptions)
|
|
104
|
-
const pgRestore = spawn('pg_restore', restoreFlags, restoreOptions)
|
|
105
|
-
|
|
106
|
-
await spawnPipe(pgDump, pgRestore)
|
|
107
|
-
|
|
108
|
-
if (source._tunnel) source._tunnel.close()
|
|
109
|
-
if (target._tunnel) target._tunnel.close()
|
|
110
|
-
|
|
111
|
-
await verifyExtensionsMatch(sourceIn, targetIn)
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
*/
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
/*
|
|
3
|
-
import color from '@heroku-cli/color'
|
|
4
|
-
import {Command, flags} from '@heroku-cli/command'
|
|
5
|
-
import {Args, ux} from '@oclif/core'
|
|
6
|
-
import heredoc from 'tsheredoc'
|
|
7
|
-
import {database} from '../../lib/pg/fetcher'
|
|
8
|
-
import {ConnectionDetails, parsePostgresConnectionString} from '../../lib/pg/util'
|
|
9
|
-
import {
|
|
10
|
-
connArgs,
|
|
11
|
-
maybeTunnel,
|
|
12
|
-
parseExclusions,
|
|
13
|
-
prepare,
|
|
14
|
-
spawnPipe,
|
|
15
|
-
verifyExtensionsMatch,
|
|
16
|
-
} from '../../lib/pg/push_pull'
|
|
17
|
-
import {SpawnOptions, spawn} from 'node:child_process'
|
|
18
|
-
import {nls} from '../../nls'
|
|
19
|
-
const env = process.env
|
|
20
|
-
|
|
21
|
-
export default class Push extends Command {
|
|
22
|
-
static topic = 'pg'
|
|
23
|
-
static description = heredoc`
|
|
24
|
-
push local or remote into Heroku database
|
|
25
|
-
Push from SOURCE into TARGET. TARGET must be empty.
|
|
26
|
-
|
|
27
|
-
To empty a Heroku database for push run ${color.cmd('heroku pg:reset')}
|
|
28
|
-
|
|
29
|
-
SOURCE must be either the name of a database existing on your localhost or the
|
|
30
|
-
fully qualified URL of a remote database.
|
|
31
|
-
`
|
|
32
|
-
|
|
33
|
-
static examples = [heredoc`
|
|
34
|
-
# push mylocaldb into a Heroku DB named postgresql-swimmingly-100
|
|
35
|
-
$ heroku pg:push mylocaldb postgresql-swimmingly-100 --app sushi
|
|
36
|
-
`, heredoc`
|
|
37
|
-
# push remote DB at postgres://myhost/mydb into a Heroku DB named postgresql-swimmingly-100
|
|
38
|
-
$ heroku pg:push postgres://myhost/mydb postgresql-swimmingly-100 --app sushi
|
|
39
|
-
`]
|
|
40
|
-
|
|
41
|
-
static flags = {
|
|
42
|
-
'exclude-table-data': flags.string({description: 'tables for which data should be excluded (use \';\' to split multiple names)', hasValue: true}),
|
|
43
|
-
app: flags.app({required: true}),
|
|
44
|
-
remote: flags.remote(),
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
static args = {
|
|
48
|
-
source: Args.string({required: true, description: 'PostgreSQL connection string for the source database'}),
|
|
49
|
-
target: Args.string({required: true, description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}`}),
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
public async run(): Promise<void> {
|
|
53
|
-
const {flags, args} = await this.parse(Push)
|
|
54
|
-
const {app, 'exclude-table-data': excludeTableData} = flags
|
|
55
|
-
|
|
56
|
-
const exclusions = parseExclusions(excludeTableData)
|
|
57
|
-
const source = parsePostgresConnectionString(args.source)
|
|
58
|
-
const target = await database(this.heroku, app, args.target)
|
|
59
|
-
|
|
60
|
-
ux.log(`Pushing ${color.cyan(args.source)} to ${color.addon(target.attachment.addon.name)}`)
|
|
61
|
-
await this.push(source, target, exclusions)
|
|
62
|
-
ux.log('Pushing complete.')
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
protected async push(
|
|
66
|
-
sourceIn: ConnectionDetails,
|
|
67
|
-
targetIn: ConnectionDetails,
|
|
68
|
-
exclusions: string[]) {
|
|
69
|
-
await prepare(targetIn)
|
|
70
|
-
|
|
71
|
-
const source = await maybeTunnel(sourceIn)
|
|
72
|
-
const target = await maybeTunnel(targetIn)
|
|
73
|
-
const exclude = exclusions.map(function (e) {
|
|
74
|
-
return '--exclude-table-data=' + e
|
|
75
|
-
}).join(' ')
|
|
76
|
-
|
|
77
|
-
const dumpFlags = ['--verbose', '-F', 'c', '-Z', '0', '-N', '_heroku', ...connArgs(source, true)]
|
|
78
|
-
|
|
79
|
-
if (exclude !== '') dumpFlags.push(exclude)
|
|
80
|
-
|
|
81
|
-
const dumpOptions: SpawnOptions & {env: NodeJS.ProcessEnv} = {
|
|
82
|
-
env: {
|
|
83
|
-
PGSSLMODE: 'prefer',
|
|
84
|
-
...env,
|
|
85
|
-
} as {[key: string]: string},
|
|
86
|
-
stdio: ['pipe', 'pipe', 2],
|
|
87
|
-
shell: true,
|
|
88
|
-
}
|
|
89
|
-
if (source.password) dumpOptions.env.PGPASSWORD = source.password
|
|
90
|
-
|
|
91
|
-
const restoreFlags = ['--verbose', '-F', 'c', '--no-acl', '--no-owner', ...connArgs(target)]
|
|
92
|
-
|
|
93
|
-
const restoreOptions: SpawnOptions & {env: NodeJS.ProcessEnv} = {
|
|
94
|
-
env: {...env},
|
|
95
|
-
stdio: ['pipe', 'pipe', 2],
|
|
96
|
-
shell: true,
|
|
97
|
-
}
|
|
98
|
-
if (target.password) restoreOptions.env.PGPASSWORD = target.password
|
|
99
|
-
|
|
100
|
-
const pgDump = spawn('pg_dump', dumpFlags, dumpOptions)
|
|
101
|
-
const pgRestore = spawn('pg_restore', restoreFlags, restoreOptions)
|
|
102
|
-
|
|
103
|
-
await spawnPipe(pgDump, pgRestore)
|
|
104
|
-
|
|
105
|
-
if (source._tunnel) source._tunnel.close()
|
|
106
|
-
if (target._tunnel) target._tunnel.close()
|
|
107
|
-
|
|
108
|
-
await verifyExtensionsMatch(sourceIn, targetIn)
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
*/
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
/*
|
|
3
|
-
import color from '@heroku-cli/color'
|
|
4
|
-
import {Command, flags} from '@heroku-cli/command'
|
|
5
|
-
import {Args, ux} from '@oclif/core'
|
|
6
|
-
import confirmCommand from '../../lib/confirmCommand'
|
|
7
|
-
import pgHost from '../../lib/pg/host'
|
|
8
|
-
import {getAddon} from '../../lib/pg/fetcher'
|
|
9
|
-
import heredoc from 'tsheredoc'
|
|
10
|
-
import {nls} from '../../nls'
|
|
11
|
-
|
|
12
|
-
export default class Reset extends Command {
|
|
13
|
-
static topic = 'pg';
|
|
14
|
-
static description = 'delete all data in DATABASE';
|
|
15
|
-
static flags = {
|
|
16
|
-
extensions: flags.string({char: 'e', description: 'comma-separated list of extensions to pre-install in the public schema'}),
|
|
17
|
-
confirm: flags.string({char: 'c'}),
|
|
18
|
-
app: flags.app({required: true}),
|
|
19
|
-
remote: flags.remote(),
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
static args = {
|
|
23
|
-
database: Args.string({description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}`}),
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
public async run(): Promise<void> {
|
|
27
|
-
const {flags, args} = await this.parse(Reset)
|
|
28
|
-
const {app, confirm, extensions} = flags
|
|
29
|
-
const db = await getAddon(this.heroku, app, args.database)
|
|
30
|
-
let extensionsArray
|
|
31
|
-
if (extensions) {
|
|
32
|
-
extensionsArray = extensions.split(',')
|
|
33
|
-
.map(ext => ext.trim()
|
|
34
|
-
.toLowerCase())
|
|
35
|
-
.sort()
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
await confirmCommand(app, confirm, heredoc(`
|
|
39
|
-
Destructive action
|
|
40
|
-
${color.addon(db.name)} will lose all of its data
|
|
41
|
-
`))
|
|
42
|
-
ux.action.start(`Resetting ${color.addon(db.name)}`)
|
|
43
|
-
await this.heroku.put(`/client/v11/databases/${db.id}/reset`, {
|
|
44
|
-
body: {extensions: extensionsArray}, hostname: pgHost(),
|
|
45
|
-
})
|
|
46
|
-
ux.action.stop()
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
*/
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
/*
|
|
3
|
-
import {Args} from '@oclif/core'
|
|
4
|
-
import heredoc from 'tsheredoc'
|
|
5
|
-
import {PGSettingsCommand, booleanConverter, BooleanAsString} from '../../../../lib/pg/setter'
|
|
6
|
-
import {SettingKey, Setting} from '../../../../lib/pg/types'
|
|
7
|
-
import {nls} from '../../../../nls'
|
|
8
|
-
|
|
9
|
-
export default class LogAnalyze extends PGSettingsCommand {
|
|
10
|
-
static topic = 'pg'
|
|
11
|
-
static description = heredoc(`
|
|
12
|
-
Shows actual run times on the execution plan.
|
|
13
|
-
This is equivalent to calling EXPLAIN ANALYZE.
|
|
14
|
-
|
|
15
|
-
WARNING: EXPLAIN ANALYZE will be run on ALL queries, not just logged queries. This can cause significant performance impacts to your database and should be used with caution.
|
|
16
|
-
`)
|
|
17
|
-
|
|
18
|
-
static args = {
|
|
19
|
-
database: Args.string({description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}`}),
|
|
20
|
-
value: Args.string({description: 'boolean indicating if execution plans get logged'}),
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
protected settingKey = 'auto_explain.log_analyze' as SettingKey
|
|
24
|
-
|
|
25
|
-
protected convertValue(val: BooleanAsString): boolean {
|
|
26
|
-
return booleanConverter(val)
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
protected explain(setting: Setting<boolean>) {
|
|
30
|
-
if (setting.value) {
|
|
31
|
-
return 'EXPLAIN ANALYZE execution plans will be logged.'
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
return 'EXPLAIN ANALYZE execution plans will not be logged.'
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
*/
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
/*
|
|
3
|
-
import {Args} from '@oclif/core'
|
|
4
|
-
import heredoc from 'tsheredoc'
|
|
5
|
-
import {BooleanAsString, PGSettingsCommand, booleanConverter} from '../../../../lib/pg/setter'
|
|
6
|
-
import {Setting, SettingKey} from '../../../../lib/pg/types'
|
|
7
|
-
import {nls} from '../../../../nls'
|
|
8
|
-
|
|
9
|
-
export default class LogBuffersWaits extends PGSettingsCommand {
|
|
10
|
-
static topic = 'pg'
|
|
11
|
-
static description = heredoc(`
|
|
12
|
-
Includes buffer usage statistics when execution plans are logged.
|
|
13
|
-
This is equivalent to calling EXPLAIN BUFFERS and can only be used in conjunction with pg:settings:auto-explain:log-analyze turned on.
|
|
14
|
-
`)
|
|
15
|
-
|
|
16
|
-
static args = {
|
|
17
|
-
database: Args.string({description: `${nls('pg:database:arg:description')} ${nls('pg:database:arg:description:default:suffix')}`}),
|
|
18
|
-
value: Args.string({description: 'boolean indicating if the database has buffer statistics enabled'}),
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
protected settingKey: SettingKey = 'auto_explain.log_buffers'
|
|
22
|
-
|
|
23
|
-
protected convertValue(val: BooleanAsString): boolean {
|
|
24
|
-
return booleanConverter(val)
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
protected explain(setting: Setting<boolean>) {
|
|
28
|
-
if (setting.value) {
|
|
29
|
-
return 'Buffer statistics have been enabled for auto_explain.'
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
return 'Buffer statistics have been disabled for auto_explain.'
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
*/
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|