Class: DigitalOcean::API
- Inherits:
-
Object
- Object
- DigitalOcean::API
- Defined in:
- lib/digital_ocean/api.rb
Instance Method Summary collapse
- #default_faraday ⇒ Object
- #domains ⇒ Object
-
#droplets ⇒ DigitalOcean::Resource::Droplet
Access Droplets (virtual machines).
-
#images ⇒ DigitalOcean::Resource::Image
Access Images (Snapshots, Backups).
-
#initialize(params) ⇒ API
constructor
Creates a new API client instance.
-
#regions ⇒ DigitalOcean::Resource::Region
Access Regions (data center location).
-
#sizes ⇒ DigitalOcean::Resource::Size
Access Sizes (virtual machine types/sizes).
-
#ssh_keys ⇒ DigitalOcean::Resource::SSHKey
Access SSH keys.
Constructor Details
#initialize(params) ⇒ API
Creates a new API client instance.
16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/digital_ocean/api.rb', line 16 def initialize(params) @client_id = params[:client_id] @api_key = params[:api_key] @debug = params[:debug] @ssl = params[:ssl] || { :verify => true } @base_url = params[:base_url] || 'https://api.digitalocean.com/' @faraday_adapter = params[:faraday_adapter] || Faraday.default_adapter @raise_status_errors = params[:raise_status_errors] || false @faraday = params[:faraday] || default_faraday raise ArgumentError, ':client_id missing' unless @client_id raise ArgumentError, ':api_key missing' unless @api_key end |
Instance Method Details
#default_faraday ⇒ Object
68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/digital_ocean/api.rb', line 68 def default_faraday Faraday.new(:url => @base_url, :ssl => @ssl) do |faraday| faraday.use AuthenticationMiddleware, @client_id, @api_key faraday.use Faraday::Response::RaiseError if @raise_status_errors faraday.request :url_encoded faraday.response :rashify faraday.response :json faraday.response(:logger) if @debug faraday.adapter @faraday_adapter end end |
#domains ⇒ Object
64 65 66 |
# File 'lib/digital_ocean/api.rb', line 64 def domains DigitalOcean::Resource::Domain.new(@faraday) end |
#droplets ⇒ DigitalOcean::Resource::Droplet
Access Droplets (virtual machines)
32 33 34 |
# File 'lib/digital_ocean/api.rb', line 32 def droplets DigitalOcean::Resource::Droplet.new(@faraday) end |
#images ⇒ DigitalOcean::Resource::Image
Access Images (Snapshots, Backups)
60 61 62 |
# File 'lib/digital_ocean/api.rb', line 60 def images DigitalOcean::Resource::Image.new(@faraday) end |
#regions ⇒ DigitalOcean::Resource::Region
Access Regions (data center location)
46 47 48 |
# File 'lib/digital_ocean/api.rb', line 46 def regions DigitalOcean::Resource::Region.new(@faraday) end |
#sizes ⇒ DigitalOcean::Resource::Size
Access Sizes (virtual machine types/sizes)
39 40 41 |
# File 'lib/digital_ocean/api.rb', line 39 def sizes DigitalOcean::Resource::Size.new(@faraday) end |
#ssh_keys ⇒ DigitalOcean::Resource::SSHKey
Access SSH keys
53 54 55 |
# File 'lib/digital_ocean/api.rb', line 53 def ssh_keys DigitalOcean::Resource::SSHKey.new(@faraday) end |