diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/puppet/provider/sshkey/parsed.rb | 5 | ||||
-rw-r--r-- | lib/puppet/type/sshkey.rb | 26 |
2 files changed, 30 insertions, 1 deletions
diff --git a/lib/puppet/provider/sshkey/parsed.rb b/lib/puppet/provider/sshkey/parsed.rb index 3713df1..965c20d 100644 --- a/lib/puppet/provider/sshkey/parsed.rb +++ b/lib/puppet/provider/sshkey/parsed.rb @@ -46,4 +46,9 @@ Puppet::Type.type(:sshkey).provide( '/etc/ssh/ssh_known_hosts' end end + + def self.resource_for_record(record, resources) + name = "#{record[:name]}@#{record[:type]}" + resources[name] + end end diff --git a/lib/puppet/type/sshkey.rb b/lib/puppet/type/sshkey.rb index 6e51cff..c3cce5d 100644 --- a/lib/puppet/type/sshkey.rb +++ b/lib/puppet/type/sshkey.rb @@ -8,9 +8,33 @@ module Puppet ensurable - newproperty(:type) do + def name + "#{self[:name]}@#{self[:type]}" + end + + def self.title_patterns + [ + [ + %r{^(.*)@(.*)$}, + [ + [:name], + [:type], + ], + ], + [ + %r{^([^@]+)$}, + [ + [:name], + ], + ], + ] + end + + newparam(:type) do desc 'The encryption type used. Probably ssh-dss or ssh-rsa.' + isnamevar + newvalues :'ssh-dss', :'ssh-ed25519', :'ssh-rsa', :'ecdsa-sha2-nistp256', :'ecdsa-sha2-nistp384', :'ecdsa-sha2-nistp521' aliasvalue(:dsa, :'ssh-dss') |