Class: MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/metronome_sdk/models/v1/usage_search_response.rb

Defined Under Namespace

Modules: AggregationType

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, inspect, #inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

#initialize(id: , name: , aggregate: nil, aggregate_keys: nil, aggregation_key: nil, aggregation_type: nil, archived_at: nil, custom_fields: nil, event_type_filter: nil, filter: nil, group_by: nil, group_keys: nil, property_filters: nil, sql: nil) ⇒ Object

Some parameter documentations has been truncated, see MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric for more details.

Parameters:

  • id (String) (defaults to: )
  • name (String) (defaults to: )
  • aggregate (String) (defaults to: nil)

    (DEPRECATED) use aggregation_type instead

  • aggregate_keys (Array<String>) (defaults to: nil)

    (DEPRECATED) use aggregation_key instead

  • aggregation_key (String) (defaults to: nil)

    A key that specifies which property of the event is used to aggregate data. This

  • aggregation_type (Symbol, MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::AggregationType) (defaults to: nil)

    Specifies the type of aggregation performed on matching events.

  • archived_at (Time) (defaults to: nil)

    RFC 3339 timestamp indicating when the billable metric was archived. If not prov

  • custom_fields (Hash{Symbol=>String}) (defaults to: nil)

    Custom fields to be added eg. { “key1”: “value1”, “key2”: “value2” }

  • event_type_filter (MetronomeSDK::Models::EventTypeFilter) (defaults to: nil)

    An optional filtering rule to match the ‘event_type’ property of an event.

  • filter (Hash{Symbol=>Object}) (defaults to: nil)

    (DEPRECATED) use property_filters & event_type_filter instead

  • group_by (Array<String>) (defaults to: nil)

    (DEPRECATED) use group_keys instead

  • group_keys (Array<Array<String>>) (defaults to: nil)

    Property names that are used to group usage costs on an invoice. Each entry repr

  • property_filters (Array<MetronomeSDK::Models::PropertyFilter>) (defaults to: nil)

    A list of filters to match events to this billable metric. Each filter defines a

  • sql (String) (defaults to: nil)

    The SQL query associated with the billable metric



81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
# File 'lib/metronome_sdk/models/v1/usage_search_response.rb', line 81

class MatchedBillableMetric < MetronomeSDK::Internal::Type::BaseModel
  # @!attribute id
  #
  #   @return [String]
  required :id, String

  # @!attribute name
  #
  #   @return [String]
  required :name, String

  # @!attribute aggregate
  #   (DEPRECATED) use aggregation_type instead
  #
  #   @return [String, nil]
  optional :aggregate, String

  # @!attribute aggregate_keys
  #   (DEPRECATED) use aggregation_key instead
  #
  #   @return [Array<String>, nil]
  optional :aggregate_keys, MetronomeSDK::Internal::Type::ArrayOf[String]

  # @!attribute aggregation_key
  #   A key that specifies which property of the event is used to aggregate data. This
  #   key must be one of the property filter names and is not applicable when the
  #   aggregation type is 'count'.
  #
  #   @return [String, nil]
  optional :aggregation_key, String

  # @!attribute aggregation_type
  #   Specifies the type of aggregation performed on matching events.
  #
  #   @return [Symbol, MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::AggregationType, nil]
  optional :aggregation_type,
           enum: -> { MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::AggregationType }

  # @!attribute archived_at
  #   RFC 3339 timestamp indicating when the billable metric was archived. If not
  #   provided, the billable metric is not archived.
  #
  #   @return [Time, nil]
  optional :archived_at, Time

  # @!attribute custom_fields
  #   Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
  #
  #   @return [Hash{Symbol=>String}, nil]
  optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]

  # @!attribute event_type_filter
  #   An optional filtering rule to match the 'event_type' property of an event.
  #
  #   @return [MetronomeSDK::Models::EventTypeFilter, nil]
  optional :event_type_filter, -> { MetronomeSDK::EventTypeFilter }

  # @!attribute filter
  #   (DEPRECATED) use property_filters & event_type_filter instead
  #
  #   @return [Hash{Symbol=>Object}, nil]
  optional :filter, MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]

  # @!attribute group_by
  #   (DEPRECATED) use group_keys instead
  #
  #   @return [Array<String>, nil]
  optional :group_by, MetronomeSDK::Internal::Type::ArrayOf[String]

  # @!attribute group_keys
  #   Property names that are used to group usage costs on an invoice. Each entry
  #   represents a set of properties used to slice events into distinct buckets.
  #
  #   @return [Array<Array<String>>, nil]
  optional :group_keys, MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Internal::Type::ArrayOf[String]]

  # @!attribute property_filters
  #   A list of filters to match events to this billable metric. Each filter defines a
  #   rule on an event property. All rules must pass for the event to match the
  #   billable metric.
  #
  #   @return [Array<MetronomeSDK::Models::PropertyFilter>, nil]
  optional :property_filters, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::PropertyFilter] }

  # @!attribute sql
  #   The SQL query associated with the billable metric
  #
  #   @return [String, nil]
  optional :sql, String

  # @!method initialize(id:, name:, aggregate: nil, aggregate_keys: nil, aggregation_key: nil, aggregation_type: nil, archived_at: nil, custom_fields: nil, event_type_filter: nil, filter: nil, group_by: nil, group_keys: nil, property_filters: nil, sql: nil)
  #   Some parameter documentations has been truncated, see
  #   {MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric} for
  #   more details.
  #
  #   @param id [String]
  #
  #   @param name [String]
  #
  #   @param aggregate [String] (DEPRECATED) use aggregation_type instead
  #
  #   @param aggregate_keys [Array<String>] (DEPRECATED) use aggregation_key instead
  #
  #   @param aggregation_key [String] A key that specifies which property of the event is used to aggregate data. This
  #
  #   @param aggregation_type [Symbol, MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::AggregationType] Specifies the type of aggregation performed on matching events.
  #
  #   @param archived_at [Time] RFC 3339 timestamp indicating when the billable metric was archived. If not prov
  #
  #   @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
  #
  #   @param event_type_filter [MetronomeSDK::Models::EventTypeFilter] An optional filtering rule to match the 'event_type' property of an event.
  #
  #   @param filter [Hash{Symbol=>Object}] (DEPRECATED) use property_filters & event_type_filter instead
  #
  #   @param group_by [Array<String>] (DEPRECATED) use group_keys instead
  #
  #   @param group_keys [Array<Array<String>>] Property names that are used to group usage costs on an invoice. Each entry repr
  #
  #   @param property_filters [Array<MetronomeSDK::Models::PropertyFilter>] A list of filters to match events to this billable metric. Each filter defines a
  #
  #   @param sql [String] The SQL query associated with the billable metric

  # Specifies the type of aggregation performed on matching events.
  #
  # @see MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric#aggregation_type
  module AggregationType
    extend MetronomeSDK::Internal::Type::Enum

    COUNT = :COUNT
    LATEST = :LATEST
    MAX = :MAX
    SUM = :SUM
    UNIQUE = :UNIQUE

    # @!method self.values
    #   @return [Array<Symbol>]
  end
