Skip to content

Commit 2891cbb

Browse files
committed
chore(api): sync OpenAPI contract
1 parent 040c8cb commit 2891cbb

33 files changed

Lines changed: 1019 additions & 108 deletions

‎openapi/openapi.yaml‎

Lines changed: 258 additions & 56 deletions
Large diffs are not rendered by default.

‎src/volcano_sdk/_generated/api/authentication/auth_signin.py‎

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,9 @@ def sync_detailed(
9292
Set `session_mode` to `cookie` to request HttpOnly refresh-token
9393
storage. Cookie mode is honored only for an exact, credentialed CORS
9494
origin on the same schemeful site as this API. Otherwise the response
95-
retains the refresh token in its body.
95+
retains the refresh token in its body. A frontend on its default
96+
Volcano URL is cross-site with this API and so always gets the body
97+
token.
9698
9799
Args:
98100
body (AuthSigninBody):
@@ -130,7 +132,9 @@ def sync(
130132
Set `session_mode` to `cookie` to request HttpOnly refresh-token
131133
storage. Cookie mode is honored only for an exact, credentialed CORS
132134
origin on the same schemeful site as this API. Otherwise the response
133-
retains the refresh token in its body.
135+
retains the refresh token in its body. A frontend on its default
136+
Volcano URL is cross-site with this API and so always gets the body
137+
token.
134138
135139
Args:
136140
body (AuthSigninBody):
@@ -163,7 +167,9 @@ async def asyncio_detailed(
163167
Set `session_mode` to `cookie` to request HttpOnly refresh-token
164168
storage. Cookie mode is honored only for an exact, credentialed CORS
165169
origin on the same schemeful site as this API. Otherwise the response
166-
retains the refresh token in its body.
170+
retains the refresh token in its body. A frontend on its default
171+
Volcano URL is cross-site with this API and so always gets the body
172+
token.
167173
168174
Args:
169175
body (AuthSigninBody):
@@ -201,7 +207,9 @@ async def asyncio(
201207
Set `session_mode` to `cookie` to request HttpOnly refresh-token
202208
storage. Cookie mode is honored only for an exact, credentialed CORS
203209
origin on the same schemeful site as this API. Otherwise the response
204-
retains the refresh token in its body.
210+
retains the refresh token in its body. A frontend on its default
211+
Volcano URL is cross-site with this API and so always gets the body
212+
token.
205213
206214
Args:
207215
body (AuthSigninBody):

‎src/volcano_sdk/_generated/api/databases/list_database_regions.py‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ def sync_detailed(
6868
""" List platform-supported regions for database provisioning
6969
7070
Returns the regions enabled for database provisioning in this platform environment.
71+
These are the same regions offered for function deployment, and the only values
72+
the `region` field of a database accepts.
7173
This is a public endpoint that doesn't require authentication.
7274
7375
Raises:
@@ -97,6 +99,8 @@ def sync(
9799
""" List platform-supported regions for database provisioning
98100
99101
Returns the regions enabled for database provisioning in this platform environment.
102+
These are the same regions offered for function deployment, and the only values
103+
the `region` field of a database accepts.
100104
This is a public endpoint that doesn't require authentication.
101105
102106
Raises:
@@ -121,6 +125,8 @@ async def asyncio_detailed(
121125
""" List platform-supported regions for database provisioning
122126
123127
Returns the regions enabled for database provisioning in this platform environment.
128+
These are the same regions offered for function deployment, and the only values
129+
the `region` field of a database accepts.
124130
This is a public endpoint that doesn't require authentication.
125131
126132
Raises:
@@ -150,6 +156,8 @@ async def asyncio(
150156
""" List platform-supported regions for database provisioning
151157
152158
Returns the regions enabled for database provisioning in this platform environment.
159+
These are the same regions offered for function deployment, and the only values
160+
the `region` field of a database accepts.
153161
This is a public endpoint that doesn't require authentication.
154162
155163
Raises:

‎src/volcano_sdk/_generated/api/frontends/create_frontend.py‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ def sync_detailed(
153153
`package.json` `engines.node`; if omitted, Volcano uses Node.js 22.x.
154154
The selected Node.js family must also satisfy the installed Next.js package's
155155
`engines.node` constraint. Volcano tests Next 15.5.25 (`^18.18.0 || ^19.8.0 || >=20.0.0`) and Next
156-
16.3.4 (`>=20.9.0`).
156+
16.3.5 (`>=20.9.0`).
157157
Source archive size is enforced by the API with `SOURCE_ARCHIVE_SIZE_LIMIT_MB`; the CLI
158158
does not apply its own source archive size limit. After the final container images are
159159
built, the publish build enforces `LAMBDA_TARGET_CONTAINER_SIZE_LIMIT_MB` before pushing.
@@ -217,7 +217,7 @@ def sync(
217217
`package.json` `engines.node`; if omitted, Volcano uses Node.js 22.x.
218218
The selected Node.js family must also satisfy the installed Next.js package's
219219
`engines.node` constraint. Volcano tests Next 15.5.25 (`^18.18.0 || ^19.8.0 || >=20.0.0`) and Next
220-
16.3.4 (`>=20.9.0`).
220+
16.3.5 (`>=20.9.0`).
221221
Source archive size is enforced by the API with `SOURCE_ARCHIVE_SIZE_LIMIT_MB`; the CLI
222222
does not apply its own source archive size limit. After the final container images are
223223
built, the publish build enforces `LAMBDA_TARGET_CONTAINER_SIZE_LIMIT_MB` before pushing.
@@ -276,7 +276,7 @@ async def asyncio_detailed(
276276
`package.json` `engines.node`; if omitted, Volcano uses Node.js 22.x.
277277
The selected Node.js family must also satisfy the installed Next.js package's
278278
`engines.node` constraint. Volcano tests Next 15.5.25 (`^18.18.0 || ^19.8.0 || >=20.0.0`) and Next
279-
16.3.4 (`>=20.9.0`).
279+
16.3.5 (`>=20.9.0`).
280280
Source archive size is enforced by the API with `SOURCE_ARCHIVE_SIZE_LIMIT_MB`; the CLI
281281
does not apply its own source archive size limit. After the final container images are
282282
built, the publish build enforces `LAMBDA_TARGET_CONTAINER_SIZE_LIMIT_MB` before pushing.
@@ -340,7 +340,7 @@ async def asyncio(
340340
`package.json` `engines.node`; if omitted, Volcano uses Node.js 22.x.
341341
The selected Node.js family must also satisfy the installed Next.js package's
342342
`engines.node` constraint. Volcano tests Next 15.5.25 (`^18.18.0 || ^19.8.0 || >=20.0.0`) and Next
343-
16.3.4 (`>=20.9.0`).
343+
16.3.5 (`>=20.9.0`).
344344
Source archive size is enforced by the API with `SOURCE_ARCHIVE_SIZE_LIMIT_MB`; the CLI
345345
does not apply its own source archive size limit. After the final container images are
346346
built, the publish build enforces `LAMBDA_TARGET_CONTAINER_SIZE_LIMIT_MB` before pushing.

‎src/volcano_sdk/_generated/api/functions/invoke_function.py‎

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,8 @@ def sync_detailed(
148148
- This operation is the authenticated direct RPC endpoint and always uses the
149149
POST `{payload: ...}` contract, including for functions whose DNS ingress is
150150
configured in HTTP mode.
151-
- The geo-routed DNS ingress is `https://{functionId}.functions.<domain>/`.
151+
- The geo-routed DNS ingress is the function's `invoke_url`. It is on a
152+
different domain from this API, so it cannot be derived from the API host.
152153
- RPC-mode DNS ingress accepts POST at `/`. HTTP-mode DNS ingress accepts GET,
153154
HEAD, POST, PUT, PATCH, and DELETE at `/` and nested paths.
154155
- Direct and RPC-mode CORS preflight advertises `POST, OPTIONS`. HTTP-mode DNS
@@ -219,7 +220,8 @@ def sync(
219220
- This operation is the authenticated direct RPC endpoint and always uses the
220221
POST `{payload: ...}` contract, including for functions whose DNS ingress is
221222
configured in HTTP mode.
222-
- The geo-routed DNS ingress is `https://{functionId}.functions.<domain>/`.
223+
- The geo-routed DNS ingress is the function's `invoke_url`. It is on a
224+
different domain from this API, so it cannot be derived from the API host.
223225
- RPC-mode DNS ingress accepts POST at `/`. HTTP-mode DNS ingress accepts GET,
224226
HEAD, POST, PUT, PATCH, and DELETE at `/` and nested paths.
225227
- Direct and RPC-mode CORS preflight advertises `POST, OPTIONS`. HTTP-mode DNS
@@ -285,7 +287,8 @@ async def asyncio_detailed(
285287
- This operation is the authenticated direct RPC endpoint and always uses the
286288
POST `{payload: ...}` contract, including for functions whose DNS ingress is
287289
configured in HTTP mode.
288-
- The geo-routed DNS ingress is `https://{functionId}.functions.<domain>/`.
290+
- The geo-routed DNS ingress is the function's `invoke_url`. It is on a
291+
different domain from this API, so it cannot be derived from the API host.
289292
- RPC-mode DNS ingress accepts POST at `/`. HTTP-mode DNS ingress accepts GET,
290293
HEAD, POST, PUT, PATCH, and DELETE at `/` and nested paths.
291294
- Direct and RPC-mode CORS preflight advertises `POST, OPTIONS`. HTTP-mode DNS
@@ -356,7 +359,8 @@ async def asyncio(
356359
- This operation is the authenticated direct RPC endpoint and always uses the
357360
POST `{payload: ...}` contract, including for functions whose DNS ingress is
358361
configured in HTTP mode.
359-
- The geo-routed DNS ingress is `https://{functionId}.functions.<domain>/`.
362+
- The geo-routed DNS ingress is the function's `invoke_url`. It is on a
363+
different domain from this API, so it cannot be derived from the API host.
360364
- RPC-mode DNS ingress accepts POST at `/`. HTTP-mode DNS ingress accepts GET,
361365
HEAD, POST, PUT, PATCH, and DELETE at `/` and nested paths.
362366
- Direct and RPC-mode CORS preflight advertises `POST, OPTIONS`. HTTP-mode DNS

‎src/volcano_sdk/_generated/api/functions/resolve_function_for_invocation.py‎

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,13 @@ def sync_detailed(
101101
) -> Response[Error | ResolveFunctionResponse]:
102102
""" Resolve function name for invocation
103103
104-
Resolves a DNS-safe function name to its function ID within the caller's project.
104+
Resolves a DNS-safe function name to its function ID and invocation URL within the caller's project.
105105
106106
SDKs use this endpoint internally to invoke by function name while routing by function ID.
107+
Invoke the returned `invoke_url` as-is. It does not share a domain with the API, so a host
108+
built from the API URL will not reach the function. When the deployment serves no public
109+
invocation domain, as in local development, `invoke_url` is omitted and callers invoke
110+
through `POST /functions/{functionId}/invoke`.
107111
108112
**With Service Key**:
109113
- Allowed
@@ -146,9 +150,13 @@ def sync(
146150
) -> Error | ResolveFunctionResponse | None:
147151
""" Resolve function name for invocation
148152
149-
Resolves a DNS-safe function name to its function ID within the caller's project.
153+
Resolves a DNS-safe function name to its function ID and invocation URL within the caller's project.
150154
151155
SDKs use this endpoint internally to invoke by function name while routing by function ID.
156+
Invoke the returned `invoke_url` as-is. It does not share a domain with the API, so a host
157+
built from the API URL will not reach the function. When the deployment serves no public
158+
invocation domain, as in local development, `invoke_url` is omitted and callers invoke
159+
through `POST /functions/{functionId}/invoke`.
152160
153161
**With Service Key**:
154162
- Allowed
@@ -186,9 +194,13 @@ async def asyncio_detailed(
186194
) -> Response[Error | ResolveFunctionResponse]:
187195
""" Resolve function name for invocation
188196
189-
Resolves a DNS-safe function name to its function ID within the caller's project.
197+
Resolves a DNS-safe function name to its function ID and invocation URL within the caller's project.
190198
191199
SDKs use this endpoint internally to invoke by function name while routing by function ID.
200+
Invoke the returned `invoke_url` as-is. It does not share a domain with the API, so a host
201+
built from the API URL will not reach the function. When the deployment serves no public
202+
invocation domain, as in local development, `invoke_url` is omitted and callers invoke
203+
through `POST /functions/{functionId}/invoke`.
192204
193205
**With Service Key**:
194206
- Allowed
@@ -231,9 +243,13 @@ async def asyncio(
231243
) -> Error | ResolveFunctionResponse | None:
232244
""" Resolve function name for invocation
233245
234-
Resolves a DNS-safe function name to its function ID within the caller's project.
246+
Resolves a DNS-safe function name to its function ID and invocation URL within the caller's project.
235247
236248
SDKs use this endpoint internally to invoke by function name while routing by function ID.
249+
Invoke the returned `invoke_url` as-is. It does not share a domain with the API, so a host
250+
built from the API URL will not reach the function. When the deployment serves no public
251+
invocation domain, as in local development, `invoke_url` is omitted and callers invoke
252+
through `POST /functions/{functionId}/invoke`.
237253
238254
**With Service Key**:
239255
- Allowed

‎src/volcano_sdk/_generated/api/o_auth_authentication/call_o_auth_provider_api.py‎

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,9 @@ def sync_detailed(
129129
An empty provider body is represented as `data: null`; the envelope
130130
preserves the provider's HTTP status in `status_code`, including errors.
131131
Provider response bodies are limited to 8 MiB after decompression.
132-
Transport failures, invalid JSON, and oversized bodies return `502`.
132+
Transport failures, invalid JSON (including invalid UTF-8), and oversized
133+
bodies return `502`. Provider redirects to another origin are blocked and
134+
return `400`.
133135
134136
Args:
135137
provider (CallOAuthProviderAPIProvider):
@@ -183,7 +185,9 @@ def sync(
183185
An empty provider body is represented as `data: null`; the envelope
184186
preserves the provider's HTTP status in `status_code`, including errors.
185187
Provider response bodies are limited to 8 MiB after decompression.
186-
Transport failures, invalid JSON, and oversized bodies return `502`.
188+
Transport failures, invalid JSON (including invalid UTF-8), and oversized
189+
bodies return `502`. Provider redirects to another origin are blocked and
190+
return `400`.
187191
188192
Args:
189193
provider (CallOAuthProviderAPIProvider):
@@ -232,7 +236,9 @@ async def asyncio_detailed(
232236
An empty provider body is represented as `data: null`; the envelope
233237
preserves the provider's HTTP status in `status_code`, including errors.
234238
Provider response bodies are limited to 8 MiB after decompression.
235-
Transport failures, invalid JSON, and oversized bodies return `502`.
239+
Transport failures, invalid JSON (including invalid UTF-8), and oversized
240+
bodies return `502`. Provider redirects to another origin are blocked and
241+
return `400`.
236242
237243
Args:
238244
provider (CallOAuthProviderAPIProvider):
@@ -286,7 +292,9 @@ async def asyncio(
286292
An empty provider body is represented as `data: null`; the envelope
287293
preserves the provider's HTTP status in `status_code`, including errors.
288294
Provider response bodies are limited to 8 MiB after decompression.
289-
Transport failures, invalid JSON, and oversized bodies return `502`.
295+
Transport failures, invalid JSON (including invalid UTF-8), and oversized
296+
bodies return `502`. Provider redirects to another origin are blocked and
297+
return `400`.
290298
291299
Args:
292300
provider (CallOAuthProviderAPIProvider):

‎src/volcano_sdk/_generated/api/projects/apply_project_config.py‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,13 @@ def _parse_response(*, client: AuthenticatedClient | Client, response: httpx.Res
9696

9797
return response_422
9898

99+
if response.status_code == 503:
100+
response_503 = Error.from_dict(response.json())
101+
102+
103+
104+
return response_503
105+
99106
if client.raise_on_unexpected_status:
100107
raise errors.UnexpectedStatus(response.status_code, response.content)
101108
else:

‎src/volcano_sdk/_generated/api/projects/get_project_config.py‎

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,13 @@ def _parse_response(*, client: AuthenticatedClient | Client, response: httpx.Res
7373

7474
return response_404
7575

76+
if response.status_code == 413:
77+
response_413 = Error.from_dict(response.json())
78+
79+
80+
81+
return response_413
82+
7683
if client.raise_on_unexpected_status:
7784
raise errors.UnexpectedStatus(response.status_code, response.content)
7885
else:
@@ -102,8 +109,9 @@ def sync_detailed(
102109
volcano-config.yaml rendering with `Accept: application/yaml` or
103110
`?format=yaml`; the YAML is returned verbatim as the raw response body
104111
(`Content-Type: application/yaml`) and is meant to be saved as-is.
105-
Write-only secrets (SMTP password, OAuth client secrets, TLS material)
106-
are omitted from the export; the YAML rendering adds a header comment
112+
Variable values and write-only secrets (SMTP password, OAuth client secrets, TLS material)
113+
are omitted from the export; shared_variables contains names only; the YAML rendering adds a header
114+
comment
107115
describing how to set them via CLI environment interpolation.
108116
109117
Args:
@@ -145,8 +153,9 @@ def sync(
145153
volcano-config.yaml rendering with `Accept: application/yaml` or
146154
`?format=yaml`; the YAML is returned verbatim as the raw response body
147155
(`Content-Type: application/yaml`) and is meant to be saved as-is.
148-
Write-only secrets (SMTP password, OAuth client secrets, TLS material)
149-
are omitted from the export; the YAML rendering adds a header comment
156+
Variable values and write-only secrets (SMTP password, OAuth client secrets, TLS material)
157+
are omitted from the export; shared_variables contains names only; the YAML rendering adds a header
158+
comment
150159
describing how to set them via CLI environment interpolation.
151160
152161
Args:
@@ -183,8 +192,9 @@ async def asyncio_detailed(
183192
volcano-config.yaml rendering with `Accept: application/yaml` or
184193
`?format=yaml`; the YAML is returned verbatim as the raw response body
185194
(`Content-Type: application/yaml`) and is meant to be saved as-is.
186-
Write-only secrets (SMTP password, OAuth client secrets, TLS material)
187-
are omitted from the export; the YAML rendering adds a header comment
195+
Variable values and write-only secrets (SMTP password, OAuth client secrets, TLS material)
196+
are omitted from the export; shared_variables contains names only; the YAML rendering adds a header
197+
comment
188198
describing how to set them via CLI environment interpolation.
189199
190200
Args:
@@ -226,8 +236,9 @@ async def asyncio(
226236
volcano-config.yaml rendering with `Accept: application/yaml` or
227237
`?format=yaml`; the YAML is returned verbatim as the raw response body
228238
(`Content-Type: application/yaml`) and is meant to be saved as-is.
229-
Write-only secrets (SMTP password, OAuth client secrets, TLS material)
230-
are omitted from the export; the YAML rendering adds a header comment
239+
Variable values and write-only secrets (SMTP password, OAuth client secrets, TLS material)
240+
are omitted from the export; shared_variables contains names only; the YAML rendering adds a header
241+
comment
231242
describing how to set them via CLI environment interpolation.
232243
233244
Args:

0 commit comments

Comments
 (0)