# fuchsia.update.channelcontrol

<br />

Added: 7

## **PROTOCOLS**

## ChannelControl

*Defined in [fuchsia.update.channelcontrol/channelcontrol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.update.channelcontrol/channelcontrol.fidl;l=11)*

Control the target update channel, this is the channel we will use on the next update check.

<br />

### GetCurrent

Retrieve the currently active update channel.

- response `channel` the currently active update channel.

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `channel` | `string:128` |

### GetTarget

Get the current tentative target channel for updates.
This returns the channel that the update client is using to perform update
checks. It's always one of:
- the current channel
- the default channel
- a new target that's different, but hasn't been OTA'd from yet.

- response `channel` the current target channel.

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `channel` | `string:128` |

### GetTargetList

Get the list of well-known target channels that can be passed to SetTarget().
There may be other, unlisted channels.

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `channels` | `vector<string:128>:100` |

### SetTarget

Set a new desired target channel. This tells the updater to attempt to
check for updates using a new channel. This is tentative, and won't be
persisted unless an update check on that channel is successful.

A response is generated when the new target channel has been verified as
valid.

- request `channel` the new target channel name (name used by the updater)

#### Request

| Name | Type |
|---|---|
| `channel` | `string:128` |

#### Response

\<EMPTY\>