heroku 9.3.3-beta.0 → 9.4.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/lib/commands/access/add.js +1 -1
  2. package/lib/commands/access/index.js +2 -1
  3. package/lib/commands/access/update.js +1 -1
  4. package/lib/commands/addons/attach.js +1 -1
  5. package/lib/commands/addons/create.js +1 -1
  6. package/lib/commands/addons/destroy.js +1 -1
  7. package/lib/commands/addons/detach.js +1 -1
  8. package/lib/commands/addons/docs.js +1 -1
  9. package/lib/commands/addons/info.js +1 -1
  10. package/lib/commands/addons/open.js +1 -1
  11. package/lib/commands/addons/plans.js +1 -1
  12. package/lib/commands/addons/rename.js +2 -2
  13. package/lib/commands/addons/upgrade.js +2 -2
  14. package/lib/commands/addons/wait.js +1 -1
  15. package/lib/commands/apps/open.js +1 -1
  16. package/lib/commands/apps/rename.js +1 -1
  17. package/lib/commands/apps/stacks/set.js +1 -1
  18. package/lib/commands/authorizations/info.js +1 -1
  19. package/lib/commands/authorizations/revoke.js +1 -1
  20. package/lib/commands/authorizations/rotate.js +1 -1
  21. package/lib/commands/authorizations/update.js +1 -1
  22. package/lib/commands/certs/add.js +2 -2
  23. package/lib/commands/certs/generate.js +1 -1
  24. package/lib/commands/certs/update.js +2 -2
  25. package/lib/commands/ci/config/get.js +1 -1
  26. package/lib/commands/ci/info.js +1 -1
  27. package/lib/commands/ci/rerun.js +1 -1
  28. package/lib/commands/clients/create.js +2 -2
  29. package/lib/commands/clients/destroy.js +1 -1
  30. package/lib/commands/clients/info.js +1 -1
  31. package/lib/commands/clients/rotate.js +1 -1
  32. package/lib/commands/clients/update.js +1 -1
  33. package/lib/commands/config/get.js +1 -1
  34. package/lib/commands/domains/add.js +1 -1
  35. package/lib/commands/domains/info.js +1 -1
  36. package/lib/commands/domains/remove.js +1 -1
  37. package/lib/commands/domains/update.js +1 -1
  38. package/lib/commands/domains/wait.js +1 -1
  39. package/lib/commands/drains/add.js +1 -1
  40. package/lib/commands/drains/remove.js +1 -1
  41. package/lib/commands/features/disable.js +1 -1
  42. package/lib/commands/features/enable.js +1 -1
  43. package/lib/commands/features/info.js +1 -1
  44. package/lib/commands/git/credentials.js +1 -1
  45. package/lib/commands/keys/add.js +1 -1
  46. package/lib/commands/keys/remove.js +1 -1
  47. package/lib/commands/labs/disable.js +1 -1
  48. package/lib/commands/labs/enable.js +1 -1
  49. package/lib/commands/labs/info.js +1 -1
  50. package/lib/commands/local/index.js +1 -1
  51. package/lib/commands/members/add.js +1 -1
  52. package/lib/commands/pg/backups/cancel.js +1 -1
  53. package/lib/commands/pg/backups/capture.js +2 -1
  54. package/lib/commands/pg/backups/delete.js +1 -1
  55. package/lib/commands/pg/backups/download.js +1 -1
  56. package/lib/commands/pg/backups/info.js +1 -1
  57. package/lib/commands/pg/backups/restore.d.ts +1 -0
  58. package/lib/commands/pg/backups/restore.js +29 -2
  59. package/lib/commands/pg/backups/schedule.js +2 -1
  60. package/lib/commands/pg/backups/unschedule.js +2 -1
  61. package/lib/commands/pg/backups/url.js +1 -1
  62. package/lib/commands/pg/bloat.js +2 -1
  63. package/lib/commands/pg/blocking.js +2 -1
  64. package/lib/commands/pg/connection-pooling/attach.js +2 -1
  65. package/lib/commands/pg/copy.js +2 -2
  66. package/lib/commands/pg/credentials/create.js +2 -1
  67. package/lib/commands/pg/credentials/destroy.js +2 -1
  68. package/lib/commands/pg/credentials/repair-default.js +2 -1
  69. package/lib/commands/pg/credentials/rotate.js +2 -1
  70. package/lib/commands/pg/credentials/url.js +2 -1
  71. package/lib/commands/pg/credentials.js +2 -1
  72. package/lib/commands/pg/diagnose.js +1 -1
  73. package/lib/commands/pg/info.js +2 -1
  74. package/lib/commands/pg/kill.js +3 -2
  75. package/lib/commands/pg/killall.js +2 -1
  76. package/lib/commands/pg/links/create.js +3 -2
  77. package/lib/commands/pg/links/destroy.js +3 -2
  78. package/lib/commands/pg/links/index.js +2 -1
  79. package/lib/commands/pg/locks.js +2 -1
  80. package/lib/commands/pg/maintenance/index.js +2 -1
  81. package/lib/commands/pg/maintenance/run.js +2 -1
  82. package/lib/commands/pg/maintenance/window.js +3 -2
  83. package/lib/commands/pg/outliers.js +2 -1
  84. package/lib/commands/pg/promote.js +2 -1
  85. package/lib/commands/pg/ps.js +2 -1
  86. package/lib/commands/pg/psql.js +2 -1
  87. package/lib/commands/pg/pull.js +3 -2
  88. package/lib/commands/pg/push.js +4 -3
  89. package/lib/commands/pg/reset.js +2 -1
  90. package/lib/commands/pg/settings/auto-explain/log-analyze.js +3 -2
  91. package/lib/commands/pg/settings/auto-explain/log-buffers.js +3 -2
  92. package/lib/commands/pg/settings/auto-explain/log-format.js +3 -2
  93. package/lib/commands/pg/settings/auto-explain/log-min-duration.js +3 -2
  94. package/lib/commands/pg/settings/auto-explain/log-nested-statements.js +3 -2
  95. package/lib/commands/pg/settings/auto-explain/log-triggers.js +3 -2
  96. package/lib/commands/pg/settings/auto-explain/log-verbose.js +3 -2
  97. package/lib/commands/pg/settings/auto-explain.js +3 -2
  98. package/lib/commands/pg/settings/explain-data-connector-details.js +3 -2
  99. package/lib/commands/pg/settings/index.js +2 -1
  100. package/lib/commands/pg/settings/log-connections.js +3 -2
  101. package/lib/commands/pg/settings/log-lock-waits.js +3 -2
  102. package/lib/commands/pg/settings/log-min-duration-statement.js +3 -2
  103. package/lib/commands/pg/settings/log-min-error-statement.js +2 -1
  104. package/lib/commands/pg/settings/log-statement.js +3 -2
  105. package/lib/commands/pg/settings/track-functions.js +3 -2
  106. package/lib/commands/pg/unfollow.js +2 -1
  107. package/lib/commands/pg/upgrade.js +2 -1
  108. package/lib/commands/pg/vacuum-stats.js +2 -1
  109. package/lib/commands/pg/wait.js +2 -1
  110. package/lib/commands/ps/restart.js +1 -1
  111. package/lib/commands/ps/stop.js +1 -1
  112. package/lib/commands/redis/cli.js +1 -1
  113. package/lib/commands/redis/credentials.js +1 -1
  114. package/lib/commands/redis/info.js +1 -1
  115. package/lib/commands/redis/keyspace-notifications.js +1 -1
  116. package/lib/commands/redis/maintenance.js +1 -1
  117. package/lib/commands/redis/maxmemory.js +1 -1
  118. package/lib/commands/redis/promote.js +1 -1
  119. package/lib/commands/redis/stats-reset.js +1 -1
  120. package/lib/commands/redis/timeout.js +1 -1
  121. package/lib/commands/redis/upgrade.js +1 -1
  122. package/lib/commands/redis/wait.js +1 -1
  123. package/lib/commands/releases/info.js +1 -1
  124. package/lib/commands/releases/output.js +1 -1
  125. package/lib/commands/releases/rollback.js +1 -1
  126. package/lib/commands/sessions/destroy.js +1 -1
  127. package/lib/commands/spaces/drains/set.js +1 -1
  128. package/lib/commands/spaces/trusted-ips/add.js +1 -1
  129. package/lib/commands/spaces/trusted-ips/remove.js +1 -1
  130. package/lib/commands/webhooks/deliveries/info.js +1 -1
  131. package/lib/commands/webhooks/events/info.js +1 -1
  132. package/lib/commands/webhooks/info.js +1 -1
  133. package/lib/commands/webhooks/update.js +1 -1
  134. package/lib/nls.d.ts +8 -0
  135. package/lib/nls.js +14 -0
  136. package/lib/package.nls.json +6 -0
  137. package/oclif.manifest.json +167 -1
  138. package/package.json +2 -2
