class Awsrm::Resource

Constants

CLIENTS
CLIENT_OPTIONS
FILTER_MAP

Public Class Methods

all(_params) click to toggle source
# File lib/awsrm/resource.rb, line 49
def all(_params)
  raise 'not implemented'
end
check_one(resources, params) click to toggle source
# File lib/awsrm/resource.rb, line 61
def check_one(resources, params)
  raise Awsrm::NoResourceError, "No resource #{name} by #{params}" if resources.count == 0
  raise Awsrm::DuplicatedResourceError, "Duplicated resource #{name} by #{params}" if resources.count > 1
  true
end
filters(params) click to toggle source
# File lib/awsrm/resource.rb, line 53
def filters(params)
  params.map do |key, value|
    raise UndefinedFilterParamError, key unless self::FILTER_MAP.key?(key)
    next self::FILTER_MAP[key].call(value) if self::FILTER_MAP[key].is_a?(Proc)
    { name: self::FILTER_MAP[key], values: [value] }
  end
end
one(params) click to toggle source
# File lib/awsrm/resource.rb, line 44
def one(params)
  res = all(params)
  res.first if check_one(res, params)
end