lib/3scale/api/client.rb in 3scale-api-0.2.0 vs lib/3scale/api/client.rb in 3scale-api-0.3.0

- old
+ new

@@ -136,20 +136,20 @@ end # @api public # @return [Hash] # @param [Fixnum] service_id Service ID - # @param [String] environment. Must be 'sandbox' or 'production' + # @param [String] environment. Must be 'sandbox' or 'production' def proxy_config_list(service_id, environment='sandbox') response = http_client.get("/admin/api/services/#{service_id}/proxy/configs/#{environment}") extract(entity: 'proxy', from: response) end # @api public # @return [Hash] # @param [Fixnum] service_id Service ID - # @param [String] environment. Must be 'sandbox' or 'production' + # @param [String] environment. Must be 'sandbox' or 'production' def proxy_config_latest(service_id, environment='sandbox') response = http_client.get("/admin/api/services/#{service_id}/proxy/configs/#{environment}/latest") extract(entity: 'proxy', from: response) end @@ -255,10 +255,19 @@ body: { metric: attributes }) extract(entity: 'method', from: response) end # @api public + # @param [Fixnum] application_plan_id Application Plan ID + # @param [Fixnum] metric_id Metric ID + # @return [Hash] + def list_metric_limits(application_plan_id, metric_id) + response = http_client.get("/admin/api/application_plans/#{application_plan_id}/metrics/#{metric_id}/limits") + extract(collection: 'limits', entity: 'limit', from: response) + end + + # @api public # @return [Array<Hash>] # @param [Fixnum] service_id Service ID def list_service_application_plans(service_id) response = http_client.get("/admin/api/services/#{service_id}/application_plans") @@ -304,10 +313,19 @@ http_client.delete("/admin/api/services/#{service_id}/application_plans/#{application_plan_id}") true end # @api public + # @param [Fixnum] service_id Service ID + # @param [Fixnum] application_plan_id Application Plan ID + # @return [Hash] + def application_plan_as_default(service_id, application_plan_id) + response = http_client.put("/admin/api/services/#{service_id}/application_plans/#{application_plan_id}/default") + extract(entity: 'application_plan', from: response) + end + + # @api public # @return [Array<Hash>] # @param [Fixnum] application_plan_id Application Plan ID def list_application_plan_limits(application_plan_id) response = http_client.get("/admin/api/application_plans/#{application_plan_id}/limits") @@ -315,15 +333,25 @@ end # @api public # @return [Hash] # @param [Fixnum] application_plan_id Application Plan ID - # @param [Hash] attributes Metric Attributes # @param [Fixnum] metric_id Metric ID - # @option attributes [String] :period Usage Limit period - # @option attributes [String] :value Usage Limit value + # @param [Hash] attributes Limit Attributes def create_application_plan_limit(application_plan_id, metric_id, attributes) response = http_client.post("/admin/api/application_plans/#{application_plan_id}/metrics/#{metric_id}/limits", + body: { usage_limit: attributes }) + extract(entity: 'limit', from: response) + end + + # @api public + # @return [Hash] + # @param [Fixnum] application_plan_id Application Plan ID + # @param [Fixnum] metric_id Metric ID + # @param [Fixnum] limit_id Usage Limit ID + # @param [Hash] attributes Limit Attributes + def update_application_plan_limit(application_plan_id, metric_id, limit_id, attributes) + response = http_client.put("/admin/api/application_plans/#{application_plan_id}/metrics/#{metric_id}/limits/#{limit_id}", body: { usage_limit: attributes }) extract(entity: 'limit', from: response) end # @param [Fixnum] application_plan_id Application Plan ID