@@ -51,5 +51,5 @@ AccessAdd.examples = [
51
51
  '$ heroku access:add user@email.com --app APP --permissions deploy,manage,operate # permissions must be comma separated',
52
52
  ];
53
53
  AccessAdd.args = {
54
- email: core_1.Args.string({ required: true }),
54
+ email: core_1.Args.string({ required: true, description: 'email address of the team member' }),
55
55
  };
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const color_1 = require("@heroku-cli/color");
4
4
  const command_1 = require("@heroku-cli/command");
5
+ const api_client_1 = require("@heroku-cli/command/lib/api-client");
5
6
  const core_1 = require("@oclif/core");
6
7
  const _ = require("lodash");
7
8
  const teamUtils_1 = require("../../lib/teamUtils");
@@ -66,7 +67,7 @@ class AccessIndex extends command_1.Command {
66
67
  collaborators = buildCollaboratorsArray(collaborators, admins);
67
68
  }
68
69
  catch (error) {
69
- if (error.statusCode !== 403)
70
+ if (!(error instanceof api_client_1.HerokuAPIError && error.http.statusCode === 403))
70
71
  throw error;
71
72
  }
72
73
  }
@@ -35,5 +35,5 @@ Update.flags = {
35
35
  remote: command_1.flags.remote(),
36
36
  };
