metronome-sdk 2.1.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +65 -0
  3. data/README.md +10 -1
  4. data/lib/metronome_sdk/internal/transport/base_client.rb +7 -1
  5. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +18 -12
  6. data/lib/metronome_sdk/internal/util.rb +7 -2
  7. data/lib/metronome_sdk/models/commit.rb +69 -1
  8. data/lib/metronome_sdk/models/contract_v2.rb +45 -2
  9. data/lib/metronome_sdk/models/credit.rb +69 -1
  10. data/lib/metronome_sdk/models/rate.rb +1 -11
  11. data/lib/metronome_sdk/models/subscription.rb +32 -5
  12. data/lib/metronome_sdk/models/v1/alert_create_params.rb +33 -1
  13. data/lib/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rb +10 -1
  14. data/lib/metronome_sdk/models/v1/contract_create_params.rb +136 -20
  15. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +1 -11
  16. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +1 -11
  17. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +1 -11
  18. data/lib/metronome_sdk/models/v1/custom_field_add_key_params.rb +4 -0
  19. data/lib/metronome_sdk/models/v1/custom_field_delete_values_params.rb +4 -0
  20. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +4 -0
  21. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +4 -0
  22. data/lib/metronome_sdk/models/v1/custom_field_remove_key_params.rb +4 -0
  23. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +4 -0
  24. data/lib/metronome_sdk/models/v1/customer_create_params.rb +94 -2
  25. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_response.rb +111 -0
  26. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +32 -1
  27. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +15 -1
  28. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +15 -1
  29. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +33 -1
  30. data/lib/metronome_sdk/models/v1/customers/invoice.rb +71 -3
  31. data/lib/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rb +8 -1
  32. data/lib/metronome_sdk/models/v1/payment.rb +40 -1
  33. data/lib/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rb +10 -1
  34. data/lib/metronome_sdk/models/v1/settings/billing_provider_create_params.rb +1 -0
  35. data/lib/metronome_sdk/models/v1/usage_search_response.rb +6 -3
  36. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +17 -1
  37. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +17 -1
  38. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +285 -22
  39. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +177 -3
  40. data/lib/metronome_sdk/resources/v1/alerts.rb +3 -1
  41. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -3
  42. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +1 -1
  43. data/lib/metronome_sdk/resources/v1/contracts.rb +6 -2
  44. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +3 -1
  45. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +8 -4
  46. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +7 -7
  47. data/lib/metronome_sdk/resources/v1/customers/plans.rb +5 -5
  48. data/lib/metronome_sdk/resources/v1/customers.rb +12 -10
  49. data/lib/metronome_sdk/resources/v1/plans.rb +2 -2
  50. data/lib/metronome_sdk/resources/v1/settings.rb +3 -1
  51. data/lib/metronome_sdk/resources/v1/usage.rb +7 -7
  52. data/lib/metronome_sdk/resources/v2/contracts.rb +10 -2
  53. data/lib/metronome_sdk/version.rb +1 -1
  54. data/lib/metronome_sdk.rb +3 -0
  55. data/manifest.yaml +2 -0
  56. data/rbi/metronome_sdk/internal/transport/base_client.rbi +5 -0
  57. data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +6 -2
  58. data/rbi/metronome_sdk/internal/type/base_model.rbi +8 -4
  59. data/rbi/metronome_sdk/models/commit.rbi +171 -0
  60. data/rbi/metronome_sdk/models/contract_v2.rbi +85 -6
  61. data/rbi/metronome_sdk/models/credit.rbi +171 -0
  62. data/rbi/metronome_sdk/models/rate.rbi +3 -18
  63. data/rbi/metronome_sdk/models/subscription.rbi +55 -9
  64. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +69 -0
  65. data/rbi/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbi +13 -0
  66. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +288 -24
  67. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +3 -18
  68. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +0 -15
  69. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +3 -18
  70. data/rbi/metronome_sdk/models/v1/custom_field_add_key_params.rbi +20 -0
  71. data/rbi/metronome_sdk/models/v1/custom_field_delete_values_params.rbi +20 -0
  72. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_params.rbi +20 -0
  73. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +20 -0
  74. data/rbi/metronome_sdk/models/v1/custom_field_remove_key_params.rbi +20 -0
  75. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +20 -0
  76. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +204 -0
  77. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_response.rbi +281 -0
  78. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +67 -0
  79. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +18 -0
  80. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +18 -0
  81. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +71 -0
  82. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +121 -0
  83. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbi +9 -0
  84. data/rbi/metronome_sdk/models/v1/payment.rbi +79 -0
  85. data/rbi/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rbi +13 -0
  86. data/rbi/metronome_sdk/models/v1/settings/billing_provider_create_params.rbi +5 -0
  87. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +11 -3
  88. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +22 -0
  89. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +22 -0
  90. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +616 -27
  91. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +367 -3
  92. data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -0
  93. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +0 -5
  94. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +1 -1
  95. data/rbi/metronome_sdk/resources/v1/contracts.rbi +9 -0
  96. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +5 -0
  97. data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +9 -3
  98. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +7 -7
  99. data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +5 -5
  100. data/rbi/metronome_sdk/resources/v1/customers.rbi +15 -8
  101. data/rbi/metronome_sdk/resources/v1/plans.rbi +2 -2
  102. data/rbi/metronome_sdk/resources/v1/settings.rbi +4 -0
  103. data/rbi/metronome_sdk/resources/v1/usage.rbi +7 -7
  104. data/rbi/metronome_sdk/resources/v2/contracts.rbi +12 -0
  105. data/sig/metronome_sdk/internal/transport/base_client.rbs +2 -0
  106. data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +4 -1
  107. data/sig/metronome_sdk/models/commit.rbs +74 -0
  108. data/sig/metronome_sdk/models/contract_v2.rbs +45 -6
  109. data/sig/metronome_sdk/models/credit.rbs +74 -0
  110. data/sig/metronome_sdk/models/rate.rbs +3 -10
  111. data/sig/metronome_sdk/models/subscription.rbs +22 -3
  112. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +28 -0
  113. data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +7 -0
  114. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +104 -0
  115. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +3 -10
  116. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +1 -8
  117. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +3 -10
  118. data/sig/metronome_sdk/models/v1/custom_field_add_key_params.rbs +8 -0
  119. data/sig/metronome_sdk/models/v1/custom_field_delete_values_params.rbs +8 -0
  120. data/sig/metronome_sdk/models/v1/custom_field_list_keys_params.rbs +8 -0
  121. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +8 -0
  122. data/sig/metronome_sdk/models/v1/custom_field_remove_key_params.rbs +8 -0
  123. data/sig/metronome_sdk/models/v1/custom_field_set_values_params.rbs +8 -0
  124. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +83 -0
  125. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_response.rbs +119 -0
  126. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +26 -1
  127. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +14 -0
  128. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +14 -0
  129. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +30 -0
  130. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +64 -0
  131. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +7 -0
  132. data/sig/metronome_sdk/models/v1/payment.rbs +45 -0
  133. data/sig/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rbs +8 -1
  134. data/sig/metronome_sdk/models/v1/settings/billing_provider_create_params.rbs +3 -1
  135. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +3 -1
  136. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +14 -0
  137. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +14 -0
  138. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +232 -3
  139. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +131 -3
  140. data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -0
  141. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +0 -1
  142. data/sig/metronome_sdk/resources/v1/contracts.rbs +2 -0
  143. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
  144. data/sig/metronome_sdk/resources/v1/customers/billing_config.rbs +2 -0
  145. data/sig/metronome_sdk/resources/v1/customers.rbs +2 -1
  146. data/sig/metronome_sdk/resources/v1/settings.rbs +1 -0
  147. data/sig/metronome_sdk/resources/v2/contracts.rbs +4 -0
  148. metadata +19 -2
