mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
[openstack|image] Added update_members function
This commit is contained in:
parent
941d3a89a3
commit
155b0c9157
3 changed files with 43 additions and 0 deletions
|
@ -24,6 +24,7 @@ module Fog
|
||||||
request :create_image
|
request :create_image
|
||||||
request :update_image
|
request :update_image
|
||||||
request :get_image_members
|
request :get_image_members
|
||||||
|
request :update_image_members
|
||||||
request :get_shared_images
|
request :get_shared_images
|
||||||
request :add_member_to_image
|
request :add_member_to_image
|
||||||
request :remove_member_from_image
|
request :remove_member_from_image
|
||||||
|
|
|
@ -69,6 +69,11 @@ module Fog
|
||||||
connection.remove_member_from_image(self.id, member_id)
|
connection.remove_member_from_image(self.id, member_id)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def update_members(members)
|
||||||
|
requires :id
|
||||||
|
connection.update_image_members(self.id, members)
|
||||||
|
end
|
||||||
|
|
||||||
def members
|
def members
|
||||||
requires :id
|
requires :id
|
||||||
connection.get_image_members(self.id).body['members']
|
connection.get_image_members(self.id).body['members']
|
||||||
|
|
37
lib/fog/openstack/requests/image/update_image_members.rb
Normal file
37
lib/fog/openstack/requests/image/update_image_members.rb
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
module Fog
|
||||||
|
module Image
|
||||||
|
class OpenStack
|
||||||
|
class Real
|
||||||
|
def update_image_members(image_id, members)
|
||||||
|
# Sample members
|
||||||
|
# [
|
||||||
|
# {'member_id' => 'tenant1', 'can_share' => true },
|
||||||
|
# {'member_id' => 'tenant2', 'can_share' => false }
|
||||||
|
# ]
|
||||||
|
data = { 'memberships' => members }
|
||||||
|
|
||||||
|
request(
|
||||||
|
:body => MultiJson.encode(data),
|
||||||
|
:expects => [200, 202],
|
||||||
|
:method => 'PUT',
|
||||||
|
:path => "images/#{image_id}/members"
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end # class Real
|
||||||
|
|
||||||
|
class Mock
|
||||||
|
def update_image_members(image_id, members)
|
||||||
|
response = Excon::Response.new
|
||||||
|
response.status = [200, 202][rand(1)]
|
||||||
|
response.body = {
|
||||||
|
'members' => [
|
||||||
|
{ 'member_id'=>'ff528b20431645ebb5fa4b0a71ca002f', 'can_share' => false },
|
||||||
|
{ 'member_id'=>'ff528b20431645ebb5fa4b0a71ca002f', 'can_share' => true }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
response
|
||||||
|
end
|
||||||
|
end # class Mock
|
||||||
|
end # class OpenStack
|
||||||
|
end # module Identity
|
||||||
|
end # module Fog
|
Loading…
Add table
Reference in a new issue