@balena/open-balena-api 28.0.12-build-renovate-major-5-chai-d6dc0e320ea2053faebff644859f1d3ba40d54e7-1 → 29.0.0-build-reduce-service-install-usage-state-get-v3-dffb71831319078035c195985db399535c4be46e-1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,16 @@
1
1
  import type { RequestHandler } from 'express';
2
+ import type { OptionsToResponse } from 'pinejs-client-core';
3
+ import type { Application } from '../../../balena-model.js';
4
+ import type { ExpandedApplicationWithService } from './fleet-state-get-v3.js';
2
5
  type LocalStateApp = StateV3[string]['apps'][string];
3
6
  type ServiceComposition = AnyObject;
7
+ type ExpandedDevice = Awaited<ReturnType<typeof getDevice>>;
8
+ type ExpandedApplication = OptionsToResponse<Application['Read'], {
9
+ $select: typeof appSelect;
10
+ $expand: typeof appExpand;
11
+ }, undefined>[number];
12
+ type TargetReleaseField = 'should_be_running__release' | 'should_be_managed_by__release' | 'should_be_operated_by__release';
13
+ export type ExpandedRelease = ExpandedDevice[TargetReleaseField][number];
4
14
  export type StateV3 = {
5
15
  [uuid: string]: {
6
16
  name: string;
@@ -55,7 +65,8 @@ export type StateV3 = {
55
65
  };
56
66
  };
57
67
  };
