Interface PrimaryManifestInstallView
- All Known Implementing Classes:
InstallViewDeviceManifest
public interface PrimaryManifestInstallView
Interface used to extract information from a manifest that identifies
the minimum information required to correctly install an updated on
the primary node of a device such that the primary and all child nodes
in the device can be properly updated.
This interface exists to decouple the installer logic from a given manifest implementation as manifests may evolve over time. So long as any future manifest can return this information, a device can continue to be updated.
Care must be taken such that old code can extract this data from future manifests, even when the manifest format changes, otherwise it will be impossible to update as the old code will not know how to determine what to install. This can be handled by defining this data in all manifest formats, even when it's artificially created by tooling and is technically redundant.
- Version:
- 2023-10-01
-
Method Summary
Modifier and TypeMethodDescriptionReturn thedeviceType
this manifest is compatible with.Collection<? extends ManifestArtifact>
getKabs()
Return the list of kabs required for the entire device.Collection<? extends ManifestArtifact>
Return the list of layers required for the primary node only.
-
Method Details
-
getDeviceType
String getDeviceType()Return thedeviceType
this manifest is compatible with. -
getLayers
Collection<? extends ManifestArtifact> getLayers()Return the list of layers required for the primary node only. This is a subset ofgetKabs()
and indicates to the installer which layers must be installed on the primary node to be properly updated. This must not include layers for other nodes in the device. -
getKabs
Collection<? extends ManifestArtifact> getKabs()Return the list of kabs required for the entire device. This should include all kabs required by all nodes in the device. This should include all the kabs specified ingetLayers()
along with any other kabs used on the primary node and any kabs / layers required by any other node in the device.This is the list of kabs that must be available on the primary node in order to guarantee that the device can be updated.
-