@@ -291,6 +291,25 @@ module MetronomeSDK
291
291
  end
292
292
  attr_writer :reseller_royalties
293
293
 
294
+ # The revenue system configuration associated with a contract. Provide either an
295
+ # ID or the provider and delivery method.
296
+ sig do
297
+ returns(
298
+ T.nilable(
299
+ MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration
300
+ )
301
+ )
302
+ end
303
+ attr_reader :revenue_system_configuration
304
+
305
+ sig do
306
+ params(
307
+ revenue_system_configuration:
308
+ MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::OrHash
309
+ ).void
310
+ end
311
+ attr_writer :revenue_system_configuration
312
+
294
313
  # This field's availability is dependent on your client's configuration.
295
314
  sig { returns(T.nilable(String)) }
296
315
  attr_reader :salesforce_opportunity_id
@@ -472,6 +491,8 @@ module MetronomeSDK
472
491
  T::Array[
473
492
  MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty::OrHash
474
493
  ],
494
+ revenue_system_configuration:
495
+ MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::OrHash,
475
496
  salesforce_opportunity_id: String,
476
497
  scheduled_charges:
477
498
  T::Array[
@@ -534,6 +555,9 @@ module MetronomeSDK
534
555
  recurring_credits: nil,
535
556
  # This field's availability is dependent on your client's configuration.
536
557
  reseller_royalties: nil,
558
+ # The revenue system configuration associated with a contract. Provide either an
559
+ # ID or the provider and delivery method.
560
+ revenue_system_configuration: nil,
537
561
  # This field's availability is dependent on your client's configuration.
538
562
  salesforce_opportunity_id: nil,
539
563
  scheduled_charges: nil,
@@ -604,6 +628,8 @@ module MetronomeSDK
604
628
  T::Array[
605
629
  MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty
606
630
  ],
631
+ revenue_system_configuration:
632
+ MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration,
607
633
  salesforce_opportunity_id: String,
608
634
  scheduled_charges:
609
635
  T::Array[
@@ -4788,9 +4814,8 @@ module MetronomeSDK
4788
4814
  sig { returns(String) }
4789
4815
  attr_accessor :subscription_id
4790
4816
 
4791
- # If set to POOLED, allocation added per seat is pooled across the account. (BETA)
4792
- # If set to INDIVIDUAL, each seat in the subscription will have its own
4793
- # allocation.
4817
+ # If set to POOLED, allocation added per seat is pooled across the account. If set
4818
+ # to INDIVIDUAL, each seat in the subscription will have its own allocation.
4794
4819
  sig do
4795
4820
  returns(
4796
4821
  T.nilable(
@@ -4822,9 +4847,8 @@ module MetronomeSDK
4822
4847
  apply_seat_increase_config:,
4823
4848
  # ID of the subscription to configure on the recurring commit/credit.
4824
4849
  subscription_id:,
4825
- # If set to POOLED, allocation added per seat is pooled across the account. (BETA)
4826
- # If set to INDIVIDUAL, each seat in the subscription will have its own
4827
- # allocation.
4850
+ # If set to POOLED, allocation added per seat is pooled across the account. If set
4851
+ # to INDIVIDUAL, each seat in the subscription will have its own allocation.
4828
4852
  allocation: nil
4829
4853
  )
4830
4854
  end
@@ -4868,9 +4892,8 @@ module MetronomeSDK
4868
4892
  end
4869
4893
  end
4870
4894
 
4871
- # If set to POOLED, allocation added per seat is pooled across the account. (BETA)
4872
- # If set to INDIVIDUAL, each seat in the subscription will have its own
4873
- # allocation.
4895
+ # If set to POOLED, allocation added per seat is pooled across the account. If set
4896
+ # to INDIVIDUAL, each seat in the subscription will have its own allocation.
4874
4897
  module Allocation
4875
4898
  extend MetronomeSDK::Internal::Type::Enum
4876
4899
 
@@ -5535,9 +5558,8 @@ module MetronomeSDK
5535
5558
  sig { returns(String) }
5536
5559
  attr_accessor :subscription_id
5537
5560
 
5538
- # If set to POOLED, allocation added per seat is pooled across the account. (BETA)
5539
- # If set to INDIVIDUAL, each seat in the subscription will have its own
5540
- # allocation.
5561
+ # If set to POOLED, allocation added per seat is pooled across the account. If set
5562
+ # to INDIVIDUAL, each seat in the subscription will have its own allocation.
5541
5563
  sig do
5542
5564
  returns(
5543
5565
  T.nilable(
@@ -5569,9 +5591,8 @@ module MetronomeSDK
5569
5591
  apply_seat_increase_config:,
5570
5592
  # ID of the subscription to configure on the recurring commit/credit.
5571
5593
  subscription_id:,
5572
- # If set to POOLED, allocation added per seat is pooled across the account. (BETA)
5573
- # If set to INDIVIDUAL, each seat in the subscription will have its own
5574
- # allocation.
5594
+ # If set to POOLED, allocation added per seat is pooled across the account. If set
5595
+ # to INDIVIDUAL, each seat in the subscription will have its own allocation.
5575
5596
  allocation: nil
5576
5597
  )
5577
5598
  end
@@ -5615,9 +5636,8 @@ module MetronomeSDK
5615
5636
  end
5616
5637
  end
5617
5638
 
5618
- # If set to POOLED, allocation added per seat is pooled across the account. (BETA)
5619
- # If set to INDIVIDUAL, each seat in the subscription will have its own
5620
- # allocation.
5639
+ # If set to POOLED, allocation added per seat is pooled across the account. If set
5640
+ # to INDIVIDUAL, each seat in the subscription will have its own allocation.
5621
5641
  module Allocation
5622
5642
  extend MetronomeSDK::Internal::Type::Enum
5623
5643
 
@@ -5929,6 +5949,164 @@ module MetronomeSDK
5929
5949
  end
5930
5950
  end
5931
5951
 
5952
+ class RevenueSystemConfiguration < MetronomeSDK::Internal::Type::BaseModel
5953
+ OrHash =
5954
+ T.type_alias do
5955
+ T.any(
5956
+ MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration,
5957
+ MetronomeSDK::Internal::AnyHash
5958
+ )
5959
+ end
5960
+
5961
+ # How revenue recognition records should be delivered to the revenue system. Do
5962
+ # not specify if using revenue_system_configuration_id.
5963
+ sig do
5964
+ returns(
5965
+ T.nilable(
5966
+ MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::DeliveryMethod::OrSymbol
5967
+ )
5968
+ )
5969
+ end
5970
+ attr_reader :delivery_method
5971
+
5972
+ sig do
5973
+ params(
5974
+ delivery_method:
5975
+ MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::DeliveryMethod::OrSymbol
5976
+ ).void
5977
+ end
5978
+ attr_writer :delivery_method
5979
+
5980
+ # The system that is providing services for revenue recognition. Do not specify if
5981
+ # using revenue_system_configuration_id.
5982
+ sig do
5983
+ returns(
5984
+ T.nilable(
5985
+ MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::Provider::OrSymbol
5986
+ )
5987
+ )
5988
+ end
5989
+ attr_reader :provider
5990
+
5991
+ sig do
5992
+ params(
5993
+ provider:
5994
+ MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::Provider::OrSymbol
5995
+ ).void
5996
+ end
5997
+ attr_writer :provider
5998
+
5999
+ # The Metronome ID of the revenue system configuration. Use when a customer has
6000
+ # multiple configurations with the same provider and delivery method. Otherwise,
6001
+ # specify the provider and delivery_method.
6002
+ sig { returns(T.nilable(String)) }
6003
+ attr_reader :revenue_system_configuration_id
6004
+
6005
+ sig { params(revenue_system_configuration_id: String).void }
6006
+ attr_writer :revenue_system_configuration_id
6007
+
6008
+ # The revenue system configuration associated with a contract. Provide either an
6009
+ # ID or the provider and delivery method.
6010
+ sig do
6011
+ params(
6012
+ delivery_method:
6013
+ MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::DeliveryMethod::OrSymbol,
6014
+ provider:
6015
+ MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::Provider::OrSymbol,
6016
+ revenue_system_configuration_id: String
6017
+ ).returns(T.attached_class)
6018
+ end
6019
+ def self.new(
6020
+ # How revenue recognition records should be delivered to the revenue system. Do
6021
+ # not specify if using revenue_system_configuration_id.
6022
+ delivery_method: nil,
6023
+ # The system that is providing services for revenue recognition. Do not specify if
6024
+ # using revenue_system_configuration_id.
6025
+ provider: nil,
6026
+ # The Metronome ID of the revenue system configuration. Use when a customer has
6027
+ # multiple configurations with the same provider and delivery method. Otherwise,
6028
+ # specify the provider and delivery_method.
6029
+ revenue_system_configuration_id: nil
6030
+ )
6031
+ end
6032
+
6033
+ sig do
6034
+ override.returns(
6035
+ {
6036
+ delivery_method:
6037
+ MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::DeliveryMethod::OrSymbol,
6038
+ provider:
6039
+ MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::Provider::OrSymbol,
6040
+ revenue_system_configuration_id: String
6041
+ }
6042
+ )
6043
+ end
6044
+ def to_hash
6045
+ end
6046
+
6047
+ # How revenue recognition records should be delivered to the revenue system. Do
6048
+ # not specify if using revenue_system_configuration_id.
6049
+ module DeliveryMethod
6050
+ extend MetronomeSDK::Internal::Type::Enum
6051
+
6052
+ TaggedSymbol =
6053
+ T.type_alias do
6054
+ T.all(
6055
+ Symbol,
6056
+ MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::DeliveryMethod
6057
+ )
6058
+ end
6059
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
6060
+
6061
+ DIRECT_TO_BILLING_PROVIDER =
6062
+ T.let(
6063
+ :direct_to_billing_provider,
6064
+ MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::DeliveryMethod::TaggedSymbol
6065
+ )
6066
+
6067
+ sig do
6068
+ override.returns(
6069
+ T::Array[
6070
+ MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::DeliveryMethod::TaggedSymbol
6071
+ ]
6072
+ )
6073
+ end
6074
+ def self.values
6075
+ end
6076
+ end
6077
+
6078
+ # The system that is providing services for revenue recognition. Do not specify if
6079
+ # using revenue_system_configuration_id.
6080
+ module Provider
6081
+ extend MetronomeSDK::Internal::Type::Enum
6082
+
6083
+ TaggedSymbol =
6084
+ T.type_alias do
6085
+ T.all(
6086
+ Symbol,
6087
+ MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::Provider
6088
+ )
6089
+ end
6090
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
6091
+
6092
+ NETSUITE =
6093
+ T.let(
6094
+ :netsuite,
6095
+ MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::Provider::TaggedSymbol
6096
+ )
6097
+
6098
+ sig do
6099
+ override.returns(
6100
+ T::Array[
6101
+ MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::Provider::TaggedSymbol
6102
+ ]
6103
+ )
6104
+ end
6105
+ def self.values
6106
+ end
6107
+ end
6108
+ end
6109
+
5932
6110
  class ScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
5933
6111
  OrHash =
5934
6112
  T.type_alias do
@@ -6526,8 +6704,8 @@ module MetronomeSDK
6526
6704
  # QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
6527
6705
  # directly on the subscription. `initial_quantity` must be provided with this
6528
6706
  # option. Compatible with recurring commits/credits that use POOLED allocation.
6529
- # **SEAT_BASED**: (BETA) Use when you want to pass specific seat identifiers (e.g.
6530
- # add user_123) to increment and decrement a subscription quantity, rather than
6707
+ # **SEAT_BASED**: Use when you want to pass specific seat identifiers (e.g. add
6708
+ # user_123) to increment and decrement a subscription quantity, rather than
6531
6709
  # directly providing the quantity. You must use a **SEAT_BASED** subscription to
6532
6710
  # use a linked recurring credit with an allocation per seat. `seat_config` must be
6533
6711
  # provided with this option.
@@ -6548,6 +6726,23 @@ module MetronomeSDK
6548
6726
  end
6549
6727
  attr_writer :quantity_management_mode
6550
6728
 
6729
+ sig do
6730
+ returns(
6731
+ T.nilable(
6732
+ MetronomeSDK::V1::ContractCreateParams::Subscription::SeatConfig
6733
+ )
6734
+ )
6735
+ end
6736
+ attr_reader :seat_config
6737
+
6738
+ sig do
6739
+ params(
6740
+ seat_config:
6741
+ MetronomeSDK::V1::ContractCreateParams::Subscription::SeatConfig::OrHash
6742
+ ).void
6743
+ end
6744
+ attr_writer :seat_config
6745
+
6551
6746
  # Inclusive start time for the subscription. If not provided, defaults to contract
6552
6747
  # start date
6553
6748
  sig { returns(T.nilable(Time)) }
@@ -6579,6 +6774,8 @@ module MetronomeSDK
6579
6774
  name: String,
6580
6775
  quantity_management_mode:
6581
6776
  MetronomeSDK::V1::ContractCreateParams::Subscription::QuantityManagementMode::OrSymbol,
6777
+ seat_config:
6778
+ MetronomeSDK::V1::ContractCreateParams::Subscription::SeatConfig::OrHash,
6582
6779
  starting_at: Time,
6583
6780
  temporary_id: String
6584
6781
  ).returns(T.attached_class)
@@ -6601,12 +6798,13 @@ module MetronomeSDK
6601
6798
  # QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
6602
6799
  # directly on the subscription. `initial_quantity` must be provided with this
6603
6800
  # option. Compatible with recurring commits/credits that use POOLED allocation.
6604
- # **SEAT_BASED**: (BETA) Use when you want to pass specific seat identifiers (e.g.
6605
- # add user_123) to increment and decrement a subscription quantity, rather than
6801
+ # **SEAT_BASED**: Use when you want to pass specific seat identifiers (e.g. add
6802
+ # user_123) to increment and decrement a subscription quantity, rather than
6606
6803
  # directly providing the quantity. You must use a **SEAT_BASED** subscription to
6607
6804
  # use a linked recurring credit with an allocation per seat. `seat_config` must be
6608
6805
  # provided with this option.
6609
6806
  quantity_management_mode: nil,
6807
+ seat_config: nil,
6610
6808
  # Inclusive start time for the subscription. If not provided, defaults to contract
6611
6809
  # start date
6612
6810
  starting_at: nil,
@@ -6632,6 +6830,8 @@ module MetronomeSDK
6632
6830
  name: String,
6633
6831
  quantity_management_mode:
6634
6832
  MetronomeSDK::V1::ContractCreateParams::Subscription::QuantityManagementMode::OrSymbol,
6833
+ seat_config:
6834
+ MetronomeSDK::V1::ContractCreateParams::Subscription::SeatConfig,
6635
6835
  starting_at: Time,
6636
6836
  temporary_id: String
6637
6837
  }
@@ -6884,8 +7084,8 @@ module MetronomeSDK
6884
7084
  # QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
6885
7085
  # directly on the subscription. `initial_quantity` must be provided with this
6886
7086
  # option. Compatible with recurring commits/credits that use POOLED allocation.
6887
- # **SEAT_BASED**: (BETA) Use when you want to pass specific seat identifiers (e.g.
6888
- # add user_123) to increment and decrement a subscription quantity, rather than
7087
+ # **SEAT_BASED**: Use when you want to pass specific seat identifiers (e.g. add
7088
+ # user_123) to increment and decrement a subscription quantity, rather than
6889
7089
  # directly providing the quantity. You must use a **SEAT_BASED** subscription to
6890
7090
  # use a linked recurring credit with an allocation per seat. `seat_config` must be
6891
7091
  # provided with this option.
@@ -6922,6 +7122,70 @@ module MetronomeSDK
6922
7122
  def self.values
6923
7123
  end
6924
7124
  end
7125
+
7126
+ class SeatConfig < MetronomeSDK::Internal::Type::BaseModel
7127
+ OrHash =
7128
+ T.type_alias do
7129
+ T.any(
7130
+ MetronomeSDK::V1::ContractCreateParams::Subscription::SeatConfig,
7131
+ MetronomeSDK::Internal::AnyHash
7132
+ )
7133
+ end
7134
+
7135
+ # The initial assigned seats on this subscription.
7136
+ sig { returns(T::Array[String]) }
7137
+ attr_accessor :initial_seat_ids
7138
+
7139
+ # The property name, sent on usage events, that identifies the seat ID associated
7140
+ # with the usage event. For example, the property name might be seat_id or
7141
+ # user_id. The property must be set as a group key on billable metrics and a
7142
+ # presentation/pricing group key on contract products. This allows linked
7143
+ # recurring credits with an allocation per seat to be consumed by only one seat's
7144
+ # usage.
7145
+ sig { returns(String) }
7146
+ attr_accessor :seat_group_key
7147
+
7148
+ # The initial amount of unassigned seats on this subscription.
7149
+ sig { returns(T.nilable(Float)) }
7150
+ attr_reader :initial_unassigned_seats
7151
+
7152
+ sig { params(initial_unassigned_seats: Float).void }
7153
+ attr_writer :initial_unassigned_seats
7154
+
7155
+ sig do
7156
+ params(
7157
+ initial_seat_ids: T::Array[String],
7158
+ seat_group_key: String,
7159
+ initial_unassigned_seats: Float
7160
+ ).returns(T.attached_class)
7161
+ end
7162
+ def self.new(
7163
+ # The initial assigned seats on this subscription.
7164
+ initial_seat_ids:,
7165
+ # The property name, sent on usage events, that identifies the seat ID associated
7166
+ # with the usage event. For example, the property name might be seat_id or
7167
+ # user_id. The property must be set as a group key on billable metrics and a
7168
+ # presentation/pricing group key on contract products. This allows linked
7169
+ # recurring credits with an allocation per seat to be consumed by only one seat's
7170
+ # usage.
7171
+ seat_group_key:,
7172
+ # The initial amount of unassigned seats on this subscription.
7173
+ initial_unassigned_seats: nil
7174
+ )
7175
+ end
7176
+
7177
+ sig do
7178
+ override.returns(
7179
+ {
7180
+ initial_seat_ids: T::Array[String],
7181
+ seat_group_key: String,
7182
+ initial_unassigned_seats: Float
7183
+ }
7184
+ )
7185
+ end
7186
+ def to_hash
7187
+ end
7188
+ end
6925
7189
  end
6926
7190
 
6927
7191
  class Transition < MetronomeSDK::Internal::Type::BaseModel
@@ -174,15 +174,6 @@ module MetronomeSDK
174
174
  sig { params(tiers: T::Array[MetronomeSDK::Tier::OrHash]).void }
175
175
  attr_writer :tiers
176
176
 
177
- # Only set for PERCENTAGE rate_type. Defaults to false. If true, rate is computed
178
- # using list prices rather than the standard rates for this product on the
179
- # contract.
180
- sig { returns(T.nilable(T::Boolean)) }
181
- attr_reader :use_list_prices
182
-
183
- sig { params(use_list_prices: T::Boolean).void }
184
- attr_writer :use_list_prices
185
-
186
177
  sig do
187
178
  params(
188
179
  entitled: T::Boolean,
@@ -200,8 +191,7 @@ module MetronomeSDK
200
191
  price: Float,
201
192
  pricing_group_values: T::Hash[Symbol, String],
202
193
  quantity: Float,
203
- tiers: T::Array[MetronomeSDK::Tier::OrHash],
204
- use_list_prices: T::Boolean
194
+ tiers: T::Array[MetronomeSDK::Tier::OrHash]
205
195
  ).returns(T.attached_class)
206
196
  end
207
197
  def self.new(
@@ -239,11 +229,7 @@ module MetronomeSDK
239
229
  # Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
240
230
  quantity: nil,
241
231
  # Only set for TIERED rate_type.
242
- tiers: nil,
243
- # Only set for PERCENTAGE rate_type. Defaults to false. If true, rate is computed
244
- # using list prices rather than the standard rates for this product on the
245
- # contract.
246
- use_list_prices: nil
232
+ tiers: nil
247
233
  )
248
234
  end
249
235
 
@@ -265,8 +251,7 @@ module MetronomeSDK
265
251
  price: Float,
266
252
  pricing_group_values: T::Hash[Symbol, String],
267
253
  quantity: Float,
268
- tiers: T::Array[MetronomeSDK::Tier],
269
- use_list_prices: T::Boolean
254
+ tiers: T::Array[MetronomeSDK::Tier]
270
255
  }
271
256
  )
