Class: Fog::Compute::Aliyun::Snapshots

Inherits:
Fog::Collection
  • Object
show all
Defined in:
lib/fog/aliyun/models/compute/snapshots.rb

Instance Method Summary collapse

Instance Method Details

#all(filters_arg = {}) ⇒ Object

def initialize(attributes)

self.filters ||= {}
super

end



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/fog/aliyun/models/compute/snapshots.rb', line 16

def all(filters_arg = {})
  unless filters_arg.is_a?(Hash)
    Fog::Logger.deprecation("all with #{filters_arg.class} param is deprecated, use all('snapshotIds' => []) instead [light_black](#{caller.first})[/]")
    filters_arg = {'snapshotIds' => [*filters_arg]}
  end
  volume_id = filters_arg[:volume_id]
  volume_type = filters_arg[:volume_type]
  if volume_id
    filters_arg[:diskId]=volume_id
  end
  if volume_type
    filters_arg[:sourseDiskType]=volume_type
  end
  data = Fog::JSON.decode(service.list_snapshots(filters_arg).body)['Snapshots']['Snapshot']
  load(data)
end

#get(snapshot_id) ⇒ Object



33
34
35
36
37
38
# File 'lib/fog/aliyun/models/compute/snapshots.rb', line 33

def get(snapshot_id)
  if snapshot_id
    snapshotIds=Array.new(1,snapshot_id)
    self.class.new(:service => service).all(:snapshotIds => snapshotIds)[0]
  end
end