orb-billing 1.0.1 → 1.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 (160) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +35 -0
  3. data/README.md +1 -1
  4. data/lib/orb/errors.rb +22 -0
  5. data/lib/orb/internal/type/array_of.rb +6 -1
  6. data/lib/orb/internal/type/base_model.rb +79 -25
  7. data/lib/orb/internal/type/boolean.rb +7 -1
  8. data/lib/orb/internal/type/converter.rb +42 -34
  9. data/lib/orb/internal/type/enum.rb +10 -2
  10. data/lib/orb/internal/type/file_input.rb +6 -1
  11. data/lib/orb/internal/type/hash_of.rb +6 -1
  12. data/lib/orb/internal/type/union.rb +12 -7
  13. data/lib/orb/internal/type/unknown.rb +7 -1
  14. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rb +4 -4
  15. data/lib/orb/models/customers/credits/ledger_create_entry_params.rb +4 -4
  16. data/lib/orb/models/invoice.rb +4 -1
  17. data/lib/orb/models/invoice_fetch_upcoming_response.rb +4 -1
  18. data/lib/orb/models/invoice_line_item_create_response.rb +4 -1
  19. data/lib/orb/models/monetary_amount_discount_adjustment.rb +10 -1
  20. data/lib/orb/models/monetary_maximum_adjustment.rb +10 -1
  21. data/lib/orb/models/monetary_minimum_adjustment.rb +10 -1
  22. data/lib/orb/models/monetary_percentage_discount_adjustment.rb +10 -1
  23. data/lib/orb/models/monetary_usage_discount_adjustment.rb +10 -1
  24. data/lib/orb/models/new_plan_bps_price.rb +10 -1
  25. data/lib/orb/models/new_plan_bulk_bps_price.rb +10 -1
  26. data/lib/orb/models/new_plan_bulk_price.rb +10 -1
  27. data/lib/orb/models/new_plan_bulk_with_proration_price.rb +10 -1
  28. data/lib/orb/models/new_plan_cumulative_grouped_bulk_price.rb +10 -1
  29. data/lib/orb/models/new_plan_grouped_allocation_price.rb +10 -1
  30. data/lib/orb/models/new_plan_grouped_tiered_package_price.rb +10 -1
  31. data/lib/orb/models/new_plan_grouped_tiered_price.rb +10 -1
  32. data/lib/orb/models/new_plan_grouped_with_metered_minimum_price.rb +10 -1
  33. data/lib/orb/models/new_plan_grouped_with_prorated_minimum_price.rb +10 -1
  34. data/lib/orb/models/new_plan_matrix_price.rb +10 -1
  35. data/lib/orb/models/new_plan_matrix_with_allocation_price.rb +10 -1
  36. data/lib/orb/models/new_plan_matrix_with_display_name_price.rb +10 -1
  37. data/lib/orb/models/new_plan_max_group_tiered_package_price.rb +10 -1
  38. data/lib/orb/models/new_plan_package_price.rb +10 -1
  39. data/lib/orb/models/new_plan_package_with_allocation_price.rb +10 -1
  40. data/lib/orb/models/new_plan_scalable_matrix_with_tiered_pricing_price.rb +10 -1
  41. data/lib/orb/models/new_plan_scalable_matrix_with_unit_pricing_price.rb +10 -1
  42. data/lib/orb/models/new_plan_threshold_total_amount_price.rb +10 -1
  43. data/lib/orb/models/new_plan_tier_with_proration_price.rb +10 -1
  44. data/lib/orb/models/new_plan_tiered_bps_price.rb +10 -1
  45. data/lib/orb/models/new_plan_tiered_package_price.rb +10 -1
  46. data/lib/orb/models/new_plan_tiered_package_with_minimum_price.rb +10 -1
  47. data/lib/orb/models/new_plan_tiered_price.rb +10 -1
  48. data/lib/orb/models/new_plan_tiered_with_minimum_price.rb +10 -1
  49. data/lib/orb/models/new_plan_unit_price.rb +10 -1
  50. data/lib/orb/models/new_plan_unit_with_percent_price.rb +10 -1
  51. data/lib/orb/models/new_plan_unit_with_proration_price.rb +10 -1
  52. data/lib/orb/models/plan_create_params.rb +185 -37
  53. data/lib/orb/models/plan_phase_amount_discount_adjustment.rb +10 -1
  54. data/lib/orb/models/plan_phase_maximum_adjustment.rb +10 -1
  55. data/lib/orb/models/plan_phase_minimum_adjustment.rb +10 -1
  56. data/lib/orb/models/plan_phase_percentage_discount_adjustment.rb +10 -1
  57. data/lib/orb/models/plan_phase_usage_discount_adjustment.rb +10 -1
  58. data/lib/orb/models/price.rb +280 -28
  59. data/lib/orb/resources/customers/credits/ledger.rb +6 -6
  60. data/lib/orb/resources/plans.rb +6 -2
  61. data/lib/orb/version.rb +1 -1
  62. data/rbi/orb/errors.rbi +16 -0
  63. data/rbi/orb/internal/type/boolean.rbi +2 -0
  64. data/rbi/orb/internal/type/converter.rbi +15 -15
  65. data/rbi/orb/internal/type/union.rbi +5 -0
  66. data/rbi/orb/internal/type/unknown.rbi +2 -0
  67. data/rbi/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbi +3 -3
  68. data/rbi/orb/models/customers/credits/ledger_create_entry_params.rbi +3 -3
  69. data/rbi/orb/models/invoice.rbi +2 -0
  70. data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +2 -0
  71. data/rbi/orb/models/invoice_line_item_create_response.rbi +2 -0
  72. data/rbi/orb/models/monetary_amount_discount_adjustment.rbi +13 -3
  73. data/rbi/orb/models/monetary_maximum_adjustment.rbi +13 -3
  74. data/rbi/orb/models/monetary_minimum_adjustment.rbi +13 -3
  75. data/rbi/orb/models/monetary_percentage_discount_adjustment.rbi +13 -3
  76. data/rbi/orb/models/monetary_usage_discount_adjustment.rbi +10 -0
  77. data/rbi/orb/models/new_plan_bps_price.rbi +13 -3
  78. data/rbi/orb/models/new_plan_bulk_bps_price.rbi +13 -3
  79. data/rbi/orb/models/new_plan_bulk_price.rbi +13 -3
  80. data/rbi/orb/models/new_plan_bulk_with_proration_price.rbi +13 -3
  81. data/rbi/orb/models/new_plan_cumulative_grouped_bulk_price.rbi +13 -3
  82. data/rbi/orb/models/new_plan_grouped_allocation_price.rbi +13 -3
  83. data/rbi/orb/models/new_plan_grouped_tiered_package_price.rbi +13 -3
  84. data/rbi/orb/models/new_plan_grouped_tiered_price.rbi +13 -3
  85. data/rbi/orb/models/new_plan_grouped_with_metered_minimum_price.rbi +13 -3
  86. data/rbi/orb/models/new_plan_grouped_with_prorated_minimum_price.rbi +13 -3
  87. data/rbi/orb/models/new_plan_matrix_price.rbi +13 -3
  88. data/rbi/orb/models/new_plan_matrix_with_allocation_price.rbi +13 -3
  89. data/rbi/orb/models/new_plan_matrix_with_display_name_price.rbi +13 -3
  90. data/rbi/orb/models/new_plan_max_group_tiered_package_price.rbi +13 -3
  91. data/rbi/orb/models/new_plan_package_price.rbi +13 -3
  92. data/rbi/orb/models/new_plan_package_with_allocation_price.rbi +13 -3
  93. data/rbi/orb/models/new_plan_scalable_matrix_with_tiered_pricing_price.rbi +13 -3
  94. data/rbi/orb/models/new_plan_scalable_matrix_with_unit_pricing_price.rbi +13 -3
  95. data/rbi/orb/models/new_plan_threshold_total_amount_price.rbi +13 -3
  96. data/rbi/orb/models/new_plan_tier_with_proration_price.rbi +13 -3
  97. data/rbi/orb/models/new_plan_tiered_bps_price.rbi +13 -3
  98. data/rbi/orb/models/new_plan_tiered_package_price.rbi +13 -3
  99. data/rbi/orb/models/new_plan_tiered_package_with_minimum_price.rbi +13 -3
  100. data/rbi/orb/models/new_plan_tiered_price.rbi +13 -3
  101. data/rbi/orb/models/new_plan_tiered_with_minimum_price.rbi +13 -3
  102. data/rbi/orb/models/new_plan_unit_price.rbi +13 -3
  103. data/rbi/orb/models/new_plan_unit_with_percent_price.rbi +13 -3
  104. data/rbi/orb/models/new_plan_unit_with_proration_price.rbi +13 -3
  105. data/rbi/orb/models/plan_create_params.rbi +415 -135
  106. data/rbi/orb/models/plan_phase_amount_discount_adjustment.rbi +13 -3
  107. data/rbi/orb/models/plan_phase_maximum_adjustment.rbi +13 -3
  108. data/rbi/orb/models/plan_phase_minimum_adjustment.rbi +13 -3
  109. data/rbi/orb/models/plan_phase_percentage_discount_adjustment.rbi +13 -3
  110. data/rbi/orb/models/plan_phase_usage_discount_adjustment.rbi +10 -0
  111. data/rbi/orb/models/price.rbi +280 -0
  112. data/rbi/orb/resources/customers/credits/ledger.rbi +6 -6
  113. data/rbi/orb/resources/plans.rbi +11 -33
  114. data/sig/orb/errors.rbs +9 -0
  115. data/sig/orb/internal/type/converter.rbs +7 -1
  116. data/sig/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbs +1 -1
  117. data/sig/orb/models/customers/credits/ledger_create_entry_params.rbs +1 -1
  118. data/sig/orb/models/monetary_amount_discount_adjustment.rbs +8 -3
  119. data/sig/orb/models/monetary_maximum_adjustment.rbs +8 -3
  120. data/sig/orb/models/monetary_minimum_adjustment.rbs +8 -3
  121. data/sig/orb/models/monetary_percentage_discount_adjustment.rbs +8 -3
  122. data/sig/orb/models/monetary_usage_discount_adjustment.rbs +5 -0
  123. data/sig/orb/models/new_plan_bps_price.rbs +8 -3
  124. data/sig/orb/models/new_plan_bulk_bps_price.rbs +8 -3
  125. data/sig/orb/models/new_plan_bulk_price.rbs +8 -3
  126. data/sig/orb/models/new_plan_bulk_with_proration_price.rbs +8 -3
  127. data/sig/orb/models/new_plan_cumulative_grouped_bulk_price.rbs +8 -3
  128. data/sig/orb/models/new_plan_grouped_allocation_price.rbs +8 -3
  129. data/sig/orb/models/new_plan_grouped_tiered_package_price.rbs +8 -3
  130. data/sig/orb/models/new_plan_grouped_tiered_price.rbs +8 -3
  131. data/sig/orb/models/new_plan_grouped_with_metered_minimum_price.rbs +8 -3
  132. data/sig/orb/models/new_plan_grouped_with_prorated_minimum_price.rbs +8 -3
  133. data/sig/orb/models/new_plan_matrix_price.rbs +8 -3
  134. data/sig/orb/models/new_plan_matrix_with_allocation_price.rbs +8 -3
  135. data/sig/orb/models/new_plan_matrix_with_display_name_price.rbs +8 -3
  136. data/sig/orb/models/new_plan_max_group_tiered_package_price.rbs +8 -3
  137. data/sig/orb/models/new_plan_package_price.rbs +8 -3
  138. data/sig/orb/models/new_plan_package_with_allocation_price.rbs +8 -3
  139. data/sig/orb/models/new_plan_scalable_matrix_with_tiered_pricing_price.rbs +8 -3
  140. data/sig/orb/models/new_plan_scalable_matrix_with_unit_pricing_price.rbs +8 -3
  141. data/sig/orb/models/new_plan_threshold_total_amount_price.rbs +8 -3
  142. data/sig/orb/models/new_plan_tier_with_proration_price.rbs +8 -3
  143. data/sig/orb/models/new_plan_tiered_bps_price.rbs +8 -3
  144. data/sig/orb/models/new_plan_tiered_package_price.rbs +8 -3
  145. data/sig/orb/models/new_plan_tiered_package_with_minimum_price.rbs +8 -3
  146. data/sig/orb/models/new_plan_tiered_price.rbs +8 -3
  147. data/sig/orb/models/new_plan_tiered_with_minimum_price.rbs +8 -3
  148. data/sig/orb/models/new_plan_unit_price.rbs +8 -3
  149. data/sig/orb/models/new_plan_unit_with_percent_price.rbs +8 -3
  150. data/sig/orb/models/new_plan_unit_with_proration_price.rbs +8 -3
  151. data/sig/orb/models/plan_create_params.rbs +156 -37
  152. data/sig/orb/models/plan_phase_amount_discount_adjustment.rbs +8 -3
  153. data/sig/orb/models/plan_phase_maximum_adjustment.rbs +8 -3
  154. data/sig/orb/models/plan_phase_minimum_adjustment.rbs +8 -3
  155. data/sig/orb/models/plan_phase_percentage_discount_adjustment.rbs +8 -3
  156. data/sig/orb/models/plan_phase_usage_discount_adjustment.rbs +5 -0
  157. data/sig/orb/models/price.rbs +140 -0
  158. data/sig/orb/resources/customers/credits/ledger.rbs +2 -2
  159. data/sig/orb/resources/plans.rbs +3 -1
  160. metadata +2 -2
