class AWS::Core::Resource

def define_attribute_getter attribute

def define_attribute_getter attribute
  define_method(attribute.name) do
    
    return static_attributes[attribute.name] if 
      static_attributes.has_key?(attribute.name)
    begin
      retrieve_attribute(attribute) { get_resource(attribute) }
    rescue Cacheable::NoData => e
      name = ruby_name.tr("_", " ")
      raise NotFound, "unable to find the #{name}"
    end
  end
end