From 13c6806da7c6cba9a3518be34b494fd35826cb64 Mon Sep 17 00:00:00 2001 From: Juergen Kunz Date: Thu, 7 May 2026 20:33:14 +0000 Subject: [PATCH] feat: extend baseos image contracts --- package.json | 2 +- ts/data/baseos.ts | 8 ++++++++ ts/requests/baseos.ts | 13 +++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 19cc74c..d60001d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@serve.zone/interfaces", - "version": "5.4.6", + "version": "5.5.0", "private": false, "description": "Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.", "exports": { diff --git a/ts/data/baseos.ts b/ts/data/baseos.ts index 13f1297..4b88d62 100644 --- a/ts/data/baseos.ts +++ b/ts/data/baseos.ts @@ -63,6 +63,10 @@ export interface IBaseOsNode { export type TBaseOsImageArchitecture = 'amd64' | 'arm64' | 'rpi'; export type TBaseOsImageKind = 'ubuntu-iso' | 'balena-raw'; +export type TBaseOsImageSourcePreset = + | 'balena-generic-amd64' + | 'balena-generic-aarch64' + | 'balena-raspberrypi4-64'; export type TBaseOsImageBuildStatus = 'queued' | 'building' | 'ready' | 'failed' | 'cancelled'; @@ -89,6 +93,8 @@ export interface IBaseOsImageBuild { imageKind?: TBaseOsImageKind; cloudlyUrl: string; sourceImageUrl?: string; + sourceImagePreset?: TBaseOsImageSourcePreset; + balenaOsVersion?: string; ubuntuVersion?: string; hostname?: string; wifiSsid?: string; @@ -109,6 +115,8 @@ export interface IBaseOsImageBuildRequest { imageKind?: TBaseOsImageKind; cloudlyUrl?: string; sourceImageUrl?: string; + sourceImagePreset?: TBaseOsImageSourcePreset; + balenaOsVersion?: string; ubuntuVersion?: string; hostname?: string; wifi?: IBaseOsWifiConfig; diff --git a/ts/requests/baseos.ts b/ts/requests/baseos.ts index 630e857..b232a3d 100644 --- a/ts/requests/baseos.ts +++ b/ts/requests/baseos.ts @@ -1,5 +1,6 @@ import type { IBaseOsHeartbeatResult, + IBaseOsDesiredState, IBaseOsImageBuild, IBaseOsImageBuildRequest, IBaseOsImageDownloadUrl, @@ -38,6 +39,18 @@ export interface IRequest_Any_Cloudly_GetBaseOsNodes { }; } +export interface IRequest_Any_Cloudly_SetBaseOsNodeDesiredState { + method: 'setBaseOsNodeDesiredState'; + request: { + identity: IIdentity; + nodeId: string; + desiredState: IBaseOsDesiredState; + }; + response: { + node: IBaseOsNode; + }; +} + export interface IRequest_Any_Cloudly_CreateBaseOsImageBuild { method: 'createBaseOsImageBuild'; request: {