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/models/compute/operations.rb

38 lines
1 KiB
Ruby
Raw Normal View History

require 'fog/core/collection'
require 'fog/google/models/compute/operation'
module Fog
module Compute
class Google
class Operations < Fog::Collection
model Fog::Compute::Google::Operation
def all(filters = {})
if filters['zone']
data = service.list_zone_operations(filters['zone']).body
elsif filters['region']
data = service.list_region_operations(filters['region']).body
else
data = service.list_global_operations.body
end
load(data['items'] || [])
end
2014-03-17 03:55:33 -04:00
def get(identity, zone=nil, region=nil)
if not zone.nil?
response = service.get_zone_operation(zone, identity)
2014-03-17 03:55:33 -04:00
elsif not region.nil?
response = service.get_region_operation(region, identity)
else
response = service.get_global_operation(identity)
end
return nil if response.nil?
new(response.body)
rescue Fog::Errors::NotFound
nil
end
end
end
end
end