Class: TogaiClient::PricingRulesApi

Inherits:
Object
  • Object
show all
Defined in:
lib/togai_client/api/pricing_rules_api.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_client = ApiClient.default) ⇒ PricingRulesApi

Returns a new instance of PricingRulesApi.



19
20
21
# File 'lib/togai_client/api/pricing_rules_api.rb', line 19

def initialize(api_client = ApiClient.default)
  @api_client = api_client
end

Instance Attribute Details

#api_clientObject

Returns the value of attribute api_client.



17
18
19
# File 'lib/togai_client/api/pricing_rules_api.rb', line 17

def api_client
  @api_client
end

Instance Method Details

#list_pricing_rules_by_schedule_id(price_plan_id, pricing_schedule_id, opts = {}) ⇒ PricingRulesPaginatedResponse

(DEPRECATED) List pricing rules by price plan id and pricing schedule id Get a list of pricing rules using price plan id and pricing schedule id

Parameters:

  • price_plan_id (String)
  • pricing_schedule_id (String)
  • opts (Hash) (defaults to: {})

    the optional parameters

Options Hash (opts):

  • :invoice_timing (String)

    Optional field to filter pricing rules based on invoice timing

Returns:



29
30
31
32
# File 'lib/togai_client/api/pricing_rules_api.rb', line 29

def list_pricing_rules_by_schedule_id(price_plan_id, pricing_schedule_id, opts = {})
  data, _status_code, _headers = list_pricing_rules_by_schedule_id_with_http_info(price_plan_id, pricing_schedule_id, opts)
  data
end

#list_pricing_rules_by_schedule_id_with_http_info(price_plan_id, pricing_schedule_id, opts = {}) ⇒ Array<(PricingRulesPaginatedResponse, Integer, Hash)>

(DEPRECATED) List pricing rules by price plan id and pricing schedule id Get a list of pricing rules using price plan id and pricing schedule id

Parameters:

  • price_plan_id (String)
  • pricing_schedule_id (String)
  • opts (Hash) (defaults to: {})

    the optional parameters

Options Hash (opts):

  • :invoice_timing (String)

    Optional field to filter pricing rules based on invoice timing

Returns:



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# File 'lib/togai_client/api/pricing_rules_api.rb', line 41

def list_pricing_rules_by_schedule_id_with_http_info(price_plan_id, pricing_schedule_id, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: PricingRulesApi.list_pricing_rules_by_schedule_id ...'
  end
  # verify the required parameter 'price_plan_id' is set
  if @api_client.config.client_side_validation && price_plan_id.nil?
    fail ArgumentError, "Missing the required parameter 'price_plan_id' when calling PricingRulesApi.list_pricing_rules_by_schedule_id"
  end
  if @api_client.config.client_side_validation && price_plan_id.to_s.length > 50
    fail ArgumentError, 'invalid value for "price_plan_id" when calling PricingRulesApi.list_pricing_rules_by_schedule_id, the character length must be smaller than or equal to 50.'
  end

  # verify the required parameter 'pricing_schedule_id' is set
  if @api_client.config.client_side_validation && pricing_schedule_id.nil?
    fail ArgumentError, "Missing the required parameter 'pricing_schedule_id' when calling PricingRulesApi.list_pricing_rules_by_schedule_id"
  end
  if @api_client.config.client_side_validation && pricing_schedule_id.to_s.length > 50
    fail ArgumentError, 'invalid value for "pricing_schedule_id" when calling PricingRulesApi.list_pricing_rules_by_schedule_id, the character length must be smaller than or equal to 50.'
  end

  allowable_values = ["IN_ADVANCE", "IN_ARREARS"]
  if @api_client.config.client_side_validation && opts[:'invoice_timing'] && !allowable_values.include?(opts[:'invoice_timing'])
    fail ArgumentError, "invalid value for \"invoice_timing\", must be one of #{allowable_values}"
  end
  # resource path
  local_var_path = '/price_plans/{price_plan_id}/pricing_schedules/{pricing_schedule_id}/pricing_rules'.sub('{' + 'price_plan_id' + '}', CGI.escape(price_plan_id.to_s)).sub('{' + 'pricing_schedule_id' + '}', CGI.escape(pricing_schedule_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'invoice_timing'] = opts[:'invoice_timing'] if !opts[:'invoice_timing'].nil?

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body]

  # return_type
  return_type = opts[:debug_return_type] || 'PricingRulesPaginatedResponse'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['bearerAuth']

  new_options = opts.merge(
    :operation => :"PricingRulesApi.list_pricing_rules_by_schedule_id",
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type
  )

  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: PricingRulesApi#list_pricing_rules_by_schedule_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end