blob: 71133f35f77b3f536877e5d301c4ca436955252e [file] [log] [blame]
// Copyright 2020 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
/// The FIDL representation of the component ID Index.
///
/// See (component ID index)[//docs/development/components/component_id_index.md]
/// for documentation on the schema.
library fuchsia.component.internal;
using fuchsia.component;
/// 256 bits encoded in lower-cased base64 (64 chars).
alias InstanceId = string:64;
/// Top-level type describing the component ID index.
type ComponentIdIndex = table {
/// A list of component ID instance entries.
///
/// Required, but may be empty.
2: instances vector<InstanceIdEntry>:1024;
};
type InstanceIdEntry = table {
/// A 256-bit identifier encoded in base64 which is unique across all other
/// instance IDs in the index.
1: instance_id InstanceId;
/// The moniker identifying the component instance.
3: moniker string:fuchsia.component.MAX_MONIKER_LENGTH;
};