Project: /_project.yaml Book: /_book.yaml

fuchsia.update.installer

PROTOCOLS

Installer {:#Installer}

Defined in fuchsia.update.installer/installer.fidl

Updates the system.

This protocol is intended to be consumed by a component capable of discovering when to update and what version of the system to install.

GetLastUpdateResult {:#GetLastUpdateResult}

Get the status of the last update attempt. If this device hasn't attempted an update since the last factory reset, every field in the result will be absent.

  • response info the status of the last update attempt, if available.

Request

Response

GetUpdateResult {:#GetUpdateResult}

Get the status of the given update attempt, if it exists. If this device hasn't attempted an update with the given attempt_id or forgotten about that attempt, every field in the result will be absent.

  • request attempt_id UUID identifying the requested update attempt.
  • response info the status of the last update attempt, if available.

Request

Response

StartUpdate {:#StartUpdate}

Start an update if one is not running, or attach to a pending update attempt. Attach the provided monitor to the update attempt.

  • request url The fuchsia-pkg URL of the update package to update to.
  • request options Configuration options for this update attempt. Ignored or merged with the existing options if an update attempt is already in progress.
  • request monitor A protocol on which to receive progress updates.
  • request monitor_options Configuration options to control the behavior of the given Monitor.
  • response attempt_id UUID identifying this update attempt. For updates that require a reboot, components may use this identifier to disambiguate the completion of this update attempt from new update attempts that start post-reboot.

Request

Response

MonitorUpdate {:#MonitorUpdate}

Attempt to monitor a specific update attempt, if it exists. This API will not start an update if one is not already running.

  • request attempt_id UUID identifying the requested update attempt. If not given, monitor any active update attempt.
  • request monitor A protocol on which to receive progress updates.
  • request monitor_options Configuration options to control the behavior of the given Monitor.
  • response attached Whether or not the provided monitor was attached to an in-progress update attempt. If false, monitor will be closed by the server.

Request

Response

MonitorAllUpdates {:#MonitorAllUpdates}

Monitor all update attempts as they start, as well as an in-progress attempt, if there is one.

  • request attempts_monitor A protocol on which to receive Monitor instances as update attempts start.
  • request monitor_options Configuration options to control the behavior of the given Monitor.

Request

AttemptsMonitor {:#AttemptsMonitor}

Defined in fuchsia.update.installer/progress.fidl

Monitors update attempts as they start.

OnStart {:#OnStart}

Emitted when a new update attempt has started.

  • request attempt_id UUID identifying this update attempt.
  • request monitor A protocol on which to receive progress updates.

Response

Monitor {:#Monitor}

Defined in fuchsia.update.installer/progress.fidl

Monitors an update attempt.

When a Monitor is attached to an update attempt with MonitorOptions.should_notify set to true, the server will emit events on the protocol that the client must consume. Clients that attach to an attempt will be sent any events they may have missed (by attaching to an update attempt after it has started, for example).

OnStateEnter {:#OnStateEnter}

Emitted when transitioning from one state to another.

  • response state The new state.

Response

GetNextProgress {:#GetNextProgress}

Retrieve the latest progress of this update attempt, blocking until newer progress is available if this client has already seen the currently available progress. If this update attempt has completed (or failed), this API immediately returns the final progress.

  • response progress The latest progress of this update attempt.

Request

Response

ENUMS

Initiator {:#Initiator}

Type: uint32

Defined in fuchsia.update.installer/installer.fidl

Who or what initiated the update check.

State {:#State}

Type: uint32

Defined in fuchsia.update.installer/progress.fidl

States that an update attempt may transition through. An update attempt always starts in State.PREPARE. See each state for more details.

TABLES

UpdateResult {:#UpdateResult}

Defined in fuchsia.update.installer/installer.fidl

Metadata about a prior update attempt.

Options {:#Options}

Defined in fuchsia.update.installer/installer.fidl

Configuration options for an update attempt.

MonitorOptions {:#MonitorOptions}

Defined in fuchsia.update.installer/installer.fidl

Configuration options for the Monitor protocol.

Progress {:#Progress}

Defined in fuchsia.update.installer/progress.fidl

State of an update attempt.

CONSTANTS