diff options
author | James Turnbull <james@lovedthanlost.net> | 2010-04-24 03:32:48 +1000 |
---|---|---|
committer | test branch <puppet-dev@googlegroups.com> | 2010-02-17 06:50:53 -0800 |
commit | 5988f76aac63c4cb33c3e138c830eaf8aa4abfff (patch) | |
tree | 6a3d6a1a84379cf0109b9f124dd51fe7fd156db7 /lib | |
parent | 2c153b12921d67354ea0968ad81590a124ac8b75 (diff) | |
download | puppet-5988f76aac63c4cb33c3e138c830eaf8aa4abfff.tar.gz puppet-5988f76aac63c4cb33c3e138c830eaf8aa4abfff.tar.xz puppet-5988f76aac63c4cb33c3e138c830eaf8aa4abfff.zip |
Fixes #3663 - It should be possible to list signed hosts only
Adds a --signed option to the --list feature that only displays signed certificates
Diffstat (limited to 'lib')
-rw-r--r-- | lib/puppet/application/cert.rb | 8 | ||||
-rw-r--r-- | lib/puppet/ssl/certificate_authority/interface.rb | 4 |
2 files changed, 10 insertions, 2 deletions
diff --git a/lib/puppet/application/cert.rb b/lib/puppet/application/cert.rb index a4ee5fef3..80ccc46f9 100644 --- a/lib/puppet/application/cert.rb +++ b/lib/puppet/application/cert.rb @@ -6,7 +6,7 @@ class Puppet::Application::Cert < Puppet::Application should_parse_config - attr_accessor :mode, :all, :ca, :digest + attr_accessor :mode, :all, :ca, :digest, :signed def find_mode(opt) modes = Puppet::SSL::CertificateAuthority::Interface::INTERFACE_METHODS @@ -26,6 +26,10 @@ class Puppet::Application::Cert < Puppet::Application @digest = arg end + option("--signed", "-s") do + @signed = true + end + option("--debug", "-d") do |arg| Puppet::Util::Log.level = :debug end @@ -43,6 +47,8 @@ class Puppet::Application::Cert < Puppet::Application def main if @all hosts = :all + elsif @signed + hosts = :signed else hosts = command_line.args.collect { |h| puts h; h.downcase } end diff --git a/lib/puppet/ssl/certificate_authority/interface.rb b/lib/puppet/ssl/certificate_authority/interface.rb index d2dc7b9b5..b60834a2c 100644 --- a/lib/puppet/ssl/certificate_authority/interface.rb +++ b/lib/puppet/ssl/certificate_authority/interface.rb @@ -56,6 +56,8 @@ class Puppet::SSL::CertificateAuthority::Interface if subjects == :all hosts = [signed, requests].flatten + elsif subjects == :signed + hosts = signed.flatten else hosts = subjects end @@ -116,7 +118,7 @@ class Puppet::SSL::CertificateAuthority::Interface # Set the list of hosts we're operating on. Also supports keywords. def subjects=(value) - unless value == :all or value.is_a?(Array) + unless value == :all or value == :signed or value.is_a?(Array) raise ArgumentError, "Subjects must be an array or :all; not %s" % value end |