Class: DigitalOcean::API
- Inherits:
-
Object
- Object
- DigitalOcean::API
- Defined in:
- lib/digital_ocean/api.rb
Instance Method Summary (collapse)
- - (Object) default_faraday
-
- (DigitalOcean::Resource::Droplet) droplets
Access Droplets (virtual machines).
-
- (DigitalOcean::Resource::Image) images
Access Images (Snapshots, Backups).
-
- (API) initialize(params)
constructor
Creates a new API client instance.
-
- (DigitalOcean::Resource::Region) regions
Access Regions (data center location).
-
- (DigitalOcean::Resource::Size) sizes
Access Sizes (virtual machine types/sizes).
-
- (DigitalOcean::Resource::SSHKey) ssh_keys
Access SSH keys.
Constructor Details
- (API) initialize(params)
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
- (Object) default_faraday
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 |
- (DigitalOcean::Resource::Droplet) droplets
Access Droplets (virtual machines)
31 32 33 |
# File 'lib/digital_ocean/api.rb', line 31 def droplets DigitalOcean::Resource::Droplet.new(@faraday) end |
- (DigitalOcean::Resource::Image) images
Access Images (Snapshots, Backups)
59 60 61 |
# File 'lib/digital_ocean/api.rb', line 59 def images DigitalOcean::Resource::Image.new(@faraday) end |
- (DigitalOcean::Resource::Region) regions
Access Regions (data center location)
45 46 47 |
# File 'lib/digital_ocean/api.rb', line 45 def regions DigitalOcean::Resource::Region.new(@faraday) end |
- (DigitalOcean::Resource::Size) sizes
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 |
- (DigitalOcean::Resource::SSHKey) ssh_keys
Access SSH keys
52 53 54 |
# File 'lib/digital_ocean/api.rb', line 52 def ssh_keys DigitalOcean::Resource::SSHKey.new(@faraday) end |