2011-02-17 13:44:46 -05:00
module Fog
2011-06-16 19:28:54 -04:00
module Compute
class Ecloud
2011-02-17 13:44:46 -05:00
class Real
2012-06-07 12:50:11 -04:00
basic_request :get_operating_system_families
2011-02-17 13:44:46 -05:00
end
2012-11-27 19:57:16 -05:00
class Mock
def get_operating_system_families ( uri )
compute_pool_id = id_from_uri ( uri )
compute_pool = self . data [ :compute_pools ] [ compute_pool_id ]
operating_system_families = self . data [ :operating_system_families ] . values . select { | osf | osf [ :compute_pool_id ] == compute_pool_id }
operating_system_families = operating_system_families . map { | osf | Fog :: Ecloud . slice ( osf , :id , :compute_pool_id ) } . map { | osf | osf [ :OperatingSystemFamily ] }
operating_system_family_response = { :OperatingSystemFamily = > ( operating_system_families . size > 1 ? operating_system_families : operating_system_families . first ) } # GAH
body = {
:href = > uri ,
:type = > " application/vnd.tmrk.cloud.operatingSystemFamily; type=collection " ,
:Links = > {
:Link = > compute_pool ,
}
} . merge ( operating_system_family_response )
response ( :body = > body )
end
end
2011-02-17 13:44:46 -05:00
end
end
end