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 Details

    • getDeviceType

      String getDeviceType()
      Return the deviceType 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 of getKabs() 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 in getLayers() 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.