1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/google/requests/compute/attach_disk.rb
Ferran Rodenas 3ebe34c280 [google|compute] Refactor Compute to use the new Shared module
Commit d801b27 introduced a new Shared module with logic to initialize
a google_client_api and to make requests.

This commit refactors Compute to use the new Shared module.
2014-07-30 12:19:50 -07:00

34 lines
959 B
Ruby

module Fog
module Compute
class Google
class Mock
def attach_disk(instance, zone, source, options = {})
Fog::Mock.not_implemented
end
end
class Real
def attach_disk(instance, zone, source, options = {})
api_method = @compute.instances.attach_disk
parameters = {
'project' => @project,
'instance' => instance,
'zone' => zone.split('/')[-1],
}
writable = options.delete(:writable)
body_object = {
'type' => 'PERSISTENT',
'source' => source,
'mode' => writable ? 'READ_WRITE' : 'READ_ONLY',
'deviceName' => options.delete(:deviceName),
'boot' => options.delete(:boot),
'autoDelete' => options.delete(:autoDelete),
}
request(api_method, parameters, body_object)
end
end
end
end
end