metronome-sdk 0.1.0.pre.alpha.4 → 0.2.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 (68) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/cursor_page.rb +1 -1
  5. data/lib/metronome_sdk/internal/transport/base_client.rb +1 -1
  6. data/lib/metronome_sdk/models/commit.rb +81 -8
  7. data/lib/metronome_sdk/models/contract_without_amendments.rb +368 -2
  8. data/lib/metronome_sdk/models/credit.rb +67 -6
  9. data/lib/metronome_sdk/models/v1/alert_create_params.rb +9 -11
  10. data/lib/metronome_sdk/models/v1/contract_create_params.rb +399 -12
  11. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +9 -1
  12. data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +9 -1
  13. data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +9 -1
  14. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +29 -1
  15. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
  16. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +2 -0
  17. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +2 -0
  18. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +417 -18
  19. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +776 -12
  20. data/lib/metronome_sdk/models/v2/contract_list_response.rb +529 -22
  21. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +529 -22
  22. data/lib/metronome_sdk/resources/v1/alerts.rb +2 -2
  23. data/lib/metronome_sdk/resources/v1/contracts.rb +3 -1
  24. data/lib/metronome_sdk/resources/v1/customers/commits.rb +3 -1
  25. data/lib/metronome_sdk/resources/v1/customers/credits.rb +3 -1
  26. data/lib/metronome_sdk/version.rb +1 -1
  27. data/rbi/metronome_sdk/internal/transport/base_client.rbi +1 -1
  28. data/rbi/metronome_sdk/models/commit.rbi +173 -15
  29. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +888 -6
  30. data/rbi/metronome_sdk/models/credit.rbi +141 -12
  31. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +16 -18
  32. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1160 -226
  33. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +11 -0
  34. data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +11 -0
  35. data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +11 -0
  36. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +60 -0
  37. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
  38. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +4 -0
  39. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +4 -0
  40. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1192 -234
  41. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +2155 -87
  42. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +1260 -47
  43. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +1260 -47
  44. data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -5
  45. data/rbi/metronome_sdk/resources/v1/contracts.rbi +3 -0
  46. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +3 -0
  47. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +3 -0
  48. data/rbi/metronome_sdk/resources/v2/contracts.rbi +4 -0
  49. data/sig/metronome_sdk/internal/transport/base_client.rbs +1 -1
  50. data/sig/metronome_sdk/models/commit.rbs +93 -15
  51. data/sig/metronome_sdk/models/contract_without_amendments.rbs +366 -6
  52. data/sig/metronome_sdk/models/credit.rbs +73 -9
  53. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +9 -9
  54. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +376 -3
  55. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +7 -0
  56. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +7 -0
  57. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +7 -0
  58. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +21 -0
  59. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
  60. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +376 -3
  61. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +858 -6
  62. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +558 -30
  63. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +558 -30
  64. data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -1
  65. data/sig/metronome_sdk/resources/v1/contracts.rbs +1 -0
  66. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +1 -0
  67. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +1 -0
  68. metadata +4 -4
@@ -617,13 +617,15 @@ module MetronomeSDK
617
617
  contract: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Contract,
618
618
  description: String,
619
619
  ending_before: Time,
620
+ hierarchy_configuration: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration,
620
621
  invoice_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount,
621
622
  name: String,
622
623
  netsuite_sales_order_id: String,
623
624
  proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration,
624
625
  recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency,
625
626
  rollover_fraction: Float,
626
- specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]
627
+ specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier],
628
+ subscription_config: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig
627
629
  }
628
630
 
629
631
  class RecurringCommit < MetronomeSDK::Internal::Type::BaseModel
@@ -663,6 +665,12 @@ module MetronomeSDK
663
665
 
664
666
  def ending_before=: (Time) -> Time
665
667
 
668
+ attr_reader hierarchy_configuration: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration?
669
+
670
+ def hierarchy_configuration=: (
671
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration
672
+ ) -> MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration
673
+
666
674
  attr_reader invoice_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount?
