neon 3.0.0 → 3.1.1

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 (207) hide show
  1. package/README.md +70 -5
  2. package/dist/_chunks/auth_selection-DGgq6ifc.js +83 -0
  3. package/dist/_chunks/cmd_pipeline-CUbBO9U_.js +2818 -0
  4. package/dist/_chunks/credentials-MYdHdKah.js +188 -0
  5. package/dist/_chunks/env-NbA61JR3.js +585 -0
  6. package/dist/_chunks/env_services-Tz9G4JeT.js +531 -0
  7. package/dist/_chunks/paths-DMq0Lt7a.js +151 -0
  8. package/dist/_chunks/profiles-Ir29rqns.js +217 -0
  9. package/dist/_chunks/psql-DWH-kc69.js +2169 -0
  10. package/dist/_chunks/rolldown-runtime-D7D4PA-g.js +13 -0
  11. package/dist/_chunks/secure_file-BucZj4yQ.js +39 -0
  12. package/dist/analytics.js +163 -207
  13. package/dist/api.js +815 -758
  14. package/dist/auth.js +121 -141
  15. package/dist/auth_context.js +39 -53
  16. package/dist/cli.js +4 -7
  17. package/dist/commands/api.js +220 -250
  18. package/dist/commands/api_keys.js +251 -314
  19. package/dist/commands/auth.js +283 -328
  20. package/dist/commands/bootstrap.js +372 -437
  21. package/dist/commands/branches.js +304 -455
  22. package/dist/commands/bucket.js +374 -514
  23. package/dist/commands/checkout.js +213 -298
  24. package/dist/commands/config.js +573 -690
  25. package/dist/commands/connection_string.js +137 -165
  26. package/dist/commands/data_api.js +238 -260
  27. package/dist/commands/databases.js +67 -76
  28. package/dist/commands/deploy.js +31 -25
  29. package/dist/commands/dev.js +639 -719
  30. package/dist/commands/diff.js +156 -200
  31. package/dist/commands/env.js +255 -305
  32. package/dist/commands/functions.js +275 -355
  33. package/dist/commands/index.js +70 -65
  34. package/dist/commands/init.js +84 -119
  35. package/dist/commands/inspect.js +55 -55
  36. package/dist/commands/ip_allow.js +88 -120
  37. package/dist/commands/link.js +874 -1019
  38. package/dist/commands/logs.js +291 -0
  39. package/dist/commands/neon_auth.js +725 -933
  40. package/dist/commands/operations.js +34 -25
  41. package/dist/commands/orgs.js +28 -18
  42. package/dist/commands/profile.js +615 -846
  43. package/dist/commands/projects.js +313 -373
  44. package/dist/commands/psql.js +60 -58
  45. package/dist/commands/roles.js +55 -58
  46. package/dist/commands/schema_diff.js +87 -131
  47. package/dist/commands/set_context.js +34 -26
  48. package/dist/commands/snapshots.js +288 -413
  49. package/dist/commands/status.js +41 -37
  50. package/dist/commands/user.js +21 -10
  51. package/dist/commands/vpc_endpoints.js +85 -113
  52. package/dist/config.js +7 -6
  53. package/dist/config_format.js +50 -66
  54. package/dist/config_template.js +128 -157
  55. package/dist/context.js +183 -235
  56. package/dist/current_branch_fast_path.js +40 -49
  57. package/dist/dev/env.js +2 -446
  58. package/dist/dev/functions.js +54 -68
  59. package/dist/dev/inputs.js +46 -58
  60. package/dist/dev/runtime.js +135 -164
  61. package/dist/dev/websocket.js +766 -959
  62. package/dist/env.js +27 -33
  63. package/dist/env_file.js +118 -132
  64. package/dist/env_services.js +2 -51
  65. package/dist/errors.js +57 -68
  66. package/dist/functions_api.js +45 -43
  67. package/dist/help.js +189 -140
  68. package/dist/index.js +182 -257
  69. package/dist/init/agents.js +137 -118
  70. package/dist/init/auth.js +58 -68
  71. package/dist/init/bootstrap.js +325 -396
  72. package/dist/init/build_config.js +4 -2
  73. package/dist/init/detect_agent.js +56 -101
  74. package/dist/init/editors.js +35 -52
  75. package/dist/init/enrich_output.js +51 -66
  76. package/dist/init/extension.js +134 -171
  77. package/dist/init/inspect.js +179 -266
  78. package/dist/init/interactive.js +510 -622
  79. package/dist/init/neonctl.js +117 -168
  80. package/dist/init/orchestrate.js +157 -173
  81. package/dist/init/phases/auth.js +188 -202
  82. package/dist/init/phases/cleanup.js +23 -23
  83. package/dist/init/phases/db.js +251 -277
  84. package/dist/init/phases/getting_started.js +213 -223
  85. package/dist/init/phases/mcp.js +174 -224
  86. package/dist/init/phases/migrations.js +247 -248
  87. package/dist/init/phases/neon_auth.js +114 -133
  88. package/dist/init/phases/setup.js +546 -703
  89. package/dist/init/phases/skills.js +75 -86
  90. package/dist/init/phases/status.js +72 -67
  91. package/dist/init/resolve_context.js +102 -99
  92. package/dist/init/route_command.js +91 -98
  93. package/dist/init/skills.js +174 -218
  94. package/dist/init/vsix.js +77 -99
  95. package/dist/log.js +17 -16
  96. package/dist/neon_services.js +104 -129
  97. package/dist/parameters.gen.js +481 -471
  98. package/dist/pkg.js +17 -19
  99. package/dist/profile_keys.js +44 -47
  100. package/dist/psql/cli.js +44 -47
  101. package/dist/psql/command/cmd_cond.js +231 -406
  102. package/dist/psql/command/cmd_connect.js +557 -764
  103. package/dist/psql/command/cmd_copy.js +728 -984
  104. package/dist/psql/command/cmd_describe.js +1499 -1688
  105. package/dist/psql/command/cmd_format.js +733 -905
  106. package/dist/psql/command/cmd_io.js +2 -2193
  107. package/dist/psql/command/cmd_lo.js +297 -359
  108. package/dist/psql/command/cmd_meta.js +727 -878
  109. package/dist/psql/command/cmd_misc.js +138 -172
  110. package/dist/psql/command/cmd_pipeline.js +2 -1148
  111. package/dist/psql/command/cmd_restrict.js +119 -155
  112. package/dist/psql/command/cmd_show.js +529 -688
  113. package/dist/psql/command/dispatch.js +260 -325
  114. package/dist/psql/command/inputQueue.js +35 -33
  115. package/dist/psql/command/shared.js +49 -63
  116. package/dist/psql/complete/filenames.js +90 -133
  117. package/dist/psql/complete/index.js +59 -97
  118. package/dist/psql/complete/matcher.js +236 -300
  119. package/dist/psql/complete/psqlVars.js +218 -223
  120. package/dist/psql/complete/queries.js +159 -177
  121. package/dist/psql/complete/rules.js +1493 -2299
  122. package/dist/psql/core/common.js +2 -1253
  123. package/dist/psql/core/help.js +456 -546
  124. package/dist/psql/core/mainloop.js +692 -1303
  125. package/dist/psql/core/prompt.js +391 -408
  126. package/dist/psql/core/settings.js +429 -644
  127. package/dist/psql/core/sqlHelp.js +480 -554
  128. package/dist/psql/core/startup.js +2 -846
  129. package/dist/psql/core/syncVars.js +67 -110
  130. package/dist/psql/core/variables.js +156 -278
  131. package/dist/psql/describe/formatters.js +884 -1285
  132. package/dist/psql/describe/processNamePattern.js +173 -260
  133. package/dist/psql/describe/queries.js +1368 -2403
  134. package/dist/psql/describe/versionGate.js +32 -41
  135. package/dist/psql/index.js +2 -2030
  136. package/dist/psql/io/history.js +232 -271
  137. package/dist/psql/io/input.js +103 -108
  138. package/dist/psql/io/lineEditor/buffer.js +238 -319
  139. package/dist/psql/io/lineEditor/complete.js +135 -213
  140. package/dist/psql/io/lineEditor/filename.js +139 -148
  141. package/dist/psql/io/lineEditor/index.js +653 -870
  142. package/dist/psql/io/lineEditor/keymap.js +544 -702
  143. package/dist/psql/io/lineEditor/vt100.js +294 -341
  144. package/dist/psql/io/pgpass.js +158 -187
  145. package/dist/psql/io/pgservice.js +146 -183
  146. package/dist/psql/io/psqlrc.js +328 -403
  147. package/dist/psql/print/aligned.js +1020 -1683
  148. package/dist/psql/print/asciidoc.js +180 -214
  149. package/dist/psql/print/crosstab.js +281 -442
  150. package/dist/psql/print/csv.js +48 -70
  151. package/dist/psql/print/html.js +195 -226
  152. package/dist/psql/print/json.js +75 -88
  153. package/dist/psql/print/latex.js +291 -364
  154. package/dist/psql/print/pager.js +171 -242
  155. package/dist/psql/print/troff.js +194 -226
  156. package/dist/psql/print/unaligned.js +69 -95
  157. package/dist/psql/print/units.js +167 -169
  158. package/dist/psql/scanner/slash.js +428 -483
  159. package/dist/psql/scanner/sql.js +445 -889
  160. package/dist/psql/scanner/stringutils.js +309 -379
  161. package/dist/psql/types/index.js +8 -7
  162. package/dist/psql/types/scanner.js +25 -22
  163. package/dist/psql/wire/connection.js +2042 -2803
  164. package/dist/psql/wire/copy.js +84 -100
  165. package/dist/psql/wire/notify.js +39 -59
  166. package/dist/psql/wire/pipeline.js +305 -518
  167. package/dist/psql/wire/protocol.js +349 -417
  168. package/dist/psql/wire/sasl.js +180 -265
  169. package/dist/psql/wire/tls.js +400 -561
  170. package/dist/storage_api.js +115 -129
  171. package/dist/test_utils/fixtures.js +94 -113
  172. package/dist/test_utils/oauth_server.js +10 -7
  173. package/dist/test_utils/project_dir.js +33 -0
  174. package/dist/utils/ai_gateway_notice.js +131 -162
  175. package/dist/utils/api_enums.js +21 -28
  176. package/dist/utils/auth.js +10 -4
  177. package/dist/utils/branch_notice.js +20 -19
  178. package/dist/utils/branch_picker.js +83 -89
  179. package/dist/utils/cli_name.js +15 -12
  180. package/dist/utils/compute_units.js +20 -27
  181. package/dist/utils/config_diff.js +127 -158
  182. package/dist/utils/enrichers.js +95 -148
  183. package/dist/utils/esbuild.js +130 -189
  184. package/dist/utils/flags.js +35 -47
  185. package/dist/utils/formats.js +8 -15
  186. package/dist/utils/git_diff.js +69 -80
  187. package/dist/utils/inspect_db.js +101 -143
  188. package/dist/utils/inspect_queries.js +179 -142
  189. package/dist/utils/middlewares.js +39 -45
  190. package/dist/utils/openapi.js +87 -99
  191. package/dist/utils/package_manager.js +312 -110
  192. package/dist/utils/point_in_time.js +49 -53
  193. package/dist/utils/psql.js +89 -106
  194. package/dist/utils/service_picker.js +55 -58
  195. package/dist/utils/string.js +5 -5
  196. package/dist/utils/ui.js +38 -55
  197. package/dist/utils/write_sync.js +26 -35
  198. package/dist/utils/zip.js +4 -3
  199. package/dist/writer.js +67 -87
  200. package/package.json +11 -6
  201. package/dist/_shared/auth_selection.js +0 -86
  202. package/dist/_shared/credentials.js +0 -209
  203. package/dist/_shared/env-core/env.js +0 -558
  204. package/dist/_shared/env-core/reuse-secrets.js +0 -223
  205. package/dist/_shared/paths.js +0 -148
  206. package/dist/_shared/profiles.js +0 -276
  207. package/dist/_shared/secure_file.js +0 -43
