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