Class Index [+]

Quicksearch

compdef mco

# completion for the mcollective cli. # # for the main mco application it will complete # the list of available applications # # for the rpc application it will complete first # the list of agents, then actions and then each # input. # # For all other applications it will just complete # the common command line options, to add another # application simply define a function called # _mco_application_foo() for the foo application

_mco() {

if (( CURRENT > 2 )); then
  local application=${words[2]}

  shift words

  args=({-W,--with}'[Combined class and fact filter]' \
        {-S,--select}'[Select filter]' \
        {-F,--wf,--with-fact}'[Fact filter]' \
        {-C,--wc,--with-class}'[Class filter]' \
        {-A,--wa,--with-agent}'[Agent filter]' \
        {-I,--wi,--with-identity}'[Identity filter]' \
        {-T,--target}'[Target collective]' \
        {--dm,--disc-method}'[Which discovery method to use]' \
        {--do,--disc-option}'[Options to pass to the discovery method]' \
        {--dt,--discovery-timeout}'[Discovery timeout]' \
        {-t,--timeout}'[Command Timeout]' \
        {-q,--quiet}'[Surpress verbose output]' \
        {-c,--config}'[Path to the config file]' \
        {-v,--verbose}'[Be verbose]' \
        {-h,--help}'[Show complete help message]' \
        '--nodes[List of nodes to address]' \
        '--ttl[Time To Live for the request]' \
        '--reply-to[Custom reply target]')

  curcontext="${curcontext%:*:*}:mco-${application}"

  if (( $+functions[_mco_application_$application] > 0 ));then
    _mco_application_$application
  fi

  _arguments -s : $args
else
  local -a cmdlist
  _call_program mco-list-applications mco completion --list-applications -v | while read -A hline; do
    cmdlist=($cmdlist "${hline}")
  done

  curcontext="${curcontext%:*:*}:mco-applications"

  _describe -t mco-application 'MCollective applications' cmdlist
fi

}

_mco_application_rpc() {

local -a clist

if (( CURRENT == 3 )); then
  _call_program mco-list-agents mco completion --list-agents -v | while read -A hline; do
    clist=($clist "${hline}")
  done

  _describe -t mco-agents "MCollective agents" clist
elif (( CURRENT == 4 )); then
  _call_program mco-list-actions mco completion --list-actions --agent=${words[2]} -v | while read -A hline; do
    clist=($clist "${hline}")
  done

  _describe -t mco-actions "${words[2]} actions" clist

elif (( CURRENT > 4 )); then
  _call_program mco-list-inputs mco completion --list-inputs --action=${words[3]} --agent=${words[2]} -v | while read hline; do
    clist=($clist $hline)
  done

  _describe -t mco-inputs "${words[3]} inputs" clist -S =
fi

args+=(
      {--np,--no-progress}'[Do not show the progress bar]' \
      {--nr,--no-results}'[Do not process results, just send request]' \
      {-1,--one}'[Send request to only one discovered node]' \
      '--batch[Do request in batches]' \
      '--batch-sleep[Sleep time between batches]' \
      {--ln,--limit-nodes}'[Only send the request to a certain number of discovered nodes]' \
      {-j,--json}'[Output result as JSON data]'
     )

}

[Validate]

Generated with the Darkfish Rdoc Generator 2.