/
create_volume_snapshot.rb
47 lines (42 loc) · 1.16 KB
/
create_volume_snapshot.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
module Fog
module Volume
class OpenStack
class Real
def create_volume_snapshot(volume_id, name, description, force=false)
data = {
'snapshot' => {
'volume_id' => volume_id,
'display_name' => name,
'display_description' => description,
'force' => force
}
}
request(
:body => Fog::JSON.encode(data),
:expects => [200, 202],
:method => 'POST',
:path => "snapshots"
)
end
end
class Mock
def create_volume_snapshot(volume_id, name, description, force=false)
response = Excon::Response.new
response.status = 202
response.body = {
"snapshot"=> {
"status"=>"creating",
"display_name"=>name,
"created_at"=>Time.now,
"display_description"=>description,
"volume_id"=>volume_id,
"id"=>"5",
"size"=>1
}
}
response
end
end
end
end
end