@@ 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 |