667
675
 
668
676
  def invoice_amount=: (
@@ -699,6 +707,12 @@ module MetronomeSDK
699
707
  ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]
700
708
  ) -> ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]
701
709
 
710
+ attr_reader subscription_config: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig?
711
+
712
+ def subscription_config=: (
713
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig
714
+ ) -> MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig
715
+
702
716
  def initialize: (
703
717
  id: String,
704
718
  access_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::AccessAmount,
@@ -712,13 +726,15 @@ module MetronomeSDK
712
726
  ?contract: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Contract,
713
727
  ?description: String,
714
728
  ?ending_before: Time,
729
+ ?hierarchy_configuration: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration,
715
730
  ?invoice_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount,
716
731
  ?name: String,
717
732
  ?netsuite_sales_order_id: String,
718
733
  ?proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration,
719
734
  ?recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency,
720
735
  ?rollover_fraction: Float,
721
- ?specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]
736
+ ?specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier],
737
+ ?subscription_config: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig
722
738
  ) -> void
723
739
 
724
740
  def to_hash: -> {
@@ -734,13 +750,15 @@ module MetronomeSDK
734
750
  contract: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Contract,
735
751
  description: String,
736
752
  ending_before: Time,
753
+ hierarchy_configuration: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration,
737
754
  invoice_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount,
738
755
  name: String,
739
756
  netsuite_sales_order_id: String,
740
757
  proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration,
741
758
  recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency,
742
759
  rollover_fraction: Float,
743
- specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]
760
+ specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier],
761
+ subscription_config: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig
744
762
  }
745
763
 
746
764
  type access_amount =
@@ -837,6 +855,120 @@ module MetronomeSDK
837
855
  def to_hash: -> { id: String }
838
856
  end
839
857
 
858
+ type hierarchy_configuration =
859
+ {
860
+ child_access: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::child_access
861
+ }
862
+
863
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
864
+ attr_accessor child_access: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::child_access
865
+
866
+ def initialize: (
867
+ child_access: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::child_access
868
+ ) -> void
869
+
870
+ def to_hash: -> {
871
+ child_access: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::child_access
872
+ }
873
+
874
+ type child_access =
875
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
876
+ | MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
877
+ | MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
878
+
879
+ module ChildAccess
880
+ extend MetronomeSDK::Internal::Type::Union
881
+
882
+ type commit_hierarchy_child_access_all =
883
+ {
884
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
885
+ }
886
+
887
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
888
+ attr_accessor type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
889
+
890
+ def initialize: (
891
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
892
+ ) -> void
893
+
894
+ def to_hash: -> {
895
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
896
+ }
897
+
898
+ type type_ = :ALL
899
+
900
+ module Type
901
+ extend MetronomeSDK::Internal::Type::Enum
902
+
903
+ ALL: :ALL
904
+
905
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_]
906
+ end
907
+ end
908
+
909
+ type commit_hierarchy_child_access_none =
910
+ {
911
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
912
+ }
913
+
914
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
915
+ attr_accessor type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
916
+
917
+ def initialize: (
918
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
919
+ ) -> void
920
+
921
+ def to_hash: -> {
922
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
923
+ }
924
+
925
+ type type_ = :NONE
926
+
927
+ module Type
928
+ extend MetronomeSDK::Internal::Type::Enum
929
+
930
+ NONE: :NONE
931
+
932
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_]
933
+ end
934
+ end
935
+
936
+ type commit_hierarchy_child_access_contract_ids =
937
+ {
938
+ contract_ids: ::Array[String],
939
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
940
+ }
941
+
942
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
943
+ attr_accessor contract_ids: ::Array[String]
944
+
945
+ attr_accessor type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
946
+
947
+ def initialize: (
948
+ contract_ids: ::Array[String],
949
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
950
+ ) -> void
951
+
952
+ def to_hash: -> {
953
+ contract_ids: ::Array[String],
954
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
955
+ }
956
+
957
+ type type_ = :CONTRACT_IDS
958
+
959
+ module Type
960
+ extend MetronomeSDK::Internal::Type::Enum
961
+
962
+ CONTRACT_IDS: :CONTRACT_IDS
963
+
964
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_]
965
+ end
966
+ end
967
+
968
+ def self?.variants: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::child_access]
969
+ end
970
+ end
971
+
840
972
  type invoice_amount =
