3scale-api 0.1.7 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/3scale/api/client.rb +80 -0
- data/lib/3scale/api/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b1445e270241502bdce63974ebc160fc1c91ddc6a6f9b82a4704b15d079fbc3e
|
4
|
+
data.tar.gz: 9e59856615750458376342fd25a1279de1afb530c897a0902b41dd48ab1def12
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fb21bf527eaa118ef88b0ad182e8d48e1f45e97425a9a721bb18fd9c8aa4355d8baf9eace6aa1040d3e5c9213fe14028bdd0c00486c51605815de88cfa324366
|
7
|
+
data.tar.gz: f3dbbfcceaf1a2b52e59b8d411b9093f9c5954cdfa4883694164baac59f762d615d7b611e674465d750158c63919741639ff433301a2c9a006529824f73c3216
|
data/lib/3scale/api/client.rb
CHANGED
@@ -289,6 +289,86 @@ module ThreeScale
|
|
289
289
|
true
|
290
290
|
end
|
291
291
|
|
292
|
+
# @api public
|
293
|
+
# @param [Hash] account criteria
|
294
|
+
# @return [Hash]
|
295
|
+
def find_account(criteria)
|
296
|
+
response = http_client.get('/admin/api/accounts/find', params: criteria)
|
297
|
+
extract(entity: 'account', from: response)
|
298
|
+
end
|
299
|
+
|
300
|
+
# @api public
|
301
|
+
# @return [Array]
|
302
|
+
# @param [Fixnum] id Service ID
|
303
|
+
def show_policies(id)
|
304
|
+
response = http_client.get("/admin/api/services/#{id}/proxy/policies")
|
305
|
+
extract(entity: 'policies_config', from: response)
|
306
|
+
end
|
307
|
+
|
308
|
+
# @api public
|
309
|
+
# @return [Array]
|
310
|
+
# @param [Fixnum] id Service ID
|
311
|
+
def update_policies(id, policies_config)
|
312
|
+
response = http_client.put("/admin/api/services/#{id}/proxy/policies", body: policies_config)
|
313
|
+
extract(entity: 'policies_config', from: response)
|
314
|
+
end
|
315
|
+
|
316
|
+
# @api public
|
317
|
+
# @param [Fixnum] application_plan_id Application Plan ID
|
318
|
+
# @param [Fixnum] metric_id Metric ID
|
319
|
+
# @return [Array<Hash>]
|
320
|
+
def list_pricingrules_per_metric(application_plan_id, metric_id)
|
321
|
+
response = http_client.get("/admin/api/application_plans/#{application_plan_id}/metrics/#{metric_id}/pricing_rules")
|
322
|
+
extract(collection: 'pricing_rules', entity: 'pricing_rule', from: response)
|
323
|
+
end
|
324
|
+
|
325
|
+
# @api public
|
326
|
+
# @param [Fixnum] application_plan_id Application Plan ID
|
327
|
+
# @return [Array<Hash>]
|
328
|
+
def list_pricingrules_per_application_plan(application_plan_id)
|
329
|
+
response = http_client.get("/admin/api/application_plans/#{application_plan_id}/pricing_rules")
|
330
|
+
extract(collection: 'pricing_rules', entity: 'pricing_rule', from: response)
|
331
|
+
end
|
332
|
+
|
333
|
+
# @api public
|
334
|
+
# @param [Fixnum] application_plan_id Application Plan ID
|
335
|
+
# @return [Array<Hash>]
|
336
|
+
def create_pricingrule(application_plan_id, metric_id, attributes)
|
337
|
+
response = http_client.post("/admin/api/application_plans/#{application_plan_id}/metrics/#{metric_id}/pricing_rules", body: attributes)
|
338
|
+
extract(entity: 'pricing_rule', from: response)
|
339
|
+
end
|
340
|
+
|
341
|
+
# @api public
|
342
|
+
# @return [Array<Hash>]
|
343
|
+
def list_activedocs
|
344
|
+
response = http_client.get('/admin/api/active_docs')
|
345
|
+
extract(collection: 'api_docs', entity: 'api_doc', from: response)
|
346
|
+
end
|
347
|
+
|
348
|
+
# @api public
|
349
|
+
# @param [Hash] attributes ActiveDocs attributes
|
350
|
+
# @return [Hash]
|
351
|
+
def create_activedocs(attributes)
|
352
|
+
response = http_client.post('/admin/api/active_docs', body: attributes)
|
353
|
+
extract(entity: 'api_doc', from: response)
|
354
|
+
end
|
355
|
+
|
356
|
+
# @api public
|
357
|
+
# @param [Fixnum] id ActiveDocs ID
|
358
|
+
# @param [Hash] attributes ActiveDocs attributes
|
359
|
+
# @return [Hash]
|
360
|
+
def update_activedocs(id, attributes)
|
361
|
+
response = http_client.put("/admin/api/active_docs/#{id}", body: attributes)
|
362
|
+
extract(entity: 'api_doc', from: response)
|
363
|
+
end
|
364
|
+
|
365
|
+
# @api public
|
366
|
+
# @return [Hash]
|
367
|
+
def delete_activedocs(id)
|
368
|
+
http_client.delete("/admin/api/active_docs/#{id}")
|
369
|
+
true
|
370
|
+
end
|
371
|
+
|
292
372
|
protected
|
293
373
|
|
294
374
|
def extract(collection: nil, entity:, from:)
|
data/lib/3scale/api/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: 3scale-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michal Cichra
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2019-03-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -45,28 +45,28 @@ dependencies:
|
|
45
45
|
requirements:
|
46
46
|
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version: '3.
|
48
|
+
version: '3.8'
|
49
49
|
type: :development
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: '3.
|
55
|
+
version: '3.8'
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: webmock
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
60
|
- - "~>"
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: '
|
62
|
+
version: '3.4'
|
63
63
|
type: :development
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
67
|
- - "~>"
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: '
|
69
|
+
version: '3.4'
|
70
70
|
description: 'API Client to access your 3scale APIs: Account Management API'
|
71
71
|
email:
|
72
72
|
- michal@3scale.net
|