= engineyard-metadata Pulls metadata from EC2 and EngineYard so that your EngineYard Cloud instances know about each other. == Purpose To define an unchanging interface to useful metadata (passwords, IP addresses, etc.) that is otherwise buried deep inside EngineYard's chef config files and EC2 API calls. == Examples * Get a dynamically updated list of all running app servers so that you can pool memcached over all of them. (EY::Metadata.app_servers) * Get the current database password so that you can write a script that connects to it. (EY::Metadata.database_password) == Use Get the full method list in {the engineyard-metadata rdoc}[http://rdoc.info/github/seamusabshere/engineyard-metadata]. Metadata getters are defined directly on EY::Metadata. Even if EngineYard changes the structure of the config files or Amazon EC2's API changes, these methods will stay the same. This only runs on EngineYard AppCloud instances (running on Amazon EC2). [...] >> require 'rubygems' [...] >> require 'engineyard-metadata' [...] >> EY::Metadata.database_host => "external_db_master.compute-1.amazonaws.com" >> EY::Metadata.database_password => "foobarfoo" >> EY::Metadata.app_servers => [ 'app_1.compute-1.amazonaws.com' , 'app_master.compute-1.amazonaws.com' ] >> EY::Metadata.db_servers => [ 'db_master.compute-1.amazonaws.com', 'db_slave_1.compute-1.amazonaws.com' ] [...and many more...] == History This is the second generation of http://rubygems.org/gems/ey_cloud_awareness. == Copyright Copyright (c) 2010 Seamus Abshere. See LICENSE for details.