841
973
  { credit_type_id: String, quantity: Float, unit_price: Float }
842
974
 
@@ -929,6 +1061,54 @@ module MetronomeSDK
929
1061
  product_tags: ::Array[String]
930
1062
  }
931
1063
  end
1064
+
1065
+ type subscription_config =
1066
+ {
1067
+ allocation: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::allocation,
1068
+ apply_seat_increase_config: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig,
1069
+ subscription_id: String
1070
+ }
1071
+
1072
+ class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
1073
+ attr_accessor allocation: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::allocation
1074
+
1075
+ attr_accessor apply_seat_increase_config: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig
1076
+
1077
+ attr_accessor subscription_id: String
1078
+
1079
+ def initialize: (
1080
+ allocation: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::allocation,
1081
+ apply_seat_increase_config: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig,
1082
+ subscription_id: String
1083
+ ) -> void
1084
+
1085
+ def to_hash: -> {
1086
+ allocation: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::allocation,
1087
+ apply_seat_increase_config: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig,
1088
+ subscription_id: String
1089
+ }
1090
+
1091
+ type allocation = :INDIVIDUAL | :POOLED
1092
+
1093
+ module Allocation
1094
+ extend MetronomeSDK::Internal::Type::Enum
1095
+
1096
+ INDIVIDUAL: :INDIVIDUAL
1097
+ POOLED: :POOLED
1098
+
1099
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::allocation]
1100
+ end
1101
+
1102
+ type apply_seat_increase_config = { is_prorated: bool }
1103
+
1104
+ class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
1105
+ attr_accessor is_prorated: bool
1106
+
1107
+ def initialize: (is_prorated: bool) -> void
1108
+
1109
+ def to_hash: -> { is_prorated: bool }
1110
+ end
1111
+ end
932
1112
  end
933
1113
 
934
1114
  type recurring_credit =
@@ -945,12 +1125,14 @@ module MetronomeSDK
945
1125
  contract: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Contract,
946
1126
  description: String,
947
1127
  ending_before: Time,
1128
+ hierarchy_configuration: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration,
948
1129
  name: String,
949
1130
  netsuite_sales_order_id: String,
950
1131
  proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration,
951
1132
  recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency,
952
1133
  rollover_fraction: Float,
953
- specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]
1134
+ specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier],
1135
+ subscription_config: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig
954
1136
  }
955
1137
 
956
1138
  class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -990,6 +1172,12 @@ module MetronomeSDK
990
1172
 
991
1173
  def ending_before=: (Time) -> Time
992
1174
 
1175
+ attr_reader hierarchy_configuration: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration?
1176
+
1177
+ def hierarchy_configuration=: (
1178
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration
1179
+ ) -> MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration
1180
+
993
1181
  attr_reader name: String?
994
1182
 
995
1183
  def name=: (String) -> String
@@ -1020,6 +1208,12 @@ module MetronomeSDK
1020
1208
  ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]
1021
1209
  ) -> ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]
1022
1210
 
1211
+ attr_reader subscription_config: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig?
1212
+
1213
+ def subscription_config=: (
1214
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig
1215
+ ) -> MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig
1216
+
1023
1217
  def initialize: (
1024
1218
  id: String,
1025
1219
  access_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::AccessAmount,
@@ -1033,12 +1227,14 @@ module MetronomeSDK
1033
1227
  ?contract: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Contract,
1034
1228
  ?description: String,
1035
1229
  ?ending_before: Time,
1230
+ ?hierarchy_configuration: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration,
1036
1231
  ?name: String,
1037
1232
  ?netsuite_sales_order_id: String,
1038
1233
  ?proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration,
1039
1234
  ?recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency,
1040
1235
  ?rollover_fraction: Float,
1041
- ?specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]
1236
+ ?specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier],
1237
+ ?subscription_config: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig
1042
1238
  ) -> void
