aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/puppet/provider/sshkey/parsed.rb5
-rw-r--r--lib/puppet/type/sshkey.rb26
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')