From 1b8465c6b997f9415fb0ff55c3bb0fafc1ffe1df Mon Sep 17 00:00:00 2001 From: David Crespo Date: Fri, 6 Feb 2026 16:01:49 -0600 Subject: [PATCH] API bump to latest omicron for funsies --- OMICRON_VERSION | 2 +- app/api/__generated__/Api.ts | 81 ++++++++++++++++++++++++++- app/api/__generated__/OMICRON_VERSION | 2 +- app/api/__generated__/msw-handlers.ts | 25 +++++++++ app/api/__generated__/validate.ts | 50 +++++++++++++++++ mock-api/msw/handlers.ts | 30 +++++----- 6 files changed, 173 insertions(+), 17 deletions(-) diff --git a/OMICRON_VERSION b/OMICRON_VERSION index ac96dc544..cf54272f8 100644 --- a/OMICRON_VERSION +++ b/OMICRON_VERSION @@ -1 +1 @@ -558f89ecd26ee7e2fcea526c2aed0a6fa637eb65 +af818ad5ea019b776c4d3cb10f5a5a5ea629b13d diff --git a/app/api/__generated__/Api.ts b/app/api/__generated__/Api.ts index c97a75d11..73b22a46a 100644 --- a/app/api/__generated__/Api.ts +++ b/app/api/__generated__/Api.ts @@ -4240,6 +4240,38 @@ export type SiloRolePolicy = { roleAssignments: SiloRoleRoleAssignment[] } +/** + * A subnet pool in the context of a silo + */ +export type SiloSubnetPool = { + /** human-readable free-form text about a resource */ + description: string + /** unique, immutable, system-controlled identifier for each resource */ + id: string + /** The IP version for the pool. */ + ipVersion: IpVersion + /** When a pool is the default for a silo, external subnet allocations will come from that pool when no other pool is specified. + +A silo can have at most one default pool per IP version (IPv4 or IPv6), allowing up to 2 default pools total. */ + isDefault: boolean + /** unique, mutable, user-controlled identifier for each resource */ + name: Name + /** timestamp when this resource was created */ + timeCreated: Date + /** timestamp when this resource was last modified */ + timeModified: Date +} + +/** + * A single page of results + */ +export type SiloSubnetPoolResultsPage = { + /** list of items on this page of results */ + items: SiloSubnetPool[] + /** token used to fetch the next page of results (if any) */ + nextPage?: string | null +} + /** * A collection of resource counts used to describe capacity and utilization */ @@ -6634,6 +6666,12 @@ export interface SnapshotDeleteQueryParams { project?: NameOrId } +export interface CurrentSiloSubnetPoolListQueryParams { + limit?: number | null + pageToken?: string | null + sortBy?: NameOrIdSortMode +} + export interface AuditLogListQueryParams { endTime?: Date | null limit?: number | null @@ -7065,6 +7103,16 @@ export interface SiloQuotasUpdatePathParams { silo: NameOrId } +export interface SiloSubnetPoolListPathParams { + silo: NameOrId +} + +export interface SiloSubnetPoolListQueryParams { + limit?: number | null + pageToken?: string | null + sortBy?: NameOrIdSortMode +} + export interface SubnetPoolListQueryParams { limit?: number | null pageToken?: string | null @@ -7452,7 +7500,7 @@ export class Api { * Pulled from info.version in the OpenAPI schema. Sent in the * `api-version` header on all requests. */ - apiVersion = '2026020200.0.0' + apiVersion = '2026020600.0.0' constructor({ host = '', baseParams = {}, token }: ApiConfig = {}) { this.host = host @@ -9882,6 +9930,20 @@ export class Api { ...params, }) }, + /** + * List subnet pools linked to the user's current silo + */ + currentSiloSubnetPoolList: ( + { query = {} }: { query?: CurrentSiloSubnetPoolListQueryParams }, + params: FetchParams = {} + ) => { + return this.request({ + path: `/v1/subnet-pools`, + method: 'GET', + query, + ...params, + }) + }, /** * View audit log */ @@ -11216,6 +11278,23 @@ export class Api { ...params, }) }, + /** + * List subnet pools linked to a silo + */ + siloSubnetPoolList: ( + { + path, + query = {}, + }: { path: SiloSubnetPoolListPathParams; query?: SiloSubnetPoolListQueryParams }, + params: FetchParams = {} + ) => { + return this.request({ + path: `/v1/system/silos/${path.silo}/subnet-pools`, + method: 'GET', + query, + ...params, + }) + }, /** * List subnet pools */ diff --git a/app/api/__generated__/OMICRON_VERSION b/app/api/__generated__/OMICRON_VERSION index ba56ec2c7..c8e7ad2ac 100644 --- a/app/api/__generated__/OMICRON_VERSION +++ b/app/api/__generated__/OMICRON_VERSION @@ -1,2 +1,2 @@ # generated file. do not update manually. see docs/update-pinned-api.md -558f89ecd26ee7e2fcea526c2aed0a6fa637eb65 +af818ad5ea019b776c4d3cb10f5a5a5ea629b13d diff --git a/app/api/__generated__/msw-handlers.ts b/app/api/__generated__/msw-handlers.ts index 96a0f7d3f..eeaadc0b8 100644 --- a/app/api/__generated__/msw-handlers.ts +++ b/app/api/__generated__/msw-handlers.ts @@ -1035,6 +1035,12 @@ export interface MSWHandlers { req: Request cookies: Record }) => Promisable + /** `GET /v1/subnet-pools` */ + currentSiloSubnetPoolList: (params: { + query: Api.CurrentSiloSubnetPoolListQueryParams + req: Request + cookies: Record + }) => Promisable> /** `GET /v1/system/audit-log` */ auditLogList: (params: { query: Api.AuditLogListQueryParams @@ -1625,6 +1631,13 @@ export interface MSWHandlers { req: Request cookies: Record }) => Promisable> + /** `GET /v1/system/silos/:silo/subnet-pools` */ + siloSubnetPoolList: (params: { + path: Api.SiloSubnetPoolListPathParams + query: Api.SiloSubnetPoolListQueryParams + req: Request + cookies: Record + }) => Promisable> /** `GET /v1/system/subnet-pools` */ subnetPoolList: (params: { query: Api.SubnetPoolListQueryParams @@ -2953,6 +2966,14 @@ export function makeHandlers(handlers: MSWHandlers): HttpHandler[] { '/v1/snapshots/:snapshot', handler(handlers['snapshotDelete'], schema.SnapshotDeleteParams, null) ), + http.get( + '/v1/subnet-pools', + handler( + handlers['currentSiloSubnetPoolList'], + schema.CurrentSiloSubnetPoolListParams, + null + ) + ), http.get( '/v1/system/audit-log', handler(handlers['auditLogList'], schema.AuditLogListParams, null) @@ -3467,6 +3488,10 @@ export function makeHandlers(handlers: MSWHandlers): HttpHandler[] { schema.SiloQuotasUpdate ) ), + http.get( + '/v1/system/silos/:silo/subnet-pools', + handler(handlers['siloSubnetPoolList'], schema.SiloSubnetPoolListParams, null) + ), http.get( '/v1/system/subnet-pools', handler(handlers['subnetPoolList'], schema.SubnetPoolListParams, null) diff --git a/app/api/__generated__/validate.ts b/app/api/__generated__/validate.ts index f5babd4a9..c29ed2301 100644 --- a/app/api/__generated__/validate.ts +++ b/app/api/__generated__/validate.ts @@ -3863,6 +3863,30 @@ export const SiloRolePolicy = z.preprocess( z.object({ roleAssignments: SiloRoleRoleAssignment.array() }) ) +/** + * A subnet pool in the context of a silo + */ +export const SiloSubnetPool = z.preprocess( + processResponseBody, + z.object({ + description: z.string(), + id: z.uuid(), + ipVersion: IpVersion, + isDefault: SafeBoolean, + name: Name, + timeCreated: z.coerce.date(), + timeModified: z.coerce.date(), + }) +) + +/** + * A single page of results + */ +export const SiloSubnetPoolResultsPage = z.preprocess( + processResponseBody, + z.object({ items: SiloSubnetPool.array(), nextPage: z.string().nullable().optional() }) +) + /** * A collection of resource counts used to describe capacity and utilization */ @@ -6901,6 +6925,18 @@ export const SnapshotDeleteParams = z.preprocess( }) ) +export const CurrentSiloSubnetPoolListParams = z.preprocess( + processResponseBody, + z.object({ + path: z.object({}), + query: z.object({ + limit: z.number().min(1).max(4294967295).nullable().optional(), + pageToken: z.string().nullable().optional(), + sortBy: NameOrIdSortMode.optional(), + }), + }) +) + export const AuditLogListParams = z.preprocess( processResponseBody, z.object({ @@ -7902,6 +7938,20 @@ export const SiloQuotasUpdateParams = z.preprocess( }) ) +export const SiloSubnetPoolListParams = z.preprocess( + processResponseBody, + z.object({ + path: z.object({ + silo: NameOrId, + }), + query: z.object({ + limit: z.number().min(1).max(4294967295).nullable().optional(), + pageToken: z.string().nullable().optional(), + sortBy: NameOrIdSortMode.optional(), + }), + }) +) + export const SubnetPoolListParams = z.preprocess( processResponseBody, z.object({ diff --git a/mock-api/msw/handlers.ts b/mock-api/msw/handlers.ts index e2d40ca22..b99b8a429 100644 --- a/mock-api/msw/handlers.ts +++ b/mock-api/msw/handlers.ts @@ -282,13 +282,6 @@ export const handlers = makeHandlers({ return 204 }, - externalSubnetList: NotImplemented, - externalSubnetCreate: NotImplemented, - externalSubnetView: NotImplemented, - externalSubnetUpdate: NotImplemented, - externalSubnetDelete: NotImplemented, - externalSubnetAttach: NotImplemented, - externalSubnetDetach: NotImplemented, floatingIpCreate({ body, query }) { const project = lookup.project(query) errIfExists(db.floatingIps, { name: body.name, project_id: project.id }) @@ -2193,6 +2186,14 @@ export const handlers = makeHandlers({ certificateDelete: NotImplemented, certificateList: NotImplemented, certificateView: NotImplemented, + currentSiloSubnetPoolList: NotImplemented, + externalSubnetList: NotImplemented, + externalSubnetCreate: NotImplemented, + externalSubnetView: NotImplemented, + externalSubnetUpdate: NotImplemented, + externalSubnetDelete: NotImplemented, + externalSubnetAttach: NotImplemented, + externalSubnetDetach: NotImplemented, instanceExternalSubnetList: NotImplemented, instanceMulticastGroupJoin: NotImplemented, instanceMulticastGroupLeave: NotImplemented, @@ -2259,30 +2260,31 @@ export const handlers = makeHandlers({ probeDelete: NotImplemented, probeList: NotImplemented, probeView: NotImplemented, - rackView: NotImplemented, rackMembershipAbort: NotImplemented, - rackMembershipStatus: NotImplemented, rackMembershipAddSleds: NotImplemented, + rackMembershipStatus: NotImplemented, + rackView: NotImplemented, siloPolicyUpdate: NotImplemented, siloPolicyView: NotImplemented, + siloSubnetPoolList: NotImplemented, siloUserList: NotImplemented, siloUserView: NotImplemented, sledAdd: NotImplemented, sledListUninitialized: NotImplemented, sledSetProvisionPolicy: NotImplemented, - subnetPoolList: NotImplemented, subnetPoolCreate: NotImplemented, - subnetPoolView: NotImplemented, - subnetPoolUpdate: NotImplemented, subnetPoolDelete: NotImplemented, - subnetPoolMemberList: NotImplemented, + subnetPoolList: NotImplemented, subnetPoolMemberAdd: NotImplemented, + subnetPoolMemberList: NotImplemented, subnetPoolMemberRemove: NotImplemented, - subnetPoolSiloList: NotImplemented, subnetPoolSiloLink: NotImplemented, + subnetPoolSiloList: NotImplemented, subnetPoolSiloUnlink: NotImplemented, subnetPoolSiloUpdate: NotImplemented, + subnetPoolUpdate: NotImplemented, subnetPoolUtilizationView: NotImplemented, + subnetPoolView: NotImplemented, supportBundleCreate: NotImplemented, supportBundleDelete: NotImplemented, supportBundleDownload: NotImplemented,