37
37
  Update.args = {
38
- email: core_1.Args.string({ required: true }),
38
+ email: core_1.Args.string({ required: true, description: 'email address of the team member' }),
39
39
  };
@@ -47,5 +47,5 @@ Attach.flags = {
47
47
  remote: command_1.flags.remote(),
48
48
  };
49
49
  Attach.args = {
50
- addon_name: core_1.Args.string({ required: true }),
50
+ addon_name: core_1.Args.string({ required: true, description: 'unique identifier or globally unique name of the add-on' }),
51
51
  };
@@ -97,5 +97,5 @@ Create.flags = {
97
97
  remote: command_1.flags.remote(),
98
98
  };
99
99
  Create.args = {
100
- 'service:plan': core_1.Args.string({ required: true }),
100
+ 'service:plan': core_1.Args.string({ required: true, description: 'unique identifier or unique name of the add-on service plan' }),
101
101
  };
@@ -57,5 +57,5 @@ Destroy.flags = {
57
57
  remote: command_1.flags.remote(),
58
58
  };
59
59
  Destroy.args = {
60
- addonName: core_1.Args.string({ required: true }),
60
+ addonName: core_1.Args.string({ required: true, description: 'unique identifier or globally unique name of the add-on' }),
61
61
  };
@@ -27,5 +27,5 @@ Detach.flags = {
27
27
  remote: command_1.flags.remote(),
28
28
  };
29
29
  Detach.args = {
30
- attachment_name: core_1.Args.string({ required: true }),
30
+ attachment_name: core_1.Args.string({ required: true, description: 'unique identifier of the add-on attachment' }),
31
31
  };
@@ -32,5 +32,5 @@ Docs.flags = {
32
32
  remote: command_1.flags.remote(),
33
33
  };
34
34
  Docs.args = {
35
- addon: core_1.Args.string({ required: true }),
35
+ addon: core_1.Args.string({ required: true, description: 'unique identifier or globally unique name of the add-on' }),
36
36
  };
@@ -40,5 +40,5 @@ Info.flags = {
40
40
  };
41
41
  Info.usage = `${topic}:info ADDON`;
42
42
  Info.args = {
43
- addon: core_1.Args.string({ required: true }),
43
+ addon: core_1.Args.string({ required: true, description: 'unique identifier or globally unique name of the add-on' }),
44
44
  };
@@ -83,5 +83,5 @@ Open.flags = {
83
83
  remote: command_1.flags.remote(),
84
84
  };
85
85
  Open.args = {
86
- addon: core_1.Args.string({ required: true }),
86
+ addon: core_1.Args.string({ required: true, description: 'unique identifier or globally unique name of the add-on' }),
87
87
  };
@@ -43,5 +43,5 @@ Plans.flags = {
43
43
  json: command_1.flags.boolean({ description: 'output in json format' }),
44
44
  };
45
45
  Plans.args = {
46
- service: core_1.Args.string({ required: true }),
46
+ service: core_1.Args.string({ required: true, description: 'unique identifier or globally unique name of the add-on' }),
47
47
  };
@@ -15,6 +15,6 @@ exports.default = Rename;
15
15
  Rename.topic = 'addons';
16
16
  Rename.description = 'rename an add-on';
17
17
  Rename.args = {
18
- addon_name: core_1.Args.string({ required: true }),
19
- new_name: core_1.Args.string({ required: true }),
18
+ addon_name: core_1.Args.string({ required: true, description: 'unique identifier or globally unique name of the add-on' }),
19
+ new_name: core_1.Args.string({ required: true, description: 'new globally unique name of the add-on' }),
20
20
  };
@@ -140,6 +140,6 @@ Upgrade.flags = {
140
140
  remote: command_1.flags.remote(),
141
141
  };
142
142
  Upgrade.args = {
143
- addon: core_1.Args.string({ required: true }),
144
- plan: core_1.Args.string(),
143
+ addon: core_1.Args.string({ required: true, description: 'unique identifier or globally unique name of the add-on' }),
144
+ plan: core_1.Args.string({ description: 'unique identifier or name of the plan' }),
145
145
  };
