reactive_graph/client/types/components/
commands.rs

1use clap::Subcommand;
2
3use crate::client::types::components::args::add_extension::ComponentAddExtensionArgs;
4use crate::client::types::components::args::add_property::ComponentAddPropertyArgs;
5use crate::client::types::components::args::component_extension_type::ComponentExtensionTypeIdArgs;
6use crate::client::types::components::args::component_property::ComponentPropertyArgs;
7use crate::client::types::components::args::create::CreateComponentArgs;
8use crate::client::types::components::args::type_id::ComponentTypeIdArgs;
9use crate::client::types::components::args::update_description::ComponentUpdateDescriptionArgs;
10
11#[derive(Subcommand, Debug, Clone)]
12pub(crate) enum ComponentsCommands {
13    /// List all components.
14    #[non_exhaustive]
15    List,
16    /// Prints a single component.
17    #[non_exhaustive]
18    Get(ComponentTypeIdArgs),
19    /// List the properties of a component.
20    #[non_exhaustive]
21    ListProperties(ComponentTypeIdArgs),
22    /// List the extensions of a component.
23    #[non_exhaustive]
24    ListExtensions(ComponentTypeIdArgs),
25    /// Prints the JSON Schema of a component.
26    #[non_exhaustive]
27    GetJsonSchema(ComponentTypeIdArgs),
28    /// Creates a new component.
29    #[non_exhaustive]
30    Create(CreateComponentArgs),
31    /// Deletes a component.
32    #[non_exhaustive]
33    Delete(ComponentTypeIdArgs),
34    /// Adds a property to a component.
35    #[non_exhaustive]
36    AddProperty(ComponentAddPropertyArgs),
37    /// Removes a property from a component.
38    #[non_exhaustive]
39    RemoveProperty(ComponentPropertyArgs),
40    /// Adds an extension to a component.
41    #[non_exhaustive]
42    AddExtension(ComponentAddExtensionArgs),
43    /// Removes an extension from a component.
44    #[non_exhaustive]
45    RemoveExtension(ComponentExtensionTypeIdArgs),
46    /// Updates the description of a component.
47    #[non_exhaustive]
48    UpdateDescription(ComponentUpdateDescriptionArgs),
49    /// Prints the JSON Schema of components.
50    #[non_exhaustive]
51    JsonSchema,
52}