Class: ThreeScale::API::Client
- Inherits:
-
Object
- Object
- ThreeScale::API::Client
- Defined in:
- lib/3scale/api/client.rb
Instance Attribute Summary collapse
-
#http_client ⇒ Object
readonly
Returns the value of attribute http_client.
Instance Method Summary collapse
-
#accept_application(account_id, application_id) ⇒ Hash
Application Application.
- #activate_user(account_id, user_id) ⇒ Hash
- #application_plan_as_default(service_id, application_plan_id) ⇒ Hash
- #approve_account(account_id) ⇒ Hash
- #backend(id) ⇒ Hash
- #backend_mapping_rule(backend_id, mapping_rule_id) ⇒ Hash
- #backend_method(backend_id, metric_id, method_id) ⇒ Hash
- #backend_metric(backend_id, metric_id) ⇒ Hash
- #backend_usage(product_id, id) ⇒ Hash
- #create_activedocs(attributes) ⇒ Hash
-
#create_application(account_id, attributes = {}, plan_id:, **rest) ⇒ Hash
An Application.
- #create_application_key(account_id, application_id, key) ⇒ Hash
- #create_application_plan(service_id, attributes) ⇒ Hash
- #create_application_plan_feature(application_plan_id, id) ⇒ Hash
- #create_application_plan_limit(application_plan_id, metric_id, attributes) ⇒ Hash
- #create_backend(attributes) ⇒ Hash
- #create_backend_mapping_rule(backend_id, attrs) ⇒ Hash
- #create_backend_method(backend_id, metric_id, attrs) ⇒ Hash
- #create_backend_metric(id, attrs) ⇒ Hash
- #create_backend_usage(product_id, attrs) ⇒ Hash
- #create_mapping_rule(service_id, attributes) ⇒ Array<Hash>
- #create_method(service_id, metric_id, attributes) ⇒ Hash
- #create_metric(service_id, attributes) ⇒ Hash
- #create_policy_registry(attributes) ⇒ Hash
- #create_pricingrule(application_plan_id, metric_id, attributes) ⇒ Array<Hash>
- #create_service(attributes) ⇒ Hash
- #create_service_feature(id, attributes) ⇒ Hash
- #create_user(account_id:, email:, username:, password:, **rest) ⇒ Hash
-
#customize_application_plan(account_id, application_id) ⇒ Hash
A Plan.
- #delete_account(id) ⇒ Bool
- #delete_activedocs(id) ⇒ Hash
- #delete_application(account_id, id) ⇒ Bool
- #delete_application_plan(service_id, application_plan_id) ⇒ Bool
-
#delete_application_plan_customization(account_id, application_id) ⇒ Hash
A Plan.
- #delete_application_plan_feature(application_plan_id, id) ⇒ Boolean
- #delete_application_plan_limit(application_plan_id, metric_id, limit_id) ⇒ Object
- #delete_application_plan_pricingrule(application_plan_id, metric_id, id) ⇒ Bool
- #delete_backend(id) ⇒ Object
- #delete_backend_mapping_rule(backend_id, mapping_rule_id) ⇒ Object
- #delete_backend_method(backend_id, metric_id, method_id) ⇒ Object
- #delete_backend_metric(backend_id, metric_id) ⇒ Object
- #delete_backend_usage(product_id, id) ⇒ Object
- #delete_mapping_rule(service_id, id) ⇒ Array<Hash>
- #delete_method(service_id, parent_id, id) ⇒ Bool
- #delete_metric(service_id, metric_id) ⇒ Bool
- #delete_policy_registry(id) ⇒ Object
- #delete_service(id) ⇒ Object
- #delete_service_feature(service_id, id) ⇒ Boolean
- #find_account(criteria) ⇒ Hash
- #find_application(id: nil, user_key: nil, application_id: nil, service_id: nil) ⇒ Hash
-
#initialize(http_client) ⇒ Client
constructor
A new instance of Client.
- #list_account_applications(account_id) ⇒ Array<Hash>
- #list_accounts ⇒ Array<Hash>
- #list_activedocs ⇒ Array<Hash>
- #list_application_keys(account_id, application_id) ⇒ Array<Hash>
- #list_application_plan_limits(application_plan_id) ⇒ Array<Hash>
-
#list_application_plans ⇒ Array<Hash]
Array<Hash].
- #list_applications(service_id: nil, plan_id: nil) ⇒ Array<Hash>
- #list_backend_mapping_rules(backend_id) ⇒ List
- #list_backend_methods(backend_id, metric_id) ⇒ List
- #list_backend_metrics(id) ⇒ List
- #list_backend_usages(product_id) ⇒ List
- #list_backends(params = nil) ⇒ List
- #list_features_per_application_plan(application_plan_id) ⇒ Array<Hash>
- #list_mapping_rules(service_id) ⇒ Array<Hash>
- #list_methods(service_id, metric_id) ⇒ Array<Hash>
- #list_metric_limits(application_plan_id, metric_id) ⇒ Hash
- #list_metrics(service_id) ⇒ Array<Hash>
- #list_policy_registry ⇒ Array<Hash>
- #list_pricingrules_per_application_plan(application_plan_id) ⇒ Array<Hash>
- #list_pricingrules_per_metric(application_plan_id, metric_id) ⇒ Array<Hash>
- #list_service_application_plans(service_id) ⇒ Array<Hash>
- #list_service_features(id) ⇒ Array<Hash>
- #list_services(params = nil) ⇒ Array<Hash>
- #list_users(account_id, state: nil, role: nil) ⇒ Array<Hash>
- #promote_proxy_config(service_id, environment, version, to) ⇒ Hash
- #proxy_config_latest(service_id, environment = 'sandbox') ⇒ Hash
- #proxy_config_list(service_id, environment = 'sandbox') ⇒ Hash
- #proxy_deploy(service_id) ⇒ Hash
-
#resume_application(account_id, application_id) ⇒ Hash
Application Application.
- #show_account(id) ⇒ Hash
- #show_application(id) ⇒ Hash
- #show_application_plan(service_id, id) ⇒ Hash
- #show_mapping_rule(service_id, id) ⇒ Array<Hash>
- #show_method(service_id, parent_id, id) ⇒ Hash
- #show_metric(service_id, id) ⇒ Hash
- #show_oidc(service_id) ⇒ Array<Hash>
- #show_policies(id) ⇒ Array
- #show_policy_registry(id) ⇒ Hash
- #show_provider ⇒ Hash
- #show_proxy(service_id) ⇒ Hash
- #show_proxy_config(service_id, environment, version) ⇒ Hash
- #show_service(id) ⇒ Hash
- #show_service_feature(service_id, id) ⇒ Hash
-
#signup(attributes = {}, name:, username:, **rest) ⇒ Hash
An Account.
-
#suspend_application(account_id, application_id) ⇒ Hash
Application Application.
- #update_activedocs(id, attributes) ⇒ Hash
-
#update_application(account_id, id, attrs) ⇒ Hash
An Application.
- #update_application_plan(service_id, id, attributes) ⇒ Hash
- #update_application_plan_limit(application_plan_id, metric_id, limit_id, attributes) ⇒ Hash
- #update_backend(id, attributes) ⇒ Hash
- #update_backend_mapping_rule(backend_id, mapping_rule_id, attributes) ⇒ Hash
- #update_backend_method(backend_id, metric_id, method_id, attributes) ⇒ Hash
- #update_backend_metric(backend_id, metric_id, attributes) ⇒ Hash
- #update_backend_usage(product_id, id, attrs) ⇒ Hash
- #update_mapping_rule(service_id, id, attributes) ⇒ Array<Hash>
- #update_method(service_id, parent_id, id, attributes) ⇒ Hash
- #update_metric(service_id, metric_id, attributes) ⇒ Hash
- #update_oidc(service_id, attributes) ⇒ Hash
- #update_policies(id, policies_config) ⇒ Array
- #update_policy_registry(id, attributes) ⇒ Hash
- #update_proxy(service_id, attributes) ⇒ Hash
- #update_service(service_id, attributes) ⇒ Hash
- #update_service_feature(service_id, id, attributes) ⇒ Hash
Constructor Details
#initialize(http_client) ⇒ Client
Returns a new instance of Client.
11 12 13 |
# File 'lib/3scale/api/client.rb', line 11 def initialize(http_client) @http_client = http_client end |
Instance Attribute Details
#http_client ⇒ Object (readonly)
Returns the value of attribute http_client.
7 8 9 |
# File 'lib/3scale/api/client.rb', line 7 def http_client @http_client end |
Instance Method Details
#accept_application(account_id, application_id) ⇒ Hash
Returns application Application.
772 773 774 775 |
# File 'lib/3scale/api/client.rb', line 772 def accept_application(account_id, application_id) response = http_client.put("/admin/api/accounts/#{account_id}/applications/#{application_id}/accept") extract(entity: 'application', from: response) end |
#activate_user(account_id, user_id) ⇒ Hash
721 722 723 724 |
# File 'lib/3scale/api/client.rb', line 721 def activate_user(account_id, user_id) response = http_client.put("/admin/api/accounts/#{account_id}/users/#{user_id}/activate") extract(entity: 'user', from: response) end |
#application_plan_as_default(service_id, application_plan_id) ⇒ Hash
435 436 437 438 |
# File 'lib/3scale/api/client.rb', line 435 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 |
#approve_account(account_id) ⇒ Hash
729 730 731 732 |
# File 'lib/3scale/api/client.rb', line 729 def approve_account(account_id) response = http_client.put("/admin/api/accounts/#{account_id}/approve") extract(entity: 'account', from: response) end |
#backend(id) ⇒ Hash
866 867 868 869 |
# File 'lib/3scale/api/client.rb', line 866 def backend(id) response = http_client.get("/admin/api/backend_apis/#{id}") extract(entity: 'backend_api', from: response) end |
#backend_mapping_rule(backend_id, mapping_rule_id) ⇒ Hash
1005 1006 1007 1008 |
# File 'lib/3scale/api/client.rb', line 1005 def backend_mapping_rule(backend_id, mapping_rule_id) response = http_client.get("/admin/api/backend_apis/#{backend_id}/mapping_rules/#{mapping_rule_id}") extract(entity: 'mapping_rule', from: response) end |
#backend_method(backend_id, metric_id, method_id) ⇒ Hash
958 959 960 961 |
# File 'lib/3scale/api/client.rb', line 958 def backend_method(backend_id, metric_id, method_id) response = http_client.get("/admin/api/backend_apis/#{backend_id}/metrics/#{metric_id}/methods/#{method_id}") extract(entity: 'method', from: response) end |
#backend_metric(backend_id, metric_id) ⇒ Hash
909 910 911 912 |
# File 'lib/3scale/api/client.rb', line 909 def backend_metric(backend_id, metric_id) response = http_client.get("/admin/api/backend_apis/#{backend_id}/metrics/#{metric_id}") extract(entity: 'metric', from: response) end |
#backend_usage(product_id, id) ⇒ Hash
1051 1052 1053 1054 |
# File 'lib/3scale/api/client.rb', line 1051 def backend_usage(product_id, id) response = http_client.get("/admin/api/services/#{product_id}/backend_usages/#{id}") extract(entity: 'backend_usage', from: response) end |
#create_activedocs(attributes) ⇒ Hash
557 558 559 560 |
# File 'lib/3scale/api/client.rb', line 557 def create_activedocs(attributes) response = http_client.post('/admin/api/active_docs', body: attributes) extract(entity: 'api_doc', from: response) end |
#create_application(account_id, attributes = {}, plan_id:, **rest) ⇒ Hash
Returns an Application.
79 80 81 82 83 |
# File 'lib/3scale/api/client.rb', line 79 def create_application(account_id, attributes = {}, plan_id:, **rest) body = { plan_id: plan_id }.merge(attributes).merge(rest) response = http_client.post("/admin/api/accounts/#{account_id}/applications", body: body) extract(entity: 'application', from: response) end |
#create_application_key(account_id, application_id, key) ⇒ Hash
763 764 765 766 |
# File 'lib/3scale/api/client.rb', line 763 def create_application_key(account_id, application_id, key) response = http_client.post("/admin/api/accounts/#{account_id}/applications/#{application_id}/keys", body: {key: key}) extract(entity: 'application', from: response) end |
#create_application_plan(service_id, attributes) ⇒ Hash
396 397 398 399 400 |
# File 'lib/3scale/api/client.rb', line 396 def create_application_plan(service_id, attributes) response = http_client.post("/admin/api/services/#{service_id}/application_plans", body: { application_plan: attributes }) extract(entity: 'application_plan', from: response) end |
#create_application_plan_feature(application_plan_id, id) ⇒ Hash
631 632 633 634 635 |
# File 'lib/3scale/api/client.rb', line 631 def create_application_plan_feature(application_plan_id, id) response = http_client.post("/admin/api/application_plans/#{application_plan_id}/features", body: { feature_id: id }) extract(entity: 'feature', from: response) end |
#create_application_plan_limit(application_plan_id, metric_id, attributes) ⇒ Hash
454 455 456 457 458 |
# File 'lib/3scale/api/client.rb', line 454 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 |
#create_backend(attributes) ⇒ Hash
851 852 853 854 |
# File 'lib/3scale/api/client.rb', line 851 def create_backend(attributes) response = http_client.post('/admin/api/backend_apis', body: attributes) extract(entity: 'backend_api', from: response) end |
#create_backend_mapping_rule(backend_id, attrs) ⇒ Hash
987 988 989 990 991 |
# File 'lib/3scale/api/client.rb', line 987 def create_backend_mapping_rule(backend_id, attrs) response = http_client.post("/admin/api/backend_apis/#{backend_id}/mapping_rules", body: attrs) extract(entity: 'mapping_rule', from: response) end |
#create_backend_method(backend_id, metric_id, attrs) ⇒ Hash
938 939 940 941 942 |
# File 'lib/3scale/api/client.rb', line 938 def create_backend_method(backend_id, metric_id, attrs) response = http_client.post("/admin/api/backend_apis/#{backend_id}/metrics/#{metric_id}/methods", body: attrs) extract(entity: 'method', from: response) end |
#create_backend_metric(id, attrs) ⇒ Hash
892 893 894 895 |
# File 'lib/3scale/api/client.rb', line 892 def create_backend_metric(id, attrs) response = http_client.post("/admin/api/backend_apis/#{id}/metrics", body: attrs) extract(entity: 'metric', from: response) end |
#create_backend_usage(product_id, attrs) ⇒ Hash
1033 1034 1035 1036 1037 |
# File 'lib/3scale/api/client.rb', line 1033 def create_backend_usage(product_id, attrs) response = http_client.post("/admin/api/services/#{product_id}/backend_usages", body: attrs) extract(entity: 'backend_usage', from: response) end |
#create_mapping_rule(service_id, attributes) ⇒ Array<Hash>
240 241 242 243 244 |
# File 'lib/3scale/api/client.rb', line 240 def create_mapping_rule(service_id, attributes) response = http_client.post("/admin/api/services/#{service_id}/proxy/mapping_rules", body: { mapping_rule: attributes }) extract(entity: 'mapping_rule', from: response) end |
#create_method(service_id, metric_id, attributes) ⇒ Hash
357 358 359 360 361 |
# File 'lib/3scale/api/client.rb', line 357 def create_method(service_id, metric_id, attributes) response = http_client.post("/admin/api/services/#{service_id}/metrics/#{metric_id}/methods", body: { metric: attributes }) extract(entity: 'method', from: response) end |
#create_metric(service_id, attributes) ⇒ Hash
292 293 294 295 |
# File 'lib/3scale/api/client.rb', line 292 def create_metric(service_id, attributes) response = http_client.post("/admin/api/services/#{service_id}/metrics", body: { metric: attributes }) extract(entity: 'metric', from: response) end |
#create_policy_registry(attributes) ⇒ Hash
805 806 807 808 |
# File 'lib/3scale/api/client.rb', line 805 def create_policy_registry(attributes) response = http_client.post('/admin/api/registry/policies', body: attributes) extract(entity: 'policy', from: response) end |
#create_pricingrule(application_plan_id, metric_id, attributes) ⇒ Array<Hash>
532 533 534 535 |
# File 'lib/3scale/api/client.rb', line 532 def create_pricingrule(application_plan_id, metric_id, attributes) response = http_client.post("/admin/api/application_plans/#{application_plan_id}/metrics/#{metric_id}/pricing_rules", body: attributes) extract(entity: 'pricing_rule', from: response) end |
#create_service(attributes) ⇒ Hash
134 135 136 137 |
# File 'lib/3scale/api/client.rb', line 134 def create_service(attributes) response = http_client.post('/admin/api/services', body: { service: attributes }) extract(entity: 'service', from: response) end |
#create_service_feature(id, attributes) ⇒ Hash
658 659 660 661 662 |
# File 'lib/3scale/api/client.rb', line 658 def create_service_feature(id, attributes) response = http_client.post("/admin/api/services/#{id}/features", body: { feature: attributes }) extract(entity: 'feature', from: response) end |
#create_user(account_id:, email:, username:, password:, **rest) ⇒ Hash
711 712 713 714 715 |
# File 'lib/3scale/api/client.rb', line 711 def create_user(account_id:, email:, username:, password:, **rest) body = { email: email, username: username, password: password }.merge(rest) response = http_client.post("/admin/api/accounts/#{account_id}/users", body: body) extract(entity: 'user', from: response) end |
#customize_application_plan(account_id, application_id) ⇒ Hash
Returns a Plan.
99 100 101 102 |
# File 'lib/3scale/api/client.rb', line 99 def customize_application_plan(account_id, application_id) response = http_client.put("/admin/api/accounts/#{account_id}/applications/#{application_id}/customize_plan") extract(entity: 'application_plan', from: response) end |
#delete_account(id) ⇒ Bool
588 589 590 591 |
# File 'lib/3scale/api/client.rb', line 588 def delete_account(id) http_client.delete("/admin/api/accounts/#{id}") true end |
#delete_activedocs(id) ⇒ Hash
573 574 575 576 |
# File 'lib/3scale/api/client.rb', line 573 def delete_activedocs(id) http_client.delete("/admin/api/active_docs/#{id}") true end |
#delete_application(account_id, id) ⇒ Bool
597 598 599 600 |
# File 'lib/3scale/api/client.rb', line 597 def delete_application(account_id, id) http_client.delete("/admin/api/accounts/#{account_id}/applications/#{id}") true end |
#delete_application_plan(service_id, application_plan_id) ⇒ Bool
426 427 428 429 |
# File 'lib/3scale/api/client.rb', line 426 def delete_application_plan(service_id, application_plan_id) http_client.delete("/admin/api/services/#{service_id}/application_plans/#{application_plan_id}") true end |
#delete_application_plan_customization(account_id, application_id) ⇒ Hash
Returns a Plan.
108 109 110 111 |
# File 'lib/3scale/api/client.rb', line 108 def delete_application_plan_customization(account_id, application_id) response = http_client.put("/admin/api/accounts/#{account_id}/applications/#{application_id}/decustomize_plan") extract(entity: 'application_plan', from: response) end |
#delete_application_plan_feature(application_plan_id, id) ⇒ Boolean
641 642 643 644 |
# File 'lib/3scale/api/client.rb', line 641 def delete_application_plan_feature(application_plan_id, id) http_client.delete("/admin/api/application_plans/#{application_plan_id}/features/#{id}") true end |
#delete_application_plan_limit(application_plan_id, metric_id, limit_id) ⇒ Object
475 476 477 478 |
# File 'lib/3scale/api/client.rb', line 475 def delete_application_plan_limit(application_plan_id, metric_id, limit_id) http_client.delete("/admin/api/application_plans/#{application_plan_id}/metrics/#{metric_id}/limits/#{limit_id}") true end |
#delete_application_plan_pricingrule(application_plan_id, metric_id, id) ⇒ Bool
542 543 544 545 |
# File 'lib/3scale/api/client.rb', line 542 def delete_application_plan_pricingrule(application_plan_id, metric_id, id) http_client.delete("/admin/api/application_plans/#{application_plan_id}/metrics/#{metric_id}/pricing_rules/#{id}") true end |
#delete_backend(id) ⇒ Object
858 859 860 861 |
# File 'lib/3scale/api/client.rb', line 858 def delete_backend(id) http_client.delete("/admin/api/backend_apis/#{id}") true end |
#delete_backend_mapping_rule(backend_id, mapping_rule_id) ⇒ Object
996 997 998 999 |
# File 'lib/3scale/api/client.rb', line 996 def delete_backend_mapping_rule(backend_id, mapping_rule_id) http_client.delete("/admin/api/backend_apis/#{backend_id}/mapping_rules/#{mapping_rule_id}") true end |
#delete_backend_method(backend_id, metric_id, method_id) ⇒ Object
948 949 950 951 |
# File 'lib/3scale/api/client.rb', line 948 def delete_backend_method(backend_id, metric_id, method_id) http_client.delete("/admin/api/backend_apis/#{backend_id}/metrics/#{metric_id}/methods/#{method_id}") true end |
#delete_backend_metric(backend_id, metric_id) ⇒ Object
900 901 902 903 |
# File 'lib/3scale/api/client.rb', line 900 def delete_backend_metric(backend_id, metric_id) http_client.delete("/admin/api/backend_apis/#{backend_id}/metrics/#{metric_id}") true end |
#delete_backend_usage(product_id, id) ⇒ Object
1042 1043 1044 1045 |
# File 'lib/3scale/api/client.rb', line 1042 def delete_backend_usage(product_id, id) http_client.delete("/admin/api/services/#{product_id}/backend_usages/#{id}") true end |
#delete_mapping_rule(service_id, id) ⇒ Array<Hash>
250 251 252 253 |
# File 'lib/3scale/api/client.rb', line 250 def delete_mapping_rule(service_id, id) http_client.delete("/admin/api/services/#{service_id}/proxy/mapping_rules/#{id}") true end |
#delete_method(service_id, parent_id, id) ⇒ Bool
368 369 370 371 |
# File 'lib/3scale/api/client.rb', line 368 def delete_method(service_id, parent_id, id) http_client.delete("/admin/api/services/#{service_id}/metrics/#{parent_id}/methods/#{id}") true end |
#delete_metric(service_id, metric_id) ⇒ Bool
315 316 317 318 |
# File 'lib/3scale/api/client.rb', line 315 def delete_metric(service_id, metric_id) http_client.delete("/admin/api/services/#{service_id}/metrics/#{metric_id}") true end |
#delete_policy_registry(id) ⇒ Object
829 830 831 832 |
# File 'lib/3scale/api/client.rb', line 829 def delete_policy_registry(id) http_client.delete("/admin/api/registry/policies/#{id}") true end |
#delete_service(id) ⇒ Object
32 33 34 35 |
# File 'lib/3scale/api/client.rb', line 32 def delete_service(id) http_client.delete("/admin/api/services/#{id}") true end |
#delete_service_feature(service_id, id) ⇒ Boolean
688 689 690 691 |
# File 'lib/3scale/api/client.rb', line 688 def delete_service_feature(service_id, id) http_client.delete("/admin/api/services/#{service_id}/features/#{id}") true end |
#find_account(criteria) ⇒ Hash
483 484 485 486 |
# File 'lib/3scale/api/client.rb', line 483 def find_account(criteria) response = http_client.get('/admin/api/accounts/find', params: criteria) extract(entity: 'account', from: response) end |
#find_application(id: nil, user_key: nil, application_id: nil, service_id: nil) ⇒ Hash
59 60 61 62 63 64 65 66 67 68 |
# File 'lib/3scale/api/client.rb', line 59 def find_application(id: nil, user_key: nil, application_id: nil, service_id: nil) params = { application_id: id, user_key: user_key, app_id: application_id, service_id: service_id, }.compact response = http_client.get('/admin/api/applications/find', params: params) extract(entity: 'application', from: response) end |
#list_account_applications(account_id) ⇒ Array<Hash>
737 738 739 740 |
# File 'lib/3scale/api/client.rb', line 737 def list_account_applications(account_id) response = http_client.get("/admin/api/accounts/#{account_id}/applications") extract(collection: 'applications', entity: 'application', from: response) end |
#list_accounts ⇒ Array<Hash>
580 581 582 583 |
# File 'lib/3scale/api/client.rb', line 580 def list_accounts response = http_client.get('/admin/api/accounts') extract(collection: 'accounts', entity: 'account', from: response) end |
#list_activedocs ⇒ Array<Hash>
549 550 551 552 |
# File 'lib/3scale/api/client.rb', line 549 def list_activedocs response = http_client.get('/admin/api/active_docs') extract(collection: 'api_docs', entity: 'api_doc', from: response) end |
#list_application_keys(account_id, application_id) ⇒ Array<Hash>
753 754 755 756 |
# File 'lib/3scale/api/client.rb', line 753 def list_application_keys(account_id, application_id) response = http_client.get("/admin/api/accounts/#{account_id}/applications/#{application_id}/keys") extract(collection: 'keys', entity: 'key', from: response) end |
#list_application_plan_limits(application_plan_id) ⇒ Array<Hash>
443 444 445 446 447 |
# File 'lib/3scale/api/client.rb', line 443 def list_application_plan_limits(application_plan_id) response = http_client.get("/admin/api/application_plans/#{application_plan_id}/limits") extract(collection: 'limits', entity: 'limit', from: response) end |
#list_application_plans ⇒ Array<Hash]
Returns Array<Hash].
744 745 746 747 |
# File 'lib/3scale/api/client.rb', line 744 def list_application_plans response = http_client.get("/admin/api/application_plans") extract(collection: 'plans', entity: 'application_plan', from: response) end |
#list_applications(service_id: nil, plan_id: nil) ⇒ Array<Hash>
41 42 43 44 45 |
# File 'lib/3scale/api/client.rb', line 41 def list_applications(service_id: nil, plan_id: nil) params = { service_id: service_id, plan_id: plan_id }.compact response = http_client.get('/admin/api/applications', params: params) extract(collection: 'applications', entity: 'application', from: response) end |
#list_backend_mapping_rules(backend_id) ⇒ List
978 979 980 981 |
# File 'lib/3scale/api/client.rb', line 978 def list_backend_mapping_rules(backend_id) response = http_client.get("/admin/api/backend_apis/#{backend_id}/mapping_rules") extract(collection: 'mapping_rules', entity: 'mapping_rule', from: response) end |
#list_backend_methods(backend_id, metric_id) ⇒ List
928 929 930 931 |
# File 'lib/3scale/api/client.rb', line 928 def list_backend_methods(backend_id, metric_id) response = http_client.get("/admin/api/backend_apis/#{backend_id}/metrics/#{metric_id}/methods") extract(collection: 'methods', entity: 'method', from: response) end |
#list_backend_metrics(id) ⇒ List
883 884 885 886 |
# File 'lib/3scale/api/client.rb', line 883 def list_backend_metrics(id) response = http_client.get("/admin/api/backend_apis/#{id}/metrics") extract(collection: 'metrics', entity: 'metric', from: response) end |
#list_backend_usages(product_id) ⇒ List
1024 1025 1026 1027 |
# File 'lib/3scale/api/client.rb', line 1024 def list_backend_usages(product_id) response = http_client.get("/admin/api/services/#{product_id}/backend_usages") extract(entity: 'backend_usage', from: response) end |
#list_backends(params = nil) ⇒ List
843 844 845 846 |
# File 'lib/3scale/api/client.rb', line 843 def list_backends(params = nil) response = http_client.get('/admin/api/backend_apis', params: params) extract(collection: 'backend_apis', entity: 'backend_api', from: response) end |
#list_features_per_application_plan(application_plan_id) ⇒ Array<Hash>
622 623 624 625 |
# File 'lib/3scale/api/client.rb', line 622 def list_features_per_application_plan(application_plan_id) response = http_client.get("/admin/api/application_plans/#{application_plan_id}/features") extract(collection: 'features', entity: 'feature', from: response) end |
#list_mapping_rules(service_id) ⇒ Array<Hash>
218 219 220 221 |
# File 'lib/3scale/api/client.rb', line 218 def list_mapping_rules(service_id) response = http_client.get("/admin/api/services/#{service_id}/proxy/mapping_rules") extract(entity: 'mapping_rule', collection: 'mapping_rules', from: response) end |
#list_methods(service_id, metric_id) ⇒ Array<Hash>
346 347 348 349 |
# File 'lib/3scale/api/client.rb', line 346 def list_methods(service_id, metric_id) response = http_client.get("/admin/api/services/#{service_id}/metrics/#{metric_id}/methods") extract(collection: 'methods', entity: 'method', from: response) end |
#list_metric_limits(application_plan_id, metric_id) ⇒ Hash
377 378 379 380 |
# File 'lib/3scale/api/client.rb', line 377 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 |
#list_metrics(service_id) ⇒ Array<Hash>
282 283 284 285 |
# File 'lib/3scale/api/client.rb', line 282 def list_metrics(service_id) response = http_client.get("/admin/api/services/#{service_id}/metrics") extract(collection: 'metrics', entity: 'metric', from: response) end |
#list_policy_registry ⇒ Array<Hash>
797 798 799 800 |
# File 'lib/3scale/api/client.rb', line 797 def list_policy_registry response = http_client.get('/admin/api/registry/policies') extract(collection: 'policies', entity: 'policy', from: response) end |
#list_pricingrules_per_application_plan(application_plan_id) ⇒ Array<Hash>
524 525 526 527 |
# File 'lib/3scale/api/client.rb', line 524 def list_pricingrules_per_application_plan(application_plan_id) response = http_client.get("/admin/api/application_plans/#{application_plan_id}/pricing_rules") extract(collection: 'pricing_rules', entity: 'pricing_rule', from: response) end |
#list_pricingrules_per_metric(application_plan_id, metric_id) ⇒ Array<Hash>
516 517 518 519 |
# File 'lib/3scale/api/client.rb', line 516 def list_pricingrules_per_metric(application_plan_id, metric_id) response = http_client.get("/admin/api/application_plans/#{application_plan_id}/metrics/#{metric_id}/pricing_rules") extract(collection: 'pricing_rules', entity: 'pricing_rule', from: response) end |
#list_service_application_plans(service_id) ⇒ Array<Hash>
385 386 387 388 389 |
# File 'lib/3scale/api/client.rb', line 385 def list_service_application_plans(service_id) response = http_client.get("/admin/api/services/#{service_id}/application_plans") extract(collection: 'plans', entity: 'application_plan', from: response) end |
#list_service_features(id) ⇒ Array<Hash>
649 650 651 652 |
# File 'lib/3scale/api/client.rb', line 649 def list_service_features(id) response = http_client.get("/admin/api/services/#{id}/features") extract(collection: 'features', entity: 'feature', from: response) end |
#list_services(params = nil) ⇒ Array<Hash>
25 26 27 28 |
# File 'lib/3scale/api/client.rb', line 25 def list_services(params = nil) response = http_client.get('/admin/api/services', params: params) extract(collection: 'services', entity: 'service', from: response) end |
#list_users(account_id, state: nil, role: nil) ⇒ Array<Hash>
698 699 700 701 702 |
# File 'lib/3scale/api/client.rb', line 698 def list_users(account_id, state: nil, role: nil) params = { state: state, role: role }.reject { |_, value| value.nil? } response = http_client.get("/admin/api/accounts/#{account_id}/users", params: params) extract(collection: 'users', entity: 'user', from: response) end |
#promote_proxy_config(service_id, environment, version, to) ⇒ Hash
191 192 193 194 195 |
# File 'lib/3scale/api/client.rb', line 191 def promote_proxy_config(service_id, environment, version, to) response = http_client.post("/admin/api/services/#{service_id}/proxy/configs/#{environment}/#{version}/promote", body: { to: to }) extract(entity: 'proxy_config', from: response) end |
#proxy_config_latest(service_id, environment = 'sandbox') ⇒ Hash
170 171 172 173 |
# File 'lib/3scale/api/client.rb', line 170 def proxy_config_latest(service_id, environment = 'sandbox') response = http_client.get("/admin/api/services/#{service_id}/proxy/configs/#{environment}/latest") extract(entity: 'proxy_config', from: response) end |
#proxy_config_list(service_id, environment = 'sandbox') ⇒ Hash
161 162 163 164 |
# File 'lib/3scale/api/client.rb', line 161 def proxy_config_list(service_id, environment = 'sandbox') response = http_client.get("/admin/api/services/#{service_id}/proxy/configs/#{environment}") extract(collection: 'proxy_configs', entity: 'proxy_config', from: response) end |
#proxy_deploy(service_id) ⇒ Hash
209 210 211 212 213 |
# File 'lib/3scale/api/client.rb', line 209 def proxy_deploy(service_id) response = http_client.post("/admin/api/services/#{service_id}/proxy/deploy", body: nil) extract(entity: 'proxy', from: response) end |
#resume_application(account_id, application_id) ⇒ Hash
Returns application Application.
790 791 792 793 |
# File 'lib/3scale/api/client.rb', line 790 def resume_application(account_id, application_id) response = http_client.put("/admin/api/accounts/#{account_id}/applications/#{application_id}/resume") extract(entity: 'application', from: response) end |
#show_account(id) ⇒ Hash
491 492 493 494 |
# File 'lib/3scale/api/client.rb', line 491 def show_account(id) response = http_client.get("/admin/api/accounts/#{id}") extract(entity: 'account', from: response) end |
#show_application(id) ⇒ Hash
50 51 52 |
# File 'lib/3scale/api/client.rb', line 50 def show_application(id) find_application(id: id) end |
#show_application_plan(service_id, id) ⇒ Hash
406 407 408 409 |
# File 'lib/3scale/api/client.rb', line 406 def show_application_plan(service_id, id) response = http_client.get("/admin/api/services/#{service_id}/application_plans/#{id}") extract(entity: 'application_plan', from: response) end |
#show_mapping_rule(service_id, id) ⇒ Array<Hash>
227 228 229 230 |
# File 'lib/3scale/api/client.rb', line 227 def show_mapping_rule(service_id, id) response = http_client.get("/admin/api/services/#{service_id}/proxy/mapping_rules/#{id}") extract(entity: 'mapping_rule', from: response) end |
#show_method(service_id, parent_id, id) ⇒ Hash
325 326 327 328 |
# File 'lib/3scale/api/client.rb', line 325 def show_method(service_id, parent_id, id) response = http_client.get("/admin/api/services/#{service_id}/metrics/#{parent_id}/methods/#{id}") extract(entity: 'method', from: response) end |
#show_metric(service_id, id) ⇒ Hash
274 275 276 277 |
# File 'lib/3scale/api/client.rb', line 274 def show_metric(service_id, id) response = http_client.get("/admin/api/services/#{service_id}/metrics/#{id}") extract(entity: 'metric', from: response) end |
#show_oidc(service_id) ⇒ Array<Hash>
605 606 607 608 |
# File 'lib/3scale/api/client.rb', line 605 def show_oidc(service_id) response = http_client.get("/admin/api/services/#{service_id}/proxy/oidc_configuration") extract(entity: 'oidc_configuration', from: response) end |
#show_policies(id) ⇒ Array
499 500 501 502 |
# File 'lib/3scale/api/client.rb', line 499 def show_policies(id) response = http_client.get("/admin/api/services/#{id}/proxy/policies") extract(entity: 'policies_config', from: response) end |
#show_policy_registry(id) ⇒ Hash
813 814 815 816 |
# File 'lib/3scale/api/client.rb', line 813 def show_policy_registry(id) response = http_client.get("/admin/api/registry/policies/#{id}") extract(entity: 'policy', from: response) end |
#show_provider ⇒ Hash
836 837 838 839 |
# File 'lib/3scale/api/client.rb', line 836 def show_provider response = http_client.get('/admin/api/provider') extract(entity: 'account', from: response) end |
#show_proxy(service_id) ⇒ Hash
152 153 154 155 |
# File 'lib/3scale/api/client.rb', line 152 def show_proxy(service_id) response = http_client.get("/admin/api/services/#{service_id}/proxy") extract(entity: 'proxy', from: response) end |
#show_proxy_config(service_id, environment, version) ⇒ Hash
180 181 182 183 |
# File 'lib/3scale/api/client.rb', line 180 def show_proxy_config(service_id, environment, version) response = http_client.get("/admin/api/services/#{service_id}/proxy/configs/#{environment}/#{version}") extract(entity: 'proxy_config', from: response) end |
#show_service(id) ⇒ Hash
18 19 20 21 |
# File 'lib/3scale/api/client.rb', line 18 def show_service(id) response = http_client.get("/admin/api/services/#{id}") extract(entity: 'service', from: response) end |
#show_service_feature(service_id, id) ⇒ Hash
668 669 670 671 |
# File 'lib/3scale/api/client.rb', line 668 def show_service_feature(service_id, id) response = http_client.get("/admin/api/services/#{service_id}/features/#{id}") extract(entity: 'feature', from: response) end |
#signup(attributes = {}, name:, username:, **rest) ⇒ Hash
Returns an Account.
123 124 125 126 127 128 |
# File 'lib/3scale/api/client.rb', line 123 def signup(attributes = {}, name:, username:, **rest) body = { org_name: name, username: username }.merge(attributes).merge(rest) response = http_client.post('/admin/api/signup', body: body) extract(entity: 'account', from: response) end |
#suspend_application(account_id, application_id) ⇒ Hash
Returns application Application.
781 782 783 784 |
# File 'lib/3scale/api/client.rb', line 781 def suspend_application(account_id, application_id) response = http_client.put("/admin/api/accounts/#{account_id}/applications/#{application_id}/suspend") extract(entity: 'application', from: response) end |
#update_activedocs(id, attributes) ⇒ Hash
566 567 568 569 |
# File 'lib/3scale/api/client.rb', line 566 def update_activedocs(id, attributes) response = http_client.put("/admin/api/active_docs/#{id}", body: attributes) extract(entity: 'api_doc', from: response) end |
#update_application(account_id, id, attrs) ⇒ Hash
Returns an Application.
90 91 92 93 |
# File 'lib/3scale/api/client.rb', line 90 def update_application(account_id, id, attrs) response = http_client.put("/admin/api/accounts/#{account_id}/applications/#{id}", body: attrs) extract(entity: 'application', from: response) end |
#update_application_plan(service_id, id, attributes) ⇒ Hash
416 417 418 419 420 |
# File 'lib/3scale/api/client.rb', line 416 def update_application_plan(service_id, id, attributes) response = http_client.patch("/admin/api/services/#{service_id}/application_plans/#{id}", body: { application_plan: attributes }) extract(entity: 'application_plan', from: response) end |
#update_application_plan_limit(application_plan_id, metric_id, limit_id, attributes) ⇒ Hash
466 467 468 469 470 |
# File 'lib/3scale/api/client.rb', line 466 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 |
#update_backend(id, attributes) ⇒ Hash
875 876 877 878 |
# File 'lib/3scale/api/client.rb', line 875 def update_backend(id, attributes) response = http_client.put("/admin/api/backend_apis/#{id}", body: attributes) extract(entity: 'backend_api', from: response) end |
#update_backend_mapping_rule(backend_id, mapping_rule_id, attributes) ⇒ Hash
1015 1016 1017 1018 1019 |
# File 'lib/3scale/api/client.rb', line 1015 def update_backend_mapping_rule(backend_id, mapping_rule_id, attributes) response = http_client.put("/admin/api/backend_apis/#{backend_id}/mapping_rules/#{mapping_rule_id}", body: attributes) extract(entity: 'mapping_rule', from: response) end |
#update_backend_method(backend_id, metric_id, method_id, attributes) ⇒ Hash
969 970 971 972 973 |
# File 'lib/3scale/api/client.rb', line 969 def update_backend_method(backend_id, metric_id, method_id, attributes) response = http_client.put("/admin/api/backend_apis/#{backend_id}/metrics/#{metric_id}/methods/#{method_id}", body: attributes) extract(entity: 'method', from: response) end |
#update_backend_metric(backend_id, metric_id, attributes) ⇒ Hash
919 920 921 922 |
# File 'lib/3scale/api/client.rb', line 919 def update_backend_metric(backend_id, metric_id, attributes) response = http_client.put("/admin/api/backend_apis/#{backend_id}/metrics/#{metric_id}", body: attributes) extract(entity: 'metric', from: response) end |
#update_backend_usage(product_id, id, attrs) ⇒ Hash
1061 1062 1063 1064 1065 |
# File 'lib/3scale/api/client.rb', line 1061 def update_backend_usage(product_id, id, attrs) response = http_client.put("/admin/api/services/#{product_id}/backend_usages/#{id}", body: attrs) extract(entity: 'backend_usage', from: response) end |
#update_mapping_rule(service_id, id, attributes) ⇒ Array<Hash>
264 265 266 267 268 |
# File 'lib/3scale/api/client.rb', line 264 def update_mapping_rule(service_id, id, attributes) response = http_client.patch("/admin/api/services/#{service_id}/mapping_rules/#{id}", body: { mapping_rule: attributes }) extract(entity: 'mapping_rule', from: response) end |
#update_method(service_id, parent_id, id, attributes) ⇒ Hash
336 337 338 339 340 |
# File 'lib/3scale/api/client.rb', line 336 def update_method(service_id, parent_id, id, attributes) response = http_client.put("/admin/api/services/#{service_id}/metrics/#{parent_id}/methods/#{id}", body: { metric: attributes }) extract(entity: 'method', from: response) end |
#update_metric(service_id, metric_id, attributes) ⇒ Hash
305 306 307 308 309 |
# File 'lib/3scale/api/client.rb', line 305 def update_metric(service_id, metric_id, attributes) response = http_client.put("/admin/api/services/#{service_id}/metrics/#{metric_id}", body: { metric: attributes }) extract(entity: 'metric', from: response) end |
#update_oidc(service_id, attributes) ⇒ Hash
613 614 615 616 617 |
# File 'lib/3scale/api/client.rb', line 613 def update_oidc(service_id, attributes) response = http_client.patch("/admin/api/services/#{service_id}/proxy/oidc_configuration", body: { oidc_configuration: attributes }) extract(entity: 'oidc_configuration', from: response) end |
#update_policies(id, policies_config) ⇒ Array
507 508 509 510 |
# File 'lib/3scale/api/client.rb', line 507 def update_policies(id, policies_config) response = http_client.put("/admin/api/services/#{id}/proxy/policies", body: policies_config) extract(entity: 'policies_config', from: response) end |
#update_policy_registry(id, attributes) ⇒ Hash
822 823 824 825 |
# File 'lib/3scale/api/client.rb', line 822 def update_policy_registry(id, attributes) response = http_client.put("/admin/api/registry/policies/#{id}", body: attributes) extract(entity: 'policy', from: response) end |
#update_proxy(service_id, attributes) ⇒ Hash
200 201 202 203 204 |
# File 'lib/3scale/api/client.rb', line 200 def update_proxy(service_id, attributes) response = http_client.patch("/admin/api/services/#{service_id}/proxy", body: { proxy: attributes }) extract(entity: 'proxy', from: response) end |
#update_service(service_id, attributes) ⇒ Hash
144 145 146 147 |
# File 'lib/3scale/api/client.rb', line 144 def update_service(service_id, attributes) response = http_client.put("/admin/api/services/#{service_id}", body: { service: attributes }) extract(entity: 'service', from: response) end |
#update_service_feature(service_id, id, attributes) ⇒ Hash
678 679 680 681 682 |
# File 'lib/3scale/api/client.rb', line 678 def update_service_feature(service_id, id, attributes) response = http_client.put("/admin/api/services/#{service_id}/features/#{id}", body: { feature: attributes }) extract(entity: 'feature', from: response) end |