github.com/choria-io/go-choria@v0.28.1-0.20240416190746-b3bf9c7d5a45/internal/fs/ddl/cache/agent/choria_registry.ddl (about)

     1  --  Copyright (c) 2024, R.I. Pienaar and the Choria Project contributors
     2  --
     3  --  SPDX-License-Identifier: Apache-2.0
     4  
     5  metadata :name        => "choria_registry",
     6           :description => "Choria Registry Service",
     7           :author      => "rip@devco.net <rip@devco.net>",
     8           :license     => "Apache-2.0",
     9           :version     => "0.28.0",
    10           :url         => "https://choria.io",
    11           :provider    => "golang",
    12           :service     => true,
    13           :timeout     => 2
    14  
    15  
    16  action "names", :description => "List of all known DDLs for a specific plugin type" do
    17    display :failed
    18  
    19    input :plugin_type,
    20          :prompt      => "Plugin Type",
    21          :description => "The type of plugin",
    22          :type        => :list,
    23          :default     => "agent",
    24          :list        => ["agent"],
    25          :optional    => false
    26  
    27  
    28  
    29  
    30    output :names,
    31           :description => "The names of all known DDL files",
    32           :type        => "array",
    33           :display_as  => "Names"
    34  
    35    output :plugin_type,
    36           :description => "The type of plugin",
    37           :type        => "string",
    38           :display_as  => "Type"
    39  
    40  end
    41  
    42  action "ddl", :description => "Retrieve the DDL for a specific plugin" do
    43    display :always
    44  
    45    input :format,
    46          :prompt      => "Plugin Format",
    47          :description => "The result format the plugin should be retrieved in",
    48          :type        => :list,
    49          :default     => "json",
    50          :list        => ["ddl", "json"],
    51          :optional    => true
    52  
    53  
    54    input :name,
    55          :prompt      => "Plugin Name",
    56          :description => "The name of the plugin",
    57          :type        => :string,
    58          :validation  => :shellsafe,
    59          :maxlength   => 64,
    60          :optional    => false
    61  
    62  
    63    input :plugin_type,
    64          :prompt      => "Plugin Type",
    65          :description => "The type of plugin",
    66          :type        => :list,
    67          :default     => "agent",
    68          :list        => ["agent"],
    69          :optional    => false
    70  
    71  
    72  
    73  
    74    output :ddl,
    75           :description => "The plugin DDL in the requested format",
    76           :type        => "string",
    77           :display_as  => "DDL"
    78  
    79    output :name,
    80           :description => "The name of the plugin",
    81           :type        => "string",
    82           :display_as  => "Name"
    83  
    84    output :plugin_type,
    85           :description => "The type of plugin",
    86           :type        => "string",
    87           :display_as  => "Type"
    88  
    89    output :version,
    90           :description => "The version of the plugin",
    91           :type        => "string",
    92           :display_as  => "Version"
    93  
    94  end
    95