@@ -46,6 +46,11 @@ module Orb
46
46
  sig { returns(T.nilable(String)) }
47
47
  attr_accessor :reason
48
48
 
49
+ # The adjustment id this adjustment replaces. This adjustment will take the place
50
+ # of the replaced adjustment in plan version migrations.
51
+ sig { returns(T.nilable(String)) }
52
+ attr_accessor :replaces_adjustment_id
53
+
49
54
  sig do
50
55
  params(
51
56
  id: String,
@@ -57,7 +62,8 @@ module Orb
57
62
  item_id: String,
58
63
  minimum_amount: String,
59
64
  plan_phase_order: T.nilable(Integer),
60
- reason: T.nilable(String)
65
+ reason: T.nilable(String),
66
+ replaces_adjustment_id: T.nilable(String)
61
67
  ).returns(T.attached_class)
62
68
  end
63
69
  def self.new(
@@ -78,7 +84,10 @@ module Orb
78
84
  # The plan phase in which this adjustment is active.
79
85
  plan_phase_order:,
80
86
  # The reason for the adjustment.
81
- reason:
87
+ reason:,
88
+ # The adjustment id this adjustment replaces. This adjustment will take the place
89
+ # of the replaced adjustment in plan version migrations.
90
+ replaces_adjustment_id:
82
91
  )
