Class: MetronomeSDK::Models::V1::Contracts::ProductCreateParams

Inherits:
Internal::Type::BaseModel show all
Extended by:
Internal::Type::RequestParameters::Converter
Includes:
Internal::Type::RequestParameters
Defined in:
lib/metronome_sdk/models/v1/contracts/product_create_params.rb

Overview

Defined Under Namespace

Modules: Type

Instance Attribute Summary collapse

Attributes included from Internal::Type::RequestParameters

#request_options

Method Summary

Methods included from Internal::Type::RequestParameters::Converter

dump_request

Methods included from Internal::Type::RequestParameters

included

Methods inherited from Internal::Type::BaseModel

#==, ==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, #initialize, 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

This class inherits a constructor from MetronomeSDK::Internal::Type::BaseModel

Instance Attribute Details

#billable_metric_idString?

Required for USAGE products

Returns:

  • (String, nil)


27
# File 'lib/metronome_sdk/models/v1/contracts/product_create_params.rb', line 27

optional :billable_metric_id, String

#composite_product_idsArray<String>?

Required for COMPOSITE products

Returns:

  • (Array<String>, nil)


33
# File 'lib/metronome_sdk/models/v1/contracts/product_create_params.rb', line 33

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

#composite_tagsArray<String>?

Required for COMPOSITE products

Returns:

  • (Array<String>, nil)


39
# File 'lib/metronome_sdk/models/v1/contracts/product_create_params.rb', line 39

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

#custom_fieldsHash{Symbol=>String}?

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

Returns:

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


45
# File 'lib/metronome_sdk/models/v1/contracts/product_create_params.rb', line 45

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

#exclude_free_usageBoolean?

Beta feature only available for composite products. If true, products with $0 will not be included when computing composite usage. Defaults to false

Returns:

  • (Boolean, nil)


52
# File 'lib/metronome_sdk/models/v1/contracts/product_create_params.rb', line 52

optional :exclude_free_usage, MetronomeSDK::Internal::Type::Boolean

#is_refundableBoolean?

This field’s availability is dependent on your client’s configuration. Defaults to true.

Returns:

  • (Boolean, nil)


59
# File 'lib/metronome_sdk/models/v1/contracts/product_create_params.rb', line 59

optional :is_refundable, MetronomeSDK::Internal::Type::Boolean

#nameString

displayed on invoices

Returns:

  • (String)


16
# File 'lib/metronome_sdk/models/v1/contracts/product_create_params.rb', line 16

required :name, String

#netsuite_internal_item_idString?

This field’s availability is dependent on your client’s configuration.

Returns:

  • (String, nil)


65
# File 'lib/metronome_sdk/models/v1/contracts/product_create_params.rb', line 65

optional :netsuite_internal_item_id, String

#netsuite_overage_item_idString?

This field’s availability is dependent on your client’s configuration.

Returns:

  • (String, nil)


71
# File 'lib/metronome_sdk/models/v1/contracts/product_create_params.rb', line 71

optional :netsuite_overage_item_id, String

#presentation_group_keyArray<String>?

For USAGE products only. Groups usage line items on invoices. The superset of values in the pricing group key and presentation group key must be set as one compound group key on the billable metric.

Returns:

  • (Array<String>, nil)


79
# File 'lib/metronome_sdk/models/v1/contracts/product_create_params.rb', line 79

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

#pricing_group_keyArray<String>?

For USAGE products only. If set, pricing for this product will be determined for each pricing_group_key value, as opposed to the product as a whole. The superset of values in the pricing group key and presentation group key must be set as one compound group key on the billable metric.

Returns:

  • (Array<String>, nil)


88
# File 'lib/metronome_sdk/models/v1/contracts/product_create_params.rb', line 88

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

#quantity_conversionMetronomeSDK::Models::V1::Contracts::QuantityConversion?

Optional. Only valid for USAGE products. If provided, the quantity will be converted using the provided conversion factor and operation. For example, if the operation is “multiply” and the conversion factor is 100, then the quantity will be multiplied by 100. This can be used in cases where data is sent in one unit and priced in another. For example, data could be sent in MB and priced in GB. In this case, the conversion factor would be 1024 and the operation would be “divide”.



100
# File 'lib/metronome_sdk/models/v1/contracts/product_create_params.rb', line 100

optional :quantity_conversion, -> { MetronomeSDK::V1::Contracts::QuantityConversion }, nil?: true

#quantity_roundingMetronomeSDK::Models::V1::Contracts::QuantityRounding?

Optional. Only valid for USAGE products. If provided, the quantity will be rounded using the provided rounding method and decimal places. For example, if the method is “round up” and the decimal places is 0, then the quantity will be rounded up to the nearest integer.



109
# File 'lib/metronome_sdk/models/v1/contracts/product_create_params.rb', line 109

optional :quantity_rounding, -> { MetronomeSDK::V1::Contracts::QuantityRounding }, nil?: true

#tagsArray<String>?

Returns:

  • (Array<String>, nil)


114
# File 'lib/metronome_sdk/models/v1/contracts/product_create_params.rb', line 114

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

#typeSymbol, MetronomeSDK::Models::V1::Contracts::ProductCreateParams::Type



21
# File 'lib/metronome_sdk/models/v1/contracts/product_create_params.rb', line 21

required :type, enum: -> { MetronomeSDK::V1::Contracts::ProductCreateParams::Type }