@@ -66,5 +66,5 @@ Wait.flags = {
66
66
  remote: command_1.flags.remote(),
67
67
  };
68
68
  Wait.args = {
69
- addon: core_1.Args.string(),
69
+ addon: core_1.Args.string({ description: 'unique identifier or globally unique name of the add-on' }),
70
70
  };
@@ -26,5 +26,5 @@ AppsOpen.flags = {
26
26
  remote: command_1.flags.remote(),
27
27
  };
28
28
  AppsOpen.args = {
29
- path: core_1.Args.string({ required: false }),
29
+ path: core_1.Args.string({ required: false, description: 'base URL path of app' }),
30
30
  };
@@ -47,5 +47,5 @@ AppsRename.flags = {
47
47
  remote: command_1.flags.remote(),
48
48
  };
49
49
  AppsRename.args = {
50
- newname: core_1.Args.string({ required: true }),
50
+ newname: core_1.Args.string({ required: true, description: 'new unique name of the app' }),
51
51
  };
@@ -37,5 +37,5 @@ Set.flags = {
37
37
  remote: command_1.flags.remote(),
38
38
  };
39
39
  Set.args = {
40
- stack: core_1.Args.string({ required: true }),
40
+ stack: core_1.Args.string({ required: true, description: 'unique name or identifier of the stack' }),
41
41
  };
@@ -21,5 +21,5 @@ AuthorizationsInfo.flags = {
21
21
  json: command_1.flags.boolean({ char: 'j', description: 'output in json format' }),
22
22
  };
23
23
  AuthorizationsInfo.args = {
24
- id: core_1.Args.string({ required: true }),
24
+ id: core_1.Args.string({ required: true, description: 'ID of the authorization' }),
25
25
  };
@@ -18,5 +18,5 @@ AuthorizationsRevoke.examples = [
18
18
  '$ heroku authorizations:revoke 105a7bfa-34c3-476e-873a-b1ac3fdc12fb',
19
19
  ];
20
20
  AuthorizationsRevoke.args = {
21
- id: core_1.Args.string({ required: true }),
21
+ id: core_1.Args.string({ required: true, description: 'ID of the authorization' }),
22
22
  };
