module Yao::Resources::MetadataAvailable

Public Instance Methods

append_metadata(id, metadata)
Alias for: create_metadata
create_metadata(id, metadata) click to toggle source

@param id [String] @param metadata [Hash] @return [Hash]

# File lib/yao/resources/metadata_available.rb, line 12
def create_metadata(id, metadata)
  res = POST(metadata_path(id)) do |req|
    req.body = {"metadata" => metadata}.to_json
    req.headers['Content-Type'] = 'application/json'
  end
  res.body["metadata"]
end
Also aliased as: append_metadata
delete_metadata(id, key) click to toggle source

@param id [String] @param key [String]

# File lib/yao/resources/metadata_available.rb, line 54
def delete_metadata(id, key)
  DELETE(metadata_key_path(id, key)).body
end
get_metadata(id, key) click to toggle source

@param id [String] @param key [String] @return [Hash]

# File lib/yao/resources/metadata_available.rb, line 36
def get_metadata(id, key)
  GET(metadata_key_path(id, key)).body["meta"]
end
list_metadata(id) click to toggle source

@param id [String] @return [Hash]

# File lib/yao/resources/metadata_available.rb, line 5
def list_metadata(id)
  GET(metadata_path(id)).body["metadata"]
end
replace_metadata(id, metadata)
Alias for: update_metadata
set_metadata(id, key, value) click to toggle source

@param id [String] @param key [String] @param value [String] @return [Hash]

# File lib/yao/resources/metadata_available.rb, line 44
def set_metadata(id, key, value)
  res = PUT(metadata_key_path(id, key)) do |req|
    req.body = {"meta" => {key => value}}.to_json
    req.headers['Content-Type'] = 'application/json'
  end
  res.body["meta"]
end
update_metadata(id, metadata) click to toggle source

@param id [String] @param metadata [Hash] @return [Hash]

# File lib/yao/resources/metadata_available.rb, line 24
def update_metadata(id, metadata)
  res = PUT(metadata_path(id)) do |req|
    req.body = {"metadata" => metadata}.to_json
    req.headers['Content-Type'] = 'application/json'
  end
  res.body["metadata"]
end
Also aliased as: replace_metadata

Private Instance Methods

metadata_key_path(id, key) click to toggle source

@param id [String] @param key [String]

# File lib/yao/resources/metadata_available.rb, line 67
def metadata_key_path(id, key)
  ["servers", id, "metadata", key].join("/")
end
metadata_path(id) click to toggle source

@param id [String] @return [String]

# File lib/yao/resources/metadata_available.rb, line 61
def metadata_path(id)
  ["servers", id, "metadata"].join("/")
end