83
92
  end
84
93
 
@@ -94,7 +103,8 @@ module Orb
94
103
  item_id: String,
95
104
  minimum_amount: String,
96
105
  plan_phase_order: T.nilable(Integer),
97
- reason: T.nilable(String)
106
+ reason: T.nilable(String),
107
+ replaces_adjustment_id: T.nilable(String)
98
108
  }
99
109
  )
100
110
  end
@@ -47,6 +47,11 @@ module Orb
47
47
  sig { returns(T.nilable(String)) }
48
48
  attr_accessor :reason
49
49
 
50
+ # The adjustment id this adjustment replaces. This adjustment will take the place
51
+ # of the replaced adjustment in plan version migrations.
52
+ sig { returns(T.nilable(String)) }
53
+ attr_accessor :replaces_adjustment_id
54
+
50
55
  sig do
51
56
  params(
52
57
  id: String,
@@ -57,7 +62,8 @@ module Orb
57
62
  is_invoice_level: T::Boolean,
58
63
  percentage_discount: Float,
59
64
  plan_phase_order: T.nilable(Integer),
60
- reason: T.nilable(String)
65
+ reason: T.nilable(String),
66
+ replaces_adjustment_id: T.nilable(String)
61
67
  ).returns(T.attached_class)
62
68
  end
