Class: SimpleProvision::Connection

Inherits:
Object
  • Object
show all
Defined in:
lib/simple_provision/connection.rb

Constant Summary collapse

MissingDigitalOceanCredentials =
Class.new(StandardError)

Instance Method Summary collapse

Constructor Details

#initialize(opts) ⇒ Connection

Returns a new instance of Connection.



7
8
9
10
11
12
13
# File 'lib/simple_provision/connection.rb', line 7

def initialize(opts)
  @opts = opts

  if ENV["DIGITAL_OCEAN_API_KEY"].nil? || ENV["DIGITAL_OCEAN_CLIENT_ID"].nil?
    raise SimpleProvision::Connection::MissingDigitalOceanCredentials, "Make sure DIGITAL_OCEAN_API_KEY and DIGITAL_OCEAN_CLIENT_ID are environmental variables with your credentials"
  end
end

Instance Method Details

#connectionObject



15
16
17
18
19
20
21
22
23
# File 'lib/simple_provision/connection.rb', line 15

def connection
  @connection ||= begin
    Fog::Compute.new(
      provider: "DigitalOcean",
      digitalocean_client_id: ENV["DIGITAL_OCEAN_CLIENT_ID"],
      digitalocean_api_key: ENV["DIGITAL_OCEAN_API_KEY"]
    )
  end
end