Module: Bosh::AwsRegistry
- Defined in:
- lib/aws_registry/config.rb,
lib/aws_registry.rb,
lib/aws_registry/errors.rb,
lib/aws_registry/models.rb,
lib/aws_registry/runner.rb,
lib/aws_registry/version.rb,
lib/aws_registry/yaml_helper.rb,
lib/aws_registry/api_controller.rb,
lib/aws_registry/instance_manager.rb
Overview
Copyright © 2009-2012 VMware, Inc.
Defined Under Namespace
Modules: Models, YamlHelper Classes: ApiController, AwsError, ConfigError, ConnectionError, Error, FatalError, InstanceError, InstanceManager, InstanceNotFound, Runner
Constant Summary collapse
- AWS_MAX_RETRIES =
2
- AWS_EC2_ENDPOINT =
"ec2.amazonaws.com"
- VERSION =
"0.2.3"
Class Attribute Summary collapse
-
.db ⇒ Object
Returns the value of attribute db.
- .ec2 ⇒ Object
-
.http_password ⇒ Object
Returns the value of attribute http_password.
-
.http_port ⇒ Object
Returns the value of attribute http_port.
-
.http_user ⇒ Object
Returns the value of attribute http_user.
-
.logger ⇒ Object
Returns the value of attribute logger.
Class Method Summary collapse
Class Attribute Details
.db ⇒ Object
Returns the value of attribute db.
14 15 16 |
# File 'lib/aws_registry/config.rb', line 14 def db @db end |
.ec2 ⇒ Object
44 45 46 |
# File 'lib/aws_registry/config.rb', line 44 def ec2 @ec2 ||= AWS::EC2.new(@aws_options) end |
.http_password ⇒ Object
Returns the value of attribute http_password.
13 14 15 |
# File 'lib/aws_registry/config.rb', line 13 def http_password @http_password end |
.http_port ⇒ Object
Returns the value of attribute http_port.
11 12 13 |
# File 'lib/aws_registry/config.rb', line 11 def http_port @http_port end |
.http_user ⇒ Object
Returns the value of attribute http_user.
12 13 14 |
# File 'lib/aws_registry/config.rb', line 12 def http_user @http_user end |
.logger ⇒ Object
Returns the value of attribute logger.
10 11 12 |
# File 'lib/aws_registry/config.rb', line 10 def logger @logger end |
Class Method Details
.configure(config) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/aws_registry/config.rb', line 18 def configure(config) validate_config(config) @logger ||= Logger.new(config["logfile"] || STDOUT) if config["loglevel"].kind_of?(String) @logger.level = Logger.const_get(config["loglevel"].upcase) end @http_port = config["http"]["port"] @http_user = config["http"]["user"] @http_password = config["http"]["password"] @aws = config["aws"] @aws_options = { :access_key_id => @aws["access_key_id"], :secret_access_key => @aws["secret_access_key"], :max_retries => @aws["max_retries"] || AWS_MAX_RETRIES, :ec2_endpoint => @aws["ec2_endpoint"] || AWS_EC2_ENDPOINT, :logger => @logger } @db = connect_db(config["db"]) end |
.connect_db(db_config) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/aws_registry/config.rb', line 48 def connect_db(db_config) = { :max_connections => db_config["max_connections"], :pool_timeout => db_config["pool_timeout"] } db = Sequel.connect(db_config["database"], ) db.logger = @logger db.sql_log_level = :debug db end |
.validate_config(config) ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/aws_registry/config.rb', line 60 def validate_config(config) unless config.is_a?(Hash) raise ConfigError, "Invalid config format, Hash expected, " \ "#{config.class} given" end unless config.has_key?("http") && config["http"].is_a?(Hash) raise ConfigError, "HTTP configuration is missing from " \ "config file" end unless config.has_key?("db") && config["db"].is_a?(Hash) raise ConfigError, "Database configuration is missing from " \ "config file" end unless config.has_key?("aws") && config["aws"].is_a?(Hash) raise ConfigError, "AWS configuration is missing from " \ "config file" end end |