"$_target_opt_pat[2]"{-I,--pillar}'[use a pillar value to identify targets.]:Pillar:'
"$_target_opt_pat[2]"{-S,--ipcidr}'[Match based on Subnet (CIDR notation) or IPv4 address.]:Cidr:'
)
_common_opts=(
"--version[show program's version number and exit]"
"--versions-report[show program's dependencies version number and exit]"
'(-h --help)'{-h,--help}'[show this help message and exit]'
'(-c --config-dir)'{-c,--config-dir}'[Pass in an alternative configuration directory.(default: /etc/salt/)]:Config Directory:_files -/'
'(-t --timeout)'{-t,--timeout}'[Change the timeout for the running command; default=5]:Timeout (seconds):'
)
_master_options=(
'(-s --static)'{-s,--static}'[Return the data from minions as a group after they all return.]'
"--async[Run the salt command but don't wait for a reply]"
'(--state-output --state_output)'{--state-output,--state_output}'[Override the configured state_output value for minion output. Default: full]:Outputs:(full terse mixed changes)'
'--subset[Execute the routine on a random subset of the targeted minions]:Subset:'
'(-v --verbose)'{-v,--verbose}'[Turn on command verbosity, display jid and active job queries]'
'--hide-timeout[Hide minions that timeout]'
'(-b --batch --batch-size)'{-b,--batch,--batch-size}'[Execute the salt job in batch mode, pass number or percentage to batch.]:Batch Size:'
'(-a --auth --eauth --extrenal-auth)'{-a,--auth,--eauth,--external-auth}'[Specify an external authentication system to use.]:eauth:'
'(-T --make-token)'{-T,--make-token}'[Generate and save an authentication token for re-use.]'
'--return[Set an alternative return method.]:Returners:_path_files -W "$salt_dir/returners" -g "[^_]*.py(\:r)"'
'(-d --doc --documentation)'{-d,--doc,--documentation}'[Return the documentation for the specified module]'
'--args-separator[Set the special argument used as a delimiter between command arguments of compound commands.]:Arg separator:'
)
_minion_options=(
'--return[Set an alternative return method.]:Returners:_path_files -W "$salt_dir"/returners" -g "[^_]*.py(\:r)"'
'(-d --doc --documentation)'{-d,--doc,--documentation}'[Return the documentation for the specified module]'
'(-g --grains)'{-g,--grains}'[Return the information generated by the salt grains]'
{*-m,*--module-dirs}'[Specify an additional directory to pull modules from.]:Module Dirs:_files -/'
'--master[Specify the master to use.]:Master:'
'--local[Run salt-call locally, as if there was no master running.]'
'--file-root[Set this directory as the base file root.]:File Root:_files -/'
'--pillar-root[Set this directory as the base pillar root.]:Pillar Root:_files -/'
'--retcode-passthrough[Exit with the salt call retcode and not the salt binary retcode]'
'--id[Specify the minion id to use.]:Minion ID:'
'--skip-grains[Do not load grains.]'
'--refresh-grains-cache[Force a refresh of the grains cache]'
)
_runner_options=(
'--hard-crash[raise any original exception rather than exiting gracefully]'
'(-d --doc --documentation)'{-d,--doc,--documentation}'[Return the documentation for the specified module]'
)
_key_options=(
'(-u --user)'{-u+,--user=}'[specify user to run salt-key]:user:_users'
'--hard-crash[raise any original exception rather than exiting gracefully]'
'(-q --quiet)'{-q,--quiet}'[quiet mode]'
'(-y --yes)'{-y,--yes}'[assume yes]'
'--rotate-aes-key[prevents the master from refreshing the key session when keys are deleted or rejected]:boolean:(true false)'
'--gen-keys=[set a name to generate a keypair for use with salt]:key name'
'--gen-keys-dir=[set the directory to save the generated keypair]: : _directories'
'--keysize=[set the size for keypair]:key size'
'--gen-signature[create a signature file of the masters public-key]'
'--priv=[the private-key file to create a signature with]:private key:_files'
'--signature-path=[the path where the signature file should be written]: : _directories'
'--pub=[the public-key file to create a signature for]:public key:_files'
'--auto-create[auto-create a signing key-pair if it does not yet exist]'
'--include-all[include non-pending keys when accepting/rejecting]'