driver_tools/subcommands/list_composite_node_specs/
args.rs

1// Copyright 2022 The Fuchsia Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5use argh::{ArgsInfo, FromArgs};
6
7#[derive(ArgsInfo, FromArgs, Debug, PartialEq)]
8#[argh(
9    subcommand,
10    name = "list-composite-node-specs",
11    description = "List composite node specs.",
12    example = "To list all composite node specs with properties:
13
14    $ driver list-composite-node-specs -v
15
16To show a specific composite nod spec, specify a `--name` or `-n` for short:
17
18    $ driver list-composite-node-specs -n example_group",
19    error_code(1, "Failed to connect to the driver development service")
20)]
21pub struct ListCompositeNodeSpecsCommand {
22    /// list all driver properties.
23    #[argh(switch, short = 'v', long = "verbose")]
24    pub verbose: bool,
25
26    /// only show the spec with this name.
27    #[argh(option, short = 'n', long = "name")]
28    pub name: Option<String>,
29
30    /// if this exists, the user will be prompted for a component to select.
31    #[argh(switch, short = 's', long = "select")]
32    pub select: bool,
33}