58
- export declare function buildAppFromRelease(device: AnyObject | undefined, application: AnyObject, release: AnyObject, config: Dictionary<string>, defaultLabels?: Dictionary<string>): NonNullable<LocalStateApp['releases']>;
68
+ export declare function buildAppFromRelease(device: undefined, application: ExpandedApplicationWithService, release: ExpandedRelease, config: Dictionary<string>, defaultLabels?: Dictionary<string>): NonNullable<LocalStateApp['releases']>;
69
+ export declare function buildAppFromRelease(device: ExpandedDevice, application: ExpandedApplication, release: ExpandedRelease, config: Dictionary<string>, defaultLabels?: Dictionary<string>): NonNullable<LocalStateApp['releases']>;
59
70
  export declare const releaseExpand: {
60
71
  readonly $select: readonly ["id", "commit", "composition"];
61
72
  readonly $expand: {
@@ -63,7 +74,20 @@ export declare const releaseExpand: {
63
74
  readonly $select: "id";
64
75
  readonly $expand: {
65
76
  readonly image: {
66
- readonly $select: readonly ["id", "is_stored_at__image_location", "content_hash", "is_a_build_of__service", "contract"];
77
+ readonly $select: readonly ["id", "is_stored_at__image_location", "content_hash", "contract"];
78
+ readonly $expand: {
79
+ readonly is_a_build_of__service: {
80
+ readonly $select: readonly ["id", "service_name"];
81
+ readonly $expand: {
82
+ readonly service_environment_variable: {
83
+ readonly $select: readonly ["name", "value"];
84
+ };
85
+ readonly service_label: {
86
+ readonly $select: readonly ["label_name", "value"];
87
+ };
88
+ };
89
+ };
90
+ };
67
91
  };
68
92
  readonly image_label: {
69
93
  readonly $select: readonly ["label_name", "value"];
@@ -75,5 +99,858 @@ export declare const releaseExpand: {
75
99
  };
76
100
  };
77
101
  };
102
+ declare const appSelect: readonly ["id", "uuid", "app_name", "is_host", "is_of__class"];
103
+ declare const appExpand: {
104
+ readonly application_environment_variable: {
105
+ readonly $select: readonly ["name", "value"];
106
+ };
107
+ };
78
108
  export declare const stateV3: RequestHandler;
109
+ declare const getDevice: (req: import("@balena/pinejs/out/sbvr-api/permissions.js").PermissionReq, uuid: string) => Promise<import("@balena/abstract-sql-to-typescript").PickDeferred<{
110
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
111
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
112
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
113
+ actor: {
114
+ __id: import("../../../balena-model.js").Actor["Read"]["id"];
115
+ } | [import("../../../balena-model.js").Actor["Read"]];
116
+ api_heartbeat_state: "online" | "offline" | "timeout" | "unknown";
117
+ changed_api_heartbeat_state_on__date: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
118
+ uuid: import("@balena/sbvr-types").Types["Text"]["Read"];
119
+ local_id: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
120
+ device_name: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
121
+ note: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
122
+ is_of__device_type: {
123
+ __id: import("../../../balena-model.js").DeviceType["Read"]["id"];
124
+ } | [import("../../../balena-model.js").DeviceType["Read"]];
125
+ belongs_to__application: {
126
+ __id: Application["Read"]["id"];
127
+ } | [Application["Read"]] | [] | null;
128
+ is_online: import("@balena/sbvr-types").Types["Boolean"]["Read"];
129
+ last_connectivity_event: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
130
+ is_connected_to_vpn: import("@balena/sbvr-types").Types["Boolean"]["Read"];
131
+ last_vpn_event: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
132
+ is_locked_until__date: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
133
+ public_address: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
134
+ ip_address: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
135
+ mac_address: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
136
+ memory_usage: import("@balena/sbvr-types").Types["Integer"]["Read"] | null;
137
+ memory_total: import("@balena/sbvr-types").Types["Integer"]["Read"] | null;
138
+ storage_block_device: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
139
+ storage_usage: import("@balena/sbvr-types").Types["Integer"]["Read"] | null;
140
+ storage_total: import("@balena/sbvr-types").Types["Integer"]["Read"] | null;
141
+ cpu_usage: import("@balena/sbvr-types").Types["Integer"]["Read"] | null;
142
+ cpu_temp: import("@balena/sbvr-types").Types["Integer"]["Read"] | null;
143
+ is_undervolted: import("@balena/sbvr-types").Types["Boolean"]["Read"];
144
+ cpu_id: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
145
+ is_running__release: {
146
+ __id: import("../../../balena-model.js").Release["Read"]["id"];
147
+ } | [import("../../../balena-model.js").Release["Read"]] | [] | null;
148
+ download_progress: import("@balena/sbvr-types").Types["Integer"]["Read"] | null;
149
+ status: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
150
+ os_version: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
151
+ os_variant: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
152
+ supervisor_version: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
153
+ provisioning_progress: import("@balena/sbvr-types").Types["Integer"]["Read"] | null;
154
+ provisioning_state: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
155
+ api_port: import("@balena/sbvr-types").Types["Integer"]["Read"] | null;
156
+ api_secret: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
157
+ is_managed_by__service_instance: {
158
+ __id: import("../../../balena-model.js").ServiceInstance["Read"]["id"];
159
+ } | [import("../../../balena-model.js").ServiceInstance["Read"]] | [] | null;
160
+ is_pinned_on__release: {
161
+ __id: import("../../../balena-model.js").Release["Read"]["id"];
162
+ } | [import("../../../balena-model.js").Release["Read"]] | [] | null;
163
+ should_be_running__release: {
164
+ __id: import("../../../balena-model.js").Release["Read"]["id"];
165
+ } | [import("../../../balena-model.js").Release["Read"]] | [] | null;
166
+ should_be_operated_by__release: {
167
+ __id: import("../../../balena-model.js").Release["Read"]["id"];
168
+ } | [import("../../../balena-model.js").Release["Read"]] | [] | null;
169
+ should_be_managed_by__release: {
170
+ __id: import("../../../balena-model.js").Release["Read"]["id"];
171
+ } | [import("../../../balena-model.js").Release["Read"]] | [] | null;
172
+ update_status: "rejected" | "downloading" | "downloaded" | "applying changes" | "aborted" | "done" | null;
173
+ last_update_status_event: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
174
+ is_web_accessible: import("@balena/sbvr-types").Types["Boolean"]["Read"] | null;
175
+ is_frozen: import("@balena/sbvr-types").Types["Boolean"]["Read"] | null;
176
+ overall_status: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
177
+ overall_progress: import("@balena/sbvr-types").Types["Integer"]["Read"] | null;
178
+ device__has__env_var_name?: Array<import("../../../balena-model.js").DeviceEnvironmentVariable["Read"]>;
179
+ device_environment_variable?: Array<import("../../../balena-model.js").DeviceEnvironmentVariable["Read"]>;
180
+ device__has__config_var_name?: Array<import("../../../balena-model.js").DeviceConfigVariable["Read"]>;
181
+ device_config_variable?: Array<import("../../../balena-model.js").DeviceConfigVariable["Read"]>;
182
+ device__has__tag_key?: Array<import("../../../balena-model.js").DeviceTag["Read"]>;
183
+ device_tag?: Array<import("../../../balena-model.js").DeviceTag["Read"]>;
184
+ device__installs__image?: Array<import("../../../balena-model.js").ImageInstall["Read"]>;
185
+ image_install?: Array<import("../../../balena-model.js").ImageInstall["Read"]>;
186
+ device__installs__application__has__service_name?: Array<import("../../../balena-model.js").ServiceInstall["Read"]>;
187
+ device__installs__service?: Array<import("../../../balena-model.js").ServiceInstall["Read"]>;
188
+ service_install?: Array<import("../../../balena-model.js").ServiceInstall["Read"]>;
189
+ installs__image?: Array<import("../../../balena-model.js").ImageInstall["Read"]>;
190
+ installs__application__has__service_name?: Array<import("../../../balena-model.js").ServiceInstall["Read"]>;
191
+ installs__service?: Array<import("../../../balena-model.js").ServiceInstall["Read"]>;
192
+ }, "id" | "status" | "created_at" | "modified_at" | "api_heartbeat_state" | "changed_api_heartbeat_state_on__date" | "uuid" | "local_id" | "device_name" | "note" | "is_online" | "last_connectivity_event" | "is_connected_to_vpn" | "last_vpn_event" | "is_locked_until__date" | "public_address" | "ip_address" | "mac_address" | "memory_usage" | "memory_total" | "storage_block_device" | "storage_usage" | "storage_total" | "cpu_usage" | "cpu_temp" | "is_undervolted" | "cpu_id" | "download_progress" | "os_version" | "os_variant" | "supervisor_version" | "provisioning_progress" | "provisioning_state" | "api_port" | "api_secret" | "update_status" | "last_update_status_event" | "is_web_accessible" | "is_frozen" | "overall_status" | "overall_progress"> & {
193
+ readonly device_config_variable: import("@balena/abstract-sql-to-typescript").PickDeferred<{
194
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
195
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
196
+ device: {
197
+ __id: import("../../../balena-model.js").Device["Read"]["id"];
198
+ } | [import("../../../balena-model.js").Device["Read"]];
199
+ name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
200
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
201
+ value: import("@balena/sbvr-types").Types["Text"]["Read"];
202
+ }, "name" | "value">[];
203
+ readonly device_environment_variable: import("@balena/abstract-sql-to-typescript").PickDeferred<{
204
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
205
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
206
+ device: {
207
+ __id: import("../../../balena-model.js").Device["Read"]["id"];
208
+ } | [import("../../../balena-model.js").Device["Read"]];
209
+ name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
210
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
211
+ value: import("@balena/sbvr-types").Types["Text"]["Read"];
212
+ }, "name" | "value">[];
213
+ readonly should_be_running__release: (import("@balena/abstract-sql-to-typescript").PickDeferred<{
214
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
215
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
216
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
217
+ belongs_to__application: {
218
+ __id: Application["Read"]["id"];
219
+ } | [Application["Read"]];
220
+ commit: import("@balena/sbvr-types").Types["Short Text"]["Read"];
221
+ composition: import("@balena/sbvr-types").Types["JSON"]["Read"];
222
+ status: import("@balena/sbvr-types").Types["Short Text"]["Read"];
223
+ source: import("@balena/sbvr-types").Types["Short Text"]["Read"];
224
+ build_log: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
225
+ is_invalidated: import("@balena/sbvr-types").Types["Boolean"]["Read"];
226
+ start_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"];
227
+ end_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
228
+ update_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"];
229
+ release_version: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
230
+ contract: import("@balena/sbvr-types").Types["JSON"]["Read"] | null;
231
+ is_passing_tests: import("@balena/sbvr-types").Types["Boolean"]["Read"];
232
+ is_finalized_at__date: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
233
+ phase: "next" | "current" | "sunset" | "end-of-life" | null;
234
+ semver_major: import("@balena/sbvr-types").Types["Integer"]["Read"];
235
+ semver_minor: import("@balena/sbvr-types").Types["Integer"]["Read"];
236
+ semver_patch: import("@balena/sbvr-types").Types["Integer"]["Read"];
237
+ semver_prerelease: import("@balena/sbvr-types").Types["Short Text"]["Read"];
238
+ semver_build: import("@balena/sbvr-types").Types["Short Text"]["Read"];
239
+ variant: import("@balena/sbvr-types").Types["Short Text"]["Read"];
240
+ revision: import("@balena/sbvr-types").Types["Integer"]["Read"] | null;
241
+ known_issue_list: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
242
+ note: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
243
+ invalidation_reason: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
244
+ is_final: import("@balena/sbvr-types").Types["Boolean"]["Read"];
245
+ semver: import("@balena/sbvr-types").Types["Short Text"]["Read"];
246
+ raw_version: import("@balena/sbvr-types").Types["Short Text"]["Read"];
247
+ version: import("@balena/sbvr-types").Types["JSON"]["Read"];
248
+ release__has__tag_key?: Array<import("../../../balena-model.js").ReleaseTag["Read"]>;
249
+ release_tag?: Array<import("../../../balena-model.js").ReleaseTag["Read"]>;
250
+ release__has__asset_key?: Array<import("../../../balena-model.js").ReleaseAsset["Read"]>;
251
+ release_asset?: Array<import("../../../balena-model.js").ReleaseAsset["Read"]>;
252
+ image__is_part_of__release?: Array<import("../../../balena-model.js").ImageIsPartOfRelease["Read"]>;
253
+ release_image?: Array<import("../../../balena-model.js").ImageIsPartOfRelease["Read"]>;
254
+ contains__image?: Array<import("../../../balena-model.js").ImageIsPartOfRelease["Read"]>;
255
+ should_be_running_on__application?: Array<Application["Read"]>;
256
+ should_be_running_on__device?: Array<import("../../../balena-model.js").Device["Read"]>;
257
+ is_running_on__device?: Array<import("../../../balena-model.js").Device["Read"]>;
258
+ is_pinned_to__device?: Array<import("../../../balena-model.js").Device["Read"]>;
259
+ should_operate__device?: Array<import("../../../balena-model.js").Device["Read"]>;
260
+ should_manage__device?: Array<import("../../../balena-model.js").Device["Read"]>;
261
+ provides__device__installs__image?: Array<import("../../../balena-model.js").ImageInstall["Read"]>;
262
+ provides__image_install?: Array<import("../../../balena-model.js").ImageInstall["Read"]>;
263
+ }, "id" | "commit" | "composition"> & {
264
+ readonly contains__image: (import("@balena/abstract-sql-to-typescript").PickDeferred<{
265
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
266
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
267
+ image: {
268
+ __id: import("../../../balena-model.js").Image["Read"]["id"];
269
+ } | [import("../../../balena-model.js").Image["Read"]];
270
+ is_part_of__release: {
271
+ __id: import("../../../balena-model.js").Release["Read"]["id"];
272
+ } | [import("../../../balena-model.js").Release["Read"]];
273
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
274
+ image__is_part_of__release__has__label_name?: Array<import("../../../balena-model.js").ImageLabel["Read"]>;
275
+ release_image__has__label_name?: Array<import("../../../balena-model.js").ImageLabel["Read"]>;
276
+ image_label?: Array<import("../../../balena-model.js").ImageLabel["Read"]>;
277
+ image__is_part_of__release__has__name?: Array<import("../../../balena-model.js").ImageEnvironmentVariable["Read"]>;
278
+ release_image__has__name?: Array<import("../../../balena-model.js").ImageEnvironmentVariable["Read"]>;
279
+ image_environment_variable?: Array<import("../../../balena-model.js").ImageEnvironmentVariable["Read"]>;
280
+ release: {
281
+ __id: import("../../../balena-model.js").Release["Read"]["id"];
282
+ } | [import("../../../balena-model.js").Release["Read"]];
283
+ contains__image: {
284
+ __id: import("../../../balena-model.js").Image["Read"]["id"];
285
+ } | [import("../../../balena-model.js").Image["Read"]];
286
+ }, "id"> & {
287
+ readonly image: (import("@balena/abstract-sql-to-typescript").PickDeferred<{
288
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
289
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
290
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
291
+ start_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"];
292
+ end_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
293
+ dockerfile: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
294
+ is_a_build_of__service: {
295
+ __id: import("../../../balena-model.js").Service["Read"]["id"];
296
+ } | [import("../../../balena-model.js").Service["Read"]];
297
+ image_size: import("@balena/sbvr-types").Types["Big Integer"]["Read"] | null;
298
+ is_stored_at__image_location: import("@balena/sbvr-types").Types["Short Text"]["Read"];
299
+ project_type: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
300
+ error_message: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
301
+ build_log: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
302
+ push_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
303
+ status: import("@balena/sbvr-types").Types["Short Text"]["Read"];
304
+ content_hash: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
305
+ contract: import("@balena/sbvr-types").Types["JSON"]["Read"] | null;
306
+ device__installs__image?: Array<import("../../../balena-model.js").ImageInstall["Read"]>;
307
+ image_install?: Array<import("../../../balena-model.js").ImageInstall["Read"]>;
308
+ is_installed_on__device?: Array<import("../../../balena-model.js").ImageInstall["Read"]>;
309
+ is_part_of__release?: Array<import("../../../balena-model.js").ImageIsPartOfRelease["Read"]>;
310
+ image__is_part_of__release?: Array<import("../../../balena-model.js").ImageIsPartOfRelease["Read"]>;
311
+ release_image?: Array<import("../../../balena-model.js").ImageIsPartOfRelease["Read"]>;
312
+ is_a_build_of__application__has__service_name: {
313
+ __id: import("../../../balena-model.js").Service["Read"]["id"];
314
+ } | [import("../../../balena-model.js").Service["Read"]];
315
+ }, "id" | "contract" | "is_stored_at__image_location" | "content_hash"> & {
316
+ readonly is_a_build_of__service: (import("@balena/abstract-sql-to-typescript").PickDeferred<{
317
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
318
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
319
+ application: {
320
+ __id: Application["Read"]["id"];
321
+ } | [Application["Read"]];
322
+ service_name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
323
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
324
+ application__has__service_name__has__label_name?: Array<import("../../../balena-model.js").ServiceLabel["Read"]>;
325
+ service__has__label_name?: Array<import("../../../balena-model.js").ServiceLabel["Read"]>;
326
+ service_label?: Array<import("../../../balena-model.js").ServiceLabel["Read"]>;
327
+ application__has__service_name__has__name?: Array<import("../../../balena-model.js").ServiceEnvironmentVariable["Read"]>;
328
+ service__has__name?: Array<import("../../../balena-model.js").ServiceEnvironmentVariable["Read"]>;
329
+ service_environment_variable?: Array<import("../../../balena-model.js").ServiceEnvironmentVariable["Read"]>;
330
+ device__installs__application__has__service_name?: Array<import("../../../balena-model.js").ServiceInstall["Read"]>;
331
+ device__installs__service?: Array<import("../../../balena-model.js").ServiceInstall["Read"]>;
332
+ service_install?: Array<import("../../../balena-model.js").ServiceInstall["Read"]>;
333
+ is_installed_on__device?: Array<import("../../../balena-model.js").ServiceInstall["Read"]>;
334
+ is_built_by__image?: Array<import("../../../balena-model.js").Image["Read"]>;
335
+ }, "id" | "service_name"> & {
336
+ readonly service_environment_variable: import("@balena/abstract-sql-to-typescript").PickDeferred<{
337
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
338
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
339
+ service: {
340
+ __id: import("../../../balena-model.js").Service["Read"]["id"];
341
+ } | [import("../../../balena-model.js").Service["Read"]];
342
+ name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
343
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
344
+ value: import("@balena/sbvr-types").Types["Text"]["Read"];
345
+ application__has__service_name: {
346
+ __id: import("../../../balena-model.js").Service["Read"]["id"];
347
+ } | [import("../../../balena-model.js").Service["Read"]];
348
+ }, "name" | "value">[];
349
+ readonly service_label: import("@balena/abstract-sql-to-typescript").PickDeferred<{
350
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
351
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
352
+ service: {
353
+ __id: import("../../../balena-model.js").Service["Read"]["id"];
354
+ } | [import("../../../balena-model.js").Service["Read"]];
355
+ label_name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
356
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
357
+ value: import("@balena/sbvr-types").Types["Text"]["Read"];
358
+ application__has__service_name: {
359
+ __id: import("../../../balena-model.js").Service["Read"]["id"];
360
+ } | [import("../../../balena-model.js").Service["Read"]];
361
+ }, "value" | "label_name">[];
362
+ })[];
363
+ })[];
364
+ readonly image_label: import("@balena/abstract-sql-to-typescript").PickDeferred<{
365
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
366
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
367
+ release_image: {
368
+ __id: import("../../../balena-model.js").ImageIsPartOfRelease["Read"]["id"];
369
+ } | [import("../../../balena-model.js").ImageIsPartOfRelease["Read"]];
370
+ label_name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
371
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
372
+ value: import("@balena/sbvr-types").Types["Text"]["Read"];
373
+ image__is_part_of__release: {
374
+ __id: import("../../../balena-model.js").ImageIsPartOfRelease["Read"]["id"];
375
+ } | [import("../../../balena-model.js").ImageIsPartOfRelease["Read"]];
376
+ }, "value" | "label_name">[];
377
+ readonly image_environment_variable: import("@balena/abstract-sql-to-typescript").PickDeferred<{
378
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
379
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
380
+ release_image: {
381
+ __id: import("../../../balena-model.js").ImageIsPartOfRelease["Read"]["id"];
382
+ } | [import("../../../balena-model.js").ImageIsPartOfRelease["Read"]];
383
+ name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
384
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
385
+ value: import("@balena/sbvr-types").Types["Text"]["Read"];
386
+ image__is_part_of__release: {
387
+ __id: import("../../../balena-model.js").ImageIsPartOfRelease["Read"]["id"];
388
+ } | [import("../../../balena-model.js").ImageIsPartOfRelease["Read"]];
389
+ }, "name" | "value">[];
390
+ })[];
391
+ })[];
392
+ readonly service_install: (import("@balena/abstract-sql-to-typescript").PickDeferred<{
393
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
394
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
395
+ device: {
396
+ __id: import("../../../balena-model.js").Device["Read"]["id"];
397
+ } | [import("../../../balena-model.js").Device["Read"]];
398
+ installs__service: {
399
+ __id: import("../../../balena-model.js").Service["Read"]["id"];
400
+ } | [import("../../../balena-model.js").Service["Read"]];
401
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
402
+ device__installs__application__has__service_name__has__name?: Array<import("../../../balena-model.js").DeviceServiceEnvironmentVariable["Read"]>;
403
+ device__installs__service__has__name?: Array<import("../../../balena-model.js").DeviceServiceEnvironmentVariable["Read"]>;
404
+ device__installs__service_environment_variable?: Array<import("../../../balena-model.js").DeviceServiceEnvironmentVariable["Read"]>;
405
+ service_install__has__name?: Array<import("../../../balena-model.js").DeviceServiceEnvironmentVariable["Read"]>;
406
+ device_service_environment_variable?: Array<import("../../../balena-model.js").DeviceServiceEnvironmentVariable["Read"]>;
407
+ application__has__service_name: {
408
+ __id: import("../../../balena-model.js").Service["Read"]["id"];
409
+ } | [import("../../../balena-model.js").Service["Read"]];
410
+ service: {
411
+ __id: import("../../../balena-model.js").Service["Read"]["id"];
412
+ } | [import("../../../balena-model.js").Service["Read"]];
413
+ installs__application__has__service_name: {
414
+ __id: import("../../../balena-model.js").Service["Read"]["id"];
415
+ } | [import("../../../balena-model.js").Service["Read"]];
416
+ is_installed_on__device: {
417
+ __id: import("../../../balena-model.js").Device["Read"]["id"];
418
+ } | [import("../../../balena-model.js").Device["Read"]];
419
+ }, "id" | "service"> & {
420
+ readonly device_service_environment_variable: import("@balena/abstract-sql-to-typescript").PickDeferred<{
421
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
422
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
423
+ service_install: {
424
+ __id: import("../../../balena-model.js").ServiceInstall["Read"]["id"];
425
+ } | [import("../../../balena-model.js").ServiceInstall["Read"]];
426
+ name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
427
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
428
+ value: import("@balena/sbvr-types").Types["Text"]["Read"];
429
+ device__installs__application__has__service_name: {
430
+ __id: import("../../../balena-model.js").ServiceInstall["Read"]["id"];
431
+ } | [import("../../../balena-model.js").ServiceInstall["Read"]];
432
+ device__installs__service: {
433
+ __id: import("../../../balena-model.js").ServiceInstall["Read"]["id"];
434
+ } | [import("../../../balena-model.js").ServiceInstall["Read"]];
435
+ }, "name" | "value">[];
436
+ })[];
437
+ readonly belongs_to__application: (import("@balena/abstract-sql-to-typescript").PickDeferred<{
438
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
439
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
440
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
441
+ actor: {
442
+ __id: import("../../../balena-model.js").Actor["Read"]["id"];
443
+ } | [import("../../../balena-model.js").Actor["Read"]];
444
+ should_track_latest_release: import("@balena/sbvr-types").Types["Boolean"]["Read"];
445
+ is_of__class: "fleet" | "block" | "app";
446
+ organization: {
447
+ __id: import("../../../balena-model.js").Organization["Read"]["id"];
448
+ } | [import("../../../balena-model.js").Organization["Read"]];
449
+ app_name: import("@balena/sbvr-types").Types["Text"]["Read"];
450
+ slug: import("@balena/sbvr-types").Types["Short Text"]["Read"];
451
+ is_for__device_type: {
452
+ __id: import("../../../balena-model.js").DeviceType["Read"]["id"];
453
+ } | [import("../../../balena-model.js").DeviceType["Read"]];
454
+ should_be_running__release: {
455
+ __id: import("../../../balena-model.js").Release["Read"]["id"];
456
+ } | [import("../../../balena-model.js").Release["Read"]] | [] | null;
457
+ application_type: {
458
+ __id: import("../../../balena-model.js").ApplicationType["Read"]["id"];
459
+ } | [import("../../../balena-model.js").ApplicationType["Read"]];
460
+ is_host: import("@balena/sbvr-types").Types["Boolean"]["Read"];
461
+ is_archived: import("@balena/sbvr-types").Types["Boolean"]["Read"];
462
+ uuid: import("@balena/sbvr-types").Types["Text"]["Read"];
463
+ is_public: import("@balena/sbvr-types").Types["Boolean"]["Read"];
464
+ application__has__env_var_name?: Array<import("../../../balena-model.js").ApplicationEnvironmentVariable["Read"]>;
465
+ application_environment_variable?: Array<import("../../../balena-model.js").ApplicationEnvironmentVariable["Read"]>;
466
+ application__has__config_var_name?: Array<import("../../../balena-model.js").ApplicationConfigVariable["Read"]>;
467
+ application_config_variable?: Array<import("../../../balena-model.js").ApplicationConfigVariable["Read"]>;
468
+ application__has__service_name?: Array<import("../../../balena-model.js").Service["Read"]>;
469
+ service?: Array<import("../../../balena-model.js").Service["Read"]>;
470
+ application__has__tag_key?: Array<import("../../../balena-model.js").ApplicationTag["Read"]>;
471
+ application_tag?: Array<import("../../../balena-model.js").ApplicationTag["Read"]>;
472
+ owns__device?: Array<import("../../../balena-model.js").Device["Read"]>;
473
+ owns__release?: Array<import("../../../balena-model.js").Release["Read"]>;
474
+ is_directly_accessible_by__user?: Array<import("../../../balena-model.js").UserHasDirectAccessToApplication["Read"]>;
475
+ }, "id" | "is_of__class" | "app_name" | "uuid" | "is_host"> & {
476
+ readonly application_config_variable: import("@balena/abstract-sql-to-typescript").PickDeferred<{
477
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
478
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
479
+ application: {
480
+ __id: Application["Read"]["id"];
481
+ } | [Application["Read"]];
482
+ name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
483
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
484
+ value: import("@balena/sbvr-types").Types["Text"]["Read"];
485
+ }, "name" | "value">[];
486
+ readonly application_environment_variable: import("@balena/abstract-sql-to-typescript").PickDeferred<{
487
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
488
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
489
+ application: {
490
+ __id: Application["Read"]["id"];
491
+ } | [Application["Read"]];
492
+ name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
493
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
494
+ value: import("@balena/sbvr-types").Types["Text"]["Read"];
495
+ }, "name" | "value">[];
496
+ })[];
497
+ readonly should_be_managed_by__release: (import("@balena/abstract-sql-to-typescript").PickDeferred<{
498
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
499
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
500
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
501
+ belongs_to__application: {
502
+ __id: Application["Read"]["id"];
503
+ } | [Application["Read"]];
504
+ commit: import("@balena/sbvr-types").Types["Short Text"]["Read"];
505
+ composition: import("@balena/sbvr-types").Types["JSON"]["Read"];
506
+ status: import("@balena/sbvr-types").Types["Short Text"]["Read"];
507
+ source: import("@balena/sbvr-types").Types["Short Text"]["Read"];
508
+ build_log: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
509
+ is_invalidated: import("@balena/sbvr-types").Types["Boolean"]["Read"];
510
+ start_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"];
511
+ end_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
512
+ update_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"];
513
+ release_version: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
514
+ contract: import("@balena/sbvr-types").Types["JSON"]["Read"] | null;
515
+ is_passing_tests: import("@balena/sbvr-types").Types["Boolean"]["Read"];
516
+ is_finalized_at__date: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
517
+ phase: "next" | "current" | "sunset" | "end-of-life" | null;
518
+ semver_major: import("@balena/sbvr-types").Types["Integer"]["Read"];
519
+ semver_minor: import("@balena/sbvr-types").Types["Integer"]["Read"];
520
+ semver_patch: import("@balena/sbvr-types").Types["Integer"]["Read"];
521
+ semver_prerelease: import("@balena/sbvr-types").Types["Short Text"]["Read"];
522
+ semver_build: import("@balena/sbvr-types").Types["Short Text"]["Read"];
523
+ variant: import("@balena/sbvr-types").Types["Short Text"]["Read"];
524
+ revision: import("@balena/sbvr-types").Types["Integer"]["Read"] | null;
525
+ known_issue_list: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
526
+ note: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
527
+ invalidation_reason: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
528
+ is_final: import("@balena/sbvr-types").Types["Boolean"]["Read"];
529
+ semver: import("@balena/sbvr-types").Types["Short Text"]["Read"];
530
+ raw_version: import("@balena/sbvr-types").Types["Short Text"]["Read"];
531
+ version: import("@balena/sbvr-types").Types["JSON"]["Read"];
532
+ release__has__tag_key?: Array<import("../../../balena-model.js").ReleaseTag["Read"]>;
533
+ release_tag?: Array<import("../../../balena-model.js").ReleaseTag["Read"]>;
534
+ release__has__asset_key?: Array<import("../../../balena-model.js").ReleaseAsset["Read"]>;
535
+ release_asset?: Array<import("../../../balena-model.js").ReleaseAsset["Read"]>;
536
+ image__is_part_of__release?: Array<import("../../../balena-model.js").ImageIsPartOfRelease["Read"]>;
537
+ release_image?: Array<import("../../../balena-model.js").ImageIsPartOfRelease["Read"]>;
538
+ contains__image?: Array<import("../../../balena-model.js").ImageIsPartOfRelease["Read"]>;
539
+ should_be_running_on__application?: Array<Application["Read"]>;
540
+ should_be_running_on__device?: Array<import("../../../balena-model.js").Device["Read"]>;
541
+ is_running_on__device?: Array<import("../../../balena-model.js").Device["Read"]>;
542
+ is_pinned_to__device?: Array<import("../../../balena-model.js").Device["Read"]>;
543
+ should_operate__device?: Array<import("../../../balena-model.js").Device["Read"]>;
544
+ should_manage__device?: Array<import("../../../balena-model.js").Device["Read"]>;
545
+ provides__device__installs__image?: Array<import("../../../balena-model.js").ImageInstall["Read"]>;
546
+ provides__image_install?: Array<import("../../../balena-model.js").ImageInstall["Read"]>;
547
+ }, "id" | "commit" | "composition"> & {
548
+ readonly belongs_to__application: (import("@balena/abstract-sql-to-typescript").PickDeferred<{
549
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
550
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
551
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
552
+ actor: {
553
+ __id: import("../../../balena-model.js").Actor["Read"]["id"];
554
+ } | [import("../../../balena-model.js").Actor["Read"]];
555
+ should_track_latest_release: import("@balena/sbvr-types").Types["Boolean"]["Read"];
556
+ is_of__class: "fleet" | "block" | "app";
557
+ organization: {
558
+ __id: import("../../../balena-model.js").Organization["Read"]["id"];
559
+ } | [import("../../../balena-model.js").Organization["Read"]];
560
+ app_name: import("@balena/sbvr-types").Types["Text"]["Read"];
561
+ slug: import("@balena/sbvr-types").Types["Short Text"]["Read"];
562
+ is_for__device_type: {
563
+ __id: import("../../../balena-model.js").DeviceType["Read"]["id"];
564
+ } | [import("../../../balena-model.js").DeviceType["Read"]];
565
+ should_be_running__release: {
566
+ __id: import("../../../balena-model.js").Release["Read"]["id"];
567
+ } | [import("../../../balena-model.js").Release["Read"]] | [] | null;
568
+ application_type: {
569
+ __id: import("../../../balena-model.js").ApplicationType["Read"]["id"];
570
+ } | [import("../../../balena-model.js").ApplicationType["Read"]];
571
+ is_host: import("@balena/sbvr-types").Types["Boolean"]["Read"];
572
+ is_archived: import("@balena/sbvr-types").Types["Boolean"]["Read"];
573
+ uuid: import("@balena/sbvr-types").Types["Text"]["Read"];
574
+ is_public: import("@balena/sbvr-types").Types["Boolean"]["Read"];
575
+ application__has__env_var_name?: Array<import("../../../balena-model.js").ApplicationEnvironmentVariable["Read"]>;
576
+ application_environment_variable?: Array<import("../../../balena-model.js").ApplicationEnvironmentVariable["Read"]>;
577
+ application__has__config_var_name?: Array<import("../../../balena-model.js").ApplicationConfigVariable["Read"]>;
578
+ application_config_variable?: Array<import("../../../balena-model.js").ApplicationConfigVariable["Read"]>;
579
+ application__has__service_name?: Array<import("../../../balena-model.js").Service["Read"]>;
580
+ service?: Array<import("../../../balena-model.js").Service["Read"]>;
581
+ application__has__tag_key?: Array<import("../../../balena-model.js").ApplicationTag["Read"]>;
582
+ application_tag?: Array<import("../../../balena-model.js").ApplicationTag["Read"]>;
583
+ owns__device?: Array<import("../../../balena-model.js").Device["Read"]>;
584
+ owns__release?: Array<import("../../../balena-model.js").Release["Read"]>;
585
+ is_directly_accessible_by__user?: Array<import("../../../balena-model.js").UserHasDirectAccessToApplication["Read"]>;
586
+ }, "id" | "is_of__class" | "app_name" | "uuid" | "is_host"> & {
587
+ readonly application_environment_variable: import("@balena/abstract-sql-to-typescript").PickDeferred<{
588
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
589
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
590
+ application: {
591
+ __id: Application["Read"]["id"];
592
+ } | [Application["Read"]];
593
+ name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
594
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
595
+ value: import("@balena/sbvr-types").Types["Text"]["Read"];
596
+ }, "name" | "value">[];
597
+ })[];
598
+ readonly contains__image: (import("@balena/abstract-sql-to-typescript").PickDeferred<{
599
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
600
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
601
+ image: {
602
+ __id: import("../../../balena-model.js").Image["Read"]["id"];
603
+ } | [import("../../../balena-model.js").Image["Read"]];
604
+ is_part_of__release: {
605
+ __id: import("../../../balena-model.js").Release["Read"]["id"];
606
+ } | [import("../../../balena-model.js").Release["Read"]];
607
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
608
+ image__is_part_of__release__has__label_name?: Array<import("../../../balena-model.js").ImageLabel["Read"]>;
609
+ release_image__has__label_name?: Array<import("../../../balena-model.js").ImageLabel["Read"]>;
610
+ image_label?: Array<import("../../../balena-model.js").ImageLabel["Read"]>;
611
+ image__is_part_of__release__has__name?: Array<import("../../../balena-model.js").ImageEnvironmentVariable["Read"]>;
612
+ release_image__has__name?: Array<import("../../../balena-model.js").ImageEnvironmentVariable["Read"]>;
613
+ image_environment_variable?: Array<import("../../../balena-model.js").ImageEnvironmentVariable["Read"]>;
614
+ release: {
615
+ __id: import("../../../balena-model.js").Release["Read"]["id"];
616
+ } | [import("../../../balena-model.js").Release["Read"]];
617
+ contains__image: {
618
+ __id: import("../../../balena-model.js").Image["Read"]["id"];
619
+ } | [import("../../../balena-model.js").Image["Read"]];
620
+ }, "id"> & {
621
+ readonly image: (import("@balena/abstract-sql-to-typescript").PickDeferred<{
622
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
623
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
624
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
625
+ start_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"];
626
+ end_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
627
+ dockerfile: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
628
+ is_a_build_of__service: {
629
+ __id: import("../../../balena-model.js").Service["Read"]["id"];
630
+ } | [import("../../../balena-model.js").Service["Read"]];
631
+ image_size: import("@balena/sbvr-types").Types["Big Integer"]["Read"] | null;
632
+ is_stored_at__image_location: import("@balena/sbvr-types").Types["Short Text"]["Read"];
633
+ project_type: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
634
+ error_message: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
635
+ build_log: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
636
+ push_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
637
+ status: import("@balena/sbvr-types").Types["Short Text"]["Read"];
638
+ content_hash: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
639
+ contract: import("@balena/sbvr-types").Types["JSON"]["Read"] | null;
640
+ device__installs__image?: Array<import("../../../balena-model.js").ImageInstall["Read"]>;
641
+ image_install?: Array<import("../../../balena-model.js").ImageInstall["Read"]>;
642
+ is_installed_on__device?: Array<import("../../../balena-model.js").ImageInstall["Read"]>;
643
+ is_part_of__release?: Array<import("../../../balena-model.js").ImageIsPartOfRelease["Read"]>;
644
+ image__is_part_of__release?: Array<import("../../../balena-model.js").ImageIsPartOfRelease["Read"]>;
645
+ release_image?: Array<import("../../../balena-model.js").ImageIsPartOfRelease["Read"]>;
646
+ is_a_build_of__application__has__service_name: {
647
+ __id: import("../../../balena-model.js").Service["Read"]["id"];
648
+ } | [import("../../../balena-model.js").Service["Read"]];
649
+ }, "id" | "contract" | "is_stored_at__image_location" | "content_hash"> & {
650
+ readonly is_a_build_of__service: (import("@balena/abstract-sql-to-typescript").PickDeferred<{
651
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
652
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
653
+ application: {
654
+ __id: Application["Read"]["id"];
655
+ } | [Application["Read"]];
656
+ service_name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
657
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
658
+ application__has__service_name__has__label_name?: Array<import("../../../balena-model.js").ServiceLabel["Read"]>;
659
+ service__has__label_name?: Array<import("../../../balena-model.js").ServiceLabel["Read"]>;
660
+ service_label?: Array<import("../../../balena-model.js").ServiceLabel["Read"]>;
661
+ application__has__service_name__has__name?: Array<import("../../../balena-model.js").ServiceEnvironmentVariable["Read"]>;
662
+ service__has__name?: Array<import("../../../balena-model.js").ServiceEnvironmentVariable["Read"]>;
663
+ service_environment_variable?: Array<import("../../../balena-model.js").ServiceEnvironmentVariable["Read"]>;
664
+ device__installs__application__has__service_name?: Array<import("../../../balena-model.js").ServiceInstall["Read"]>;
665
+ device__installs__service?: Array<import("../../../balena-model.js").ServiceInstall["Read"]>;
666
+ service_install?: Array<import("../../../balena-model.js").ServiceInstall["Read"]>;
667
+ is_installed_on__device?: Array<import("../../../balena-model.js").ServiceInstall["Read"]>;
668
+ is_built_by__image?: Array<import("../../../balena-model.js").Image["Read"]>;
669
+ }, "id" | "service_name"> & {
670
+ readonly service_environment_variable: import("@balena/abstract-sql-to-typescript").PickDeferred<{
671
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
672
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
673
+ service: {
674
+ __id: import("../../../balena-model.js").Service["Read"]["id"];
675
+ } | [import("../../../balena-model.js").Service["Read"]];
676
+ name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
677
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
678
+ value: import("@balena/sbvr-types").Types["Text"]["Read"];
679
+ application__has__service_name: {
680
+ __id: import("../../../balena-model.js").Service["Read"]["id"];
681
+ } | [import("../../../balena-model.js").Service["Read"]];
682
+ }, "name" | "value">[];
683
+ readonly service_label: import("@balena/abstract-sql-to-typescript").PickDeferred<{
684
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
685
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
686
+ service: {
687
+ __id: import("../../../balena-model.js").Service["Read"]["id"];
688
+ } | [import("../../../balena-model.js").Service["Read"]];
689
+ label_name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
690
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
691
+ value: import("@balena/sbvr-types").Types["Text"]["Read"];
692
+ application__has__service_name: {
693
+ __id: import("../../../balena-model.js").Service["Read"]["id"];
694
+ } | [import("../../../balena-model.js").Service["Read"]];
695
+ }, "value" | "label_name">[];
696
+ })[];
697
+ })[];
698
+ readonly image_label: import("@balena/abstract-sql-to-typescript").PickDeferred<{
699
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
700
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
701
+ release_image: {
702
+ __id: import("../../../balena-model.js").ImageIsPartOfRelease["Read"]["id"];
703
+ } | [import("../../../balena-model.js").ImageIsPartOfRelease["Read"]];
704
+ label_name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
705
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
706
+ value: import("@balena/sbvr-types").Types["Text"]["Read"];
707
+ image__is_part_of__release: {
708
+ __id: import("../../../balena-model.js").ImageIsPartOfRelease["Read"]["id"];
709
+ } | [import("../../../balena-model.js").ImageIsPartOfRelease["Read"]];
710
+ }, "value" | "label_name">[];
711
+ readonly image_environment_variable: import("@balena/abstract-sql-to-typescript").PickDeferred<{
712
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
713
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
714
+ release_image: {
715
+ __id: import("../../../balena-model.js").ImageIsPartOfRelease["Read"]["id"];
716
+ } | [import("../../../balena-model.js").ImageIsPartOfRelease["Read"]];
717
+ name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
718
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
719
+ value: import("@balena/sbvr-types").Types["Text"]["Read"];
720
+ image__is_part_of__release: {
721
+ __id: import("../../../balena-model.js").ImageIsPartOfRelease["Read"]["id"];
722
+ } | [import("../../../balena-model.js").ImageIsPartOfRelease["Read"]];
723
+ }, "name" | "value">[];
724
+ })[];
725
+ })[];
726
+ readonly should_be_operated_by__release: (import("@balena/abstract-sql-to-typescript").PickDeferred<{
727
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
728
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
729
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
730
+ belongs_to__application: {
731
+ __id: Application["Read"]["id"];
732
+ } | [Application["Read"]];
733
+ commit: import("@balena/sbvr-types").Types["Short Text"]["Read"];
734
+ composition: import("@balena/sbvr-types").Types["JSON"]["Read"];
735
+ status: import("@balena/sbvr-types").Types["Short Text"]["Read"];
736
+ source: import("@balena/sbvr-types").Types["Short Text"]["Read"];
737
+ build_log: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
738
+ is_invalidated: import("@balena/sbvr-types").Types["Boolean"]["Read"];
739
+ start_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"];
740
+ end_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
741
+ update_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"];
742
+ release_version: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
743
+ contract: import("@balena/sbvr-types").Types["JSON"]["Read"] | null;
744
+ is_passing_tests: import("@balena/sbvr-types").Types["Boolean"]["Read"];
745
+ is_finalized_at__date: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
746
+ phase: "next" | "current" | "sunset" | "end-of-life" | null;
747
+ semver_major: import("@balena/sbvr-types").Types["Integer"]["Read"];
748
+ semver_minor: import("@balena/sbvr-types").Types["Integer"]["Read"];
749
+ semver_patch: import("@balena/sbvr-types").Types["Integer"]["Read"];
750
+ semver_prerelease: import("@balena/sbvr-types").Types["Short Text"]["Read"];
751
+ semver_build: import("@balena/sbvr-types").Types["Short Text"]["Read"];
752
+ variant: import("@balena/sbvr-types").Types["Short Text"]["Read"];
753
+ revision: import("@balena/sbvr-types").Types["Integer"]["Read"] | null;
754
+ known_issue_list: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
755
+ note: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
756
+ invalidation_reason: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
757
+ is_final: import("@balena/sbvr-types").Types["Boolean"]["Read"];
758
+ semver: import("@balena/sbvr-types").Types["Short Text"]["Read"];
759
+ raw_version: import("@balena/sbvr-types").Types["Short Text"]["Read"];
760
+ version: import("@balena/sbvr-types").Types["JSON"]["Read"];
761
+ release__has__tag_key?: Array<import("../../../balena-model.js").ReleaseTag["Read"]>;
762
+ release_tag?: Array<import("../../../balena-model.js").ReleaseTag["Read"]>;
763
+ release__has__asset_key?: Array<import("../../../balena-model.js").ReleaseAsset["Read"]>;
764
+ release_asset?: Array<import("../../../balena-model.js").ReleaseAsset["Read"]>;
765
+ image__is_part_of__release?: Array<import("../../../balena-model.js").ImageIsPartOfRelease["Read"]>;
766
+ release_image?: Array<import("../../../balena-model.js").ImageIsPartOfRelease["Read"]>;
767
+ contains__image?: Array<import("../../../balena-model.js").ImageIsPartOfRelease["Read"]>;
768
+ should_be_running_on__application?: Array<Application["Read"]>;
769
+ should_be_running_on__device?: Array<import("../../../balena-model.js").Device["Read"]>;
770
+ is_running_on__device?: Array<import("../../../balena-model.js").Device["Read"]>;
771
+ is_pinned_to__device?: Array<import("../../../balena-model.js").Device["Read"]>;
772
+ should_operate__device?: Array<import("../../../balena-model.js").Device["Read"]>;
773
+ should_manage__device?: Array<import("../../../balena-model.js").Device["Read"]>;
774
+ provides__device__installs__image?: Array<import("../../../balena-model.js").ImageInstall["Read"]>;
775
+ provides__image_install?: Array<import("../../../balena-model.js").ImageInstall["Read"]>;
776
+ }, "id" | "commit" | "composition"> & {
777
+ readonly belongs_to__application: (import("@balena/abstract-sql-to-typescript").PickDeferred<{
778
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
779
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
780
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
781
+ actor: {
782
+ __id: import("../../../balena-model.js").Actor["Read"]["id"];
783
+ } | [import("../../../balena-model.js").Actor["Read"]];
784
+ should_track_latest_release: import("@balena/sbvr-types").Types["Boolean"]["Read"];
785
+ is_of__class: "fleet" | "block" | "app";
786
+ organization: {
787
+ __id: import("../../../balena-model.js").Organization["Read"]["id"];
788
+ } | [import("../../../balena-model.js").Organization["Read"]];
789
+ app_name: import("@balena/sbvr-types").Types["Text"]["Read"];
790
+ slug: import("@balena/sbvr-types").Types["Short Text"]["Read"];
791
+ is_for__device_type: {
792
+ __id: import("../../../balena-model.js").DeviceType["Read"]["id"];
793
+ } | [import("../../../balena-model.js").DeviceType["Read"]];
794
+ should_be_running__release: {
795
+ __id: import("../../../balena-model.js").Release["Read"]["id"];
796
+ } | [import("../../../balena-model.js").Release["Read"]] | [] | null;
797
+ application_type: {
798
+ __id: import("../../../balena-model.js").ApplicationType["Read"]["id"];
799
+ } | [import("../../../balena-model.js").ApplicationType["Read"]];
800
+ is_host: import("@balena/sbvr-types").Types["Boolean"]["Read"];
801
+ is_archived: import("@balena/sbvr-types").Types["Boolean"]["Read"];
802
+ uuid: import("@balena/sbvr-types").Types["Text"]["Read"];
803
+ is_public: import("@balena/sbvr-types").Types["Boolean"]["Read"];
804
+ application__has__env_var_name?: Array<import("../../../balena-model.js").ApplicationEnvironmentVariable["Read"]>;
805
+ application_environment_variable?: Array<import("../../../balena-model.js").ApplicationEnvironmentVariable["Read"]>;
806
+ application__has__config_var_name?: Array<import("../../../balena-model.js").ApplicationConfigVariable["Read"]>;
807
+ application_config_variable?: Array<import("../../../balena-model.js").ApplicationConfigVariable["Read"]>;
808
+ application__has__service_name?: Array<import("../../../balena-model.js").Service["Read"]>;
809
+ service?: Array<import("../../../balena-model.js").Service["Read"]>;
810
+ application__has__tag_key?: Array<import("../../../balena-model.js").ApplicationTag["Read"]>;
811
+ application_tag?: Array<import("../../../balena-model.js").ApplicationTag["Read"]>;
812
+ owns__device?: Array<import("../../../balena-model.js").Device["Read"]>;
813
+ owns__release?: Array<import("../../../balena-model.js").Release["Read"]>;
814
+ is_directly_accessible_by__user?: Array<import("../../../balena-model.js").UserHasDirectAccessToApplication["Read"]>;
815
+ }, "id" | "is_of__class" | "app_name" | "uuid" | "is_host"> & {
816
+ readonly application_environment_variable: import("@balena/abstract-sql-to-typescript").PickDeferred<{
817
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
818
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
819
+ application: {
820
+ __id: Application["Read"]["id"];
821
+ } | [Application["Read"]];
822
+ name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
823
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
824
+ value: import("@balena/sbvr-types").Types["Text"]["Read"];
825
+ }, "name" | "value">[];
826
+ })[];
827
+ readonly contains__image: (import("@balena/abstract-sql-to-typescript").PickDeferred<{
828
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
829
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
830
+ image: {
831
+ __id: import("../../../balena-model.js").Image["Read"]["id"];
832
+ } | [import("../../../balena-model.js").Image["Read"]];
833
+ is_part_of__release: {
834
+ __id: import("../../../balena-model.js").Release["Read"]["id"];
835
+ } | [import("../../../balena-model.js").Release["Read"]];
836
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
837
+ image__is_part_of__release__has__label_name?: Array<import("../../../balena-model.js").ImageLabel["Read"]>;
838
+ release_image__has__label_name?: Array<import("../../../balena-model.js").ImageLabel["Read"]>;
839
+ image_label?: Array<import("../../../balena-model.js").ImageLabel["Read"]>;
840
+ image__is_part_of__release__has__name?: Array<import("../../../balena-model.js").ImageEnvironmentVariable["Read"]>;
841
+ release_image__has__name?: Array<import("../../../balena-model.js").ImageEnvironmentVariable["Read"]>;
842
+ image_environment_variable?: Array<import("../../../balena-model.js").ImageEnvironmentVariable["Read"]>;
843
+ release: {
844
+ __id: import("../../../balena-model.js").Release["Read"]["id"];
845
+ } | [import("../../../balena-model.js").Release["Read"]];
846
+ contains__image: {
847
+ __id: import("../../../balena-model.js").Image["Read"]["id"];
848
+ } | [import("../../../balena-model.js").Image["Read"]];
849
+ }, "id"> & {
850
+ readonly image: (import("@balena/abstract-sql-to-typescript").PickDeferred<{
851
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
852
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
853
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
854
+ start_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"];
855
+ end_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
856
+ dockerfile: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
857
+ is_a_build_of__service: {
858
+ __id: import("../../../balena-model.js").Service["Read"]["id"];
859
+ } | [import("../../../balena-model.js").Service["Read"]];
860
+ image_size: import("@balena/sbvr-types").Types["Big Integer"]["Read"] | null;
861
+ is_stored_at__image_location: import("@balena/sbvr-types").Types["Short Text"]["Read"];
862
+ project_type: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
863
+ error_message: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
864
+ build_log: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
865
+ push_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
866
+ status: import("@balena/sbvr-types").Types["Short Text"]["Read"];
867
+ content_hash: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
868
+ contract: import("@balena/sbvr-types").Types["JSON"]["Read"] | null;
869
+ device__installs__image?: Array<import("../../../balena-model.js").ImageInstall["Read"]>;
870
+ image_install?: Array<import("../../../balena-model.js").ImageInstall["Read"]>;
871
+ is_installed_on__device?: Array<import("../../../balena-model.js").ImageInstall["Read"]>;
872
+ is_part_of__release?: Array<import("../../../balena-model.js").ImageIsPartOfRelease["Read"]>;
873
+ image__is_part_of__release?: Array<import("../../../balena-model.js").ImageIsPartOfRelease["Read"]>;
874
+ release_image?: Array<import("../../../balena-model.js").ImageIsPartOfRelease["Read"]>;
875
+ is_a_build_of__application__has__service_name: {
876
+ __id: import("../../../balena-model.js").Service["Read"]["id"];
877
+ } | [import("../../../balena-model.js").Service["Read"]];
878
+ }, "id" | "contract" | "is_stored_at__image_location" | "content_hash"> & {
879
+ readonly is_a_build_of__service: (import("@balena/abstract-sql-to-typescript").PickDeferred<{
880
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
881
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
882
+ application: {
883
+ __id: Application["Read"]["id"];
884
+ } | [Application["Read"]];
885
+ service_name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
886
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
887
+ application__has__service_name__has__label_name?: Array<import("../../../balena-model.js").ServiceLabel["Read"]>;
888
+ service__has__label_name?: Array<import("../../../balena-model.js").ServiceLabel["Read"]>;
889
+ service_label?: Array<import("../../../balena-model.js").ServiceLabel["Read"]>;
890
+ application__has__service_name__has__name?: Array<import("../../../balena-model.js").ServiceEnvironmentVariable["Read"]>;
891
+ service__has__name?: Array<import("../../../balena-model.js").ServiceEnvironmentVariable["Read"]>;
892
+ service_environment_variable?: Array<import("../../../balena-model.js").ServiceEnvironmentVariable["Read"]>;
893
+ device__installs__application__has__service_name?: Array<import("../../../balena-model.js").ServiceInstall["Read"]>;
894
+ device__installs__service?: Array<import("../../../balena-model.js").ServiceInstall["Read"]>;
895
+ service_install?: Array<import("../../../balena-model.js").ServiceInstall["Read"]>;
896
+ is_installed_on__device?: Array<import("../../../balena-model.js").ServiceInstall["Read"]>;
897
+ is_built_by__image?: Array<import("../../../balena-model.js").Image["Read"]>;
898
+ }, "id" | "service_name"> & {
899
+ readonly service_environment_variable: import("@balena/abstract-sql-to-typescript").PickDeferred<{
900
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
901
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
902
+ service: {
903
+ __id: import("../../../balena-model.js").Service["Read"]["id"];
904
+ } | [import("../../../balena-model.js").Service["Read"]];
905
+ name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
906
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
907
+ value: import("@balena/sbvr-types").Types["Text"]["Read"];
908
+ application__has__service_name: {
909
+ __id: import("../../../balena-model.js").Service["Read"]["id"];
910
+ } | [import("../../../balena-model.js").Service["Read"]];
911
+ }, "name" | "value">[];
912
+ readonly service_label: import("@balena/abstract-sql-to-typescript").PickDeferred<{
913
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
914
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
915
+ service: {
916
+ __id: import("../../../balena-model.js").Service["Read"]["id"];
917
+ } | [import("../../../balena-model.js").Service["Read"]];
918
+ label_name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
919
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
920
+ value: import("@balena/sbvr-types").Types["Text"]["Read"];
921
+ application__has__service_name: {
922
+ __id: import("../../../balena-model.js").Service["Read"]["id"];
923
+ } | [import("../../../balena-model.js").Service["Read"]];
924
+ }, "value" | "label_name">[];
925
+ })[];
926
+ })[];
927
+ readonly image_label: import("@balena/abstract-sql-to-typescript").PickDeferred<{
928
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
929
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
930
+ release_image: {
931
+ __id: import("../../../balena-model.js").ImageIsPartOfRelease["Read"]["id"];
932
+ } | [import("../../../balena-model.js").ImageIsPartOfRelease["Read"]];
933
+ label_name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
934
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
935
+ value: import("@balena/sbvr-types").Types["Text"]["Read"];
936
+ image__is_part_of__release: {
937
+ __id: import("../../../balena-model.js").ImageIsPartOfRelease["Read"]["id"];
938
+ } | [import("../../../balena-model.js").ImageIsPartOfRelease["Read"]];
939
+ }, "value" | "label_name">[];
940
+ readonly image_environment_variable: import("@balena/abstract-sql-to-typescript").PickDeferred<{
941
+ created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
942
+ modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
943
+ release_image: {
944
+ __id: import("../../../balena-model.js").ImageIsPartOfRelease["Read"]["id"];
945
+ } | [import("../../../balena-model.js").ImageIsPartOfRelease["Read"]];
946
+ name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
947
+ id: import("@balena/sbvr-types").Types["Serial"]["Read"];
948
+ value: import("@balena/sbvr-types").Types["Text"]["Read"];
949
+ image__is_part_of__release: {
950
+ __id: import("../../../balena-model.js").ImageIsPartOfRelease["Read"]["id"];
951
+ } | [import("../../../balena-model.js").ImageIsPartOfRelease["Read"]];
952
+ }, "name" | "value">[];
953
+ })[];
954
+ })[];
955
+ }>;
79
956
  export {};