1043
1239
 
1044
1240
  def to_hash: -> {
@@ -1054,12 +1250,14 @@ module MetronomeSDK
1054
1250
  contract: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Contract,
1055
1251
  description: String,
1056
1252
  ending_before: Time,
1253
+ hierarchy_configuration: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration,
1057
1254
  name: String,
1058
1255
  netsuite_sales_order_id: String,
1059
1256
  proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration,
1060
1257
  recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency,
1061
1258
  rollover_fraction: Float,
1062
- specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]
1259
+ specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier],
1260
+ subscription_config: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig
1063
1261
  }
1064
1262
 
1065
1263
  type access_amount =
@@ -1156,6 +1354,120 @@ module MetronomeSDK
1156
1354
  def to_hash: -> { id: String }
1157
1355
  end
1158
1356
 
1357
+ type hierarchy_configuration =
1358
+ {
1359
+ child_access: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::child_access
1360
+ }
1361
+
1362
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
1363
+ attr_accessor child_access: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::child_access
1364
+
1365
+ def initialize: (
1366
+ child_access: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::child_access
1367
+ ) -> void
1368
+
1369
+ def to_hash: -> {
1370
+ child_access: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::child_access
1371
+ }
1372
+
1373
+ type child_access =
1374
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
1375
+ | MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
1376
+ | MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
1377
+
1378
+ module ChildAccess
1379
+ extend MetronomeSDK::Internal::Type::Union
1380
+
1381
+ type commit_hierarchy_child_access_all =
1382
+ {
1383
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
1384
+ }
1385
+
1386
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
1387
+ attr_accessor type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
1388
+
1389
+ def initialize: (
1390
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
1391
+ ) -> void
1392
+
1393
+ def to_hash: -> {
1394
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
1395
+ }
1396
+
1397
+ type type_ = :ALL
1398
+
1399
+ module Type
1400
+ extend MetronomeSDK::Internal::Type::Enum
1401
+
1402
+ ALL: :ALL
1403
+
1404
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_]
1405
+ end
1406
+ end
1407
+
1408
+ type commit_hierarchy_child_access_none =
1409
+ {
1410
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
1411
+ }
1412
+
1413
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
1414
+ attr_accessor type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
1415
+
1416
+ def initialize: (
1417
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
1418
+ ) -> void
1419
+
1420
+ def to_hash: -> {
1421
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
1422
+ }
1423
+
1424
+ type type_ = :NONE
1425
+
1426
+ module Type
1427
+ extend MetronomeSDK::Internal::Type::Enum
1428
+
1429
+ NONE: :NONE
1430
+
1431
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_]
1432
+ end
1433
+ end
1434
+
1435
+ type commit_hierarchy_child_access_contract_ids =
1436
+ {
1437
+ contract_ids: ::Array[String],
1438
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
1439
+ }
1440
+
1441
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
1442
+ attr_accessor contract_ids: ::Array[String]
1443
+
1444
+ attr_accessor type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
1445
+
1446
+ def initialize: (
1447
+ contract_ids: ::Array[String],
1448
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
1449
+ ) -> void
1450
+
1451
+ def to_hash: -> {
1452
+ contract_ids: ::Array[String],
1453
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
1454
+ }
1455
+
1456
+ type type_ = :CONTRACT_IDS
1457
+
1458
+ module Type
1459
+ extend MetronomeSDK::Internal::Type::Enum
1460
+
1461
+ CONTRACT_IDS: :CONTRACT_IDS
1462
+
1463
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_]
1464
+ end
1465
+ end
1466
+
1467
+ def self?.variants: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::child_access]
1468
+ end
1469
+ end
1470
+
1159
1471
  type proration = :NONE | :FIRST | :LAST | :FIRST_AND_LAST