63
69
  def self.new(
@@ -76,7 +82,10 @@ module Orb
76
82
  # The plan phase in which this adjustment is active.
77
83
  plan_phase_order:,
78
84
  # The reason for the adjustment.
79
- reason:
85
+ reason:,
86
+ # The adjustment id this adjustment replaces. This adjustment will take the place
87
+ # of the replaced adjustment in plan version migrations.
88
+ replaces_adjustment_id:
80
89
  )
81
90
  end
82
91
 
@@ -91,7 +100,8 @@ module Orb
91
100
  is_invoice_level: T::Boolean,
92
101
  percentage_discount: Float,
93
102
  plan_phase_order: T.nilable(Integer),
94
- reason: T.nilable(String)
103
+ reason: T.nilable(String),
104
+ replaces_adjustment_id: T.nilable(String)
95
105
  }
96
106
  )
97
107
  end
@@ -39,6 +39,11 @@ module Orb
39
39
  sig { returns(T.nilable(String)) }
40
40
  attr_accessor :reason
41
41
 
42
+ # The adjustment id this adjustment replaces. This adjustment will take the place
43
+ # of the replaced adjustment in plan version migrations.
44
+ sig { returns(T.nilable(String)) }
45
+ attr_accessor :replaces_adjustment_id
46
+
42
47
  # The number of usage units by which to discount the price this adjustment applies
43
48
  # to in a given billing period.
44
49
  sig { returns(Float) }
@@ -54,6 +59,7 @@ module Orb
54
59
  is_invoice_level: T::Boolean,
55
60
  plan_phase_order: T.nilable(Integer),
56
61
  reason: T.nilable(String),
62
+ replaces_adjustment_id: T.nilable(String),
57
63
  usage_discount: Float
58
64
  ).returns(T.attached_class)
59
65
  end
@@ -71,6 +77,9 @@ module Orb
71
77
  plan_phase_order:,
72
78
  # The reason for the adjustment.
73
79
  reason:,
80
+ # The adjustment id this adjustment replaces. This adjustment will take the place
81
+ # of the replaced adjustment in plan version migrations.
82
+ replaces_adjustment_id:,
74
83
  # The number of usage units by which to discount the price this adjustment applies
75
84
  # to in a given billing period.
76
85
  usage_discount:
@@ -88,6 +97,7 @@ module Orb
88
97
  is_invoice_level: T::Boolean,
89
98
  plan_phase_order: T.nilable(Integer),
90
99
  reason: T.nilable(String),
100
+ replaces_adjustment_id: T.nilable(String),
91
101
  usage_discount: Float
92
102
  }
93
103
  )