modules/mu/cloud.rb in cloud-mu-2.0.0.pre.beta2 vs modules/mu/cloud.rb in cloud-mu-2.0.0.pre.beta3
- old
+ new
@@ -124,14 +124,48 @@
end
# Stub base class; real implementations generated at runtime
class NoSQLDB;
end
+ # Denotes a resource implementation which is missing significant
+ # functionality or is largely untested.
+ ALPHA = "This implementation is **ALPHA** quality. It is experimental, may be missing significant functionality, and has not been widely tested."
+
+ # Denotes a resource implementation which supports most or all key API
+ # functionality and has seen at least some non-trivial testing.
+ BETA = "This implementation is **BETA** quality. It is substantially complete, but may be missing some functionality or have some features which are untested."
+
+ # Denotes a resource implementation which supports all key API functionality
+ # and has been substantially tested on real-world applications.
+ RELEASE = "This implementation is considered **RELEASE** quality. It covers all major API features and has been tested with real-world applications."
+
# The types of cloud resources we can create, as class objects. Include
# methods a class implementing this resource type must support to be
# considered valid.
@@resource_types = {
+ :Folder => {
+ :has_multiples => false,
+ :can_live_in_vpc => false,
+ :cfg_name => "folder",
+ :cfg_plural => "folders",
+ :interface => self.const_get("Folder"),
+ :deps_wait_on_my_creation => true,
+ :waits_on_parent_completion => true,
+ :class => generic_class_methods,
+ :instance => generic_instance_methods
+ },
+ :Habitat => {
+ :has_multiples => false,
+ :can_live_in_vpc => false,
+ :cfg_name => "habitat",
+ :cfg_plural => "habitats",
+ :interface => self.const_get("Habitat"),
+ :deps_wait_on_my_creation => true,
+ :waits_on_parent_completion => true,
+ :class => generic_class_methods,
+ :instance => generic_instance_methods + [:groom]
+ },
:Collection => {
:has_multiples => false,
:can_live_in_vpc => false,
:cfg_name => "collection",
:cfg_plural => "collections",
@@ -326,32 +360,10 @@
:deps_wait_on_my_creation => true,
:waits_on_parent_completion => true,
:class => generic_class_methods,
:instance => generic_instance_methods + [:groom]
},
- :Habitat => {
- :has_multiples => false,
- :can_live_in_vpc => false,
- :cfg_name => "habitat",
- :cfg_plural => "habitats",
- :interface => self.const_get("Habitat"),
- :deps_wait_on_my_creation => true,
- :waits_on_parent_completion => true,
- :class => generic_class_methods,
- :instance => generic_instance_methods
- },
- :Folder => {
- :has_multiples => false,
- :can_live_in_vpc => false,
- :cfg_name => "folder",
- :cfg_plural => "folders",
- :interface => self.const_get("Folder"),
- :deps_wait_on_my_creation => true,
- :waits_on_parent_completion => true,
- :class => generic_class_methods,
- :instance => generic_instance_methods
- },
:User => {
:has_multiples => false,
:can_live_in_vpc => false,
:cfg_name => "user",
:cfg_plural => "users",
@@ -1024,9 +1036,15 @@
end
}
end
return [@dependencies, @vpc, @loadbalancers]
+ end
+
+ # Defaults any resources that don't declare their release-readiness to
+ # ALPHA. That'll learn 'em.
+ def self.quality
+ MU::Cloud::ALPHA
end
def self.find(*flags)
allfound = {}