1160
1472
 
1161
1473
  module Proration
@@ -1225,6 +1537,54 @@ module MetronomeSDK
1225
1537
  product_tags: ::Array[String]
1226
1538
  }
1227
1539
  end
1540
+
1541
+ type subscription_config =
1542
+ {
1543
+ allocation: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::allocation,
1544
+ apply_seat_increase_config: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig,
1545
+ subscription_id: String
1546
+ }
1547
+
1548
+ class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
1549
+ attr_accessor allocation: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::allocation
1550
+
1551
+ attr_accessor apply_seat_increase_config: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig
1552
+
1553
+ attr_accessor subscription_id: String
1554
+
1555
+ def initialize: (
1556
+ allocation: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::allocation,
1557
+ apply_seat_increase_config: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig,
1558
+ subscription_id: String
1559
+ ) -> void
1560
+
1561
+ def to_hash: -> {
1562
+ allocation: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::allocation,
1563
+ apply_seat_increase_config: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig,
1564
+ subscription_id: String
1565
+ }
1566
+
1567
+ type allocation = :INDIVIDUAL | :POOLED
1568
+
1569
+ module Allocation
1570
+ extend MetronomeSDK::Internal::Type::Enum
1571
+
1572
+ INDIVIDUAL: :INDIVIDUAL
1573
+ POOLED: :POOLED
1574
+
1575
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::allocation]
1576
+ end
1577
+
1578
+ type apply_seat_increase_config = { is_prorated: bool }
1579
+
1580
+ class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
1581
+ attr_accessor is_prorated: bool
1582
+
1583
+ def initialize: (is_prorated: bool) -> void
1584
+
1585
+ def to_hash: -> { is_prorated: bool }
1586
+ end
1587
+ end
1228
1588
  end
1229
1589
 
1230
1590
  type reseller_royalty =
@@ -310,6 +310,7 @@ module MetronomeSDK
310
310
  | MetronomeSDK::Credit::Ledger::CreditCanceledLedgerEntry
311
311
  | MetronomeSDK::Credit::Ledger::CreditCreditedLedgerEntry
312
312
  | MetronomeSDK::Credit::Ledger::CreditManualLedgerEntry
313
+ | MetronomeSDK::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry
313
314
 
314
315
  module Ledger
315
316
  extend MetronomeSDK::Internal::Type::Union
@@ -362,7 +363,8 @@ module MetronomeSDK
362
363
  invoice_id: String,
363
364
  segment_id: String,
364
365
  timestamp: Time,
365
- type: MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::type_
366
+ type: MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::type_,
367
+ contract_id: String
366
368
  }
367
369
 
368
370
  class CreditAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
@@ -376,12 +378,17 @@ module MetronomeSDK
376
378
 
377
379
  attr_accessor type: MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::type_
378
380
 
381
+ attr_reader contract_id: String?
382
+
383
+ def contract_id=: (String) -> String
384
+
379
385
  def initialize: (
380
386
  amount: Float,
381
387
  invoice_id: String,
382
388
  segment_id: String,
383
389
  timestamp: Time,
384
- type: MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::type_
390
+ type: MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::type_,
391
+ ?contract_id: String
385
392
  ) -> void
386
393
 
387
394
  def to_hash: -> {
@@ -389,7 +396,8 @@ module MetronomeSDK
389
396
  invoice_id: String,
390
397
  segment_id: String,
391
398
  timestamp: Time,
392
- type: MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::type_
399
+ type: MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::type_,
400
+ contract_id: String
393
401
  }
394
402
 
395
403
  type type_ = :CREDIT_AUTOMATED_INVOICE_DEDUCTION
@@ -451,7 +459,8 @@ module MetronomeSDK
451
459
  invoice_id: String,
452
460
  segment_id: String,
453
461
  timestamp: Time,
454
- type: MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry::type_
462
+ type: MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry::type_,
463
+ contract_id: String
455
464
  }
