Method: Lab::Drivers::FogDriver#initialize
- Defined in:
- lib/lab/driver/fog_driver.rb
#initialize(config, fog_config) ⇒ FogDriver
Returns a new instance of FogDriver.
11 12 13 14 15 16 17 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 43 44 45 46 47 48 49 |
# File 'lib/lab/driver/fog_driver.rb', line 11 def initialize(config,fog_config) super(config) @fog_config = fog_config # Soft dependency begin require 'fog' rescue LoadError raise "WARNING: Library fog not found. Could not create driver" end if @fog_config['fog_type'] == "ec2" # AWS / EC2 Base Credential Configuration @aws_cert_file = IO.read(fog_config['fog_aws_cert_file']).chomp if fog_config['fog_aws_cert_file'] @aws_private_key_file = IO.read(fog_config['fog_aws_private_key_file']).chomp if fog_config['fog_aws_private_key_file'] @ec2_access_key_file = IO.read(fog_config['fog_ec2_access_key_file']).chomp if fog_config['fog_ec2_access_key_file'] @ec2_secret_access_key_file = IO.read(fog_config['fog_ec2_secret_access_key_file']).chomp if fog_config['fog_ec2_secret_access_key_file'] # Instance Keys @ec2_instance_public_key_file = IO.read(fog_config['fog_ec2_instance_public_key_file']).chomp if fog_config['fog_ec2_instance_public_key_file'] @ec2_instance_private_key_file = IO.read(fog_config['fog_ec2_instance_private_key_file']).chomp if fog_config['fog_ec2_instance_private_key_file'] # Instance Details @ec2_base_ami = fog_config['fog_ec2_base_ami'] @ec2_flavor = fog_config['fog_ec2_flavor'] @ec2_user = fog_config['fog_ec2_user'] @ec2_region = fog_config['fog_ec2_region'] # Set up a connection @compute = Fog::Compute.new( :provider => "Aws", :aws_access_key_id => @aws_access_key_file, :aws_secret_access_key => @aws_secret_access_key_file ) else raise "Unsupported fog type" end end |