29 lines
1.5 KiB
TypeScript
29 lines
1.5 KiB
TypeScript
import * as T from '../../../base/lib/types';
|
|
import { ImageId, VolumeId } from '../../../base/lib/types';
|
|
import { SDKManifest, SDKImageInputSpec } from '../../../base/lib/types/ManifestTypes';
|
|
import { VersionGraph } from '../version/VersionGraph';
|
|
/**
|
|
* @description Use this function to define critical information about your package
|
|
*
|
|
* @param manifest Static properties of the package
|
|
*/
|
|
export declare function setupManifest<Id extends string, VolumesTypes extends VolumeId, Manifest extends {
|
|
id: Id;
|
|
volumes: VolumesTypes[];
|
|
} & SDKManifest>(manifest: Manifest & SDKManifest): Manifest;
|
|
/**
|
|
* Build the final publishable manifest by combining the SDK manifest definition
|
|
* with version graph metadata, OS version, SDK version, and computed fields
|
|
* (migration ranges, hardware requirements, alerts, etc.).
|
|
*
|
|
* @param versions - The service's VersionGraph, used to extract the current version, release notes, and migration ranges
|
|
* @param manifest - The SDK manifest definition (from `setupManifest`)
|
|
* @returns A fully resolved Manifest ready for packaging
|
|
*/
|
|
export declare function buildManifest<Id extends string, Version extends string, Dependencies extends Record<string, unknown>, VolumesTypes extends VolumeId, ImagesTypes extends ImageId, Manifest extends {
|
|
dependencies: Dependencies;
|
|
id: Id;
|
|
images: Record<ImagesTypes, SDKImageInputSpec>;
|
|
volumes: VolumesTypes[];
|
|
}>(versions: VersionGraph<Version>, manifest: SDKManifest & Manifest): Manifest & T.Manifest;
|