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
add_tags(tags) click to toggle source
# File lib/fog/openstack/models/image_v2/image.rb, line 145
def add_tags(tags)
  requires :id
  tags.each { |tag| add_tag 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
remove_tags(tags) click to toggle source
# File lib/fog/openstack/models/image_v2/image.rb, line 155
def remove_tags(tags)
  requires :id
  tags.each { |tag| remove_tag 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