Class: Stigg::Resources::V1::Usage
- Inherits:
-
Object
- Object
- Stigg::Resources::V1::Usage
- Defined in:
- lib/stigg/resources/v1/usage.rb
Overview
Operations related to usage & metering
Instance Method Summary collapse
-
#history(feature_id, customer_id:, start_date:, end_date: nil, group_by: nil, resource_id: nil, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Models::V1::UsageHistoryResponse
Some parameter documentations has been truncated, see Models::V1::UsageHistoryParams for more details.
-
#initialize(client:) ⇒ Usage
constructor
private
A new instance of Usage.
-
#report(usages:, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Models::V1::UsageReportResponse
Some parameter documentations has been truncated, see Models::V1::UsageReportParams for more details.
Constructor Details
#initialize(client:) ⇒ Usage
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Usage.
97 98 99 |
# File 'lib/stigg/resources/v1/usage.rb', line 97 def initialize(client:) @client = client end |
Instance Method Details
#history(feature_id, customer_id:, start_date:, end_date: nil, group_by: nil, resource_id: nil, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Models::V1::UsageHistoryResponse
Some parameter documentations has been truncated, see Models::V1::UsageHistoryParams for more details.
Retrieves historical usage data for a customer’s metered feature over time.
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/stigg/resources/v1/usage.rb', line 36 def history(feature_id, params) query_params = [:start_date, :end_date, :group_by, :resource_id] parsed, = Stigg::V1::UsageHistoryParams.dump_request(params) query = Stigg::Internal::Util.encode_query_params(parsed.slice(*query_params)) customer_id = parsed.delete(:customer_id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :get, path: ["api/v1/usage/%1$s/history/%2$s", customer_id, feature_id], query: query.transform_keys( start_date: "startDate", end_date: "endDate", group_by: "groupBy", resource_id: "resourceId" ), headers: parsed.except(*query_params).transform_keys( x_account_id: "x-account-id", x_environment_id: "x-environment-id" ), model: Stigg::Models::V1::UsageHistoryResponse, options: ) end |
#report(usages:, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Models::V1::UsageReportResponse
Some parameter documentations has been truncated, see Models::V1::UsageReportParams for more details.
Reports usage measurements for metered features. The reported usage is used to track, limit, and bill customer consumption.
81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/stigg/resources/v1/usage.rb', line 81 def report(params) parsed, = Stigg::V1::UsageReportParams.dump_request(params) header_params = {x_account_id: "x-account-id", x_environment_id: "x-environment-id"} @client.request( method: :post, path: "api/v1/usage", headers: parsed.slice(*header_params.keys).transform_keys(header_params), body: parsed.except(*header_params.keys), model: Stigg::Models::V1::UsageReportResponse, options: ) end |