end

Instance Attribute Details

#aggregateString?

(DEPRECATED) use aggregation_type instead

Returns:

  • (String, nil)


96
# File 'lib/metronome_sdk/models/v1/usage_search_response.rb', line 96

optional :aggregate, String

#aggregate_keysArray<String>?

(DEPRECATED) use aggregation_key instead

Returns:

  • (Array<String>, nil)


102
# File 'lib/metronome_sdk/models/v1/usage_search_response.rb', line 102

optional :aggregate_keys, MetronomeSDK::Internal::Type::ArrayOf[String]

#aggregation_keyString?

A key that specifies which property of the event is used to aggregate data. This key must be one of the property filter names and is not applicable when the aggregation type is ‘count’.

Returns:

  • (String, nil)


110
# File 'lib/metronome_sdk/models/v1/usage_search_response.rb', line 110

optional :aggregation_key, String

#aggregation_typeSymbol, ...

Specifies the type of aggregation performed on matching events.



116
117
# File 'lib/metronome_sdk/models/v1/usage_search_response.rb', line 116

optional :aggregation_type,
enum: -> { MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::AggregationType }

#archived_atTime?

RFC 3339 timestamp indicating when the billable metric was archived. If not provided, the billable metric is not archived.

Returns:

  • (Time, nil)


124
# File 'lib/metronome_sdk/models/v1/usage_search_response.rb', line 124

optional :archived_at, Time

#custom_fieldsHash{Symbol=>String}?

Custom fields to be added eg. { “key1”: “value1”, “key2”: “value2” }

Returns:

  • (Hash{Symbol=>String}, nil)


130
# File 'lib/metronome_sdk/models/v1/usage_search_response.rb', line 130

optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]

#event_type_filterMetronomeSDK::Models::EventTypeFilter?

An optional filtering rule to match the ‘event_type’ property of an event.



136
# File 'lib/metronome_sdk/models/v1/usage_search_response.rb', line 136

optional :event_type_filter, -> { MetronomeSDK::EventTypeFilter }

#filterHash{Symbol=>Object}?

(DEPRECATED) use property_filters & event_type_filter instead

Returns:

  • (Hash{Symbol=>Object}, nil)


142
# File 'lib/metronome_sdk/models/v1/usage_search_response.rb', line 142

optional :filter, MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]

#group_byArray<String>?

(DEPRECATED) use group_keys instead

Returns:

  • (Array<String>, nil)


148
# File 'lib/metronome_sdk/models/v1/usage_search_response.rb', line 148

optional :group_by, MetronomeSDK::Internal::Type::ArrayOf[String]

#group_keysArray<Array<String>>?

Property names that are used to group usage costs on an invoice. Each entry represents a set of properties used to slice events into distinct buckets.

Returns:

  • (Array<Array<String>>, nil)


155
# File 'lib/metronome_sdk/models/v1/usage_search_response.rb', line 155

optional :group_keys, MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Internal::Type::ArrayOf[String]]

#idString

Returns:

  • (String)


85
# File 'lib/metronome_sdk/models/v1/usage_search_response.rb', line 85

required :id, String

#nameString

Returns:

  • (String)


90
# File 'lib/metronome_sdk/models/v1/usage_search_response.rb', line 90

required :name, String

#property_filtersArray<MetronomeSDK::Models::PropertyFilter>?

A list of filters to match events to this billable metric. Each filter defines a rule on an event property. All rules must pass for the event to match the billable metric.

Returns:



163
# File 'lib/metronome_sdk/models/v1/usage_search_response.rb', line 163

optional :property_filters, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::PropertyFilter] }

#sqlString?

The SQL query associated with the billable metric

Returns:

  • (String, nil)


169
# File 'lib/metronome_sdk/models/v1/usage_search_response.rb', line 169

optional :sql, String