@@ -1,480 +1,490 @@
1
- // FILE IS GENERATED, DO NOT EDIT
2
- export const projectCreateRequest = {
3
- 'project.settings.quota.active_time_seconds': {
4
- type: "number",
5
- description: "The total amount of wall-clock time allowed to be spent by the project's compute endpoints.\n",
6
- demandOption: false,
7
- },
8
- 'project.settings.quota.compute_time_seconds': {
9
- type: "number",
10
- description: "The total amount of CPU seconds allowed to be spent by the project's compute endpoints.\n",
11
- demandOption: false,
12
- },
13
- 'project.settings.quota.written_data_bytes': {
14
- type: "number",
15
- description: "Total amount of data written to all of a project's branches.\n",
16
- demandOption: false,
17
- },
18
- 'project.settings.quota.data_transfer_bytes': {
19
- type: "number",
20
- description: "Total amount of data transferred from all of a project's branches using the proxy.\n",
21
- demandOption: false,
22
- },
23
- 'project.settings.quota.logical_size_bytes': {
24
- type: "number",
25
- description: "Limit on the logical size of every project's branch.\n\nIf a branch exceeds its `logical_size_bytes` quota, computes can still be started,\nbut write operations will fail—allowing data to be deleted to free up space.\nComputes on other branches are not affected.\n\nSetting `logical_size_bytes` overrides any lower value set by the `neon.max_cluster_size` Postgres setting.\n",
26
- demandOption: false,
27
- },
28
- 'project.settings.allowed_ips.ips': {
29
- type: "array",
30
- description: "A list of IP addresses that are allowed to connect to the endpoint.",
31
- demandOption: false,
32
- },
33
- 'project.settings.allowed_ips.protected_branches_only': {
34
- type: "boolean",
35
- description: "If true, the list will be applied only to protected branches.",
36
- demandOption: false,
37
- },
38
- 'project.settings.enable_logical_replication': {
39
- type: "boolean",
40
- description: "Sets wal_level=logical for all compute endpoints in this project.\nAll active endpoints will be suspended.\nOnce enabled, logical replication cannot be disabled.\n",
41
- demandOption: false,
42
- },
43
- 'project.settings.maintenance_window.weekdays': {
44
- type: "array",
45
- description: "A list of weekdays when the maintenance window is active.\nEncoded as ints, where 1 - Monday, and 7 - Sunday.\n",
46
- demandOption: true,
47
- },
48
- 'project.settings.maintenance_window.start_time': {
49
- type: "string",
50
- description: "Start time of the maintenance window, in the format of \"HH:MM\". Uses UTC.\n",
51
- demandOption: true,
52
- },
53
- 'project.settings.maintenance_window.end_time': {
54
- type: "string",
55
- description: "End time of the maintenance window, in the format of \"HH:MM\". Uses UTC.\n",
56
- demandOption: true,
57
- },
58
- 'project.settings.block_public_connections': {
59
- type: "boolean",
60
- description: "When set, connections from the public internet\nare disallowed. This supersedes the AllowedIPs list.\nThis parameter is under active development and its semantics may change in the future.\n",
61
- demandOption: false,
62
- },
63
- 'project.settings.block_vpc_connections': {
64
- type: "boolean",
65
- description: "When set, connections using VPC endpoints are disallowed.\nThis parameter is under active development and its semantics may change in the future.\n",
66
- demandOption: false,
67
- },
68
- 'project.settings.audit_log_level': {
69
- type: "string",
70
- description: "Audit logging level, set only on HIPAA-enabled organizations (absent otherwise). Values: `base`, `extended`, `full`; HIPAA defaults to `extended`. Cannot be lowered back to `base` once `extended` or `full`.",
71
- demandOption: false,
72
- choices: ["base", "extended", "full"],
73
- },
74
- 'project.settings.hipaa': {
75
- type: "boolean",
76
- description: "Enables HIPAA compliance mode for the project, including audit logging.",
77
- demandOption: false,
78
- },
79
- 'project.settings.preload_libraries.use_defaults': {
80
- type: "boolean",
81
- description: "When true, the project's preload libraries include the platform default set in addition to any libraries listed in `enabled_libraries`.",
82
- demandOption: false,
83
- },
84
- 'project.settings.preload_libraries.enabled_libraries': {
85
- type: "array",
86
- description: "Names of shared preload libraries to enable for the project.",
87
- demandOption: false,
88
- },
89
- 'project.name': {
90
- type: "string",
91
- description: "The project name. If not specified, the name will be identical to the generated project ID",
92
- demandOption: false,
93
- },
94
- 'project.branch.name': {
95
- type: "string",
96
- description: "The default branch name. If not specified, the default branch name, `main`, will be used.\n",
97
- demandOption: false,
98
- },
99
- 'project.branch.role_name': {
100
- type: "string",
101
- description: "The role name. If not specified, the default role name, `{database_name}_owner`, will be used.\n",
102
- demandOption: false,
103
- },
104
- 'project.branch.database_name': {
105
- type: "string",
106
- description: "The database name. If not specified, the default database name, `neondb`, will be used.\n",
107
- demandOption: false,
108
- },
109
- 'project.provisioner': {
110
- type: "string",
111
- description: "Compute provisioner. `k8s-neonvm` (default) supports Autoscaling; `k8s-pod` is fixed-size compute. Also `docker` and `serverless-platform`.",
112
- demandOption: false,
113
- },
114
- 'project.region_id': {
115
- type: "string",
116
- description: "The region identifier. Refer to our [Regions](https://neon.com/docs/introduction/regions) documentation for supported regions. Values are specified in this format: `aws-us-east-1`\n",
117
- demandOption: false,
118
- },
119
- 'project.default_endpoint_settings.suspend_timeout_seconds': {
120
- type: "number",
121
- description: "Scale-to-zero idle timeout, in seconds, before the compute suspends. `0` uses the plan default; `-1` disables scale-to-zero (never suspends). Minimum is plan-dependent (Scale: 60); maximum 604800 (one week). Free cannot change it; Launch can only enable or disable; Scale can set any value.",
122
- demandOption: false,
123
- },
124
- 'project.pg_version': {
125
- type: "number",
126
- description: "The major Postgres version number. Supported versions are `14`, `15`, `16`, `17`, and `18`. `19` is rolling out and is accepted only in regions where it is enabled; requesting it elsewhere returns an error.",
127
- demandOption: false,
128
- },
129
- 'project.store_passwords': {
130
- type: "boolean",
131
- description: "Whether or not passwords are stored for roles in the Neon project. Storing passwords facilitates access to Neon features that require authorization.\n",
132
- demandOption: false,
133
- },
134
- 'project.history_retention_seconds': {
135
- type: "number",
136
- description: "History window (point-in-time restore range) for all branches, in seconds. `0` disables it. Default 1 day (Free: 6 hours). Maximum depends on plan: Free 6 hours (21600), Launch 7 days (604800), Scale 30 days (2592000).\n",
137
- demandOption: false,
138
- },
139
- 'project.org_id': {
140
- type: "string",
141
- description: "ID of the organization that will own the project. If omitted when using an organization API key, it is inferred from the key.\n",
142
- demandOption: false,
143
- },
1
+ //#region src/parameters.gen.ts
2
+ const projectCreateRequest = {
3
+ "project.settings.quota.active_time_seconds": {
4
+ type: "number",
5
+ description: "The total amount of wall-clock time allowed to be spent by the project's compute endpoints.\n",
6
+ demandOption: false
7
+ },
8
+ "project.settings.quota.compute_time_seconds": {
9
+ type: "number",
10
+ description: "The total amount of CPU seconds allowed to be spent by the project's compute endpoints.\n",
11
+ demandOption: false
12
+ },
13
+ "project.settings.quota.written_data_bytes": {
14
+ type: "number",
15
+ description: "Total amount of data written to all of a project's branches.\n",
16
+ demandOption: false
17
+ },
18
+ "project.settings.quota.data_transfer_bytes": {
19
+ type: "number",
20
+ description: "Total amount of data transferred from all of a project's branches using the proxy.\n",
21
+ demandOption: false
22
+ },
23
+ "project.settings.quota.logical_size_bytes": {
24
+ type: "number",
25
+ description: "Limit on the logical size of every project's branch.\n\nIf a branch exceeds its `logical_size_bytes` quota, computes can still be started,\nbut write operations will fail—allowing data to be deleted to free up space.\nComputes on other branches are not affected.\n\nSetting `logical_size_bytes` overrides any lower value set by the `neon.max_cluster_size` Postgres setting.\n",
26
+ demandOption: false
27
+ },
28
+ "project.settings.allowed_ips.ips": {
29
+ type: "array",
30
+ description: "A list of IP addresses that are allowed to connect to the endpoint.",
31
+ demandOption: false
32
+ },
33
+ "project.settings.allowed_ips.protected_branches_only": {
34
+ type: "boolean",
35
+ description: "If true, the list will be applied only to protected branches.",
36
+ demandOption: false
37
+ },
38
+ "project.settings.enable_logical_replication": {
39
+ type: "boolean",
40
+ description: "Sets wal_level=logical for all compute endpoints in this project.\nAll active endpoints will be suspended.\nOnce enabled, logical replication cannot be disabled.\n",
41
+ demandOption: false
42
+ },
43
+ "project.settings.maintenance_window.weekdays": {
44
+ type: "array",
45
+ description: "A list of weekdays when the maintenance window is active.\nEncoded as ints, where 1 - Monday, and 7 - Sunday.\n",
46
+ demandOption: true
47
+ },
48
+ "project.settings.maintenance_window.start_time": {
49
+ type: "string",
50
+ description: "Start time of the maintenance window, in the format of \"HH:MM\". Uses UTC.\n",
51
+ demandOption: true
52
+ },
53
+ "project.settings.maintenance_window.end_time": {
54
+ type: "string",
55
+ description: "End time of the maintenance window, in the format of \"HH:MM\". Uses UTC.\n",
56
+ demandOption: true
57
+ },
58
+ "project.settings.block_public_connections": {
59
+ type: "boolean",
60
+ description: "When set, connections from the public internet\nare disallowed. This supersedes the AllowedIPs list.\nThis parameter is under active development and its semantics may change in the future.\n",
61
+ demandOption: false
62
+ },
63
+ "project.settings.block_vpc_connections": {
64
+ type: "boolean",
65
+ description: "When set, connections using VPC endpoints are disallowed.\nThis parameter is under active development and its semantics may change in the future.\n",
66
+ demandOption: false
67
+ },
68
+ "project.settings.audit_log_level": {
69
+ type: "string",
70
+ description: "Audit logging level, set only on HIPAA-enabled organizations (absent otherwise). Values: `base`, `extended`, `full`; HIPAA defaults to `extended`. Cannot be lowered back to `base` once `extended` or `full`.",
71
+ demandOption: false,
72
+ choices: [
73
+ "base",
74
+ "extended",
75
+ "full"
76
+ ]
77
+ },
78
+ "project.settings.hipaa": {
79
+ type: "boolean",
80
+ description: "Enables HIPAA compliance mode for the project, including audit logging.",
81
+ demandOption: false
82
+ },
83
+ "project.settings.preload_libraries.use_defaults": {
84
+ type: "boolean",
85
+ description: "When true, the project's preload libraries include the platform default set in addition to any libraries listed in `enabled_libraries`.",
86
+ demandOption: false
87
+ },
88
+ "project.settings.preload_libraries.enabled_libraries": {
89
+ type: "array",
90
+ description: "Names of shared preload libraries to enable for the project.",
91
+ demandOption: false
92
+ },
93
+ "project.name": {
94
+ type: "string",
95
+ description: "The project name. If not specified, the name will be identical to the generated project ID",
96
+ demandOption: false
97
+ },
98
+ "project.branch.name": {
99
+ type: "string",
100
+ description: "The default branch name. If not specified, the default branch name, `main`, will be used.\n",
101
+ demandOption: false
102
+ },
103
+ "project.branch.role_name": {
104
+ type: "string",
105
+ description: "The role name. If not specified, the default role name, `{database_name}_owner`, will be used.\n",
106
+ demandOption: false
107
+ },
108
+ "project.branch.database_name": {
109
+ type: "string",
110
+ description: "The database name. If not specified, the default database name, `neondb`, will be used.\n",
111
+ demandOption: false
112
+ },
113
+ "project.provisioner": {
114
+ type: "string",
115
+ description: "Compute provisioner. `k8s-neonvm` (default) supports Autoscaling; `k8s-pod` is fixed-size compute. Also `docker` and `serverless-platform`.",
116
+ demandOption: false
117
+ },
118
+ "project.region_id": {
119
+ type: "string",
120
+ description: "The region identifier. Refer to our [Regions](https://neon.com/docs/introduction/regions) documentation for supported regions. Values are specified in this format: `aws-us-east-1`\n",
121
+ demandOption: false
122
+ },
123
+ "project.default_endpoint_settings.suspend_timeout_seconds": {
124
+ type: "number",
125
+ description: "Scale-to-zero idle timeout, in seconds, before the compute suspends. `0` uses the plan default; `-1` disables scale-to-zero (never suspends). Minimum is plan-dependent (Scale: 60); maximum 604800 (one week). Free cannot change it; Launch can only enable or disable; Scale can set any value.",
126
+ demandOption: false
127
+ },
128
+ "project.pg_version": {
129
+ type: "number",
130
+ description: "The major Postgres version number. Supported versions are `14`, `15`, `16`, `17`, and `18`. `19` is rolling out and is accepted only in regions where it is enabled; requesting it elsewhere returns an error.",
131
+ demandOption: false
132
+ },
133
+ "project.store_passwords": {
134
+ type: "boolean",
135
+ description: "Whether or not passwords are stored for roles in the Neon project. Storing passwords facilitates access to Neon features that require authorization.\n",
136
+ demandOption: false
137
+ },
138
+ "project.history_retention_seconds": {
139
+ type: "number",
140
+ description: "History window (point-in-time restore range) for all branches, in seconds. `0` disables it. Default 1 day (Free: 6 hours). Maximum depends on plan: Free 6 hours (21600), Launch 7 days (604800), Scale 30 days (2592000).\n",
141
+ demandOption: false
142
+ },
143
+ "project.org_id": {
144
+ type: "string",
145
+ description: "ID of the organization that will own the project. If omitted when using an organization API key, it is inferred from the key.\n",
146
+ demandOption: false
147
+ }
144
148
  };
145
- export const projectUpdateRequest = {
146
- 'project.settings.quota.active_time_seconds': {
147
- type: "number",
148
- description: "The total amount of wall-clock time allowed to be spent by the project's compute endpoints.\n",
149
- demandOption: false,
150
- },
151
- 'project.settings.quota.compute_time_seconds': {
152
- type: "number",
153
- description: "The total amount of CPU seconds allowed to be spent by the project's compute endpoints.\n",
154
- demandOption: false,
155
- },
156
- 'project.settings.quota.written_data_bytes': {
157
- type: "number",
158
- description: "Total amount of data written to all of a project's branches.\n",
159
- demandOption: false,
160
- },
161
- 'project.settings.quota.data_transfer_bytes': {
162
- type: "number",
163
- description: "Total amount of data transferred from all of a project's branches using the proxy.\n",
164
- demandOption: false,
165
- },
166
- 'project.settings.quota.logical_size_bytes': {
167
- type: "number",
168
- description: "Limit on the logical size of every project's branch.\n\nIf a branch exceeds its `logical_size_bytes` quota, computes can still be started,\nbut write operations will fail—allowing data to be deleted to free up space.\nComputes on other branches are not affected.\n\nSetting `logical_size_bytes` overrides any lower value set by the `neon.max_cluster_size` Postgres setting.\n",
169
- demandOption: false,
170
- },
171
- 'project.settings.allowed_ips.ips': {
172
- type: "array",
173
- description: "A list of IP addresses that are allowed to connect to the endpoint.",
174
- demandOption: false,
175
- },
176
- 'project.settings.allowed_ips.protected_branches_only': {
177
- type: "boolean",
178
- description: "If true, the list will be applied only to protected branches.",
179
- demandOption: false,
180
- },
181
- 'project.settings.enable_logical_replication': {
182
- type: "boolean",
183
- description: "Sets wal_level=logical for all compute endpoints in this project.\nAll active endpoints will be suspended.\nOnce enabled, logical replication cannot be disabled.\n",
184
- demandOption: false,
185
- },
186
- 'project.settings.maintenance_window.weekdays': {
187
- type: "array",
188
- description: "A list of weekdays when the maintenance window is active.\nEncoded as ints, where 1 - Monday, and 7 - Sunday.\n",
189
- demandOption: true,
190
- },
191
- 'project.settings.maintenance_window.start_time': {
192
- type: "string",
193
- description: "Start time of the maintenance window, in the format of \"HH:MM\". Uses UTC.\n",
194
- demandOption: true,
195
- },
196
- 'project.settings.maintenance_window.end_time': {
197
- type: "string",
198
- description: "End time of the maintenance window, in the format of \"HH:MM\". Uses UTC.\n",
199
- demandOption: true,
200
- },
201
- 'project.settings.block_public_connections': {
202
- type: "boolean",
203
- description: "When set, connections from the public internet\nare disallowed. This supersedes the AllowedIPs list.\nThis parameter is under active development and its semantics may change in the future.\n",
204
- demandOption: false,
205
- },
206
- 'project.settings.block_vpc_connections': {
207
- type: "boolean",
208
- description: "When set, connections using VPC endpoints are disallowed.\nThis parameter is under active development and its semantics may change in the future.\n",
209
- demandOption: false,
210
- },
211
- 'project.settings.audit_log_level': {
212
- type: "string",
213
- description: "Audit logging level, set only on HIPAA-enabled organizations (absent otherwise). Values: `base`, `extended`, `full`; HIPAA defaults to `extended`. Cannot be lowered back to `base` once `extended` or `full`.",
214
- demandOption: false,
215
- choices: ["base", "extended", "full"],
216
- },
217
- 'project.settings.hipaa': {
218
- type: "boolean",
219
- description: "Enables HIPAA compliance mode for the project, including audit logging.",
220
- demandOption: false,
221
- },
222
- 'project.settings.preload_libraries.use_defaults': {
223
- type: "boolean",
224
- description: "When true, the project's preload libraries include the platform default set in addition to any libraries listed in `enabled_libraries`.",
225
- demandOption: false,
226
- },
227
- 'project.settings.preload_libraries.enabled_libraries': {
228
- type: "array",
229
- description: "Names of shared preload libraries to enable for the project.",
230
- demandOption: false,
231
- },
232
- 'project.name': {
233
- type: "string",
234
- description: "The project name",
235
- demandOption: false,
236
- },
237
- 'project.default_endpoint_settings.suspend_timeout_seconds': {
238
- type: "number",
239
- description: "Scale-to-zero idle timeout, in seconds, before the compute suspends. `0` uses the plan default; `-1` disables scale-to-zero (never suspends). Minimum is plan-dependent (Scale: 60); maximum 604800 (one week). Free cannot change it; Launch can only enable or disable; Scale can set any value.",
240
- demandOption: false,
241
- },
242
- 'project.history_retention_seconds': {
243
- type: "number",
244
- description: "History window (point-in-time restore range) for all branches, in seconds. `0` disables it. Default 1 day (Free: 6 hours). Maximum depends on plan: Free 6 hours (21600), Launch 7 days (604800), Scale 30 days (2592000).\n",
245
- demandOption: false,
246
- },
149
+ const projectUpdateRequest = {
150
+ "project.settings.quota.active_time_seconds": {
151
+ type: "number",
152
+ description: "The total amount of wall-clock time allowed to be spent by the project's compute endpoints.\n",
153
+ demandOption: false
154
+ },
155
+ "project.settings.quota.compute_time_seconds": {
156
+ type: "number",
157
+ description: "The total amount of CPU seconds allowed to be spent by the project's compute endpoints.\n",
158
+ demandOption: false
159
+ },
160
+ "project.settings.quota.written_data_bytes": {
161
+ type: "number",
162
+ description: "Total amount of data written to all of a project's branches.\n",
163
+ demandOption: false
164
+ },
165
+ "project.settings.quota.data_transfer_bytes": {
166
+ type: "number",
167
+ description: "Total amount of data transferred from all of a project's branches using the proxy.\n",
168
+ demandOption: false
169
+ },
170
+ "project.settings.quota.logical_size_bytes": {
171
+ type: "number",
172
+ description: "Limit on the logical size of every project's branch.\n\nIf a branch exceeds its `logical_size_bytes` quota, computes can still be started,\nbut write operations will fail—allowing data to be deleted to free up space.\nComputes on other branches are not affected.\n\nSetting `logical_size_bytes` overrides any lower value set by the `neon.max_cluster_size` Postgres setting.\n",
173
+ demandOption: false
174
+ },
175
+ "project.settings.allowed_ips.ips": {
176
+ type: "array",
177
+ description: "A list of IP addresses that are allowed to connect to the endpoint.",
178
+ demandOption: false
179
+ },
180
+ "project.settings.allowed_ips.protected_branches_only": {
181
+ type: "boolean",
182
+ description: "If true, the list will be applied only to protected branches.",
183
+ demandOption: false
184
+ },
185
+ "project.settings.enable_logical_replication": {
186
+ type: "boolean",
187
+ description: "Sets wal_level=logical for all compute endpoints in this project.\nAll active endpoints will be suspended.\nOnce enabled, logical replication cannot be disabled.\n",
188
+ demandOption: false
189
+ },
190
+ "project.settings.maintenance_window.weekdays": {
191
+ type: "array",
192
+ description: "A list of weekdays when the maintenance window is active.\nEncoded as ints, where 1 - Monday, and 7 - Sunday.\n",
193
+ demandOption: true
194
+ },
195
+ "project.settings.maintenance_window.start_time": {
196
+ type: "string",
197
+ description: "Start time of the maintenance window, in the format of \"HH:MM\". Uses UTC.\n",
198
+ demandOption: true
199
+ },
200
+ "project.settings.maintenance_window.end_time": {
201
+ type: "string",
202
+ description: "End time of the maintenance window, in the format of \"HH:MM\". Uses UTC.\n",
203
+ demandOption: true
204
+ },
205
+ "project.settings.block_public_connections": {
206
+ type: "boolean",
207
+ description: "When set, connections from the public internet\nare disallowed. This supersedes the AllowedIPs list.\nThis parameter is under active development and its semantics may change in the future.\n",
208
+ demandOption: false
209
+ },
210
+ "project.settings.block_vpc_connections": {
211
+ type: "boolean",
212
+ description: "When set, connections using VPC endpoints are disallowed.\nThis parameter is under active development and its semantics may change in the future.\n",
213
+ demandOption: false
214
+ },
215
+ "project.settings.audit_log_level": {
216
+ type: "string",
217
+ description: "Audit logging level, set only on HIPAA-enabled organizations (absent otherwise). Values: `base`, `extended`, `full`; HIPAA defaults to `extended`. Cannot be lowered back to `base` once `extended` or `full`.",
218
+ demandOption: false,
219
+ choices: [
220
+ "base",
221
+ "extended",
222
+ "full"
223
+ ]
224
+ },
225
+ "project.settings.hipaa": {
226
+ type: "boolean",
227
+ description: "Enables HIPAA compliance mode for the project, including audit logging.",
228
+ demandOption: false
229
+ },
230
+ "project.settings.preload_libraries.use_defaults": {
231
+ type: "boolean",
232
+ description: "When true, the project's preload libraries include the platform default set in addition to any libraries listed in `enabled_libraries`.",
233
+ demandOption: false
234
+ },
235
+ "project.settings.preload_libraries.enabled_libraries": {
236
+ type: "array",
237
+ description: "Names of shared preload libraries to enable for the project.",
238
+ demandOption: false
239
+ },
240
+ "project.name": {
241
+ type: "string",
242
+ description: "The project name",
243
+ demandOption: false
244
+ },
245
+ "project.default_endpoint_settings.suspend_timeout_seconds": {
246
+ type: "number",
247
+ description: "Scale-to-zero idle timeout, in seconds, before the compute suspends. `0` uses the plan default; `-1` disables scale-to-zero (never suspends). Minimum is plan-dependent (Scale: 60); maximum 604800 (one week). Free cannot change it; Launch can only enable or disable; Scale can set any value.",
248
+ demandOption: false
249
+ },
250
+ "project.history_retention_seconds": {
251
+ type: "number",
252
+ description: "History window (point-in-time restore range) for all branches, in seconds. `0` disables it. Default 1 day (Free: 6 hours). Maximum depends on plan: Free 6 hours (21600), Launch 7 days (604800), Scale 30 days (2592000).\n",
253
+ demandOption: false
254
+ }
247
255
  };
248
- export const branchCreateRequest = {
249
- 'endpoints': {
250
- type: "array",
251
- description: "Compute endpoints to create together with the branch. If omitted, the branch is created without any compute endpoint. Endpoints can be added to the branch separately after creation.",
252
- demandOption: false,
253
- },
254
- 'branch.parent_id': {
255
- type: "string",
256
- description: "The `branch_id` of the parent branch. If omitted or empty, the branch will be created from the project's default branch.\n",
257
- demandOption: false,
258
- },
259
- 'branch.name': {
260
- type: "string",
261
- description: "The branch name\n",
262
- demandOption: false,
263
- },
264
- 'branch.parent_lsn': {
265
- type: "string",
266
- description: "A Log Sequence Number (LSN) on the parent branch. The branch will be created with data from this LSN.\n",
267
- demandOption: false,
268
- },
269
- 'branch.parent_timestamp': {
270
- type: "string",
271
- description: "A timestamp identifying a point in time on the parent branch. The branch will be created with data starting from this point in time. RFC 3339 format.\n",
272
- demandOption: false,
273
- },
274
- 'branch.protected': {
275
- type: "boolean",
276
- description: "Whether the branch is protected. Protected branches (and their computes) cannot be deleted, archived, or reset, and block deletion of the project. Can be gated by `protected_branches_only` in the IP allowlist. Paid plans only.\n",
277
- demandOption: false,
278
- },
279
- 'branch.archived': {
280
- type: "boolean",
281
- description: "Whether to create the branch in the archived state. When omitted, the branch is created as a normal (non-archived) branch.\n",
282
- demandOption: false,
283
- },
284
- 'branch.init_source': {
285
- type: "string",
286
- description: "Source of initialization for the branch. `parent-data` copies schema and data from the parent branch. `parent-schema` copies schema only from the parent branch. `schema-only` creates a new root branch containing schema only, using `parent_id` as the source; optionally, `parent_lsn` or `parent_timestamp` can narrow the source point. `import` initializes the branch from an external import.",
287
- demandOption: false,
288
- },
289
- 'branch.expires_at': {
290
- type: "string",
291
- description: "The timestamp when the branch is scheduled to expire and be automatically deleted. Must be set by the client following the [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6) format with precision up to seconds (such as 2025-06-09T18:02:16Z). Deletion is performed by a background job and may not occur exactly at the specified time.\n\nAccess to this feature is currently limited to participants in the Early Access Program.\n",
292
- demandOption: false,
293
- },
256
+ const branchCreateRequest = {
257
+ "endpoints": {
258
+ type: "array",
259
+ description: "Compute endpoints to create together with the branch. If omitted, the branch is created without any compute endpoint. Endpoints can be added to the branch separately after creation.",
260
+ demandOption: false
261
+ },
262
+ "branch.parent_id": {
263
+ type: "string",
264
+ description: "The `branch_id` of the parent branch. If omitted or empty, the branch will be created from the project's default branch.\n",
265
+ demandOption: false
266
+ },
267
+ "branch.name": {
268
+ type: "string",
269
+ description: "The branch name\n",
270
+ demandOption: false
271
+ },
272
+ "branch.parent_lsn": {
273
+ type: "string",
274
+ description: "A Log Sequence Number (LSN) on the parent branch. The branch will be created with data from this LSN.\n",
275
+ demandOption: false
276
+ },
277
+ "branch.parent_timestamp": {
278
+ type: "string",
279
+ description: "A timestamp identifying a point in time on the parent branch. The branch will be created with data starting from this point in time. RFC 3339 format.\n",
280
+ demandOption: false
281
+ },
282
+ "branch.protected": {
283
+ type: "boolean",
284
+ description: "Whether the branch is protected. Protected branches (and their computes) cannot be deleted, archived, or reset, and block deletion of the project. Can be gated by `protected_branches_only` in the IP allowlist. Paid plans only.\n",
285
+ demandOption: false
286
+ },
287
+ "branch.archived": {
288
+ type: "boolean",
289
+ description: "Whether to create the branch in the archived state. When omitted, the branch is created as a normal (non-archived) branch.\n",
290
+ demandOption: false
291
+ },
292
+ "branch.init_source": {
293
+ type: "string",
294
+ description: "Source of initialization for the branch. `parent-data` copies schema and data from the parent branch. `parent-schema` copies schema only from the parent branch. `schema-only` creates a new root branch containing schema only, using `parent_id` as the source; optionally, `parent_lsn` or `parent_timestamp` can narrow the source point. `import` initializes the branch from an external import.",
295
+ demandOption: false
296
+ },
297
+ "branch.expires_at": {
298
+ type: "string",
299
+ description: "The timestamp when the branch is scheduled to expire and be automatically deleted. Must be set by the client following the [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6) format with precision up to seconds (such as 2025-06-09T18:02:16Z). Deletion is performed by a background job and may not occur exactly at the specified time.\n\nAccess to this feature is currently limited to participants in the Early Access Program.\n",
300
+ demandOption: false
301
+ }
294
302
  };
295
- export const branchCreateRequestEndpointOptions = {
296
- 'type': {
297
- type: "string",
298
- description: "Compute endpoint type. `read_write`: the primary read-write endpoint (one per branch). `read_only`: a read replica endpoint (multiple allowed per branch).",
299
- demandOption: true,
300
- choices: ["read_only", "read_write"],
301
- },
302
- 'settings.preload_libraries.use_defaults': {
303
- type: "boolean",
304
- description: "When true, the project's preload libraries include the platform default set in addition to any libraries listed in `enabled_libraries`.",
305
- demandOption: false,
306
- },
307
- 'settings.preload_libraries.enabled_libraries': {
308
- type: "array",
309
- description: "Names of shared preload libraries to enable for the project.",
310
- demandOption: false,
311
- },
312
- 'provisioner': {
313
- type: "string",
314
- description: "Compute provisioner. `k8s-neonvm` (default) supports Autoscaling; `k8s-pod` is fixed-size compute. Also `docker` and `serverless-platform`.",
315
- demandOption: false,
316
- },
317
- 'suspend_timeout_seconds': {
318
- type: "number",
319
- description: "Scale-to-zero idle timeout, in seconds, before the compute suspends. `0` uses the plan default; `-1` disables scale-to-zero (never suspends). Minimum is plan-dependent (Scale: 60); maximum 604800 (one week). Free cannot change it; Launch can only enable or disable; Scale can set any value.",
320
- demandOption: false,
321
- },
303
+ const branchCreateRequestEndpointOptions = {
304
+ "type": {
305
+ type: "string",
306
+ description: "Compute endpoint type. `read_write`: the primary read-write endpoint (one per branch). `read_only`: a read replica endpoint (multiple allowed per branch).",
307
+ demandOption: true,
308
+ choices: ["read_only", "read_write"]
309
+ },
310
+ "settings.preload_libraries.use_defaults": {
311
+ type: "boolean",
312
+ description: "When true, the project's preload libraries include the platform default set in addition to any libraries listed in `enabled_libraries`.",
313
+ demandOption: false
314
+ },
315
+ "settings.preload_libraries.enabled_libraries": {
316
+ type: "array",
317
+ description: "Names of shared preload libraries to enable for the project.",
318
+ demandOption: false
319
+ },
320
+ "provisioner": {
321
+ type: "string",
322
+ description: "Compute provisioner. `k8s-neonvm` (default) supports Autoscaling; `k8s-pod` is fixed-size compute. Also `docker` and `serverless-platform`.",
323
+ demandOption: false
324
+ },
325
+ "suspend_timeout_seconds": {
326
+ type: "number",
327
+ description: "Scale-to-zero idle timeout, in seconds, before the compute suspends. `0` uses the plan default; `-1` disables scale-to-zero (never suspends). Minimum is plan-dependent (Scale: 60); maximum 604800 (one week). Free cannot change it; Launch can only enable or disable; Scale can set any value.",
328
+ demandOption: false
329
+ }
322
330
  };
323
- export const branchUpdateRequest = {
324
- 'branch.name': {
325
- type: "string",
326
- description: "New display name for the branch.",
327
- demandOption: false,
328
- },
329
- 'branch.protected': {
330
- type: "boolean",
331
- description: "Whether the branch is protected. Protected branches (and their computes) cannot be deleted, archived, or reset, and block deletion of the project. Can be gated by `protected_branches_only` in the IP allowlist. Paid plans only.\n",
332
- demandOption: false,
333
- },
334
- 'branch.expires_at': {
335
- type: "string",
336
- description: "The timestamp when the branch is scheduled to expire and be automatically deleted. Must be set by the client following the [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6) format with precision up to seconds (such as 2025-06-09T18:02:16Z). Deletion is performed by a background job and may not occur exactly at the specified time. If this field is set to null, the expiration timestamp is removed.\n\nAccess to this feature is currently limited to participants in the Early Access Program.\n",
337
- demandOption: false,
338
- },
331
+ const branchUpdateRequest = {
332
+ "branch.name": {
333
+ type: "string",
334
+ description: "New display name for the branch.",
335
+ demandOption: false
336
+ },
337
+ "branch.protected": {
338
+ type: "boolean",
339
+ description: "Whether the branch is protected. Protected branches (and their computes) cannot be deleted, archived, or reset, and block deletion of the project. Can be gated by `protected_branches_only` in the IP allowlist. Paid plans only.\n",
340
+ demandOption: false
341
+ },
342
+ "branch.expires_at": {
343
+ type: "string",
344
+ description: "The timestamp when the branch is scheduled to expire and be automatically deleted. Must be set by the client following the [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6) format with precision up to seconds (such as 2025-06-09T18:02:16Z). Deletion is performed by a background job and may not occur exactly at the specified time. If this field is set to null, the expiration timestamp is removed.\n\nAccess to this feature is currently limited to participants in the Early Access Program.\n",
345
+ demandOption: false
346
+ }
339
347
  };
340
- export const endpointCreateRequest = {
341
- 'endpoint.branch_id': {
342
- type: "string",
343
- description: "The ID of the branch the compute endpoint will be associated with\n",
344
- demandOption: true,
345
- },
346
- 'endpoint.region_id': {
347
- type: "string",
348
- description: "The region where the compute endpoint will be created. Only the project's `region_id` is permitted.\n",
349
- demandOption: false,
350
- },
351
- 'endpoint.type': {
352
- type: "string",
353
- description: "Compute endpoint type. `read_write`: the primary read-write endpoint (one per branch). `read_only`: a read replica endpoint (multiple allowed per branch).",
354
- demandOption: true,
355
- choices: ["read_only", "read_write"],
356
- },
357
- 'endpoint.settings.preload_libraries.use_defaults': {
358
- type: "boolean",
359
- description: "When true, the project's preload libraries include the platform default set in addition to any libraries listed in `enabled_libraries`.",
360
- demandOption: false,
361
- },
362
- 'endpoint.settings.preload_libraries.enabled_libraries': {
363
- type: "array",
364
- description: "Names of shared preload libraries to enable for the project.",
365
- demandOption: false,
366
- },
367
- 'endpoint.provisioner': {
368
- type: "string",
369
- description: "Compute provisioner. `k8s-neonvm` (default) supports Autoscaling; `k8s-pod` is fixed-size compute. Also `docker` and `serverless-platform`.",
370
- demandOption: false,
371
- },
372
- 'endpoint.pooler_enabled': {
373
- type: "boolean",
374
- description: "Deprecated. To enable connection pooling, append `-pooler` to the endpoint ID in the connection string.\nSee [How to use connection pooling](https://neon.com/docs/connect/connection-pooling#how-to-use-connection-pooling)\n",
375
- demandOption: false,
376
- },
377
- 'endpoint.pooler_mode': {
378
- type: "string",
379
- description: "Deprecated. The connection pooler mode. Removal scheduled for June 20, 2026.\n",
380
- demandOption: false,
381
- choices: ["transaction"],
382
- },
383
- 'endpoint.disabled': {
384
- type: "boolean",
385
- description: "Whether to restrict connections to the compute endpoint.\nEnabling this option schedules a suspend compute operation.\nA disabled compute endpoint cannot be enabled by a connection or\nconsole action. However, the compute endpoint is periodically\nenabled by check_availability operations.\n",
386
- demandOption: false,
387
- },
388
- 'endpoint.passwordless_access': {
389
- type: "boolean",
390
- description: "NOT YET IMPLEMENTED. Whether to permit passwordless access to the compute endpoint.\n",
391
- demandOption: false,
392
- },
393
- 'endpoint.suspend_timeout_seconds': {
394
- type: "number",
395
- description: "Scale-to-zero idle timeout, in seconds, before the compute suspends. `0` uses the plan default; `-1` disables scale-to-zero (never suspends). Minimum is plan-dependent (Scale: 60); maximum 604800 (one week). Free cannot change it; Launch can only enable or disable; Scale can set any value.",
396
- demandOption: false,
397
- },
398
- 'endpoint.name': {
399
- type: "string",
400
- description: "Optional name of the compute endpoint\n",
401
- demandOption: false,
402
- },
348
+ const endpointCreateRequest = {
349
+ "endpoint.branch_id": {
350
+ type: "string",
351
+ description: "The ID of the branch the compute endpoint will be associated with\n",
352
+ demandOption: true
353
+ },
354
+ "endpoint.region_id": {
355
+ type: "string",
356
+ description: "The region where the compute endpoint will be created. Only the project's `region_id` is permitted.\n",
357
+ demandOption: false
358
+ },
359
+ "endpoint.type": {
360
+ type: "string",
361
+ description: "Compute endpoint type. `read_write`: the primary read-write endpoint (one per branch). `read_only`: a read replica endpoint (multiple allowed per branch).",
362
+ demandOption: true,
363
+ choices: ["read_only", "read_write"]
364
+ },
365
+ "endpoint.settings.preload_libraries.use_defaults": {
366
+ type: "boolean",
367
+ description: "When true, the project's preload libraries include the platform default set in addition to any libraries listed in `enabled_libraries`.",
368
+ demandOption: false
369
+ },
370
+ "endpoint.settings.preload_libraries.enabled_libraries": {
371
+ type: "array",
372
+ description: "Names of shared preload libraries to enable for the project.",
373
+ demandOption: false
374
+ },
375
+ "endpoint.provisioner": {
376
+ type: "string",
377
+ description: "Compute provisioner. `k8s-neonvm` (default) supports Autoscaling; `k8s-pod` is fixed-size compute. Also `docker` and `serverless-platform`.",
378
+ demandOption: false
379
+ },
380
+ "endpoint.pooler_enabled": {
381
+ type: "boolean",
382
+ description: "Deprecated. To enable connection pooling, append `-pooler` to the endpoint ID in the connection string.\nSee [How to use connection pooling](https://neon.com/docs/connect/connection-pooling#how-to-use-connection-pooling)\n",
383
+ demandOption: false
384
+ },
385
+ "endpoint.pooler_mode": {
386
+ type: "string",
387
+ description: "Deprecated. The connection pooler mode. Removal scheduled for June 20, 2026.\n",
388
+ demandOption: false,
389
+ choices: ["transaction"]
390
+ },
391
+ "endpoint.disabled": {
392
+ type: "boolean",
393
+ description: "Whether to restrict connections to the compute endpoint.\nEnabling this option schedules a suspend compute operation.\nA disabled compute endpoint cannot be enabled by a connection or\nconsole action. However, the compute endpoint is periodically\nenabled by check_availability operations.\n",
394
+ demandOption: false
395
+ },
396
+ "endpoint.passwordless_access": {
397
+ type: "boolean",
398
+ description: "NOT YET IMPLEMENTED. Whether to permit passwordless access to the compute endpoint.\n",
399
+ demandOption: false
400
+ },
401
+ "endpoint.suspend_timeout_seconds": {
402
+ type: "number",
403
+ description: "Scale-to-zero idle timeout, in seconds, before the compute suspends. `0` uses the plan default; `-1` disables scale-to-zero (never suspends). Minimum is plan-dependent (Scale: 60); maximum 604800 (one week). Free cannot change it; Launch can only enable or disable; Scale can set any value.",
404
+ demandOption: false
405
+ },
406
+ "endpoint.name": {
407
+ type: "string",
408
+ description: "Optional name of the compute endpoint\n",
409
+ demandOption: false
410
+ }
403
411
  };
404
- export const endpointUpdateRequest = {
405
- 'endpoint.branch_id': {
406
- type: "string",
407
- description: "Deprecated. The destination branch ID; must not have an existing read-write endpoint.\n",
408
- demandOption: false,
409
- },
410
- 'endpoint.provisioner': {
411
- type: "string",
412
- description: "Compute provisioner. `k8s-neonvm` (default) supports Autoscaling; `k8s-pod` is fixed-size compute. Also `docker` and `serverless-platform`.",
413
- demandOption: false,
414
- },
415
- 'endpoint.settings.preload_libraries.use_defaults': {
416
- type: "boolean",
417
- description: "When true, the project's preload libraries include the platform default set in addition to any libraries listed in `enabled_libraries`.",
418
- demandOption: false,
419
- },
420
- 'endpoint.settings.preload_libraries.enabled_libraries': {
421
- type: "array",
422
- description: "Names of shared preload libraries to enable for the project.",
423
- demandOption: false,
424
- },
425
- 'endpoint.pooler_enabled': {
426
- type: "boolean",
427
- description: "Deprecated. To enable connection pooling, append `-pooler` to the endpoint ID in the connection string.\nSee [How to use connection pooling](https://neon.com/docs/connect/connection-pooling#how-to-use-connection-pooling)\n",
428
- demandOption: false,
429
- },
430
- 'endpoint.pooler_mode': {
431
- type: "string",
432
- description: "Deprecated. The connection pooler mode. Removal scheduled for June 20, 2026.\n",
433
- demandOption: false,
434
- choices: ["transaction"],
435
- },
436
- 'endpoint.disabled': {
437
- type: "boolean",
438
- description: "Whether to restrict connections to the compute endpoint.\nEnabling this option schedules a suspend compute operation.\nA disabled compute endpoint cannot be enabled by a connection or\nconsole action. However, the compute endpoint is periodically\nenabled by check_availability operations.\n",
439
- demandOption: false,
440
- },
441
- 'endpoint.passwordless_access': {
442
- type: "boolean",
443
- description: "NOT YET IMPLEMENTED. Whether to permit passwordless access to the compute endpoint.\n",
444
- demandOption: false,
445
- },
446
- 'endpoint.suspend_timeout_seconds': {
447
- type: "number",
448
- description: "Scale-to-zero idle timeout, in seconds, before the compute suspends. `0` uses the plan default; `-1` disables scale-to-zero (never suspends). Minimum is plan-dependent (Scale: 60); maximum 604800 (one week). Free cannot change it; Launch can only enable or disable; Scale can set any value.",
449
- demandOption: false,
450
- },
451
- 'endpoint.name': {
452
- type: "string",
453
- description: "Optional name of the compute endpoint\n",
454
- demandOption: false,
455
- },
412
+ const endpointUpdateRequest = {
413
+ "endpoint.branch_id": {
414
+ type: "string",
415
+ description: "Deprecated. The destination branch ID; must not have an existing read-write endpoint.\n",
416
+ demandOption: false
417
+ },
418
+ "endpoint.provisioner": {
419
+ type: "string",
420
+ description: "Compute provisioner. `k8s-neonvm` (default) supports Autoscaling; `k8s-pod` is fixed-size compute. Also `docker` and `serverless-platform`.",
421
+ demandOption: false
422
+ },
423
+ "endpoint.settings.preload_libraries.use_defaults": {
424
+ type: "boolean",
425
+ description: "When true, the project's preload libraries include the platform default set in addition to any libraries listed in `enabled_libraries`.",
426
+ demandOption: false
427
+ },
428
+ "endpoint.settings.preload_libraries.enabled_libraries": {
429
+ type: "array",
430
+ description: "Names of shared preload libraries to enable for the project.",
431
+ demandOption: false
432
+ },
433
+ "endpoint.pooler_enabled": {
434
+ type: "boolean",
435
+ description: "Deprecated. To enable connection pooling, append `-pooler` to the endpoint ID in the connection string.\nSee [How to use connection pooling](https://neon.com/docs/connect/connection-pooling#how-to-use-connection-pooling)\n",
436
+ demandOption: false
437
+ },
438
+ "endpoint.pooler_mode": {
439
+ type: "string",
440
+ description: "Deprecated. The connection pooler mode. Removal scheduled for June 20, 2026.\n",
441
+ demandOption: false,
442
+ choices: ["transaction"]
443
+ },
444
+ "endpoint.disabled": {
445
+ type: "boolean",
446
+ description: "Whether to restrict connections to the compute endpoint.\nEnabling this option schedules a suspend compute operation.\nA disabled compute endpoint cannot be enabled by a connection or\nconsole action. However, the compute endpoint is periodically\nenabled by check_availability operations.\n",
447
+ demandOption: false
448
+ },
449
+ "endpoint.passwordless_access": {
450
+ type: "boolean",
451
+ description: "NOT YET IMPLEMENTED. Whether to permit passwordless access to the compute endpoint.\n",
452
+ demandOption: false
453
+ },
454
+ "endpoint.suspend_timeout_seconds": {
455
+ type: "number",
456
+ description: "Scale-to-zero idle timeout, in seconds, before the compute suspends. `0` uses the plan default; `-1` disables scale-to-zero (never suspends). Minimum is plan-dependent (Scale: 60); maximum 604800 (one week). Free cannot change it; Launch can only enable or disable; Scale can set any value.",
457
+ demandOption: false
458
+ },
459
+ "endpoint.name": {
460
+ type: "string",
461
+ description: "Optional name of the compute endpoint\n",
462
+ demandOption: false
463
+ }
456
464
  };
457
- export const databaseCreateRequest = {
458
- 'database.name': {
459
- type: "string",
460
- description: "Name of the database to create.\n",
461
- demandOption: true,
462
- },
463
- 'database.owner_name': {
464
- type: "string",
465
- description: "The name of the role that owns the database\n",
466
- demandOption: true,
467
- },
465
+ const databaseCreateRequest = {
466
+ "database.name": {
467
+ type: "string",
468
+ description: "Name of the database to create.\n",
469
+ demandOption: true
470
+ },
471
+ "database.owner_name": {
472
+ type: "string",
473
+ description: "The name of the role that owns the database\n",
474
+ demandOption: true
475
+ }
468
476
  };
469
- export const roleCreateRequest = {
470
- 'role.name': {
471
- type: "string",
472
- description: "The role name. Cannot exceed 63 bytes in length.\n",
473
- demandOption: true,
474
- },
475
- 'role.no_login': {
476
- type: "boolean",
477
- description: "Whether to create a role that cannot login.\n",
478
- demandOption: false,
479
- },
477
+ const roleCreateRequest = {
478
+ "role.name": {
479
+ type: "string",
480
+ description: "The role name. Cannot exceed 63 bytes in length.\n",
481
+ demandOption: true
482
+ },
483
+ "role.no_login": {
484
+ type: "boolean",
485
+ description: "Whether to create a role that cannot login.\n",
486
+ demandOption: false
487
+ }
480
488
  };
489
+ //#endregion
490
+ export { branchCreateRequest, branchCreateRequestEndpointOptions, branchUpdateRequest, databaseCreateRequest, endpointCreateRequest, endpointUpdateRequest, projectCreateRequest, projectUpdateRequest, roleCreateRequest };