Class: DigitalOcean::API
- Inherits:
-
Object
- Object
- DigitalOcean::API
- Defined in:
- lib/digital_ocean/api.rb
Instance Method Summary collapse
- #default_faraday ⇒ 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 |
# File 'lib/digital_ocean/api.rb', line 16 def initialize(params) @client_id = params[:client_id] @api_key = params[:api_key] @debug = params[:debug] @base_url = params[:base_url] || 'https://api.digitalocean.com/' @faraday_adapter = params[:faraday_adapter] || Faraday.default_adapter @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
63 64 65 66 67 68 69 70 71 72 |
# File 'lib/digital_ocean/api.rb', line 63 def default_faraday Faraday.new(:url => @base_url) do |faraday| faraday.use AuthenticationMiddleware, @client_id, @api_key faraday.request :url_encoded faraday.response :rashify faraday.response :json faraday.response(:logger) if @debug faraday.adapter @faraday_adapter end end |
#droplets ⇒ DigitalOcean::Resource::Droplet
Access Droplets (virtual machines)
31 32 33 |
# File 'lib/digital_ocean/api.rb', line 31 def droplets DigitalOcean::Resource::Droplet.new(@faraday) end |
#images ⇒ DigitalOcean::Resource::Image
Access Images (Snapshots, Backups)
59 60 61 |
# File 'lib/digital_ocean/api.rb', line 59 def images DigitalOcean::Resource::Image.new(@faraday) end |
#regions ⇒ DigitalOcean::Resource::Region
Access Regions (data center location)
45 46 47 |
# File 'lib/digital_ocean/api.rb', line 45 def regions DigitalOcean::Resource::Region.new(@faraday) end |
#sizes ⇒ DigitalOcean::Resource::Size
Access Sizes (virtual machine types/sizes)
38 39 40 |
# File 'lib/digital_ocean/api.rb', line 38 def sizes DigitalOcean::Resource::Size.new(@faraday) end |
#ssh_keys ⇒ DigitalOcean::Resource::SSHKey
Access SSH keys
52 53 54 |
# File 'lib/digital_ocean/api.rb', line 52 def ssh_keys DigitalOcean::Resource::SSHKey.new(@faraday) end |