456
465
 
457
466
  class CreditCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
@@ -465,12 +474,17 @@ module MetronomeSDK
465
474
 
466
475
  attr_accessor type: MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry::type_
467
476
 
477
+ attr_reader contract_id: String?
478
+
479
+ def contract_id=: (String) -> String
480
+
468
481
  def initialize: (
469
482
  amount: Float,
470
483
  invoice_id: String,
471
484
  segment_id: String,
472
485
  timestamp: Time,
473
- type: MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry::type_
486
+ type: MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry::type_,
487
+ ?contract_id: String
474
488
  ) -> void
475
489
 
476
490
  def to_hash: -> {
@@ -478,7 +492,8 @@ module MetronomeSDK
478
492
  invoice_id: String,
479
493
  segment_id: String,
480
494
  timestamp: Time,
481
- type: MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry::type_
495
+ type: MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry::type_,
496
+ contract_id: String
482
497
  }
483
498
 
484
499
  type type_ = :CREDIT_CANCELED
@@ -498,7 +513,8 @@ module MetronomeSDK
498
513
  invoice_id: String,
499
514
  segment_id: String,
500
515
  timestamp: Time,
501
- type: MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry::type_
516
+ type: MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry::type_,
517
+ contract_id: String
502
518
  }
503
519
 
504
520
  class CreditCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
@@ -512,12 +528,17 @@ module MetronomeSDK
512
528
 
513
529
  attr_accessor type: MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry::type_
514
530
 
531
+ attr_reader contract_id: String?
532
+
533
+ def contract_id=: (String) -> String
534
+
515
535
  def initialize: (
516
536
  amount: Float,
517
537
  invoice_id: String,
518
538
  segment_id: String,
519
539
  timestamp: Time,
520
- type: MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry::type_
540
+ type: MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry::type_,
541
+ ?contract_id: String
521
542
  ) -> void
522
543
 
523
544
  def to_hash: -> {
@@ -525,7 +546,8 @@ module MetronomeSDK
525
546
  invoice_id: String,
526
547
  segment_id: String,
527
548
  timestamp: Time,
528
- type: MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry::type_
549
+ type: MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry::type_,
550
+ contract_id: String
529
551
  }
530
552
 
531
553
  type type_ = :CREDIT_CREDITED
@@ -581,6 +603,48 @@ module MetronomeSDK
581
603
  end
582
604
  end
583
605
 
606
+ type credit_seat_based_adjustment_ledger_entry =
607
+ {
608
+ amount: Float,
609
+ segment_id: String,
610
+ timestamp: Time,
611
+ type: MetronomeSDK::Models::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::type_
612
+ }
613
+
614
+ class CreditSeatBasedAdjustmentLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
615
+ attr_accessor amount: Float
616
+
617
+ attr_accessor segment_id: String
618
+
619
+ attr_accessor timestamp: Time
620
+
621
+ attr_accessor type: MetronomeSDK::Models::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::type_
622
+
623
+ def initialize: (
624
+ amount: Float,
625
+ segment_id: String,
626
+ timestamp: Time,
627
+ type: MetronomeSDK::Models::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::type_
628
+ ) -> void
629
+
630
+ def to_hash: -> {
631
+ amount: Float,
632
+ segment_id: String,
633
+ timestamp: Time,
634
+ type: MetronomeSDK::Models::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::type_
635
+ }
636
+
637
+ type type_ = :CREDIT_SEAT_BASED_ADJUSTMENT
638
+
639
+ module Type
640
+ extend MetronomeSDK::Internal::Type::Enum
641
+
642
+ CREDIT_SEAT_BASED_ADJUSTMENT: :CREDIT_SEAT_BASED_ADJUSTMENT
643
+
644
+ def self?.values: -> ::Array[MetronomeSDK::Models::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::type_]
645
+ end
646
+ end
647
+
584
648
  def self?.variants: -> ::Array[MetronomeSDK::Models::Credit::ledger]
585
649
  end
586
650