class Fog::Image::OpenStack::V2::Image
Public Instance Methods
add_member(member_id)
click to toggle source
# File lib/fog/openstack/models/image_v2/image.rb, line 120 def add_member(member_id) requires :id service.add_member_to_image(id, member_id) end
add_tag(tag)
click to toggle source
# File lib/fog/openstack/models/image_v2/image.rb, line 150 def add_tag(tag) requires :id service.add_tag_to_image(id, tag) end
create()
click to toggle source
# File lib/fog/openstack/models/image_v2/image.rb, line 63 def create requires :name merge_attributes(service.create_image(attributes).body) self end
deactivate()
click to toggle source
# File lib/fog/openstack/models/image_v2/image.rb, line 115 def deactivate requires :id service.deactivate_image(id) end
destroy()
click to toggle source
# File lib/fog/openstack/models/image_v2/image.rb, line 90 def destroy requires :id service.delete_image(id) true end
download_data(params = {})
click to toggle source
# File lib/fog/openstack/models/image_v2/image.rb, line 105 def download_data(params = {}) requires :id service.download_image(id, params[:content_range], params) end
identity()
click to toggle source
This overrides the behaviour of Fog::OpenStack::Model::save() which tries to be clever and
assumes save=update if an ID is present - but Image V2 allows ID to specified on creation
# File lib/fog/openstack/models/image_v2/image.rb, line 71 def identity nil end
member(member_id)
click to toggle source
# File lib/fog/openstack/models/image_v2/image.rb, line 140 def member(member_id) requires :id service.get_member_details(id, member_id) end
members()
click to toggle source
# File lib/fog/openstack/models/image_v2/image.rb, line 135 def members requires :id service.get_image_members(id).body['members'] end
method_missing(method_sym, *arguments, &block)
click to toggle source
Calls superclass method
# File lib/fog/openstack/models/image_v2/image.rb, line 43 def method_missing(method_sym, *arguments, &block) if attributes.key?(method_sym) attributes[method_sym] elsif attributes.key?(method_sym.to_s) attributes[method_sym.to_s] else super end end
reactivate()
click to toggle source
# File lib/fog/openstack/models/image_v2/image.rb, line 110 def reactivate requires :id service.reactivate_image(id) end
remove_member(member_id)
click to toggle source
# File lib/fog/openstack/models/image_v2/image.rb, line 125 def remove_member(member_id) requires :id service.remove_member_from_image(id, member_id) end
remove_tag(tag)
click to toggle source
# File lib/fog/openstack/models/image_v2/image.rb, line 160 def remove_tag(tag) requires :id service.remove_tag_from_image(id, tag) end
respond_to?(method_sym, include_all = false)
click to toggle source
Calls superclass method
# File lib/fog/openstack/models/image_v2/image.rb, line 53 def respond_to?(method_sym, include_all = false) if attributes.key?(method_sym) true elsif attributes.key?(method_sym.to_s) true else super end end
update(attr = {})
click to toggle source
Hash of attributes to update is passed in. Setting value to nil will delete that attribute.
Here we convert that hash into a form suitable for Glance's usage of JSON Patch (RFC6902)
# File lib/fog/openstack/models/image_v2/image.rb, line 77 def update(attr = {}) requires :id json_patch = [] attr.each do |key, value| op = (@attributes.keys.include? key) ? 'replace' : 'add' op = 'remove' if value.nil? json_patch << {:op => op, :path => "/#{key}", :value => value} end merge_attributes( service.update_image(id, json_patch).body) self end
update_member(member)
click to toggle source
# File lib/fog/openstack/models/image_v2/image.rb, line 130 def update_member(member) requires :id service.update_image_member(id, member) end
upload_data(io_obj)
click to toggle source
# File lib/fog/openstack/models/image_v2/image.rb, line 96 def upload_data(io_obj) requires :id if io_obj.kind_of? Hash service.upload_image(id, nil, io_obj) else service.upload_image(id, io_obj) end end