3scale_toolbox 0.15.0 → 0.18.2
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/3scale_toolbox.gemspec +2 -2
- data/README.md +15 -9
- data/lib/3scale_toolbox.rb +3 -1
- data/lib/3scale_toolbox/3scale_client_factory.rb +3 -4
- data/lib/3scale_toolbox/cli.rb +4 -0
- data/lib/3scale_toolbox/cli/custom_table_printer.rb +32 -0
- data/lib/3scale_toolbox/cli/error_handler.rb +17 -14
- data/lib/3scale_toolbox/cli/json_printer.rb +13 -0
- data/lib/3scale_toolbox/cli/output_flag.rb +20 -0
- data/lib/3scale_toolbox/cli/yaml_printer.rb +13 -0
- data/lib/3scale_toolbox/commands.rb +7 -1
- data/lib/3scale_toolbox/commands/activedocs_command/apply_command.rb +33 -10
- data/lib/3scale_toolbox/commands/activedocs_command/create_command.rb +22 -7
- data/lib/3scale_toolbox/commands/activedocs_command/list_command.rb +10 -17
- data/lib/3scale_toolbox/commands/application_command/apply_command.rb +27 -4
- data/lib/3scale_toolbox/commands/application_command/create_command.rb +16 -1
- data/lib/3scale_toolbox/commands/application_command/list_command.rb +10 -13
- data/lib/3scale_toolbox/commands/application_command/show_command.rb +8 -14
- data/lib/3scale_toolbox/commands/backend_command.rb +22 -0
- data/lib/3scale_toolbox/commands/backend_command/copy_command.rb +65 -0
- data/lib/3scale_toolbox/commands/backend_command/copy_command/copy_mapping_rules_task.rb +36 -0
- data/lib/3scale_toolbox/commands/backend_command/copy_command/copy_methods_task.rb +35 -0
- data/lib/3scale_toolbox/commands/backend_command/copy_command/copy_metrics_task.rb +30 -0
- data/lib/3scale_toolbox/commands/backend_command/copy_command/create_or_update_target_backend_task.rb +46 -0
- data/lib/3scale_toolbox/commands/backend_command/copy_command/task.rb +67 -0
- data/lib/3scale_toolbox/commands/copy_command.rb +2 -2
- data/lib/3scale_toolbox/commands/copy_command/service_command.rb +40 -0
- data/lib/3scale_toolbox/commands/import_command/issuer_type_transformer.rb +16 -0
- data/lib/3scale_toolbox/commands/import_command/openapi.rb +6 -2
- data/lib/3scale_toolbox/commands/import_command/openapi/create_mapping_rule_step.rb +2 -1
- data/lib/3scale_toolbox/commands/import_command/openapi/create_method_step.rb +5 -14
- data/lib/3scale_toolbox/commands/import_command/openapi/step.rb +4 -0
- data/lib/3scale_toolbox/commands/import_command/openapi/update_service_proxy_step.rb +1 -0
- data/lib/3scale_toolbox/commands/methods_command/apply_command.rb +28 -8
- data/lib/3scale_toolbox/commands/methods_command/create_command.rb +23 -3
- data/lib/3scale_toolbox/commands/methods_command/delete_command.rb +1 -1
- data/lib/3scale_toolbox/commands/methods_command/list_command.rb +7 -13
- data/lib/3scale_toolbox/commands/metrics_command/apply_command.rb +26 -4
- data/lib/3scale_toolbox/commands/metrics_command/create_command.rb +23 -1
- data/lib/3scale_toolbox/commands/metrics_command/list_command.rb +7 -12
- data/lib/3scale_toolbox/commands/plans_command/apply_command.rb +36 -7
- data/lib/3scale_toolbox/commands/plans_command/create_command.rb +23 -1
- data/lib/3scale_toolbox/commands/plans_command/export/read_plan_limits_step.rb +1 -1
- data/lib/3scale_toolbox/commands/plans_command/export/read_plan_methods_step.rb +2 -2
- data/lib/3scale_toolbox/commands/plans_command/export/read_plan_metrics_step.rb +2 -2
- data/lib/3scale_toolbox/commands/plans_command/export/read_plan_pricing_rules_step.rb +1 -2
- data/lib/3scale_toolbox/commands/plans_command/export/step.rb +8 -20
- data/lib/3scale_toolbox/commands/plans_command/import/import_plan_limits_step.rb +12 -14
- data/lib/3scale_toolbox/commands/plans_command/import/import_plan_metrics_step.rb +6 -13
- data/lib/3scale_toolbox/commands/plans_command/import/import_plan_pricing_rules_step.rb +12 -20
- data/lib/3scale_toolbox/commands/plans_command/import/step.rb +2 -22
- data/lib/3scale_toolbox/commands/plans_command/list_command.rb +8 -13
- data/lib/3scale_toolbox/commands/plans_command/show_command.rb +7 -15
- data/lib/3scale_toolbox/commands/policies_command.rb +24 -0
- data/lib/3scale_toolbox/commands/policies_command/export_command.rb +98 -0
- data/lib/3scale_toolbox/commands/policies_command/import_command.rb +61 -0
- data/lib/3scale_toolbox/commands/product_command.rb +26 -0
- data/lib/3scale_toolbox/commands/product_command/copy_command.rb +82 -0
- data/lib/3scale_toolbox/commands/product_command/copy_command/copy_backends_task.rb +88 -0
- data/lib/3scale_toolbox/commands/product_command/copy_command/delete_target_backend_usages_task.rb +48 -0
- data/lib/3scale_toolbox/commands/product_command/export_command.rb +81 -0
- data/lib/3scale_toolbox/commands/product_command/import_command.rb +125 -0
- data/lib/3scale_toolbox/commands/proxy_config_command.rb +5 -0
- data/lib/3scale_toolbox/commands/proxy_config_command/deploy_command.rb +54 -0
- data/lib/3scale_toolbox/commands/proxy_config_command/export_command.rb +74 -0
- data/lib/3scale_toolbox/commands/proxy_config_command/helper.rb +15 -0
- data/lib/3scale_toolbox/commands/proxy_config_command/list_command.rb +13 -29
- data/lib/3scale_toolbox/commands/proxy_config_command/show_command.rb +20 -23
- data/lib/3scale_toolbox/commands/service_command.rb +7 -5
- data/lib/3scale_toolbox/commands/service_command/apply_command.rb +69 -58
- data/lib/3scale_toolbox/commands/service_command/copy_command.rb +95 -0
- data/lib/3scale_toolbox/commands/service_command/copy_command/bump_proxy_version_task.rb +36 -0
- data/lib/3scale_toolbox/commands/service_command/copy_command/copy_activedocs_task.rb +49 -0
- data/lib/3scale_toolbox/commands/service_command/copy_command/copy_app_plans_task.rb +35 -0
- data/lib/3scale_toolbox/commands/service_command/copy_command/copy_limits_task.rb +38 -0
- data/lib/3scale_toolbox/commands/service_command/copy_command/copy_mapping_rules_task.rb +35 -0
- data/lib/3scale_toolbox/commands/service_command/copy_command/copy_methods_task.rb +37 -0
- data/lib/3scale_toolbox/commands/service_command/copy_command/copy_metrics_task.rb +37 -0
- data/lib/3scale_toolbox/commands/service_command/copy_command/copy_policies_task.rb +17 -0
- data/lib/3scale_toolbox/commands/service_command/copy_command/copy_pricingrules_task.rb +41 -0
- data/lib/3scale_toolbox/commands/service_command/copy_command/copy_service_proxy_task.rb +32 -0
- data/lib/3scale_toolbox/commands/service_command/copy_command/create_or_update_service_task.rb +49 -0
- data/lib/3scale_toolbox/commands/service_command/copy_command/destroy_mapping_rules_task.rb +38 -0
- data/lib/3scale_toolbox/commands/service_command/copy_command/task.rb +85 -0
- data/lib/3scale_toolbox/commands/service_command/create_command.rb +58 -44
- data/lib/3scale_toolbox/commands/service_command/delete_command.rb +31 -33
- data/lib/3scale_toolbox/commands/service_command/list_command.rb +24 -34
- data/lib/3scale_toolbox/commands/service_command/show_command.rb +39 -44
- data/lib/3scale_toolbox/commands/update_command.rb +3 -3
- data/lib/3scale_toolbox/commands/update_command/{update_service.rb → service_command.rb} +22 -18
- data/lib/3scale_toolbox/commands/update_command/service_command/copy_service_settings_task.rb +35 -0
- data/lib/3scale_toolbox/commands/update_command/service_command/delete_activedocs_task.rb +24 -0
- data/lib/3scale_toolbox/crds.rb +16 -0
- data/lib/3scale_toolbox/crds/application_plan_dump.rb +19 -0
- data/lib/3scale_toolbox/crds/backend_dump.rb +39 -0
- data/lib/3scale_toolbox/crds/backend_mapping_rule_dump.rb +26 -0
- data/lib/3scale_toolbox/crds/backend_method_dump.rb +12 -0
- data/lib/3scale_toolbox/crds/backend_metric_dump.rb +13 -0
- data/lib/3scale_toolbox/crds/backend_parser.rb +55 -0
- data/lib/3scale_toolbox/crds/backend_usage_dump.rb +11 -0
- data/lib/3scale_toolbox/crds/limit_dump.rb +37 -0
- data/lib/3scale_toolbox/crds/mapping_rule_dump.rb +26 -0
- data/lib/3scale_toolbox/crds/method_dump.rb +12 -0
- data/lib/3scale_toolbox/crds/metric_dump.rb +13 -0
- data/lib/3scale_toolbox/crds/pricing_rule_dump.rb +38 -0
- data/lib/3scale_toolbox/crds/product_deployment_parser.rb +329 -0
- data/lib/3scale_toolbox/crds/product_dump.rb +157 -0
- data/lib/3scale_toolbox/crds/product_parser.rb +114 -0
- data/lib/3scale_toolbox/crds/remote.rb +682 -0
- data/lib/3scale_toolbox/entities.rb +8 -0
- data/lib/3scale_toolbox/entities/activedocs.rb +12 -0
- data/lib/3scale_toolbox/entities/application_plan.rb +74 -39
- data/lib/3scale_toolbox/entities/backend.rb +187 -0
- data/lib/3scale_toolbox/entities/backend_mapping_rule.rb +102 -0
- data/lib/3scale_toolbox/entities/backend_method.rb +99 -0
- data/lib/3scale_toolbox/entities/backend_metric.rb +98 -0
- data/lib/3scale_toolbox/entities/backend_usage.rb +105 -0
- data/lib/3scale_toolbox/entities/limit.rb +71 -0
- data/lib/3scale_toolbox/entities/mapping_rule.rb +90 -0
- data/lib/3scale_toolbox/entities/method.rb +33 -19
- data/lib/3scale_toolbox/entities/metric.rb +29 -18
- data/lib/3scale_toolbox/entities/pricing_rule.rb +63 -0
- data/lib/3scale_toolbox/entities/proxy_config.rb +0 -1
- data/lib/3scale_toolbox/entities/service.rb +166 -48
- data/lib/3scale_toolbox/error.rb +53 -0
- data/lib/3scale_toolbox/helper.rb +17 -0
- data/lib/3scale_toolbox/openapi/oas3.rb +1 -1
- data/lib/3scale_toolbox/proxy_logger.rb +5 -1
- data/lib/3scale_toolbox/remote_cache.rb +157 -0
- data/lib/3scale_toolbox/remotes.rb +2 -2
- data/lib/3scale_toolbox/version.rb +1 -1
- data/licenses.xml +113 -45
- metadata +75 -26
- data/lib/3scale_toolbox/commands/copy_command/copy_service.rb +0 -144
- data/lib/3scale_toolbox/tasks.rb +0 -15
- data/lib/3scale_toolbox/tasks/bump_proxy_version_task.rb +0 -32
- data/lib/3scale_toolbox/tasks/copy_activedocs_task.rb +0 -42
- data/lib/3scale_toolbox/tasks/copy_app_plans_task.rb +0 -31
- data/lib/3scale_toolbox/tasks/copy_limits_task.rb +0 -36
- data/lib/3scale_toolbox/tasks/copy_mapping_rules_task.rb +0 -32
- data/lib/3scale_toolbox/tasks/copy_methods_task.rb +0 -36
- data/lib/3scale_toolbox/tasks/copy_metrics_task.rb +0 -33
- data/lib/3scale_toolbox/tasks/copy_policies_task.rb +0 -13
- data/lib/3scale_toolbox/tasks/copy_pricingrules_task.rb +0 -41
- data/lib/3scale_toolbox/tasks/copy_service_proxy_task.rb +0 -13
- data/lib/3scale_toolbox/tasks/copy_service_settings_task.rb +0 -38
- data/lib/3scale_toolbox/tasks/copy_task.rb +0 -66
- data/lib/3scale_toolbox/tasks/delete_activedocs_task.rb +0 -22
- data/lib/3scale_toolbox/tasks/destroy_mapping_rules_task.rb +0 -22
- data/lib/3scale_toolbox/tasks/helper_task.rb +0 -25
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: 3scale_toolbox
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.18.2
|
|
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: 2021-05-03 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: bundler
|
|
@@ -45,14 +45,14 @@ dependencies:
|
|
|
45
45
|
requirements:
|
|
46
46
|
- - "~>"
|
|
47
47
|
- !ruby/object:Gem::Version
|
|
48
|
-
version: '
|
|
48
|
+
version: '13.0'
|
|
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: '
|
|
55
|
+
version: '13.0'
|
|
56
56
|
- !ruby/object:Gem::Dependency
|
|
57
57
|
name: rspec
|
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -87,14 +87,14 @@ dependencies:
|
|
|
87
87
|
requirements:
|
|
88
88
|
- - "~>"
|
|
89
89
|
- !ruby/object:Gem::Version
|
|
90
|
-
version:
|
|
90
|
+
version: '1.4'
|
|
91
91
|
type: :runtime
|
|
92
92
|
prerelease: false
|
|
93
93
|
version_requirements: !ruby/object:Gem::Requirement
|
|
94
94
|
requirements:
|
|
95
95
|
- - "~>"
|
|
96
96
|
- !ruby/object:Gem::Version
|
|
97
|
-
version:
|
|
97
|
+
version: '1.4'
|
|
98
98
|
- !ruby/object:Gem::Dependency
|
|
99
99
|
name: cri
|
|
100
100
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -158,7 +158,11 @@ files:
|
|
|
158
158
|
- lib/3scale_toolbox/attribute_filters/service_id_from_ref_filter.rb
|
|
159
159
|
- lib/3scale_toolbox/base_command.rb
|
|
160
160
|
- lib/3scale_toolbox/cli.rb
|
|
161
|
+
- lib/3scale_toolbox/cli/custom_table_printer.rb
|
|
161
162
|
- lib/3scale_toolbox/cli/error_handler.rb
|
|
163
|
+
- lib/3scale_toolbox/cli/json_printer.rb
|
|
164
|
+
- lib/3scale_toolbox/cli/output_flag.rb
|
|
165
|
+
- lib/3scale_toolbox/cli/yaml_printer.rb
|
|
162
166
|
- lib/3scale_toolbox/commands.rb
|
|
163
167
|
- lib/3scale_toolbox/commands/3scale_command.rb
|
|
164
168
|
- lib/3scale_toolbox/commands/account_command.rb
|
|
@@ -174,11 +178,19 @@ files:
|
|
|
174
178
|
- lib/3scale_toolbox/commands/application_command/delete_command.rb
|
|
175
179
|
- lib/3scale_toolbox/commands/application_command/list_command.rb
|
|
176
180
|
- lib/3scale_toolbox/commands/application_command/show_command.rb
|
|
181
|
+
- lib/3scale_toolbox/commands/backend_command.rb
|
|
182
|
+
- lib/3scale_toolbox/commands/backend_command/copy_command.rb
|
|
183
|
+
- lib/3scale_toolbox/commands/backend_command/copy_command/copy_mapping_rules_task.rb
|
|
184
|
+
- lib/3scale_toolbox/commands/backend_command/copy_command/copy_methods_task.rb
|
|
185
|
+
- lib/3scale_toolbox/commands/backend_command/copy_command/copy_metrics_task.rb
|
|
186
|
+
- lib/3scale_toolbox/commands/backend_command/copy_command/create_or_update_target_backend_task.rb
|
|
187
|
+
- lib/3scale_toolbox/commands/backend_command/copy_command/task.rb
|
|
177
188
|
- lib/3scale_toolbox/commands/copy_command.rb
|
|
178
|
-
- lib/3scale_toolbox/commands/copy_command/
|
|
189
|
+
- lib/3scale_toolbox/commands/copy_command/service_command.rb
|
|
179
190
|
- lib/3scale_toolbox/commands/help_command.rb
|
|
180
191
|
- lib/3scale_toolbox/commands/import_command.rb
|
|
181
192
|
- lib/3scale_toolbox/commands/import_command/import_csv.rb
|
|
193
|
+
- lib/3scale_toolbox/commands/import_command/issuer_type_transformer.rb
|
|
182
194
|
- lib/3scale_toolbox/commands/import_command/openapi.rb
|
|
183
195
|
- lib/3scale_toolbox/commands/import_command/openapi/create_activedocs_step.rb
|
|
184
196
|
- lib/3scale_toolbox/commands/import_command/openapi/create_mapping_rule_step.rb
|
|
@@ -223,9 +235,21 @@ files:
|
|
|
223
235
|
- lib/3scale_toolbox/commands/plans_command/import_command.rb
|
|
224
236
|
- lib/3scale_toolbox/commands/plans_command/list_command.rb
|
|
225
237
|
- lib/3scale_toolbox/commands/plans_command/show_command.rb
|
|
238
|
+
- lib/3scale_toolbox/commands/policies_command.rb
|
|
239
|
+
- lib/3scale_toolbox/commands/policies_command/export_command.rb
|
|
240
|
+
- lib/3scale_toolbox/commands/policies_command/import_command.rb
|
|
226
241
|
- lib/3scale_toolbox/commands/policy_registry_command.rb
|
|
227
242
|
- lib/3scale_toolbox/commands/policy_registry_command/copy_command.rb
|
|
243
|
+
- lib/3scale_toolbox/commands/product_command.rb
|
|
244
|
+
- lib/3scale_toolbox/commands/product_command/copy_command.rb
|
|
245
|
+
- lib/3scale_toolbox/commands/product_command/copy_command/copy_backends_task.rb
|
|
246
|
+
- lib/3scale_toolbox/commands/product_command/copy_command/delete_target_backend_usages_task.rb
|
|
247
|
+
- lib/3scale_toolbox/commands/product_command/export_command.rb
|
|
248
|
+
- lib/3scale_toolbox/commands/product_command/import_command.rb
|
|
228
249
|
- lib/3scale_toolbox/commands/proxy_config_command.rb
|
|
250
|
+
- lib/3scale_toolbox/commands/proxy_config_command/deploy_command.rb
|
|
251
|
+
- lib/3scale_toolbox/commands/proxy_config_command/export_command.rb
|
|
252
|
+
- lib/3scale_toolbox/commands/proxy_config_command/helper.rb
|
|
229
253
|
- lib/3scale_toolbox/commands/proxy_config_command/list_command.rb
|
|
230
254
|
- lib/3scale_toolbox/commands/proxy_config_command/promote_command.rb
|
|
231
255
|
- lib/3scale_toolbox/commands/proxy_config_command/show_command.rb
|
|
@@ -236,21 +260,62 @@ files:
|
|
|
236
260
|
- lib/3scale_toolbox/commands/remote_command/remote_rename.rb
|
|
237
261
|
- lib/3scale_toolbox/commands/service_command.rb
|
|
238
262
|
- lib/3scale_toolbox/commands/service_command/apply_command.rb
|
|
263
|
+
- lib/3scale_toolbox/commands/service_command/copy_command.rb
|
|
264
|
+
- lib/3scale_toolbox/commands/service_command/copy_command/bump_proxy_version_task.rb
|
|
265
|
+
- lib/3scale_toolbox/commands/service_command/copy_command/copy_activedocs_task.rb
|
|
266
|
+
- lib/3scale_toolbox/commands/service_command/copy_command/copy_app_plans_task.rb
|
|
267
|
+
- lib/3scale_toolbox/commands/service_command/copy_command/copy_limits_task.rb
|
|
268
|
+
- lib/3scale_toolbox/commands/service_command/copy_command/copy_mapping_rules_task.rb
|
|
269
|
+
- lib/3scale_toolbox/commands/service_command/copy_command/copy_methods_task.rb
|
|
270
|
+
- lib/3scale_toolbox/commands/service_command/copy_command/copy_metrics_task.rb
|
|
271
|
+
- lib/3scale_toolbox/commands/service_command/copy_command/copy_policies_task.rb
|
|
272
|
+
- lib/3scale_toolbox/commands/service_command/copy_command/copy_pricingrules_task.rb
|
|
273
|
+
- lib/3scale_toolbox/commands/service_command/copy_command/copy_service_proxy_task.rb
|
|
274
|
+
- lib/3scale_toolbox/commands/service_command/copy_command/create_or_update_service_task.rb
|
|
275
|
+
- lib/3scale_toolbox/commands/service_command/copy_command/destroy_mapping_rules_task.rb
|
|
276
|
+
- lib/3scale_toolbox/commands/service_command/copy_command/task.rb
|
|
239
277
|
- lib/3scale_toolbox/commands/service_command/create_command.rb
|
|
240
278
|
- lib/3scale_toolbox/commands/service_command/delete_command.rb
|
|
241
279
|
- lib/3scale_toolbox/commands/service_command/list_command.rb
|
|
242
280
|
- lib/3scale_toolbox/commands/service_command/show_command.rb
|
|
243
281
|
- lib/3scale_toolbox/commands/update_command.rb
|
|
244
|
-
- lib/3scale_toolbox/commands/update_command/
|
|
282
|
+
- lib/3scale_toolbox/commands/update_command/service_command.rb
|
|
283
|
+
- lib/3scale_toolbox/commands/update_command/service_command/copy_service_settings_task.rb
|
|
284
|
+
- lib/3scale_toolbox/commands/update_command/service_command/delete_activedocs_task.rb
|
|
245
285
|
- lib/3scale_toolbox/configuration.rb
|
|
286
|
+
- lib/3scale_toolbox/crds.rb
|
|
287
|
+
- lib/3scale_toolbox/crds/application_plan_dump.rb
|
|
288
|
+
- lib/3scale_toolbox/crds/backend_dump.rb
|
|
289
|
+
- lib/3scale_toolbox/crds/backend_mapping_rule_dump.rb
|
|
290
|
+
- lib/3scale_toolbox/crds/backend_method_dump.rb
|
|
291
|
+
- lib/3scale_toolbox/crds/backend_metric_dump.rb
|
|
292
|
+
- lib/3scale_toolbox/crds/backend_parser.rb
|
|
293
|
+
- lib/3scale_toolbox/crds/backend_usage_dump.rb
|
|
294
|
+
- lib/3scale_toolbox/crds/limit_dump.rb
|
|
295
|
+
- lib/3scale_toolbox/crds/mapping_rule_dump.rb
|
|
296
|
+
- lib/3scale_toolbox/crds/method_dump.rb
|
|
297
|
+
- lib/3scale_toolbox/crds/metric_dump.rb
|
|
298
|
+
- lib/3scale_toolbox/crds/pricing_rule_dump.rb
|
|
299
|
+
- lib/3scale_toolbox/crds/product_deployment_parser.rb
|
|
300
|
+
- lib/3scale_toolbox/crds/product_dump.rb
|
|
301
|
+
- lib/3scale_toolbox/crds/product_parser.rb
|
|
302
|
+
- lib/3scale_toolbox/crds/remote.rb
|
|
246
303
|
- lib/3scale_toolbox/entities.rb
|
|
247
304
|
- lib/3scale_toolbox/entities/account.rb
|
|
248
305
|
- lib/3scale_toolbox/entities/activedocs.rb
|
|
249
306
|
- lib/3scale_toolbox/entities/application.rb
|
|
250
307
|
- lib/3scale_toolbox/entities/application_plan.rb
|
|
308
|
+
- lib/3scale_toolbox/entities/backend.rb
|
|
309
|
+
- lib/3scale_toolbox/entities/backend_mapping_rule.rb
|
|
310
|
+
- lib/3scale_toolbox/entities/backend_method.rb
|
|
311
|
+
- lib/3scale_toolbox/entities/backend_metric.rb
|
|
312
|
+
- lib/3scale_toolbox/entities/backend_usage.rb
|
|
251
313
|
- lib/3scale_toolbox/entities/base_entity.rb
|
|
314
|
+
- lib/3scale_toolbox/entities/limit.rb
|
|
315
|
+
- lib/3scale_toolbox/entities/mapping_rule.rb
|
|
252
316
|
- lib/3scale_toolbox/entities/method.rb
|
|
253
317
|
- lib/3scale_toolbox/entities/metric.rb
|
|
318
|
+
- lib/3scale_toolbox/entities/pricing_rule.rb
|
|
254
319
|
- lib/3scale_toolbox/entities/proxy_config.rb
|
|
255
320
|
- lib/3scale_toolbox/entities/service.rb
|
|
256
321
|
- lib/3scale_toolbox/error.rb
|
|
@@ -259,24 +324,9 @@ files:
|
|
|
259
324
|
- lib/3scale_toolbox/openapi/oas3.rb
|
|
260
325
|
- lib/3scale_toolbox/openapi/swagger.rb
|
|
261
326
|
- lib/3scale_toolbox/proxy_logger.rb
|
|
327
|
+
- lib/3scale_toolbox/remote_cache.rb
|
|
262
328
|
- lib/3scale_toolbox/remotes.rb
|
|
263
329
|
- lib/3scale_toolbox/resource_reader.rb
|
|
264
|
-
- lib/3scale_toolbox/tasks.rb
|
|
265
|
-
- lib/3scale_toolbox/tasks/bump_proxy_version_task.rb
|
|
266
|
-
- lib/3scale_toolbox/tasks/copy_activedocs_task.rb
|
|
267
|
-
- lib/3scale_toolbox/tasks/copy_app_plans_task.rb
|
|
268
|
-
- lib/3scale_toolbox/tasks/copy_limits_task.rb
|
|
269
|
-
- lib/3scale_toolbox/tasks/copy_mapping_rules_task.rb
|
|
270
|
-
- lib/3scale_toolbox/tasks/copy_methods_task.rb
|
|
271
|
-
- lib/3scale_toolbox/tasks/copy_metrics_task.rb
|
|
272
|
-
- lib/3scale_toolbox/tasks/copy_policies_task.rb
|
|
273
|
-
- lib/3scale_toolbox/tasks/copy_pricingrules_task.rb
|
|
274
|
-
- lib/3scale_toolbox/tasks/copy_service_proxy_task.rb
|
|
275
|
-
- lib/3scale_toolbox/tasks/copy_service_settings_task.rb
|
|
276
|
-
- lib/3scale_toolbox/tasks/copy_task.rb
|
|
277
|
-
- lib/3scale_toolbox/tasks/delete_activedocs_task.rb
|
|
278
|
-
- lib/3scale_toolbox/tasks/destroy_mapping_rules_task.rb
|
|
279
|
-
- lib/3scale_toolbox/tasks/helper_task.rb
|
|
280
330
|
- lib/3scale_toolbox/version.rb
|
|
281
331
|
- licenses.xml
|
|
282
332
|
- resources/oas3_meta_schema.json
|
|
@@ -300,8 +350,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
300
350
|
- !ruby/object:Gem::Version
|
|
301
351
|
version: '0'
|
|
302
352
|
requirements: []
|
|
303
|
-
|
|
304
|
-
rubygems_version: 2.7.6
|
|
353
|
+
rubygems_version: 3.1.2
|
|
305
354
|
signing_key:
|
|
306
355
|
specification_version: 4
|
|
307
356
|
summary: 3scale Toolbox.
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
module ThreeScaleToolbox
|
|
2
|
-
module Commands
|
|
3
|
-
module CopyCommand
|
|
4
|
-
class CopyServiceSubcommand < Cri::CommandRunner
|
|
5
|
-
include ThreeScaleToolbox::Command
|
|
6
|
-
|
|
7
|
-
def self.command
|
|
8
|
-
Cri::Command.define do
|
|
9
|
-
name 'service'
|
|
10
|
-
usage 'service [opts] -s <src> -d <dst> <source-service>'
|
|
11
|
-
summary 'copy service'
|
|
12
|
-
description <<-HEREDOC
|
|
13
|
-
This command makes a copy of the referenced service.
|
|
14
|
-
Target service will be searched by source service system name. System name can be overriden with `--target_system_name` option.
|
|
15
|
-
If a service with the selected `system_name` is not found, it will be created.
|
|
16
|
-
\n Components of the service being copied:
|
|
17
|
-
\nservice settings
|
|
18
|
-
\nproxy settings
|
|
19
|
-
\npricing rules
|
|
20
|
-
\nactivedocs
|
|
21
|
-
\nmetrics
|
|
22
|
-
\nmethods
|
|
23
|
-
\napplication plans
|
|
24
|
-
\nmapping rules
|
|
25
|
-
HEREDOC
|
|
26
|
-
|
|
27
|
-
option :s, :source, '3scale source instance. Url or remote name', argument: :required
|
|
28
|
-
option :d, :destination, '3scale target instance. Url or remote name', argument: :required
|
|
29
|
-
option :t, 'target_system_name', 'Target system name. Default to source system name', argument: :required
|
|
30
|
-
flag :f, :force, 'Overwrites the mapping rules by deleting all rules from target service first'
|
|
31
|
-
flag :r, 'rules-only', 'Only mapping rules are copied'
|
|
32
|
-
param :source_service
|
|
33
|
-
|
|
34
|
-
runner CopyServiceSubcommand
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def run
|
|
39
|
-
target_service = Entities::Service.find(remote: target_remote,
|
|
40
|
-
ref: target_service_ref)
|
|
41
|
-
|
|
42
|
-
target_service_new = target_service.nil?
|
|
43
|
-
if target_service_new
|
|
44
|
-
target_service = Entities::Service.create(remote: target_remote,
|
|
45
|
-
service_params: create_service_attrs)
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
if target_service == source_service
|
|
49
|
-
raise ThreeScaleToolbox::Error, 'Source and destination services are the same: ' \
|
|
50
|
-
"ID: #{source_service.id} system_name: #{source_service.attrs['system_name']}"
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
puts "new service id #{target_service.id}"
|
|
54
|
-
|
|
55
|
-
context = create_context(source_service, target_service)
|
|
56
|
-
|
|
57
|
-
tasks = []
|
|
58
|
-
unless option_rules_only
|
|
59
|
-
tasks << Tasks::CopyServiceSettingsTask.new(context)
|
|
60
|
-
tasks << Tasks::CopyServiceProxyTask.new(context)
|
|
61
|
-
tasks << Tasks::CopyMethodsTask.new(context)
|
|
62
|
-
tasks << Tasks::CopyMetricsTask.new(context)
|
|
63
|
-
tasks << Tasks::CopyApplicationPlansTask.new(context)
|
|
64
|
-
tasks << Tasks::CopyLimitsTask.new(context)
|
|
65
|
-
tasks << Tasks::CopyPoliciesTask.new(context)
|
|
66
|
-
tasks << Tasks::CopyPricingRulesTask.new(context)
|
|
67
|
-
tasks << Tasks::CopyActiveDocsTask.new(context)
|
|
68
|
-
end
|
|
69
|
-
tasks << Tasks::DestroyMappingRulesTask.new(context) if option_force || target_service_new
|
|
70
|
-
tasks << Tasks::CopyMappingRulesTask.new(context)
|
|
71
|
-
tasks.each(&:call)
|
|
72
|
-
|
|
73
|
-
# This should be the last step
|
|
74
|
-
Tasks::BumpProxyVersionTask.new(service: target_service).call
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
private
|
|
78
|
-
|
|
79
|
-
def create_context(source, target)
|
|
80
|
-
{
|
|
81
|
-
source: source,
|
|
82
|
-
target: target
|
|
83
|
-
}
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
def option_rules_only
|
|
87
|
-
options[:'rules-only']
|
|
88
|
-
end
|
|
89
|
-
|
|
90
|
-
def option_force
|
|
91
|
-
options[:force]
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
def option_target_system_name
|
|
95
|
-
options[:target_system_name]
|
|
96
|
-
end
|
|
97
|
-
|
|
98
|
-
def create_service_attrs
|
|
99
|
-
# minimum required attrs.
|
|
100
|
-
# Service settings will be updated in later task
|
|
101
|
-
# These attrs are only when service is created
|
|
102
|
-
{
|
|
103
|
-
'name' => source_service.attrs.fetch('name'),
|
|
104
|
-
'system_name' => target_service_ref
|
|
105
|
-
}.compact
|
|
106
|
-
end
|
|
107
|
-
|
|
108
|
-
def source_service
|
|
109
|
-
@source_service ||= find_source_service
|
|
110
|
-
end
|
|
111
|
-
|
|
112
|
-
def find_source_service
|
|
113
|
-
Entities::Service.find(remote: source_remote, ref: source_service_ref).tap do |svc|
|
|
114
|
-
raise ThreeScaleToolbox::Error, "Service #{source_service_ref} does not exist" if svc.nil?
|
|
115
|
-
end
|
|
116
|
-
end
|
|
117
|
-
|
|
118
|
-
def source_remote
|
|
119
|
-
@source_remote ||= threescale_client(source)
|
|
120
|
-
end
|
|
121
|
-
|
|
122
|
-
def target_remote
|
|
123
|
-
@target_remote ||= threescale_client(target)
|
|
124
|
-
end
|
|
125
|
-
|
|
126
|
-
def source_service_ref
|
|
127
|
-
arguments[:source_service]
|
|
128
|
-
end
|
|
129
|
-
|
|
130
|
-
def target_service_ref
|
|
131
|
-
option_target_system_name || source_service.attrs.fetch('system_name')
|
|
132
|
-
end
|
|
133
|
-
|
|
134
|
-
def source
|
|
135
|
-
fetch_required_option(:source)
|
|
136
|
-
end
|
|
137
|
-
|
|
138
|
-
def target
|
|
139
|
-
fetch_required_option(:destination)
|
|
140
|
-
end
|
|
141
|
-
end
|
|
142
|
-
end
|
|
143
|
-
end
|
|
144
|
-
end
|
data/lib/3scale_toolbox/tasks.rb
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
require '3scale_toolbox/tasks/copy_task'
|
|
2
|
-
require '3scale_toolbox/tasks/helper_task'
|
|
3
|
-
require '3scale_toolbox/tasks/copy_service_proxy_task'
|
|
4
|
-
require '3scale_toolbox/tasks/copy_metrics_task'
|
|
5
|
-
require '3scale_toolbox/tasks/copy_methods_task'
|
|
6
|
-
require '3scale_toolbox/tasks/copy_app_plans_task'
|
|
7
|
-
require '3scale_toolbox/tasks/copy_limits_task'
|
|
8
|
-
require '3scale_toolbox/tasks/destroy_mapping_rules_task'
|
|
9
|
-
require '3scale_toolbox/tasks/copy_mapping_rules_task'
|
|
10
|
-
require '3scale_toolbox/tasks/copy_service_settings_task'
|
|
11
|
-
require '3scale_toolbox/tasks/copy_policies_task'
|
|
12
|
-
require '3scale_toolbox/tasks/copy_pricingrules_task'
|
|
13
|
-
require '3scale_toolbox/tasks/delete_activedocs_task'
|
|
14
|
-
require '3scale_toolbox/tasks/copy_activedocs_task'
|
|
15
|
-
require '3scale_toolbox/tasks/bump_proxy_version_task'
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
module ThreeScaleToolbox
|
|
2
|
-
module Tasks
|
|
3
|
-
class BumpProxyVersionTask
|
|
4
|
-
attr_reader :service
|
|
5
|
-
|
|
6
|
-
def initialize(service:)
|
|
7
|
-
@service = service
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
##
|
|
11
|
-
# bumps proxy config version to propagate proxy settings updates
|
|
12
|
-
def call
|
|
13
|
-
# Proxy update is the mechanism to increase version of the proxy,
|
|
14
|
-
# Hence propagating (mapping rules, poicies, oidc, auth) update to
|
|
15
|
-
# latest proxy config, making available to gateway.
|
|
16
|
-
|
|
17
|
-
# Currently it is done always because mapping rules, at least, are always created
|
|
18
|
-
# So they need to be propagated
|
|
19
|
-
proxy_settings = {
|
|
20
|
-
# Adding harmless attribute to avoid empty body
|
|
21
|
-
# update_proxy cannot be done with empty body
|
|
22
|
-
# and must be done to increase proxy version
|
|
23
|
-
# If proxy settings have not been changed since last update,
|
|
24
|
-
# this request will not have effect and proxy config version will not be bumped.
|
|
25
|
-
service_id: service.id
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
service.update_proxy proxy_settings
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
module ThreeScaleToolbox
|
|
2
|
-
module Tasks
|
|
3
|
-
class CopyActiveDocsTask
|
|
4
|
-
include CopyTask
|
|
5
|
-
|
|
6
|
-
def call
|
|
7
|
-
puts 'copying all service ActiveDocs'
|
|
8
|
-
|
|
9
|
-
source.activedocs.each(&method(:apply_target_activedoc))
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
private
|
|
13
|
-
|
|
14
|
-
def apply_target_activedoc(attrs)
|
|
15
|
-
activedocs = Entities::ActiveDocs.find_by_system_name(remote: target.remote,
|
|
16
|
-
system_name: attrs['system_name'])
|
|
17
|
-
if activedocs.nil?
|
|
18
|
-
Entities::ActiveDocs.create(remote: target.remote, attrs: create_attrs(attrs))
|
|
19
|
-
elsif activedocs.attrs.fetch('service_id') == target.id
|
|
20
|
-
activedocs.update(update_attrs(attrs))
|
|
21
|
-
else
|
|
22
|
-
# activedocs with same system_name exists, but now owned by target service
|
|
23
|
-
new_attrs = create_attrs(attrs)
|
|
24
|
-
new_attrs['system_name'] = "#{attrs['system_name']}#{target.id}"
|
|
25
|
-
Entities::ActiveDocs.create(remote: target.remote, attrs: new_attrs)
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def update_attrs(old_attrs)
|
|
30
|
-
create_attrs(old_attrs)
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def create_attrs(old_attrs)
|
|
34
|
-
# keep same system_name
|
|
35
|
-
new_attrs = old_attrs.reject { |key, _| %w[id created_at updated_at].include? key }
|
|
36
|
-
new_attrs.tap do |attrs|
|
|
37
|
-
attrs['service_id'] = target.id
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
end
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
module ThreeScaleToolbox
|
|
2
|
-
module Tasks
|
|
3
|
-
class CopyApplicationPlansTask
|
|
4
|
-
include CopyTask
|
|
5
|
-
|
|
6
|
-
def call
|
|
7
|
-
source_plans = source.plans
|
|
8
|
-
target_plans = target.plans
|
|
9
|
-
missing_plans = missing_app_plans(source_plans, target_plans)
|
|
10
|
-
missing_plans.each do |plan|
|
|
11
|
-
plan.delete('links')
|
|
12
|
-
plan.delete('default') # TODO: handle default plan
|
|
13
|
-
if plan.delete('custom') # TODO: what to do with custom plans?
|
|
14
|
-
puts "skipping custom plan #{plan}"
|
|
15
|
-
else
|
|
16
|
-
ThreeScaleToolbox::Entities::ApplicationPlan.create(service: target, plan_attrs: plan)
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
puts "target service missing #{missing_plans.size} application plans"
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
private
|
|
23
|
-
|
|
24
|
-
def missing_app_plans(source_plans, target_plans)
|
|
25
|
-
ThreeScaleToolbox::Helper.array_difference(source_plans, target_plans) do |src, target|
|
|
26
|
-
ThreeScaleToolbox::Helper.compare_hashes(src, target, ['system_name'])
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|