class Fog::Hetznercloud::Compute::SshKey

Public Instance Methods

destroy() click to toggle source
# File lib/fog/hetznercloud/models/compute/ssh_key.rb, line 12
def destroy
  requires :identity

  service.delete_ssh_key(identity)
  true
end
public_key=(value) click to toggle source
# File lib/fog/hetznercloud/models/compute/ssh_key.rb, line 19
def public_key=(value)
  attributes[:public_key] = if value =~ /^\.?\/[^\/]+/
                              File.read(value)
                            else
                              value
                            end
end
save() click to toggle source
# File lib/fog/hetznercloud/models/compute/ssh_key.rb, line 27
def save
  if persisted?
    update
  else
    create
  end
end

Private Instance Methods

create() click to toggle source
# File lib/fog/hetznercloud/models/compute/ssh_key.rb, line 37
def create
  requires :name, :public_key

  if (ssh_key = service.create_ssh_key(name, public_key).body['ssh_key'])
    merge_attributes(ssh_key)
    true
  else
    false
  end
end
update() click to toggle source
# File lib/fog/hetznercloud/models/compute/ssh_key.rb, line 48
def update
  requires :identity, :name

  body = attributes.dup

  body[:name] = name

  if (ssh_key = service.update_ssh_key(identity, body).body['ssh_key'])
    merge_attributes(ssh_key)
    true
  else
    false
  end
end