mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
Credentials: cloudapi_* -> joyent_* for consistency
This commit is contained in:
parent
e403854446
commit
8d901a0121
3 changed files with 27 additions and 36 deletions
|
@ -5,12 +5,12 @@ require 'multi_json'
|
||||||
module Fog
|
module Fog
|
||||||
module Compute
|
module Compute
|
||||||
class Joyent < Fog::Service
|
class Joyent < Fog::Service
|
||||||
requires :cloudapi_username
|
requires :joyent_username
|
||||||
|
|
||||||
recognizes :cloudapi_password
|
recognizes :joyent_password
|
||||||
recognizes :cloudapi_url
|
recognizes :joyent_url
|
||||||
recognizes :cloudapi_keyname
|
recognizes :joyent_keyname
|
||||||
recognizes :cloudapi_keyfile
|
recognizes :joyent_keyfile
|
||||||
|
|
||||||
model_path 'fog/joyent/models/compute'
|
model_path 'fog/joyent/models/compute'
|
||||||
request_path 'fog/joyent/requests/compute'
|
request_path 'fog/joyent/requests/compute'
|
||||||
|
@ -83,8 +83,8 @@ module Fog
|
||||||
end
|
end
|
||||||
|
|
||||||
def initialize(options = {})
|
def initialize(options = {})
|
||||||
@cloudapi_username = options[:cloudapi_username] || Fog.credentials[:cloudapi_username]
|
@joyent_username = options[:joyent_username] || Fog.credentials[:joyent_username]
|
||||||
@cloudapi_password = options[:cloudapi_password] || Fog.credentials[:cloudapi_password]
|
@joyent_password = options[:joyent_password] || Fog.credentials[:joyent_password]
|
||||||
end
|
end
|
||||||
|
|
||||||
def request(opts)
|
def request(opts)
|
||||||
|
@ -97,36 +97,36 @@ module Fog
|
||||||
@connection_options = options[:connection_options] || {}
|
@connection_options = options[:connection_options] || {}
|
||||||
@persistent = options[:persistent] || false
|
@persistent = options[:persistent] || false
|
||||||
|
|
||||||
@cloudapi_url = options[:cloudapi_url] || 'https://us-sw-1.api.joyentcloud.com'
|
@joyent_url = options[:joyent_url] || 'https://us-sw-1.api.joyentcloud.com'
|
||||||
@cloudapi_version = options[:cloudapi_version] || '~6.5'
|
@joyent_version = options[:joyent_version] || '~6.5'
|
||||||
|
|
||||||
@cloudapi_username = options[:cloudapi_username]
|
@joyent_username = options[:joyent_username]
|
||||||
|
|
||||||
unless @cloudapi_username
|
unless @joyent_username
|
||||||
raise ArgumentError, "options[:cloudapi_username] required"
|
raise ArgumentError, "options[:joyent_username] required"
|
||||||
end
|
end
|
||||||
|
|
||||||
if options[:cloudapi_keyname] && options[:cloudapi_keyfile]
|
if options[:joyent_keyname] && options[:joyent_keyfile]
|
||||||
if File.exists?(options[:cloudapi_keyfile])
|
if File.exists?(options[:joyent_keyfile])
|
||||||
@cloudapi_keyname = options[:cloudapi_keyname]
|
@joyent_keyname = options[:joyent_keyname]
|
||||||
@cloudapi_key = File.read(options[:cloudapi_keyfile])
|
@joyent_key = File.read(options[:joyent_keyfile])
|
||||||
|
|
||||||
@rsa = OpenSSL::PKey::RSA.new(@cloudapi_key)
|
@rsa = OpenSSL::PKey::RSA.new(@joyent_key)
|
||||||
|
|
||||||
@header_method = method(:header_for_signature)
|
@header_method = method(:header_for_signature)
|
||||||
else
|
else
|
||||||
raise ArgumentError, "options[:cloudapi_keyfile] provided does not exist."
|
raise ArgumentError, "options[:joyent_keyfile] provided does not exist."
|
||||||
end
|
end
|
||||||
elsif options[:cloudapi_password]
|
elsif options[:joyent_password]
|
||||||
@cloudapi_password = options[:cloudapi_password]
|
@joyent_password = options[:joyent_password]
|
||||||
|
|
||||||
@header_method = method(:header_for_basic)
|
@header_method = method(:header_for_basic)
|
||||||
else
|
else
|
||||||
raise ArgumentError, "Must provide either a cloudapi_password or cloudapi_keyname and cloudapi_keyfile pair"
|
raise ArgumentError, "Must provide either a joyent_password or joyent_keyname and joyent_keyfile pair"
|
||||||
end
|
end
|
||||||
|
|
||||||
@connection = Fog::Connection.new(
|
@connection = Fog::Connection.new(
|
||||||
@cloudapi_url,
|
@joyent_url,
|
||||||
@persistent,
|
@persistent,
|
||||||
@connection_options
|
@connection_options
|
||||||
)
|
)
|
||||||
|
@ -134,7 +134,7 @@ module Fog
|
||||||
|
|
||||||
def request(request_options = {})
|
def request(request_options = {})
|
||||||
(request_options[:headers] ||= {}).merge!({
|
(request_options[:headers] ||= {}).merge!({
|
||||||
"X-Api-Version" => @cloudapi_version,
|
"X-Api-Version" => @joyent_version,
|
||||||
"Content-Type" => "application/json",
|
"Content-Type" => "application/json",
|
||||||
"Accept" => "application/json"
|
"Accept" => "application/json"
|
||||||
}).merge!(@header_method.call)
|
}).merge!(@header_method.call)
|
||||||
|
@ -156,14 +156,14 @@ module Fog
|
||||||
|
|
||||||
def header_for_basic
|
def header_for_basic
|
||||||
{
|
{
|
||||||
"Authorization" => "Basic #{Base64.encode64("#{@cloudapi_username}:#{@cloudapi_password}").delete("\r\n")}"
|
"Authorization" => "Basic #{Base64.encode64("#{@joyent_username}:#{@joyent_password}").delete("\r\n")}"
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
def header_for_signature
|
def header_for_signature
|
||||||
date = Time.now.utc.httpdate
|
date = Time.now.utc.httpdate
|
||||||
signature = Base64.encode64(@rsa.sign("sha256", date)).delete("\r\n")
|
signature = Base64.encode64(@rsa.sign("sha256", date)).delete("\r\n")
|
||||||
key_id = "/#{@cloudapi_username}/keys/#{@cloudapi_keyname}"
|
key_id = "/#{@joyent_username}/keys/#{@joyent_keyname}"
|
||||||
|
|
||||||
{
|
{
|
||||||
"Date" => date,
|
"Date" => date,
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
require './fog'
|
|
||||||
c = Fog::Compute.new(:provider => "Joyent",
|
|
||||||
:cloudapi_url => "https://10.99.99.26",
|
|
||||||
:cloudapi_username => "admin",
|
|
||||||
:cloudapi_password => "joypass123")
|
|
||||||
puts c.servers.inspect
|
|
||||||
puts c.keys.inspect
|
|
||||||
puts c.images.inspect
|
|
||||||
puts c.flavors.inspect
|
|
|
@ -17,8 +17,6 @@ if Fog.mock?
|
||||||
:brightbox_secret => 'brightbox_secret',
|
:brightbox_secret => 'brightbox_secret',
|
||||||
:clodo_api_key => 'clodo_api_key',
|
:clodo_api_key => 'clodo_api_key',
|
||||||
:clodo_username => 'clodo_username',
|
:clodo_username => 'clodo_username',
|
||||||
:cloudapi_username => "cloudapi_user",
|
|
||||||
:cloudapi_password => "cloudapi_pass",
|
|
||||||
:dnsimple_email => 'dnsimple_email',
|
:dnsimple_email => 'dnsimple_email',
|
||||||
:dnsimple_password => 'dnsimple_password',
|
:dnsimple_password => 'dnsimple_password',
|
||||||
:dnsmadeeasy_api_key => 'dnsmadeeasy_api_key',
|
:dnsmadeeasy_api_key => 'dnsmadeeasy_api_key',
|
||||||
|
@ -32,6 +30,8 @@ if Fog.mock?
|
||||||
:go_grid_shared_secret => 'go_grid_shared_secret',
|
:go_grid_shared_secret => 'go_grid_shared_secret',
|
||||||
:google_storage_access_key_id => 'google_storage_access_key_id',
|
:google_storage_access_key_id => 'google_storage_access_key_id',
|
||||||
:google_storage_secret_access_key => 'google_storage_secret_access_key',
|
:google_storage_secret_access_key => 'google_storage_secret_access_key',
|
||||||
|
:joyent_username => "joyentuser",
|
||||||
|
:joyent_password => "joyentpass",
|
||||||
:linode_api_key => 'linode_api_key',
|
:linode_api_key => 'linode_api_key',
|
||||||
:local_root => '~/.fog',
|
:local_root => '~/.fog',
|
||||||
:new_servers_password => 'new_servers_password',
|
:new_servers_password => 'new_servers_password',
|
||||||
|
|
Loading…
Reference in a new issue