272
257
  end
@@ -129,15 +129,6 @@ module MetronomeSDK
129
129
  sig { params(tiers: T::Array[MetronomeSDK::Tier::OrHash]).void }
130
130
  attr_writer :tiers
131
131
 
132
- # Only set for PERCENTAGE rate_type. Defaults to false. If true, rate is computed
133
- # using list prices rather than the standard rates for this product on the
134
- # contract.
135
- sig { returns(T.nilable(T::Boolean)) }
136
- attr_reader :use_list_prices
137
-
138
- sig { params(use_list_prices: T::Boolean).void }
139
- attr_writer :use_list_prices
140
-
141
132
  sig do
142
133
  params(
143
134
  entitled: T::Boolean,
@@ -157,7 +148,6 @@ module MetronomeSDK
157
148
  pricing_group_values: T::Hash[Symbol, String],
158
149
  quantity: Float,
159
150
  tiers: T::Array[MetronomeSDK::Tier::OrHash],
160
- use_list_prices: T::Boolean,
161
151
  request_options: MetronomeSDK::RequestOptions::OrHash
162
152
  ).returns(T.attached_class)
163
153
  end
@@ -199,10 +189,6 @@ module MetronomeSDK
199
189
  quantity: nil,
200
190
  # Only set for TIERED rate_type.
