fluke/devops-service/providers/static_accounts_factory.rb
2016-03-01 16:04:53 +03:00

36 lines
954 B
Ruby

require_relative "accounts_factory"
module Provider
class StaticAccountsFactory < AccountsFactory
def init config
@connections = {}
accounts.each do |account|
create_connection_from_account(config, account)
puts "\tFound static account '#{account.account_name}'"
end
ProviderFactory.add_provider Static::PROVIDER unless @connections.empty?
end
def provider_name
Static::PROVIDER
end
def create_connection_from_account config, account
options = {
static_ssh_key: account.ssh_key,
mongo_db: config[:mongo_db],
mongo_host: config[:mongo_host],
mongo_port: config[:mongo_port],
mongo_user: config[:mongo_user],
mongo_password: config[:mongo_password]
}
add_connection(account.account_name, Static.new(options))
end
def create_account hash
Devops::Model::StaticProviderAccount.new(hash)
end
end
end