mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
Merge pull request #3080 from frodenas/gce_shared
[google|compute] Refactor Compute to use the new Shared module
This commit is contained in:
commit
9c96ce4d86
91 changed files with 134 additions and 373 deletions
|
@ -6,6 +6,12 @@ module Fog
|
|||
requires :google_project
|
||||
recognizes :app_name, :app_version, :google_client_email, :google_key_location, :google_key_string, :google_client
|
||||
|
||||
GOOGLE_COMPUTE_API_VERSION = 'v1'
|
||||
GOOGLE_COMPUTE_BASE_URL = 'https://www.googleapis.com/compute/'
|
||||
GOOGLE_COMPUTE_API_SCOPE_URLS = %w(https://www.googleapis.com/auth/compute
|
||||
https://www.googleapis.com/auth/devstorage.read_write)
|
||||
GOOGLE_COMPUTE_DEFAULT_NETWORK = 'default'
|
||||
|
||||
request_path 'fog/google/requests/compute'
|
||||
request :list_servers
|
||||
request :list_aggregated_servers
|
||||
|
@ -159,52 +165,11 @@ module Fog
|
|||
model :backend_service
|
||||
collection :backend_services
|
||||
|
||||
module Shared
|
||||
attr_reader :project, :api_version
|
||||
|
||||
def shared_initialize(options = {})
|
||||
@project = options[:google_project]
|
||||
@api_version = 'v1'
|
||||
base_url = 'https://www.googleapis.com/compute/'
|
||||
@api_url = base_url + api_version + '/projects/'
|
||||
@default_network = 'default'
|
||||
end
|
||||
|
||||
def build_excon_response(body, status=200)
|
||||
response = Excon::Response.new
|
||||
response.body = body
|
||||
if response.body and response.body["error"]
|
||||
response.status = response.body["error"]["code"]
|
||||
if response.body["error"]["errors"]
|
||||
msg = response.body["error"]["errors"].map{|error| error["message"]}.join(", ")
|
||||
else
|
||||
msg = "Error [#{response.body["error"]["code"]}]: #{response.body["error"]["message"] || "GCE didn't return an error message"}"
|
||||
end
|
||||
case response.status
|
||||
when 404
|
||||
raise Fog::Errors::NotFound.new(msg)
|
||||
else
|
||||
raise Fog::Errors::Error.new(msg)
|
||||
end
|
||||
else
|
||||
response.status = status
|
||||
end
|
||||
response
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
class Mock
|
||||
include Collections
|
||||
include Shared
|
||||
include Fog::Google::Shared
|
||||
|
||||
def initialize(options={})
|
||||
shared_initialize(options)
|
||||
end
|
||||
|
||||
def build_response(params={})
|
||||
body = params[:body] || {}
|
||||
build_excon_response(body)
|
||||
def initialize(options)
|
||||
shared_initialize(options[:google_project], GOOGLE_COMPUTE_API_VERSION, GOOGLE_COMPUTE_BASE_URL)
|
||||
end
|
||||
|
||||
def self.data(api_version)
|
||||
|
@ -853,119 +818,18 @@ module Fog
|
|||
end
|
||||
|
||||
class Real
|
||||
include Collections
|
||||
include Shared
|
||||
include Fog::Google::Shared
|
||||
|
||||
attr_accessor :client
|
||||
attr_reader :compute, :api_url
|
||||
attr_reader :compute
|
||||
|
||||
def initialize(options)
|
||||
# NOTE: loaded here to avoid requiring this as a core Fog dependency
|
||||
begin
|
||||
require 'google/api_client'
|
||||
rescue LoadError => error
|
||||
Fog::Logger.warning("Please install the google-api-client gem before using this provider.")
|
||||
raise error
|
||||
end
|
||||
shared_initialize(options)
|
||||
|
||||
if !options[:google_client].nil?
|
||||
@client = options[:google_client]
|
||||
end
|
||||
|
||||
if @client.nil?
|
||||
if !options[:google_key_location].nil?
|
||||
google_key = File.expand_path(options[:google_key_location])
|
||||
elsif !options[:google_key_string].nil?
|
||||
google_key = options[:google_key_string]
|
||||
end
|
||||
|
||||
if !options[:google_client_email].nil? and !google_key.nil?
|
||||
@client = self.new_pk12_google_client(
|
||||
options[:google_client_email],
|
||||
google_key,
|
||||
options[:app_name],
|
||||
options[:app_verion])
|
||||
else
|
||||
Fog::Logger.debug("Fog::Compute::Google.client has not been initialized nor are the :google_client_email and :google_key_location or :google_key_string options set, so we can not create one for you.")
|
||||
raise ArgumentError.new("No Google API Client has been initialized.")
|
||||
end
|
||||
end
|
||||
|
||||
# We want to always mention we're using Fog.
|
||||
if @client.user_agent.nil? or @client.user_agent.empty?
|
||||
@client.user_agent = ""
|
||||
elsif !@client.user_agent.include? "fog"
|
||||
@client.user_agent += "fog/#{Fog::VERSION}"
|
||||
end
|
||||
shared_initialize(options[:google_project], GOOGLE_COMPUTE_API_VERSION, GOOGLE_COMPUTE_BASE_URL)
|
||||
options.merge!(:google_api_scope_url => GOOGLE_COMPUTE_API_SCOPE_URLS.join(' '))
|
||||
|
||||
@client = initialize_google_client(options)
|
||||
@compute = @client.discovered_api('compute', api_version)
|
||||
end
|
||||
|
||||
# Public: Create a Google::APIClient with a pkcs12 key and a user email.
|
||||
#
|
||||
# google_client_email - an @developer.gserviceaccount.com email address to use.
|
||||
# google_key - an absolute location to a pkcs12 key file or the content of the file itself.
|
||||
# app_name - an optional string to set as the app name in the user agent.
|
||||
# app_version - an optional string to set as the app version in the user agent.
|
||||
#
|
||||
# Returns a new Google::APIClient
|
||||
def new_pk12_google_client(google_client_email, google_key, app_name=nil, app_version=nil)
|
||||
# The devstorage scope is needed to be able to insert images
|
||||
# devstorage.read_only scope is not sufficient like you'd hope
|
||||
api_scope_url = 'https://www.googleapis.com/auth/compute https://www.googleapis.com/auth/devstorage.read_write'
|
||||
|
||||
user_agent = ""
|
||||
if app_name
|
||||
user_agent = "#{app_name}/#{app_version || '0.0.0'} "
|
||||
end
|
||||
user_agent += "fog/#{Fog::VERSION}"
|
||||
|
||||
api_client_options = {
|
||||
# https://github.com/google/google-api-ruby-client/blob/master/lib/google/api_client.rb#L98
|
||||
:application_name => "suppress warning",
|
||||
# https://github.com/google/google-api-ruby-client/blob/master/lib/google/api_client.rb#L100
|
||||
:user_agent => user_agent
|
||||
}
|
||||
local_client = ::Google::APIClient.new(api_client_options)
|
||||
|
||||
key = ::Google::APIClient::KeyUtils.load_from_pkcs12(google_key, 'notasecret')
|
||||
|
||||
local_client.authorization = Signet::OAuth2::Client.new({
|
||||
:audience => 'https://accounts.google.com/o/oauth2/token',
|
||||
:auth_provider_x509_cert_url => "https://www.googleapis.com/oauth2/v1/certs",
|
||||
:client_x509_cert_url => "https://www.googleapis.com/robot/v1/metadata/x509/#{google_client_email}",
|
||||
:issuer => google_client_email,
|
||||
:scope => api_scope_url,
|
||||
:signing_key => key,
|
||||
:token_credential_uri => 'https://accounts.google.com/o/oauth2/token',
|
||||
})
|
||||
|
||||
local_client.authorization.fetch_access_token!
|
||||
|
||||
return local_client
|
||||
end
|
||||
|
||||
def build_result(api_method, parameters, body_object=nil)
|
||||
if body_object
|
||||
result = @client.execute(
|
||||
:api_method => api_method,
|
||||
:parameters => parameters,
|
||||
:body_object => body_object
|
||||
)
|
||||
else
|
||||
result = @client.execute(
|
||||
:api_method => api_method,
|
||||
:parameters => parameters
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
# result = Google::APIClient::Result
|
||||
# returns Excon::Response
|
||||
def build_response(result)
|
||||
build_excon_response(result.body.nil? || result.body.empty? ? nil : Fog::JSON.decode(result.body), result.status)
|
||||
end
|
||||
end
|
||||
|
||||
RUNNING = 'RUNNING'
|
||||
|
|
|
@ -24,8 +24,7 @@ module Fog
|
|||
body_object['name'] = options[:name] ? options[:name] : 'External NAT'
|
||||
body_object['natIP'] = options[:address] if options[:address]
|
||||
|
||||
result = self.build_result(api_method, parameters, body_object)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters, body_object)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -19,8 +19,7 @@ module Fog
|
|||
'healthChecks' => health_checks.map { |i| { 'healthCheck' => i } }
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters, body_object=body)
|
||||
self.build_response(result)
|
||||
request(api_method, parameters, body_object=body)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -19,8 +19,7 @@ module Fog
|
|||
'instances' => instances.map { |i| { 'instance' => i } }
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters, body_object=body)
|
||||
self.build_response(result)
|
||||
request(api_method, parameters, body_object=body)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -26,8 +26,7 @@ module Fog
|
|||
'autoDelete' => options.delete(:autoDelete),
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters, body_object)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters, body_object)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,8 +16,7 @@ module Fog
|
|||
'region' => region_name
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -15,8 +15,7 @@ module Fog
|
|||
'project' => @project,
|
||||
'backendService' => backend_service_name
|
||||
}
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -23,7 +23,7 @@ module Fog
|
|||
}
|
||||
self.data[:disks].delete disk_name
|
||||
|
||||
build_response(:body => self.data[:operations][operation])
|
||||
build_excon_response(self.data[:operations][operation])
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -40,8 +40,7 @@ module Fog
|
|||
'zone' => zone_name
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -15,8 +15,7 @@ module Fog
|
|||
'firewall' => firewall_name
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -22,8 +22,7 @@ module Fog
|
|||
'region' => region_name
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -17,8 +17,7 @@ module Fog
|
|||
'operation' => operation
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -15,8 +15,7 @@ module Fog
|
|||
'httpHealthCheck' => name
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -15,8 +15,7 @@ module Fog
|
|||
'image' => image_name
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -15,8 +15,7 @@ module Fog
|
|||
'network' => network_name
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -21,8 +21,7 @@ module Fog
|
|||
'operation' => operation
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -15,8 +15,7 @@ module Fog
|
|||
'route' => identity,
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -45,7 +45,7 @@ module Fog
|
|||
"selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/operations/#{operation}"
|
||||
}
|
||||
|
||||
build_response(:body => self.data[:operations][operation])
|
||||
build_excon_response(self.data[:operations][operation])
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -61,8 +61,7 @@ module Fog
|
|||
'instance' => server_name
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -18,8 +18,7 @@ module Fog
|
|||
'accessConfig' => options[:access_config].nil? ? 'External NAT' : options[:access_config],
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -15,8 +15,7 @@ module Fog
|
|||
'snapshot' => snapshot_name,
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -22,8 +22,7 @@ module Fog
|
|||
'region' => region_name
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -21,8 +21,7 @@ module Fog
|
|||
'operation' => operation
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -17,8 +17,7 @@ module Fog
|
|||
'deviceName' => deviceName
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,8 +16,7 @@ module Fog
|
|||
'region' => region_name
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -14,8 +14,7 @@ module Fog
|
|||
'project' => @project,
|
||||
'backendService' => service_name
|
||||
}
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,7 +16,7 @@ module Fog
|
|||
}
|
||||
health_results = backend_service.backends.map do |backend|
|
||||
body = { 'group' => backend['group'] }
|
||||
resp = build_response(build_result(api_method, parameters, body_object= body))
|
||||
resp = request(api_method, parameters, body_object= body)
|
||||
[backend['group'], resp.data[:body]['healthStatus']]
|
||||
end
|
||||
Hash[health_results]
|
||||
|
|
|
@ -10,7 +10,7 @@ module Fog
|
|||
get_zone(zone_name)
|
||||
zone = self.data[:zones][zone_name]
|
||||
if disk.nil? or disk["zone"] != zone["selfLink"]
|
||||
return build_response(:body => {
|
||||
return build_excon_response({
|
||||
"error" => {
|
||||
"errors" => [
|
||||
{
|
||||
|
@ -27,7 +27,7 @@ module Fog
|
|||
|
||||
# TODO transition the disk through the states
|
||||
|
||||
build_response(:body => disk)
|
||||
build_excon_response(disk)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -44,8 +44,7 @@ module Fog
|
|||
'zone' => zone_name
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -6,7 +6,7 @@ module Fog
|
|||
disk_types = list_disk_types(zone).body['items']
|
||||
disk_type = disk_types.select { |dt| dt['name'] == identity } || []
|
||||
if disk_type.empty?
|
||||
return build_response(:body => {
|
||||
return build_excon_response({
|
||||
'error' => {
|
||||
'errors' => [
|
||||
{
|
||||
|
@ -21,7 +21,7 @@ module Fog
|
|||
})
|
||||
end
|
||||
|
||||
build_response(:body => disk_type.first)
|
||||
build_excon_response(disk_type.first)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -34,8 +34,7 @@ module Fog
|
|||
'diskType' => identity,
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -15,8 +15,7 @@ module Fog
|
|||
'firewall' => firewall_name
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -20,8 +20,7 @@ module Fog
|
|||
'region' => region_name
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -17,8 +17,7 @@ module Fog
|
|||
'operation' => operation
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -15,8 +15,7 @@ module Fog
|
|||
'httpHealthCheck' => name
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,7 +16,7 @@ module Fog
|
|||
"message" => "The resource 'projects/#{project}/global/images/#{image_name}' was not found"
|
||||
}
|
||||
}
|
||||
build_response(:body => image)
|
||||
build_excon_response(image)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -28,8 +28,7 @@ module Fog
|
|||
'project' => project,
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -18,7 +18,7 @@ module Fog
|
|||
"message" => "The resource 'projects/#{@project}/zones/#{zone_name}/machineTypes/#{machine_type_name}' was not found"
|
||||
}
|
||||
}
|
||||
build_response(:body => machine_type)
|
||||
build_excon_response(machine_type)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -35,8 +35,7 @@ module Fog
|
|||
'machineType' => machine_type_name
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -15,8 +15,7 @@ module Fog
|
|||
'network' => network_name
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -14,8 +14,7 @@ module Fog
|
|||
:project => identity,
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -7,7 +7,7 @@ module Fog
|
|||
region = regions.body['items'].select { |region| region['name'] == identity }
|
||||
|
||||
raise Fog::Errors::NotFound if region.nil? || region.empty?
|
||||
build_response(:body => region.first)
|
||||
build_excon_response(region.first)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -19,8 +19,7 @@ module Fog
|
|||
'region' => identity.split('/')[-1],
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -22,8 +22,7 @@ module Fog
|
|||
'operation' => operation
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -15,8 +15,7 @@ module Fog
|
|||
'route' => identity,
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -7,7 +7,7 @@ module Fog
|
|||
get_zone(zone_name)
|
||||
zone = self.data[:zones][zone_name]
|
||||
if server.nil? or server["zone"] != zone["selfLink"]
|
||||
return build_response(:body => {
|
||||
return build_excon_response({
|
||||
"error" => {
|
||||
"errors" => [
|
||||
{
|
||||
|
@ -48,7 +48,7 @@ module Fog
|
|||
end
|
||||
end
|
||||
|
||||
build_response(:body => server)
|
||||
build_excon_response(server)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -67,8 +67,7 @@ module Fog
|
|||
'instance' => server_name
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,8 +16,7 @@ module Fog
|
|||
'zone' => zone.split('/')[-1],
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -19,8 +19,7 @@ module Fog
|
|||
'project' => project,
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -20,8 +20,7 @@ module Fog
|
|||
'region' => region_name
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -18,7 +18,7 @@ module Fog
|
|||
|
||||
health_results = target_pool.instances.map do |instance|
|
||||
body = { 'instance' => instance }
|
||||
resp = build_response(build_result(api_method, parameters, body_object=body))
|
||||
resp = request(api_method, parameters, body_object=body)
|
||||
[instance, resp.data[:body]['healthStatus']]
|
||||
end
|
||||
Hash[health_results]
|
||||
|
|
|
@ -16,7 +16,7 @@ module Fog
|
|||
"message" => "The resource 'projects/#{project}/zones/#{zone_name}' was not found"
|
||||
}
|
||||
}
|
||||
build_response(:body => zone)
|
||||
build_excon_response(zone)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -28,8 +28,7 @@ module Fog
|
|||
'zone' => zone_name
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -28,7 +28,7 @@ module Fog
|
|||
}
|
||||
}
|
||||
end
|
||||
build_response(:body => operation)
|
||||
build_excon_response(operation)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -47,8 +47,7 @@ module Fog
|
|||
'operation' => operation
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -17,8 +17,7 @@ module Fog
|
|||
body_object = { 'name' => address_name }
|
||||
body_object['description'] = options[:description] if options[:description]
|
||||
|
||||
result = self.build_result(api_method, parameters, body_object)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters, body_object)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -15,9 +15,8 @@ module Fog
|
|||
}
|
||||
body_object = { 'name' => backend_service_name }
|
||||
body_object.merge!(opts)
|
||||
result = self.build_result(api_method, parameters, body_object=body_object)
|
||||
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters, body_object=body_object)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -60,7 +60,7 @@ module Fog
|
|||
"selfLink" => "#{object["zone"]}/operations/#{operation}"
|
||||
}
|
||||
|
||||
build_response(:body => self.data[:operations][operation])
|
||||
build_excon_response(self.data[:operations][operation])
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -105,9 +105,7 @@ module Fog
|
|||
# Merge in any remaining options (only 'description' should remain)
|
||||
body_object.merge!(opts)
|
||||
|
||||
result = self.build_result(api_method, parameters,
|
||||
body_object)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters, body_object)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,13 +2,13 @@ module Fog
|
|||
module Compute
|
||||
class Google
|
||||
class Mock
|
||||
def insert_firewall(firewall_name, allowed, network = @default_network, options = {})
|
||||
def insert_firewall(firewall_name, allowed, network = GOOGLE_COMPUTE_DEFAULT_NETWORK, options = {})
|
||||
Fog::Mock.not_implemented
|
||||
end
|
||||
end
|
||||
|
||||
class Real
|
||||
def insert_firewall(firewall_name, allowed, network = @default_network, options = {})
|
||||
def insert_firewall(firewall_name, allowed, network = GOOGLE_COMPUTE_DEFAULT_NETWORK, options = {})
|
||||
unless network.start_with? 'http'
|
||||
network = "#{@api_url}#{@project}/global/networks/#{network}"
|
||||
end
|
||||
|
@ -35,8 +35,7 @@ module Fog
|
|||
body_object["targetTags"] = options[:target_tags]
|
||||
end
|
||||
|
||||
result = self.build_result(api_method, parameters, body_object)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters, body_object)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -17,9 +17,7 @@ module Fog
|
|||
body_object = { 'name' => forwarding_rule_name }
|
||||
body_object.merge!(opts)
|
||||
|
||||
result = self.build_result(api_method, parameters,
|
||||
body_object=body_object)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters, body_object=body_object)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -17,8 +17,7 @@ module Fog
|
|||
body_object = { 'name' => name }
|
||||
body_object.merge!(opts)
|
||||
|
||||
result = self.build_result(api_method, parameters, body_object)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters, body_object)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -24,10 +24,7 @@ module Fog
|
|||
# Merge in the remaining params (only 'description' should remain)
|
||||
body_object.merge!(options)
|
||||
|
||||
result = self.build_result(api_method,
|
||||
parameters,
|
||||
body_object=body_object)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters, body_object=body_object)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -21,8 +21,7 @@ module Fog
|
|||
body_object['description'] = options[:description] if options[:description]
|
||||
body_object['gatewayIPv4'] = options[:gateway_ipv4] if options[:gateway_ipv4]
|
||||
|
||||
result = self.build_result(api_method, parameters, body_object)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters, body_object)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -27,8 +27,7 @@ module Fog
|
|||
body_object['nextHopGateway'] = options[:next_hop_gateway] if options[:next_hop_gateway]
|
||||
body_object['nextHopIp'] = options[:next_hop_ip] if options[:next_hop_ip]
|
||||
|
||||
result = self.build_result(api_method, parameters, body_object)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters, body_object)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -88,7 +88,7 @@ module Fog
|
|||
"selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/operations/#{operation}"
|
||||
}
|
||||
|
||||
build_response(:body => self.data[:operations][operation])
|
||||
build_excon_response(self.data[:operations][operation])
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -130,8 +130,8 @@ module Fog
|
|||
network = nil
|
||||
if options.key? 'network'
|
||||
network = options.delete 'network'
|
||||
elsif @default_network
|
||||
network = @default_network
|
||||
else
|
||||
network = GOOGLE_COMPUTE_DEFAULT_NETWORK
|
||||
end
|
||||
|
||||
# ExternalIP is default value for server creation
|
||||
|
@ -184,9 +184,7 @@ module Fog
|
|||
|
||||
body_object.merge!(options) # Adds in all remaining options that weren't explicitly handled.
|
||||
|
||||
result = self.build_result(api_method, parameters,
|
||||
body_object=body_object)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters, body_object=body_object)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -32,9 +32,7 @@ module Fog
|
|||
# Merge in any remaining options (description)
|
||||
body_object.merge!(opts)
|
||||
|
||||
result = self.build_result(api_method, parameters,
|
||||
body_object)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters, body_object)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -17,9 +17,7 @@ module Fog
|
|||
body_object = { 'name' => target_pool_name }
|
||||
body_object.merge!(opts)
|
||||
|
||||
result = self.build_result(api_method, parameters,
|
||||
body_object=body_object)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters, body_object=body_object)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -15,8 +15,7 @@ module Fog
|
|||
'region' => region_name
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -15,8 +15,7 @@ module Fog
|
|||
}
|
||||
parameters['filter'] = options[:filter] if options[:filter]
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,7 +16,7 @@ module Fog
|
|||
disk_types_items["zones/#{zone}"] = { 'diskTypes' => disk_types }
|
||||
end
|
||||
end
|
||||
build_response(:body => {
|
||||
build_excon_response({
|
||||
'kind' => 'compute#diskTypeAggregatedList',
|
||||
'selfLink' => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/aggregated/diskTypes",
|
||||
'items' => disk_types_items,
|
||||
|
@ -32,8 +32,7 @@ module Fog
|
|||
}
|
||||
parameters['filter'] = options[:filter] if options[:filter]
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -14,7 +14,7 @@ module Fog
|
|||
# Fill the zones Hash with the disks attached to each zone
|
||||
self.data[:disks].values.each { |disk| zones["zones/#{disk['zone'].split('/')[-1]}"]['disks'].concat([disk]) }
|
||||
end
|
||||
build_response(:body => {
|
||||
build_excon_response({
|
||||
"kind" => "compute#diskAggregatedList",
|
||||
"selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/aggregated/disks",
|
||||
"id" => "projects/#{@project}/aggregated/disks",
|
||||
|
@ -32,8 +32,7 @@ module Fog
|
|||
}
|
||||
parameters['filter'] = options[:filter] if options[:filter]
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -14,8 +14,7 @@ module Fog
|
|||
'project' => @project,
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -14,7 +14,7 @@ module Fog
|
|||
# Fill the zones Hash with the servers attached to each zone
|
||||
self.data[:servers].values.each { |server| zones["zones/#{server['zone'].split('/')[-1]}"]['instances'].concat([server]) }
|
||||
end
|
||||
build_response(:body => {
|
||||
build_excon_response({
|
||||
"kind" => "compute#instanceAggregatedList",
|
||||
"selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/aggregated/instances",
|
||||
"id" => "projects/#{@project}/aggregated/instances",
|
||||
|
@ -32,8 +32,7 @@ module Fog
|
|||
}
|
||||
parameters['filter'] = options[:filter] if options[:filter]
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -14,8 +14,7 @@ module Fog
|
|||
'project' => @project,
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -3,7 +3,7 @@ module Fog
|
|||
class Google
|
||||
class Mock
|
||||
def list_disk_types(zone)
|
||||
build_response(:body => {
|
||||
build_excon_response({
|
||||
'kind' => 'compute#diskTypeList',
|
||||
'selfLink' => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone}/diskTypes",
|
||||
'items' => [
|
||||
|
@ -38,8 +38,7 @@ module Fog
|
|||
'zone' => zone.split('/')[-1],
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -4,7 +4,7 @@ module Fog
|
|||
class Mock
|
||||
def list_disks(zone_name)
|
||||
disks = self.data[:disks].values.select{|d| d["zone"].split("/")[-1] == zone_name}
|
||||
build_response(:body => {
|
||||
build_excon_response({
|
||||
"kind" => "compute#diskList",
|
||||
"selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/disks",
|
||||
"id" => "projects/#{@project}/zones/#{zone_name}/disks",
|
||||
|
@ -21,8 +21,7 @@ module Fog
|
|||
'zone' => zone_name
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -14,8 +14,7 @@ module Fog
|
|||
'project' => @project
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -4,7 +4,7 @@ module Fog
|
|||
class Mock
|
||||
def list_forwarding_rules(region_name)
|
||||
forwarding_rules = self.data[:forwarding_rules].values.select{|d| d["region"].split("/")[-1] == region_name}
|
||||
build_response(:body => {
|
||||
build_excon_response({
|
||||
"kind" => "compute#forwardingRuleList",
|
||||
"selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}/forwardingRules",
|
||||
"id" => "projects/#{@project}/regions/#{region_name}/regions",
|
||||
|
@ -21,8 +21,7 @@ module Fog
|
|||
'region' => region_name
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,8 +16,7 @@ module Fog
|
|||
'project' => @project
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -14,8 +14,7 @@ module Fog
|
|||
'project' => @project
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -4,7 +4,7 @@ module Fog
|
|||
class Mock
|
||||
def list_images(project=@project)
|
||||
images = data(project)[:images].values
|
||||
build_response(:body => {
|
||||
build_excon_response({
|
||||
"kind" => "compute#imageList",
|
||||
"selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{project}/global/images",
|
||||
"id" => "projects/#{project}/global/images",
|
||||
|
@ -21,8 +21,7 @@ module Fog
|
|||
'project' => project
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -5,7 +5,7 @@ module Fog
|
|||
def list_machine_types(zone_name)
|
||||
get_zone(zone_name)
|
||||
machine_types = data[:machine_types][zone_name].values
|
||||
build_response(:body => {
|
||||
build_excon_response({
|
||||
"kind" => "compute#machineTypeList",
|
||||
"selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/machineTypes",
|
||||
"id" => "projects/high-cistern-340/zones/us-central1-a/machineTypes",
|
||||
|
@ -22,8 +22,7 @@ module Fog
|
|||
'zone' => zone_name,
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -14,8 +14,7 @@ module Fog
|
|||
'project' => @project
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -17,8 +17,7 @@ module Fog
|
|||
'project' => @project,
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -3,7 +3,7 @@ module Fog
|
|||
class Google
|
||||
class Mock
|
||||
def list_regions
|
||||
build_response(:body => {
|
||||
build_excon_response({
|
||||
"kind" => "compute#regionList",
|
||||
"selfLink" => "https://www.googleapis.com/compute/v1/projects/#{@project}/regions",
|
||||
"id" => "projects/#{@project}/regions",
|
||||
|
@ -77,8 +77,7 @@ module Fog
|
|||
'project' => @project
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -14,8 +14,7 @@ module Fog
|
|||
'project' => @project,
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -6,7 +6,7 @@ module Fog
|
|||
get_zone(zone_name)
|
||||
zone = self.data[:zones][zone_name]
|
||||
servers = self.data[:servers].values.select{|s| s["zone"] == zone["selfLink"]}
|
||||
build_response(:body => {
|
||||
build_excon_response({
|
||||
"kind" => "compute#instanceList",
|
||||
"selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/instances",
|
||||
"id" => "projects/#{@project}/zones/#{zone_name}/instances",
|
||||
|
@ -23,8 +23,7 @@ module Fog
|
|||
'zone' => zone_name,
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -15,8 +15,7 @@ module Fog
|
|||
'project' => project
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -15,8 +15,7 @@ module Fog
|
|||
'region' => region_name
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -17,8 +17,7 @@ module Fog
|
|||
'project' => @project,
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -4,7 +4,7 @@ module Fog
|
|||
class Mock
|
||||
def list_zones
|
||||
zones = self.data[:zones].values
|
||||
build_response(:body => {
|
||||
build_excon_response({
|
||||
"kind" => "compute#zoneList",
|
||||
"selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones",
|
||||
"id" => "projects/#{@project}/zones",
|
||||
|
@ -20,8 +20,7 @@ module Fog
|
|||
'project' => @project
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -19,8 +19,7 @@ module Fog
|
|||
'healthChecks' => health_checks.map { |i| { 'healthCheck' => i } }
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters, body_object=body)
|
||||
self.build_response(result)
|
||||
request(api_method, parameters, body_object=body)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -19,8 +19,7 @@ module Fog
|
|||
'instances' => instances.map { |i| { 'instance' => i } }
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters, body_object=body)
|
||||
self.build_response(result)
|
||||
request(api_method, parameters, body_object=body)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -19,8 +19,7 @@ module Fog
|
|||
'instances' => instances.map { |i| { 'instance' => i } }
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters, body_object=body)
|
||||
self.build_response(result)
|
||||
request(api_method, parameters, body_object=body)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,8 +16,7 @@ module Fog
|
|||
'zone' => zone.split('/')[-1],
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -18,8 +18,7 @@ module Fog
|
|||
:items => Array(metadata).map { |pair| { :key => pair[0], :value => pair[1] } },
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters, body_object)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters, body_object)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -19,8 +19,7 @@ module Fog
|
|||
'target' => target
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters, body_object=body)
|
||||
self.build_response(result)
|
||||
request(api_method, parameters, body_object=body)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -31,12 +31,7 @@ module Fog
|
|||
'fingerprint' => fingerprint,
|
||||
"items" => metadata.to_a.map {|pair| { :key => pair[0], :value => pair[1] } }
|
||||
}
|
||||
result = self.build_result(
|
||||
api_method,
|
||||
parameters,
|
||||
body_object=body_object
|
||||
)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters, body_object=body_object)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -18,8 +18,7 @@ module Fog
|
|||
'deviceName' => device_name,
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -21,8 +21,7 @@ module Fog
|
|||
'automaticRestart' => automatic_restart,
|
||||
}
|
||||
|
||||
result = self.build_result(api_method, parameters, body_object)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters, body_object)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,12 +16,7 @@ module Fog
|
|||
'zone' => zone
|
||||
}
|
||||
body_object = { "fingerprint" => fingerprint, "items" => tags }
|
||||
result = self.build_result(
|
||||
api_method,
|
||||
parameters,
|
||||
body_object=body_object
|
||||
)
|
||||
response = self.build_response(result)
|
||||
request(api_method, parameters, body_object=body_object)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue