| @@ 8-39 (lines=32) @@ | ||
| 5 | module AMA | |
| 6 | module Chef | |
| 7 | module User | |
| 8 | class Action | |
| 9 | module Account | |
| 10 | module PrivateKey | |
| 11 | class Remove < Action | |
| 12 | attr_accessor :account | |
| 13 | attr_accessor :key | |
| 14 | ||
| 15 | # @param [AMA::Chef::User::Model::Account] account | |
| 16 | # @param [AMA::Chef::User::Model::PrivateKey] key | |
| 17 | def initialize(account, key) | |
| 18 | @account = account | |
| 19 | @key = key | |
| 20 | end | |
| 21 | ||
| 22 | def apply(resource_factory) | |
| 23 | account = @account | |
| 24 | key = @key | |
| 25 |                 name = "#{account.id}:#{key.owner}:#{key.id}" | |
| 26 | content = (key.content || '').to_s | |
| 27 | resource_factory.ssh_private_key name do | |
| 28 | id key.id.to_s | |
| 29 | user account.id.to_s | |
| 30 | # TODO: remove when https://github.com/ama-team/cookbook-ssh-private-keys/issues/2 | |
| 31 | # is resolved | |
| 32 | content content | |
| 33 | action :remove | |
| 34 | end | |
| 35 | end | |
| 36 | end | |
| 37 | end | |
| 38 | end | |
| 39 | end | |
| 40 | end | |
| 41 | end | |
| 42 | end | |
| @@ 10-37 (lines=28) @@ | ||
| 7 | module AMA | |
| 8 | module Chef | |
| 9 | module User | |
| 10 | class Action | |
| 11 | module Account | |
| 12 | module PrivateKey | |
| 13 | class Add < Action | |
| 14 | attr_accessor :account | |
| 15 | attr_accessor :key | |
| 16 | ||
| 17 | # @param [AMA::Chef::User::Model::Account] account | |
| 18 | # @param [AMA::Chef::User::Model::PrivateKey] key | |
| 19 | def initialize(account, key) | |
| 20 | @account = account | |
| 21 | @key = key | |
| 22 | end | |
| 23 | ||
| 24 | def apply(resource_factory) | |
| 25 | account = @account | |
| 26 | key = @key | |
| 27 |                 name = "#{account.id}:#{key.owner}:#{key.id}" | |
| 28 | resource_factory.ssh_private_key name do | |
| 29 | id key.id.to_s | |
| 30 | user account.id.to_s | |
| 31 | content key.content.to_s | |
| 32 | install_public_key key.install_public_key | |
| 33 | passphrase key.passphrase unless key.passphrase.nil? | |
| 34 | perform_validation key.validate | |
| 35 | end | |
| 36 | end | |
| 37 | end | |
| 38 | end | |
| 39 | end | |
| 40 | end | |
| @@ 8-37 (lines=30) @@ | ||
| 5 | module AMA | |
| 6 | module Chef | |
| 7 | module User | |
| 8 | class Action | |
| 9 | module Account | |
| 10 | module PublicKey | |
| 11 | class Add < Action | |
| 12 | attr_accessor :account | |
| 13 | attr_accessor :key | |
| 14 | ||
| 15 | # @param [AMA::Chef::User::Model::Account] account | |
| 16 | # @param [AMA::Chef::User::Model::PublicKey] public_key | |
| 17 | def initialize(account, public_key) | |
| 18 | @account = account | |
| 19 | @key = public_key | |
| 20 | end | |
| 21 | ||
| 22 | def apply(resource_factory) | |
| 23 | account = @account | |
| 24 | key = @key | |
| 25 |                 id = "#{account.id}:#{key.owner}:#{key.id}" | |
| 26 | resource_factory.ssh_authorize_key id do | |
| 27 | user account.id.to_s | |
| 28 | key key.content | |
| 29 | keytype key.type.to_s | |
| 30 |                   comment "#{key.owner}:#{key.id}" | |
| 31 | validate_key key.validate | |
| 32 | end | |
| 33 | end | |
| 34 | end | |
| 35 | end | |
| 36 | end | |
| 37 | end | |
| 38 | end | |
| 39 | end | |
| 40 | end | |