Class: ThreeScaleToolbox::Commands::PlansCommand::Import::ImportLimitsStep

Inherits:
Object
  • Object
show all
Includes:
Step
Defined in:
lib/3scale_toolbox/commands/plans_command/import/import_plan_limits_step.rb

Instance Attribute Summary

Attributes included from Step

#context

Instance Method Summary collapse

Methods included from Step

#artifacts_resource, #file, #find_feature_by_system_name, #initialize, #plan, #plan_system_name, #resource_backend_methods, #resource_backend_metrics, #resource_features, #resource_limits, #resource_methods, #resource_metrics, #resource_plan, #resource_pricing_rules, #resource_product_methods, #resource_product_metrics, #result, #service, #service_features, #service_system_name, #threescale_client

Instance Method Details

#callObject

Writes Plan limits



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/3scale_toolbox/commands/plans_command/import/import_plan_limits_step.rb', line 9

def call
  # SET semantics
  # First, delete existing limits
  # Second, add new limits
  plan.limits.each do |limit|
    limit.delete()
    puts "Deleted existing plan limit: [metric: #{limit.metric_id}, #{limit.attrs}]"
  end

  resource_limits_processed.each do |limit_attrs|
    metric_id = limit_attrs.delete('metric_id')
    plan.create_limit(metric_id, limit_attrs)
    puts "Created plan limit: [metric: #{metric_id}, #{limit_attrs}]"
  end
end