class Kontena::Machine::DigitalOcean::SshKeyManager

Attributes

client[R]

Public Class Methods

new(token) click to toggle source

@param [String] token Digital Ocean API token

# File lib/kontena/machine/digital_ocean/ssh_key_manager.rb, line 9
def initialize(token)
  @client = DropletKit::Client.new(access_token: token)
end

Public Instance Methods

create(public_key) click to toggle source
# File lib/kontena/machine/digital_ocean/ssh_key_manager.rb, line 21
def create(public_key)
  client.ssh_keys.create(DropletKit::SSHKey.new(public_key: public_key, name: public_key.split(/\s+/).last))
end
find_by_public_key(public_key) click to toggle source
# File lib/kontena/machine/digital_ocean/ssh_key_manager.rb, line 13
def find_by_public_key(public_key)
  list.find { |key| key.public_key == public_key }
end
find_or_create_by_public_key(public_key) click to toggle source
# File lib/kontena/machine/digital_ocean/ssh_key_manager.rb, line 25
def find_or_create_by_public_key(public_key)
  find_by_public_key(public_key) || create(public_key)
end
list() click to toggle source
# File lib/kontena/machine/digital_ocean/ssh_key_manager.rb, line 17
def list
  client.ssh_keys.all.to_a
end