Определение параметра mcollective agent
Следующий ддл
action 'ant', :description => "Runs ant in the application directory" do
input :application,
:prompt => "Application(s)",
:description => "Application's instance name(s)",
:type => :string,
:validation => '^[a-z0-9_,\-]+$',
:maxlength => 500,
:optional => false
может использоваться внутри агента для получения параметра командной строки application
# entry point for the ant target
action 'ant' do
# find eligible applications
applications = request[:application].split(',').select{|a| valid_application?(a) }
Командная команда может быть запущена с mco <agentname> -a applicationname1,applicationname2
и так далее. Выдача mco <agentname> --help
дает мне:
$ mco ehyp --help
Manage an <internal> application
Application Options
-a, --application APPLICATION Application to manage
Я не нахожу "связь" между -a
или же --application
а также request[:application]
, Где определено, как интерпретировать эти ключи командной строки?
1 ответ
Определяется в MCollective::Application
там вы определяете:
option :application,
:description => 'Application to manage',
:arguments => ['-a', '--application APPLICATION'],
:required => true
option :destination,
:description => 'Ant target ("destination") to call',
:arguments => ['-d', '--destination TARGET'],
:required => true