Sha256: 2cb6c8f9101fe41991bf3066b86919d7728b2a6b9f69503545fbaa2b8f49ad4b
Contents?: true
Size: 1.21 KB
Versions: 22
Compression:
Stored size: 1.21 KB
Contents
module Fog module Compute class Google class Mock def insert_snapshot(snap_name) Fog::Mock.not_implemented end end class Real def insert_snapshot(disk_name, zone_name, project=@project, opts={}) # This is unfortunate, since we might be called from 2 contexts # 1. disk.snapshot <-- here validation of disk_name is not needed # 2. snapshot.create <-- here we must validate the disk_name # # Validation would involve 'get'ing the disk by that name. This is # redundant (and expensive) for case (1) which is likely the common # codepath. So we won't do it. api_method = @compute.disks.create_snapshot parameters = { 'disk' => disk_name, 'zone' => zone_name, 'project' => @project, } snap_name = opts.delete('name') raise ArgumentError.new('Must specify snapshot name') unless snap_name body_object = { 'name' => snap_name } # Merge in any remaining options (description) body_object.merge!(opts) request(api_method, parameters, body_object) end end end end end
Version data entries
22 entries across 20 versions & 5 rubygems