201
191
  tiers: nil,
202
- # Only set for PERCENTAGE rate_type. Defaults to false. If true, rate is computed
203
- # using list prices rather than the standard rates for this product on the
204
- # contract.
205
- use_list_prices: nil,
206
192
  request_options: {}
207
193
  )
208
194
  end
@@ -227,7 +213,6 @@ module MetronomeSDK
227
213
  pricing_group_values: T::Hash[Symbol, String],
228
214
  quantity: Float,
229
215
  tiers: T::Array[MetronomeSDK::Tier],
230
- use_list_prices: T::Boolean,
231
216
  request_options: MetronomeSDK::RequestOptions
232
217
  }
233
218
  )
@@ -127,15 +127,6 @@ module MetronomeSDK
127
127
  sig { params(tiers: T::Array[MetronomeSDK::Tier::OrHash]).void }
128
128
  attr_writer :tiers
129
129
 
130
- # Only set for PERCENTAGE rate_type. Defaults to false. If true, rate is computed
131
- # using list prices rather than the standard rates for this product on the
132
- # contract.
133
- sig { returns(T.nilable(T::Boolean)) }
134
- attr_reader :use_list_prices
135
-
136
- sig { params(use_list_prices: T::Boolean).void }
137
- attr_writer :use_list_prices
138
-
139
130
  sig do
