From 8b9e49107239b3b4e2281f10f45fb16cdf661f50 Mon Sep 17 00:00:00 2001 From: Kevin Olbrich Date: Fri, 10 Jan 2014 03:30:31 +0000 Subject: [PATCH] use Excon's idempotent option for gets and lists --- lib/fog/joyent/requests/analytics/describe_analytics.rb | 8 +++++--- lib/fog/joyent/requests/analytics/get_instrumentation.rb | 3 ++- .../requests/analytics/get_instrumentation_value.rb | 1 + .../joyent/requests/analytics/list_instrumentations.rb | 3 ++- lib/fog/joyent/requests/compute/get_dataset.rb | 3 ++- lib/fog/joyent/requests/compute/get_image.rb | 3 ++- lib/fog/joyent/requests/compute/get_key.rb | 3 ++- lib/fog/joyent/requests/compute/get_machine.rb | 3 ++- lib/fog/joyent/requests/compute/get_machine_metadata.rb | 3 ++- lib/fog/joyent/requests/compute/get_machine_snapshot.rb | 3 ++- lib/fog/joyent/requests/compute/get_machine_tag.rb | 3 ++- lib/fog/joyent/requests/compute/get_package.rb | 3 ++- lib/fog/joyent/requests/compute/list_datacenters.rb | 3 ++- lib/fog/joyent/requests/compute/list_datasets.rb | 3 ++- lib/fog/joyent/requests/compute/list_images.rb | 3 ++- lib/fog/joyent/requests/compute/list_keys.rb | 3 ++- lib/fog/joyent/requests/compute/list_machine_snapshots.rb | 3 ++- lib/fog/joyent/requests/compute/list_machine_tags.rb | 3 ++- lib/fog/joyent/requests/compute/list_machines.rb | 3 ++- lib/fog/joyent/requests/compute/list_networks.rb | 3 ++- lib/fog/joyent/requests/compute/list_packages.rb | 3 ++- 21 files changed, 44 insertions(+), 22 deletions(-) diff --git a/lib/fog/joyent/requests/analytics/describe_analytics.rb b/lib/fog/joyent/requests/analytics/describe_analytics.rb index 562e9d631..cd957f904 100644 --- a/lib/fog/joyent/requests/analytics/describe_analytics.rb +++ b/lib/fog/joyent/requests/analytics/describe_analytics.rb @@ -2,17 +2,19 @@ module Fog module Joyent class Analytics class Real - def describe_analytics + def describe_analytics(force = false) + @describe_analytics = nil if force @describe_analytics ||= request( :path => "#{@joyent_username}/analytics", :method => "GET", - :expects => 200 + :expects => 200, + :idempotent => true ) end end class Mock - def describe_analytics + def describe_analytics(force = false) response = Excon::Response.new response.status = 200 response.body = self.data[:describe_analytics] diff --git a/lib/fog/joyent/requests/analytics/get_instrumentation.rb b/lib/fog/joyent/requests/analytics/get_instrumentation.rb index f2206130c..1dfa69b61 100644 --- a/lib/fog/joyent/requests/analytics/get_instrumentation.rb +++ b/lib/fog/joyent/requests/analytics/get_instrumentation.rb @@ -6,7 +6,8 @@ module Fog request( :path => "#{@joyent_username}/analytics/instrumentations/#{id}", :method => "GET", - :expects => 200 + :expects => 200, + :idempotent => true ) end end diff --git a/lib/fog/joyent/requests/analytics/get_instrumentation_value.rb b/lib/fog/joyent/requests/analytics/get_instrumentation_value.rb index a6969f647..b4c3ddf81 100644 --- a/lib/fog/joyent/requests/analytics/get_instrumentation_value.rb +++ b/lib/fog/joyent/requests/analytics/get_instrumentation_value.rb @@ -7,6 +7,7 @@ module Fog :path => url, :method => 'GET', :expects => 200, + :idempotent => true, :query => { :ndatapoints => ndatapoints, :start_time => requested_start_time.to_i, diff --git a/lib/fog/joyent/requests/analytics/list_instrumentations.rb b/lib/fog/joyent/requests/analytics/list_instrumentations.rb index b61c76817..2043c431e 100644 --- a/lib/fog/joyent/requests/analytics/list_instrumentations.rb +++ b/lib/fog/joyent/requests/analytics/list_instrumentations.rb @@ -6,7 +6,8 @@ module Fog request( :path => "#{@joyent_username}/analytics/instrumentations", :method => "GET", - :expects => 200 + :expects => 200, + :idempotent => true ) end end diff --git a/lib/fog/joyent/requests/compute/get_dataset.rb b/lib/fog/joyent/requests/compute/get_dataset.rb index 23419a42c..fb0b7ae62 100644 --- a/lib/fog/joyent/requests/compute/get_dataset.rb +++ b/lib/fog/joyent/requests/compute/get_dataset.rb @@ -18,7 +18,8 @@ module Fog def get_dataset request( :method => "GET", - :path => "/my/datasets" + :path => "/my/datasets", + :idempotent => true ) end end diff --git a/lib/fog/joyent/requests/compute/get_image.rb b/lib/fog/joyent/requests/compute/get_image.rb index c56fa3679..e53c178ae 100644 --- a/lib/fog/joyent/requests/compute/get_image.rb +++ b/lib/fog/joyent/requests/compute/get_image.rb @@ -19,7 +19,8 @@ module Fog request( :method => "GET", :path => "/#{@joyent_username}/images/#{id}", - :expects => 200 + :expects => 200, + :idempotent => true ) end end diff --git a/lib/fog/joyent/requests/compute/get_key.rb b/lib/fog/joyent/requests/compute/get_key.rb index b51ac4134..79f551b15 100644 --- a/lib/fog/joyent/requests/compute/get_key.rb +++ b/lib/fog/joyent/requests/compute/get_key.rb @@ -20,7 +20,8 @@ module Fog request( :method => "GET", :path => "/my/keys/#{keyid}", - :expects => 200 + :expects => 200, + :idempotent => true ) end end diff --git a/lib/fog/joyent/requests/compute/get_machine.rb b/lib/fog/joyent/requests/compute/get_machine.rb index 638a36e18..c1dccfc0f 100644 --- a/lib/fog/joyent/requests/compute/get_machine.rb +++ b/lib/fog/joyent/requests/compute/get_machine.rb @@ -20,7 +20,8 @@ module Fog request( :method => "GET", :path => "/my/machines/#{uuid}", - :expects => [200, 410] + :expects => [200, 410], + :idempotent => true ) end end diff --git a/lib/fog/joyent/requests/compute/get_machine_metadata.rb b/lib/fog/joyent/requests/compute/get_machine_metadata.rb index 51ff8d532..8e3c485c2 100644 --- a/lib/fog/joyent/requests/compute/get_machine_metadata.rb +++ b/lib/fog/joyent/requests/compute/get_machine_metadata.rb @@ -15,7 +15,8 @@ module Fog request( :path => "/my/machines/#{machine_id}/metadata", - :query => query + :query => query, + :idempotent => true ) end diff --git a/lib/fog/joyent/requests/compute/get_machine_snapshot.rb b/lib/fog/joyent/requests/compute/get_machine_snapshot.rb index 32b8c7e43..f68382ada 100644 --- a/lib/fog/joyent/requests/compute/get_machine_snapshot.rb +++ b/lib/fog/joyent/requests/compute/get_machine_snapshot.rb @@ -5,7 +5,8 @@ module Fog def get_machine_snapshot(machine_id, snapshot_name) request( :path => "/my/machines/#{machine_id}/snapshots/#{snapshot_name}", - :method => "GET" + :method => "GET", + :idempotent => true ) end end diff --git a/lib/fog/joyent/requests/compute/get_machine_tag.rb b/lib/fog/joyent/requests/compute/get_machine_tag.rb index 8676cdb48..e2d254291 100644 --- a/lib/fog/joyent/requests/compute/get_machine_tag.rb +++ b/lib/fog/joyent/requests/compute/get_machine_tag.rb @@ -9,7 +9,8 @@ module Fog :path => "/my/machines/#{machine_id}/tags/#{tagname}", :method => "GET", :headers => {"Accept" => "text/plain"}, - :expects => 200 + :expects => 200, + :idempotent => true ) end diff --git a/lib/fog/joyent/requests/compute/get_package.rb b/lib/fog/joyent/requests/compute/get_package.rb index adc5cfc15..b09c5f02f 100644 --- a/lib/fog/joyent/requests/compute/get_package.rb +++ b/lib/fog/joyent/requests/compute/get_package.rb @@ -23,7 +23,8 @@ module Fog request( :method => "GET", :path => "/my/packages/#{name}", - :expects => 200 + :expects => 200, + :idempotent => true ) end diff --git a/lib/fog/joyent/requests/compute/list_datacenters.rb b/lib/fog/joyent/requests/compute/list_datacenters.rb index 01929b44a..608fa9275 100644 --- a/lib/fog/joyent/requests/compute/list_datacenters.rb +++ b/lib/fog/joyent/requests/compute/list_datacenters.rb @@ -7,7 +7,8 @@ module Fog request( :expects => 200, :method => :'GET', - :path => '/my/datacenters' + :path => '/my/datacenters', + :idempotent => true ) end end # Real diff --git a/lib/fog/joyent/requests/compute/list_datasets.rb b/lib/fog/joyent/requests/compute/list_datasets.rb index 8188ffe3b..dea3ceb66 100644 --- a/lib/fog/joyent/requests/compute/list_datasets.rb +++ b/lib/fog/joyent/requests/compute/list_datasets.rb @@ -15,7 +15,8 @@ module Fog def list_datasets request( :method => "GET", - :path => "/my/datasets" + :path => "/my/datasets", + :idempotent => true ) end end diff --git a/lib/fog/joyent/requests/compute/list_images.rb b/lib/fog/joyent/requests/compute/list_images.rb index d1562a4f8..c1ad4284f 100644 --- a/lib/fog/joyent/requests/compute/list_images.rb +++ b/lib/fog/joyent/requests/compute/list_images.rb @@ -16,7 +16,8 @@ module Fog request( :method => "GET", :path => "/#{@joyent_username}/images", - :expects => 200 + :expects => 200, + :idempotent => true ) end end diff --git a/lib/fog/joyent/requests/compute/list_keys.rb b/lib/fog/joyent/requests/compute/list_keys.rb index a66477375..d93e3294b 100644 --- a/lib/fog/joyent/requests/compute/list_keys.rb +++ b/lib/fog/joyent/requests/compute/list_keys.rb @@ -15,7 +15,8 @@ module Fog request( :expects => 200, :method => :'GET', - :path => '/my/keys' + :path => '/my/keys', + :idempotent => true ) end end # Real diff --git a/lib/fog/joyent/requests/compute/list_machine_snapshots.rb b/lib/fog/joyent/requests/compute/list_machine_snapshots.rb index c465d638e..ec7106afd 100644 --- a/lib/fog/joyent/requests/compute/list_machine_snapshots.rb +++ b/lib/fog/joyent/requests/compute/list_machine_snapshots.rb @@ -5,7 +5,8 @@ module Fog def list_machine_snapshots(machine_id) request( :method => "GET", - :path => "/my/machines/#{machine_id}/snapshots" + :path => "/my/machines/#{machine_id}/snapshots", + :idempotent => true ) end end diff --git a/lib/fog/joyent/requests/compute/list_machine_tags.rb b/lib/fog/joyent/requests/compute/list_machine_tags.rb index 35dfb3682..fca539ece 100644 --- a/lib/fog/joyent/requests/compute/list_machine_tags.rb +++ b/lib/fog/joyent/requests/compute/list_machine_tags.rb @@ -7,7 +7,8 @@ module Fog request( :path => "/my/machines/#{machine_id}/tags", :method => "GET", - :expects => 200 + :expects => 200, + :idempotent => true ) end end diff --git a/lib/fog/joyent/requests/compute/list_machines.rb b/lib/fog/joyent/requests/compute/list_machines.rb index 2d086f67e..b5436a78c 100644 --- a/lib/fog/joyent/requests/compute/list_machines.rb +++ b/lib/fog/joyent/requests/compute/list_machines.rb @@ -17,7 +17,8 @@ module Fog :path => "/my/machines", :method => "GET", :query => options, - :expects => 200 + :expects => 200, + :idempotent => true ) end end diff --git a/lib/fog/joyent/requests/compute/list_networks.rb b/lib/fog/joyent/requests/compute/list_networks.rb index 97cd22681..d17371da8 100644 --- a/lib/fog/joyent/requests/compute/list_networks.rb +++ b/lib/fog/joyent/requests/compute/list_networks.rb @@ -17,7 +17,8 @@ module Fog :path => "/my/networks", :method => "GET", :query => options, - :expects => 200 + :expects => 200, + :idempotent => true ) end end diff --git a/lib/fog/joyent/requests/compute/list_packages.rb b/lib/fog/joyent/requests/compute/list_packages.rb index e08b91e30..bc6a879e9 100644 --- a/lib/fog/joyent/requests/compute/list_packages.rb +++ b/lib/fog/joyent/requests/compute/list_packages.rb @@ -25,7 +25,8 @@ module Fog request( :path => "/my/packages", :method => "GET", - :expects => 200 + :expects => 200, + :idempotent => true ) end end # Real