summaryrefslogtreecommitdiff
path: root/lib/chef/application
diff options
context:
space:
mode:
authorNoah Kantrowitz <noah@coderanger.net>2016-06-21 16:04:01 -0700
committerNoah Kantrowitz <noah@coderanger.net>2016-06-21 16:07:59 -0700
commit267cd39a17454a17cce7eeef8aea292aec4647fc (patch)
tree10aa44ef2572c5e4786992314be1dc55b52becc7 /lib/chef/application
parent8693be1d64b06b93fb357ac96588b17a6ea64579 (diff)
downloadchef-267cd39a17454a17cce7eeef8aea292aec4647fc.tar.gz
First pass on --config-option handling.
Diffstat (limited to 'lib/chef/application')
-rw-r--r--lib/chef/application/client.rb8
-rw-r--r--lib/chef/application/knife.rb8
-rw-r--r--lib/chef/application/solo.rb8
3 files changed, 24 insertions, 0 deletions
diff --git a/lib/chef/application/client.rb b/lib/chef/application/client.rb
index 77c86ad559..cec47ac071 100644
--- a/lib/chef/application/client.rb
+++ b/lib/chef/application/client.rb
@@ -40,6 +40,14 @@ class Chef::Application::Client < Chef::Application
:long => "--config CONFIG",
:description => "The configuration file to use"
+ option :config_option,
+ :long => "--config-option OPTION=VALUE",
+ :description => "Override a single configuration option",
+ :proc => lambda { |option, existing|
+ (existing ||= []) << option
+ existing
+ }
+
option :formatter,
:short => "-F FORMATTER",
:long => "--format FORMATTER",
diff --git a/lib/chef/application/knife.rb b/lib/chef/application/knife.rb
index 34598574dd..c80d0245f1 100644
--- a/lib/chef/application/knife.rb
+++ b/lib/chef/application/knife.rb
@@ -33,6 +33,14 @@ class Chef::Application::Knife < Chef::Application
:description => "The configuration file to use",
:proc => lambda { |path| File.expand_path(path, Dir.pwd) }
+ option :config_option,
+ :long => "--config-option OPTION=VALUE",
+ :description => "Override a single configuration option",
+ :proc => lambda { |option, existing|
+ (existing ||= []) << option
+ existing
+ }
+
verbosity_level = 0
option :verbosity,
:short => "-V",
diff --git a/lib/chef/application/solo.rb b/lib/chef/application/solo.rb
index ecac3f4d4e..d38e97e82b 100644
--- a/lib/chef/application/solo.rb
+++ b/lib/chef/application/solo.rb
@@ -40,6 +40,14 @@ class Chef::Application::Solo < Chef::Application
:default => Chef::Config.platform_specific_path("/etc/chef/solo.rb"),
:description => "The configuration file to use"
+ option :config_option,
+ :long => "--config-option OPTION=VALUE",
+ :description => "Override a single configuration option",
+ :proc => lambda { |option, existing|
+ (existing ||= []) << option
+ existing
+ }
+
option :formatter,
:short => "-F FORMATTER",
:long => "--format FORMATTER",