diff --git a/lib/fog/digitalocean/models/compute_v2/servers.rb b/lib/fog/digitalocean/models/compute_v2/servers.rb index 33cce1e4e..18bf1078e 100644 --- a/lib/fog/digitalocean/models/compute_v2/servers.rb +++ b/lib/fog/digitalocean/models/compute_v2/servers.rb @@ -15,7 +15,7 @@ module Fog # @raise [Fog::Compute::DigitalOceanV2::ServiceError] # @see https://developers.digitalocean.com/documentation/v2/#droplets def all(filters = {}) - data = service.list_servers.body['droplets'] + data = service.list_servers(filters).body['droplets'] load(data) end diff --git a/lib/fog/digitalocean/requests/compute_v2/list_servers.rb b/lib/fog/digitalocean/requests/compute_v2/list_servers.rb index fb57cfbad..ea7506d62 100644 --- a/lib/fog/digitalocean/requests/compute_v2/list_servers.rb +++ b/lib/fog/digitalocean/requests/compute_v2/list_servers.rb @@ -2,18 +2,18 @@ module Fog module Compute class DigitalOceanV2 class Real - def list_servers + def list_servers(filters = {}) request( :expects => [200], :method => 'GET', - :path => '/v2/droplets' + :path => "/v2/droplets?#{filters.to_a.map { |x| "#{x[0]}=#{x[1]}" }.join("&")}" ) end end # noinspection RubyStringKeysInHashInspection class Mock - def list_servers + def list_servers(filters = {}) response = Excon::Response.new response.status = 200 response.body = { @@ -25,4 +25,4 @@ module Fog end end end -end \ No newline at end of file +end