Method: TogaiClient::UsageMetersApi#update_usage_meter_with_http_info

Defined in:
lib/togai_client/api/usage_meters_api.rb

#update_usage_meter_with_http_info(usage_meter_id, update_usage_meter_request, opts = {}) ⇒ Array<(UsageMeter, Integer, Hash)>

Update an usage meter This API lets you update an existing usage meter.

Parameters:

  • usage_meter_id (String)
  • update_usage_meter_request (UpdateUsageMeterRequest)

    Payload to create usage meter

  • opts (Hash) (defaults to: {})

    the optional parameters

Returns:

  • (Array<(UsageMeter, Integer, Hash)>)

    UsageMeter data, response status code and response headers



455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
# File 'lib/togai_client/api/usage_meters_api.rb', line 455

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

  # verify the required parameter 'update_usage_meter_request' is set
  if @api_client.config.client_side_validation && update_usage_meter_request.nil?
    fail ArgumentError, "Missing the required parameter 'update_usage_meter_request' when calling UsageMetersApi.update_usage_meter"
  end
  # resource path
  local_var_path = '/usage_meters/{usage_meter_id}'.sub('{' + 'usage_meter_id' + '}', CGI.escape(usage_meter_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}

  # 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']
  # HTTP header 'Content-Type'
  content_type = @api_client.select_header_content_type(['application/json'])
  if !content_type.nil?
      header_params['Content-Type'] = content_type
  end

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

  # http body (model)
  post_body = opts[:debug_body] || @api_client.object_to_http_body(update_usage_meter_request)

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

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

  new_options = opts.merge(
    :operation => :"UsageMetersApi.update_usage_meter",
    :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(:PATCH, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: UsageMetersApi#update_usage_meter\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end