140
131
  params(
141
132
  rate_type:
@@ -147,8 +138,7 @@ module MetronomeSDK
147
138
  price: Float,
148
139
  pricing_group_values: T::Hash[Symbol, String],
149
140
  quantity: Float,
150
- tiers: T::Array[MetronomeSDK::Tier::OrHash],
151
- use_list_prices: T::Boolean
141
+ tiers: T::Array[MetronomeSDK::Tier::OrHash]
152
142
  ).returns(T.attached_class)
153
143
  end
154
144
  def self.new(
@@ -172,11 +162,7 @@ module MetronomeSDK
172
162
  # Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
173
163
  quantity: nil,
174
164
  # Only set for TIERED rate_type.
175
- tiers: nil,
176
- # Only set for PERCENTAGE rate_type. Defaults to false. If true, rate is computed
177
- # using list prices rather than the standard rates for this product on the
178
- # contract.
179
- use_list_prices: nil
165
+ tiers: nil
180
166
  )
181
167
  end
182
168
 
@@ -192,8 +178,7 @@ module MetronomeSDK
192
178
  price: Float,
193
179
  pricing_group_values: T::Hash[Symbol, String],
194
180
  quantity: Float,
195
- tiers: T::Array[MetronomeSDK::Tier],
196
- use_list_prices: T::Boolean
181
+ tiers: T::Array[MetronomeSDK::Tier]
197
182
  }
