36 lines
		
	
	
		
			954 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			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
 | 