@@ -15,5 +15,5 @@ class AuthorizationsRotate extends command_1.Command {
15
15
  exports.default = AuthorizationsRotate;
16
16
  AuthorizationsRotate.description = 'updates an OAuth authorization token';
17
17
  AuthorizationsRotate.args = {
18
- id: core_1.Args.string({ required: true }),
18
+ id: core_1.Args.string({ required: true, description: 'ID of the authorization' }),
19
19
  };
@@ -32,5 +32,5 @@ AuthorizationsUpdate.flags = {
32
32
  'client-secret': command_1.flags.string({ description: 'secret of OAuth client to set', dependsOn: ['client-id'] }),
33
33
  };
34
34
  AuthorizationsUpdate.args = {
35
- id: core_1.Args.string({ required: true }),
35
+ id: core_1.Args.string({ required: true, description: 'ID of the authorization' }),
36
36
  };
@@ -62,8 +62,8 @@ Add.flags = {
62
62
  remote: command_1.flags.remote(),
63
63
  };
64
64
  Add.args = {
65
- CRT: core_1.Args.string({ required: true }),
66
- KEY: core_1.Args.string({ required: true }),
65
+ CRT: core_1.Args.string({ required: true, description: 'absolute path of the certificate file on disk' }),
66
+ KEY: core_1.Args.string({ required: true, description: 'absolute path of the key file on disk' }),
67
67
  };
68
68
  function splitDomains(domains) {
69
69
  return domains.map(domain => {
@@ -107,5 +107,5 @@ Generate.flags = {
107
107
  remote: command_1.flags.remote(),
108
108
  };
109
109
  Generate.args = {
110
- domain: core_1.Args.string({ required: true }),
110
+ domain: core_1.Args.string({ required: true, description: 'domain name to generate' }),
111
111
  };
@@ -43,8 +43,8 @@ Update.flags = {
43
43
  remote: command_1.flags.remote(),
44
44
  };
45
45
  Update.args = {
46
- CRT: core_1.Args.string({ required: true }),
47
- KEY: core_1.Args.string({ required: true }),
46
+ CRT: core_1.Args.string({ required: true, description: 'absolute path of the certificate file on disk' }),
47
+ KEY: core_1.Args.string({ required: true, description: 'absolute path of the key file on disk' }),
48
48
  };
49
49
  Update.examples = [(0, tsheredoc_1.default) `
50
50
  $ heroku certs:update example.com.crt example.com.key
@@ -34,5 +34,5 @@ CiConfigGet.flags = {
34
34
  shell: command_1.flags.boolean({ char: 's', description: 'output config var in shell format' }),
35
35
  };
36
36
  CiConfigGet.args = {
37
- key: core_1.Args.string({ required: true }),
37
+ key: core_1.Args.string({ required: true, description: 'name of the config var key' }),
38
38
  };
@@ -26,5 +26,5 @@ CiInfo.flags = {
26
26
  pipeline: command_1.flags.pipeline({ required: false }),
27
27
  };
28
28
  CiInfo.args = {
29
- 'test-run': core_1.Args.string({ required: true }),
29
+ 'test-run': core_1.Args.string({ required: true, description: 'auto-incremented test run number' }),
30
30
  };
@@ -50,5 +50,5 @@ CiReRun.flags = {
50
50
  pipeline: command_1.flags.pipeline({ required: false }),
51
51
  };
52
52
  CiReRun.args = {
53
- number: core_1.Args.string({ required: false }),
53
+ number: core_1.Args.string({ required: false, description: 'auto-incremented test run number' }),
54
54
  };
@@ -32,6 +32,6 @@ ClientsCreate.flags = {
32
32
  shell: command_1.flags.boolean({ char: 's', description: 'output in shell format' }),
33
33
  };
34
34
  ClientsCreate.args = {
35
- name: core_1.Args.string({ required: true }),
36
- redirect_uri: core_1.Args.string({ required: true }),
35
+ name: core_1.Args.string({ required: true, description: 'name of the OAuth client' }),
36
+ redirect_uri: core_1.Args.string({ required: true, description: 'redirect URL of the OAuth client' }),
37
37
  };
@@ -14,5 +14,5 @@ class ClientsDestroy extends command_1.Command {
14
14
  exports.default = ClientsDestroy;
15
15
  ClientsDestroy.description = 'delete client by ID';
16
16
  ClientsDestroy.args = {
17
- id: core_1.Args.string({ required: true }),
17
+ id: core_1.Args.string({ required: true, description: 'ID of the OAuth client' }),
18
18
  };
@@ -29,5 +29,5 @@ ClientsInfo.flags = {
29
29
  shell: command_1.flags.boolean({ char: 's', description: 'output in shell format' }),
30
30
  };
31
31
  ClientsInfo.args = {
32
- id: core_1.Args.string({ required: true }),
32
+ id: core_1.Args.string({ required: true, description: 'ID of the OAuth client' }),
33
33
  };
@@ -29,5 +29,5 @@ ClientsRotate.flags = {
29
29
  shell: command_1.flags.boolean({ char: 's', description: 'output in shell format' }),
30
30
  };
31
31
  ClientsRotate.args = {
32
- id: core_1.Args.string({ required: true }),
32
+ id: core_1.Args.string({ required: true, description: 'ID of the OAuth client' }),
33
33
  };
@@ -34,5 +34,5 @@ ClientsUpdate.flags = {
34
34
  url: command_1.flags.string({ description: 'change the client redirect URL' }),
35
35
  };
36
36
  ClientsUpdate.args = {
37
- id: core_1.Args.string({ required: true }),
37
+ id: core_1.Args.string({ required: true, description: 'ID of the OAuth client' }),
38
38
  };
@@ -26,7 +26,7 @@ ConfigGet.example = `$ heroku config:get RAILS_ENV
26
26
  production`;
27
27
  ConfigGet.strict = false;
28
28
  ConfigGet.args = {
29
- KEY: core_1.Args.string({ required: true }),
29
+ KEY: core_1.Args.string({ required: true, description: 'key name of the config var value' }),
30
30
  };
31
31
  ConfigGet.flags = {
32
32
  app: command_1.flags.app({ required: true }),
@@ -113,5 +113,5 @@ DomainsAdd.flags = {
113
113
  remote: command_1.flags.remote(),
114
114
  };
115
115
  DomainsAdd.args = {
116
- hostname: core_1.Args.string({ required: true }),
116
+ hostname: core_1.Args.string({ required: true, description: 'unique identifier of the domain or full hostname' }),
117
117
  };
@@ -21,5 +21,5 @@ DomainsInfo.flags = {
21
21
  remote: command_1.flags.remote(),
22
22
  };
23
23
  DomainsInfo.args = {
24
- hostname: core_1.Args.string({ required: true }),
24
+ hostname: core_1.Args.string({ required: true, description: 'unique identifier of the domain or full hostname' }),
25
25
  };
@@ -22,5 +22,5 @@ DomainsRemove.flags = {
22
22
  remote: command_1.flags.remote(),
23
23
  };
24
24
  DomainsRemove.args = {
25
- hostname: core_1.Args.string({ required: true }),
25
+ hostname: core_1.Args.string({ required: true, description: 'unique identifier of the domain or full hostname' }),
26
26
  };
@@ -36,5 +36,5 @@ DomainsUpdate.flags = {
36
36
  }),
37
37
  };
38
38
  DomainsUpdate.args = {
39
- hostname: core_1.Args.string({ required: true }),
39
+ hostname: core_1.Args.string({ required: true, description: 'unique identifier of the domain or full hostname' }),
40
40
  };
@@ -28,5 +28,5 @@ DomainsWait.flags = {
28
28
  remote: command_1.flags.remote(),
29
29
  };
30
30
  DomainsWait.args = {
31
- hostname: core_1.Args.string(),
31
+ hostname: core_1.Args.string({ description: 'unique identifier of the domain or full hostname' }),
32
32
  };
@@ -19,5 +19,5 @@ Add.flags = {
19
19
  remote: command_1.flags.remote(),
20
20
  };
21
21
  Add.args = {
22
- url: core_1.Args.string({ required: true }),
22
+ url: core_1.Args.string({ required: true, description: 'URL of the log drain' }),
23
23
  };
@@ -18,5 +18,5 @@ Remove.flags = {
18
18
  };
19
19
  Remove.example = 'drains:remove [URL|TOKEN]';
20
20
  Remove.args = {
21
- url: core_1.Args.string({ required: true }),
21
+ url: core_1.Args.string({ required: true, description: 'URL of the log drain' }),
22
22
  };
@@ -26,5 +26,5 @@ Disable.flags = {
26
26
  remote: command_1.flags.remote(),
27
27
  };
28
28
  Disable.args = {
29
- feature: core_1.Args.string({ required: true }),
29
+ feature: core_1.Args.string({ required: true, description: 'unique identifier or name of the app feature' }),
30
30
  };
@@ -25,5 +25,5 @@ Enable.flags = {
25
25
  remote: command_1.flags.remote(),
26
26
  };
27
27
  Enable.args = {
28
- feature: core_1.Args.string({ required: true }),
28
+ feature: core_1.Args.string({ required: true, description: 'unique identifier or name of the app feature' }),
29
29
  };
@@ -29,5 +29,5 @@ Info.flags = {
29
29
  json: command_1.flags.boolean({ description: 'output in json format' }),
30
30
  };
31
31
  Info.args = {
32
- feature: core_1.Args.string({ required: true }),
32
+ feature: core_1.Args.string({ required: true, description: 'unique identifier or name of the app feature' }),
33
33
  };
@@ -28,5 +28,5 @@ exports.GitCredentials = GitCredentials;
28
28
  GitCredentials.hidden = true;
29
29
  GitCredentials.description = 'internal command for git-credentials';
30
30
  GitCredentials.args = {
31
- command: core_1.Args.string({ required: true }),
31
+ command: core_1.Args.string({ required: true, description: 'command name of the git credentials' }),
32
32
  };
@@ -97,5 +97,5 @@ Add.flags = {
97
97
  yes: command_1.flags.boolean({ char: 'y', description: 'automatically answer yes for all prompts' }),
98
98
  };
99
99
  Add.args = {
100
- key: core_1.Args.string(),
100
+ key: core_1.Args.string({ description: 'absolute path to the key located on disk. If omitted, we use the default rsa key.' }),
101
101
  };
@@ -25,5 +25,5 @@ Remove.description = 'remove an SSH key from the user';
25
25
  Remove.example = `$ heroku keys:remove email@example.com
26
26
  Removing email@example.com SSH key... done`;
27
27
  Remove.args = {
28
- key: core_1.Args.string({ required: true }),
28
+ key: core_1.Args.string({ required: true, description: 'email address of the user' }),
29
29
  };
@@ -56,7 +56,7 @@ class LabsDisable extends command_1.Command {
56
56
  exports.default = LabsDisable;
57
57
  LabsDisable.description = 'disables an experimental feature';
58
58
  LabsDisable.args = {
59
- feature: core_1.Args.string({ required: true }),
59
+ feature: core_1.Args.string({ required: true, description: 'unique identifier or name of the account feature' }),
60
60
  };
61
61
  LabsDisable.flags = {
62
62
  app: command_1.flags.app(),
@@ -43,5 +43,5 @@ LabsEnable.flags = {
43
43
  remote: command_1.flags.remote(),
44
44
  };
45
45
  LabsEnable.args = {
46
- feature: core_1.Args.string({ required: true }),
46
+ feature: core_1.Args.string({ required: true, description: 'unique identifier or name of the account feature' }),
47
47
  };
@@ -40,7 +40,7 @@ exports.default = LabsInfo;
40
40
  LabsInfo.description = 'show feature info';
41
41
  LabsInfo.topic = 'labs';
42
42
  LabsInfo.args = {
43
- feature: core_1.Args.string({ required: true }),
43
+ feature: core_1.Args.string({ required: true, description: 'unique identifier or name of the account feature' }),
44
44
  };
45
45
  LabsInfo.flags = {
46
46
  app: command_1.flags.app({ required: false }),
@@ -45,7 +45,7 @@ exports.default = Index;
45
45
  Index.description = 'run heroku app locally\nStart the application specified by a Procfile (defaults to ./Procfile)';
46
46
  Index.aliases = ['local:start'];
47
47
  Index.args = {
48
- processname: core_1.Args.string({ required: false }),
48
+ processname: core_1.Args.string({ required: false, description: 'name of the process' }),
49
49
  };
50
50
  Index.examples = [
51
51
  `$ heroku local
@@ -29,5 +29,5 @@ MembersAdd.flags = {
29
29
  team: command_1.flags.team({ required: true }),
30
30
  };
31
31
  MembersAdd.args = {
32
- email: core_1.Args.string({ required: true }),
32
+ email: core_1.Args.string({ required: true, description: 'email address of the team member' }),
33
33
  };
@@ -45,5 +45,5 @@ Cancel.flags = {
45
45
  remote: command_1.flags.remote(),
46
46
  };
47
47
  Cancel.args = {
48
- backup_id: core_1.Args.string(),
48
+ backup_id: core_1.Args.string({ description: 'ID of the backup. If omitted, we use the last unfinished backup ID.' }),
49
49
  };
@@ -7,6 +7,7 @@ const backups_1 = require("../../../lib/pg/backups");
7
7
  const fetcher_1 = require("../../../lib/pg/fetcher");
8
8
  const host_1 = require("../../../lib/pg/host");
9
9
  const tsheredoc_1 = require("tsheredoc");
10
+ const nls_1 = require("../../../nls");
10
11
  class Capture extends command_1.Command {
11
12
  async run() {
12
13
  var _a;
@@ -61,5 +62,5 @@ Capture.flags = {
61
62
  remote: command_1.flags.remote(),
62
63
  };
63
64
  Capture.args = {
64
- database: core_1.Args.string(),
65
+ database: core_1.Args.string({ description: `${(0, nls_1.nls)('pg:database:arg:description')} ${(0, nls_1.nls)('pg:database:arg:description:default:suffix')}` }),
65
66
  };
@@ -31,7 +31,7 @@ Delete.flags = {
31
31
  remote: command_1.flags.remote(),
32
32
  };
33
33
  Delete.args = {
34
- backup_id: core_1.Args.string({ required: true }),
34
+ backup_id: core_1.Args.string({ required: true, description: 'ID of the backup' }),
35
35
  };
36
36
  Delete.examples = [
37
37
  '$ heroku pg:backup:delete --app APP_ID BACKUP_ID',
@@ -54,5 +54,5 @@ Download.flags = {
54
54
  remote: command_1.flags.remote(),
55
55
  };
56
56
  Download.args = {
57
- backup_id: core_1.Args.string(),
57
+ backup_id: core_1.Args.string({ description: 'ID of the backup. If omitted, we use the last backup ID.' }),
58
58
  };
@@ -88,5 +88,5 @@ Info.flags = {
88
88
  remote: command_1.flags.remote(),
89
89
  };
90
90
  Info.args = {
91
- backup_id: core_1.Args.string(),
91
+ backup_id: core_1.Args.string({ description: 'ID of the backup. If omitted, we use the last backup ID.' }),
92
92
  };
@@ -14,6 +14,7 @@ export default class Restore extends Command {
14
14
  backup: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
15
15
  database: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
16
16
  };
17
+ static examples: string[];
17
18
  run(): Promise<void>;
18
19
  protected getSortedExtensions(extensions: string | null | undefined): string[] | undefined;
19
20
  }
@@ -8,6 +8,7 @@ const confirmCommand_1 = require("../../../lib/confirmCommand");
8
8
  const backups_1 = require("../../../lib/pg/backups");
9
9
  const fetcher_1 = require("../../../lib/pg/fetcher");
10
10
  const host_1 = require("../../../lib/pg/host");
11
+ const nls_1 = require("../../../nls");
11
12
  function dropboxURL(url) {
12
13
  if (url.match(/^https?:\/\/www\.dropbox\.com/) && !url.endsWith('dl=1')) {
13
14
  if (url.endsWith('dl=0'))
@@ -102,6 +103,32 @@ Restore.flags = {
102
103
  remote: command_1.flags.remote(),
103
104
  };
104
105
  Restore.args = {
105
- backup: core_1.Args.string(),
106
- database: core_1.Args.string(),
106
+ backup: core_1.Args.string({ description: 'URL or backup ID from another app' }),
107
+ database: core_1.Args.string({ description: `${(0, nls_1.nls)('pg:database:arg:description')} ${(0, nls_1.nls)('pg:database:arg:description:default:suffix')}` }),
107
108
  };
109
+ Restore.examples = [
110
+ (0, tsheredoc_1.default)(`
111
+ # Basic Restore from Backup ID
112
+ $ heroku pg:backups:restore b101 DATABASE_URL --app my-heroku-app
113
+ `),
114
+ (0, tsheredoc_1.default)(`
115
+ # Restore from Another App
116
+ $ heroku pg:backups:restore example-app::b101 DATABASE_URL --app my-heroku-app
117
+ `),
118
+ (0, tsheredoc_1.default)(`
119
+ # Restore from a Public URL
120
+ $ heroku pg:backups:restore 'https://s3.amazonaws.com/my-bucket/mydb.dump' DATABASE_URL --app my-heroku-app
121
+ `),
122
+ (0, tsheredoc_1.default)(`
123
+ # Verbose Output
124
+ $ heroku pg:backups:restore b101 DATABASE_URL --app my-heroku-app --verbose
125
+ `),
126
+ (0, tsheredoc_1.default)(`
127
+ # Restore with Confirmation Prompt
128
+ $ heroku pg:backups:restore b101 DATABASE_URL --app my-heroku-app --confirm my-heroku-app
129
+ `),
130
+ (0, tsheredoc_1.default)(`
131
+ # Restore with a Specific Database Name
132
+ $ heroku pg:backups:restore b101 HEROKU_POSTGRESQL_PINK --app my-heroku-app
133
+ `),
134
+ ];
@@ -5,6 +5,7 @@ const command_1 = require("@heroku-cli/command");
5
5
  const core_1 = require("@oclif/core");
6
6
  const host_1 = require("../../../lib/pg/host");
7
7
  const fetcher_1 = require("../../../lib/pg/fetcher");
8
+ const nls_1 = require("../../../nls");
8
9
  const TZ = {
9
10
  PST: 'America/Los_Angeles',
10
11
  PDT: 'America/Los_Angeles',
@@ -72,5 +73,5 @@ Schedule.flags = {
72
73
  remote: command_1.flags.remote(),
73
74
  };
74
75
  Schedule.args = {
75
- database: core_1.Args.string(),
76
+ database: core_1.Args.string({ description: `${(0, nls_1.nls)('pg:database:arg:description')} ${(0, nls_1.nls)('pg:database:arg:description:default:suffix')}` }),
76
77
  };
@@ -5,6 +5,7 @@ const command_1 = require("@heroku-cli/command");
5
5
  const core_1 = require("@oclif/core");
6
6
  const fetcher_1 = require("../../../lib/pg/fetcher");
7
7
  const host_1 = require("../../../lib/pg/host");
8
+ const nls_1 = require("../../../nls");
8
9
  class Unschedule extends command_1.Command {
9
10
  async run() {
10
11
  const { flags, args } = await this.parse(Unschedule);
@@ -40,5 +41,5 @@ Unschedule.flags = {
40
41
  remote: command_1.flags.remote(),
41
42
  };
42
43
  Unschedule.args = {
43
- database: core_1.Args.string(),
44
+ database: core_1.Args.string({ description: `${(0, nls_1.nls)('pg:database:arg:description')} ${(0, nls_1.nls)('pg:database:arg:description:arbitrary:suffix')}` }),
44
45
  };
@@ -37,5 +37,5 @@ Url.flags = {
37
37
  remote: command_1.flags.remote(),
38
38
  };
39
39
  Url.args = {
40
- backup_id: core_1.Args.string(),
40
+ backup_id: core_1.Args.string({ description: 'ID of the backup. If omitted, we use the last backup ID.' }),
41
41
  };
@@ -4,6 +4,7 @@ const command_1 = require("@heroku-cli/command");
4
4
  const core_1 = require("@oclif/core");
5
5
  const fetcher_1 = require("../../lib/pg/fetcher");
6
6
  const psql_1 = require("../../lib/pg/psql");
7
+ const nls_1 = require("../../nls");
7
8
  const query = `
8
9
  WITH constants AS (
9
10
  SELECT current_setting('block_size')::numeric AS bs, 23 AS hdr, 4 AS ma
@@ -83,5 +84,5 @@ Bloat.flags = {
83
84
  remote: command_1.flags.remote(),
84
85
  };
85
86
  Bloat.args = {
86
- database: core_1.Args.string(),
87
+ database: core_1.Args.string({ description: `${(0, nls_1.nls)('pg:database:arg:description')} ${(0, nls_1.nls)('pg:database:arg:description:default:suffix')}` }),
87
88
  };