198
183
  )
199
184
  end
@@ -150,6 +150,26 @@ module MetronomeSDK
150
150
  :subscription,
151
151
  MetronomeSDK::V1::CustomFieldAddKeyParams::Entity::TaggedSymbol
152
152
  )
153
+ PACKAGE_COMMIT =
154
+ T.let(
155
+ :package_commit,
156
+ MetronomeSDK::V1::CustomFieldAddKeyParams::Entity::TaggedSymbol
157
+ )
158
+ PACKAGE_CREDIT =
159
+ T.let(
160
+ :package_credit,
161
+ MetronomeSDK::V1::CustomFieldAddKeyParams::Entity::TaggedSymbol
162
+ )
163
+ PACKAGE_SUBSCRIPTION =
164
+ T.let(
165
+ :package_subscription,
166
+ MetronomeSDK::V1::CustomFieldAddKeyParams::Entity::TaggedSymbol
167
+ )
168
+ PACKAGE_SCHEDULED_CHARGE =
169
+ T.let(
170
+ :package_scheduled_charge,
171
+ MetronomeSDK::V1::CustomFieldAddKeyParams::Entity::TaggedSymbol
172
+ )
153
173
 
154
174
  sig do
155
175
  override.returns(
@@ -156,6 +156,26 @@ module MetronomeSDK
156
156
  :subscription,
157
157
  MetronomeSDK::V1::CustomFieldDeleteValuesParams::Entity::TaggedSymbol
158
158
  )
