Object
# File lib/openstack/compute/metadata.rb, line 12 def [](key) refresh if @metadata.nil? @metadata[key] end
# File lib/openstack/compute/metadata.rb, line 17 def []=(key, value) @metadata = {} if @metadata.nil? @metadata[key] = value end
# File lib/openstack/compute/metadata.rb, line 95 def clear if @metadata.nil? @metadata = {} else @metadata.clear end end
# File lib/openstack/compute/metadata.rb, line 103 def clear! clear save end
# File lib/openstack/compute/metadata.rb, line 81 def delete(keys) return if @metadata.nil? keys.each { |key| @metadata.delete(key) } end
# File lib/openstack/compute/metadata.rb, line 88 def delete!(keys) keys.each { |key| @connection.req('DELETE', "#{@base_url}/#{key}") @metadata.delete(key) if not @metadata.nil? } end
# File lib/openstack/compute/metadata.rb, line 39 def each refresh if @metadata.nil? @metadata.each end
# File lib/openstack/compute/metadata.rb, line 27 def each_pair @metadata = {} if @metadata.nil? @metadata.each_pair do |k,v| yield k, v end end
# File lib/openstack/compute/metadata.rb, line 108 def has_key?(key) return False if @metadata.nil? return @metadata.has_key?(key) end
# File lib/openstack/compute/metadata.rb, line 66 def refresh(keys=nil) if keys.nil? response = @connection.req('GET', @base_url) @metadata = JSON.parse(response.body)['metadata'] else @metadata = {} if @metadata == nil keys.each { |key| response = @connection.req('GET', "#{@base_url}/#{key}") next if response.code == "404" meta = JSON.parse(response.body)['meta'] meta.each { |k, v| @metadata[k] = v } } end end
# File lib/openstack/compute/metadata.rb, line 44 def save return if @metadata.nil? json = JSON.generate(:metadata => @metadata) response = @connection.req('PUT', @base_url, :data => json) @metadata = JSON.parse(response.body)['metadata'] end
# File lib/openstack/compute/metadata.rb, line 34 def size @metadata = {} if @metadata.nil? @metadata.size end
# File lib/openstack/compute/metadata.rb, line 22 def store(key, value) @metadata = {} if @metadata.nil? @metadata[key] = value end
# File lib/openstack/compute/metadata.rb, line 51 def update(keys=nil) return if @metadata.nil? if keys.nil? json = JSON.generate(:metadata => @metadata) response = @connection.req('POST', @base_url, :data => json) @metadata = JSON.parse(response.body)['metadata'] else keys.each { |key| next if not @metadata.has_key?(key) json = JSON.generate(:meta => { key => @metadata[key] }) @connection.req('PUT', "#{@base_url}/#{key}", :data => json) } end end
Generated with the Darkfish Rdoc Generator 2.