mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
2e0b7e545a
Done with `rubocop --auto-correct --only EmptyLineBetweenDefs,EmptyLines,EmptyLinesAroundBody`
37 lines
1 KiB
Ruby
37 lines
1 KiB
Ruby
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
|
|
|
|
def get(identity, zone=nil, region=nil)
|
|
if not zone.nil?
|
|
response = service.get_zone_operation(zone, identity)
|
|
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
|