159
+ PACKAGE_COMMIT =
160
+ T.let(
161
+ :package_commit,
162
+ MetronomeSDK::V1::CustomFieldDeleteValuesParams::Entity::TaggedSymbol
163
+ )
164
+ PACKAGE_CREDIT =
165
+ T.let(
166
+ :package_credit,
167
+ MetronomeSDK::V1::CustomFieldDeleteValuesParams::Entity::TaggedSymbol
168
+ )
169
+ PACKAGE_SUBSCRIPTION =
170
+ T.let(
171
+ :package_subscription,
172
+ MetronomeSDK::V1::CustomFieldDeleteValuesParams::Entity::TaggedSymbol
173
+ )
174
+ PACKAGE_SCHEDULED_CHARGE =
175
+ T.let(
176
+ :package_scheduled_charge,
177
+ MetronomeSDK::V1::CustomFieldDeleteValuesParams::Entity::TaggedSymbol
178
+ )
159
179
 
160
180
  sig do
161
181
  override.returns(
@@ -177,6 +177,26 @@ module MetronomeSDK
177
177
  :subscription,
178
178
  MetronomeSDK::V1::CustomFieldListKeysParams::Entity::TaggedSymbol
179
179
  )
180
+ PACKAGE_COMMIT =
181
+ T.let(
182
+ :package_commit,
183
+ MetronomeSDK::V1::CustomFieldListKeysParams::Entity::TaggedSymbol
184
+ )
185
+ PACKAGE_CREDIT =
186
+ T.let(
187
+ :package_credit,
188
+ MetronomeSDK::V1::CustomFieldListKeysParams::Entity::TaggedSymbol
189
+ )
190
+ PACKAGE_SUBSCRIPTION =
191
+ T.let(
192
+ :package_subscription,
193
+ MetronomeSDK::V1::CustomFieldListKeysParams::Entity::TaggedSymbol
194
+ )
195
+ PACKAGE_SCHEDULED_CHARGE =
196
+ T.let(
197
+ :package_scheduled_charge,
198
+ MetronomeSDK::V1::CustomFieldListKeysParams::Entity::TaggedSymbol
199
+ )
180
200
 
181
201
  sig do
182
202
  override.returns(
@@ -151,6 +151,26 @@ module MetronomeSDK
151
151
  :subscription,
152
152
  MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
153
153
  )
154
+ PACKAGE_COMMIT =
155
+ T.let(
156
+ :package_commit,
157
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
158
+ )
159
+ PACKAGE_CREDIT =
160
+ T.let(
161
+ :package_credit,
162
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
163
+ )
164
+ PACKAGE_SUBSCRIPTION =
165
+ T.let(
166
+ :package_subscription,
167
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
168
+ )
169
+ PACKAGE_SCHEDULED_CHARGE =
170
+ T.let(
171
+ :package_scheduled_charge,
172
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
173
+ )
154
174
 
155
175
  sig do
156
176
  override.returns(