metronome-sdk 3.7.0 → 3.8.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 (96) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +38 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/transport/base_client.rb +4 -1
  5. data/lib/metronome_sdk/models/commit.rb +10 -1
  6. data/lib/metronome_sdk/models/contract_v2.rb +290 -7
  7. data/lib/metronome_sdk/models/contract_without_amendments.rb +178 -4
  8. data/lib/metronome_sdk/models/credit.rb +10 -1
  9. data/lib/metronome_sdk/models/override.rb +7 -1
  10. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +10 -2
  11. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +3 -1
  12. data/lib/metronome_sdk/models/subscription.rb +90 -2
  13. data/lib/metronome_sdk/models/v1/alert_create_params.rb +127 -1
  14. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +17 -4
  15. data/lib/metronome_sdk/models/v1/contract_create_params.rb +290 -10
  16. data/lib/metronome_sdk/models/v1/contract_create_response.rb +178 -4
  17. data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rb +88 -0
  18. data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rb +62 -0
  19. data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +10 -1
  20. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +127 -1
  21. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +130 -3
  22. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +10 -1
  23. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
  24. data/lib/metronome_sdk/models/v1/package_create_params.rb +279 -10
  25. data/lib/metronome_sdk/models/v1/package_list_response.rb +264 -7
  26. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +264 -7
  27. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +515 -9
  28. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +456 -8
  29. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +456 -8
  30. data/lib/metronome_sdk/resources/v1/alerts.rb +3 -1
  31. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +4 -0
  32. data/lib/metronome_sdk/resources/v1/contracts.rb +68 -1
  33. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +4 -2
  34. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +3 -1
  35. data/lib/metronome_sdk/resources/v1/dashboards.rb +7 -2
  36. data/lib/metronome_sdk/version.rb +1 -1
  37. data/lib/metronome_sdk.rb +2 -0
  38. data/rbi/metronome_sdk/models/commit.rbi +13 -0
  39. data/rbi/metronome_sdk/models/contract_v2.rbi +715 -3
  40. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +463 -0
  41. data/rbi/metronome_sdk/models/credit.rbi +13 -0
  42. data/rbi/metronome_sdk/models/override.rbi +9 -0
  43. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +11 -1
  44. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +4 -0
  45. data/rbi/metronome_sdk/models/subscription.rbi +212 -3
  46. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +373 -0
  47. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +27 -6
  48. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +719 -9
  49. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +463 -0
  50. data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbi +112 -0
  51. data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbi +119 -0
  52. data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +13 -0
  53. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +360 -0
  54. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +379 -2
  55. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +13 -0
  56. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
  57. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +706 -9
  58. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +693 -3
  59. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +693 -3
  60. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1333 -40
  61. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +1204 -67
  62. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1204 -67
  63. data/rbi/metronome_sdk/resources/v1/alerts.rbi +8 -0
  64. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +4 -0
  65. data/rbi/metronome_sdk/resources/v1/contracts.rbi +70 -0
  66. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +8 -1
  67. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +4 -0
  68. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +7 -2
  69. data/sig/metronome_sdk/models/commit.rbs +7 -0
  70. data/sig/metronome_sdk/models/contract_v2.rbs +278 -5
  71. data/sig/metronome_sdk/models/contract_without_amendments.rbs +169 -2
  72. data/sig/metronome_sdk/models/credit.rbs +7 -0
  73. data/sig/metronome_sdk/models/override.rbs +7 -0
  74. data/sig/metronome_sdk/models/subscription.rbs +88 -3
  75. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +144 -0
  76. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +7 -0
  77. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +278 -5
  78. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +167 -2
  79. data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbs +63 -0
  80. data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbs +59 -0
  81. data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +7 -0
  82. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +141 -0
  83. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +150 -0
  84. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +8 -1
  85. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
  86. data/sig/metronome_sdk/models/v1/package_create_params.rbs +271 -5
  87. data/sig/metronome_sdk/models/v1/package_list_response.rbs +265 -5
  88. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +263 -5
  89. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +468 -5
  90. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +428 -5
  91. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +427 -5
  92. data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -0
  93. data/sig/metronome_sdk/resources/v1/contracts.rbs +13 -0
  94. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
  95. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -0
  96. metadata +8 -2
@@ -677,6 +677,11 @@ module MetronomeSDK
677
677
  # @param type [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Override::Type]
678
678
 
679
679
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
680
+ # @!attribute any_commit_or_credit_template_ids
681
+ #
682
+ # @return [Array<String>, nil]
683
+ optional :any_commit_or_credit_template_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
684
+
680
685
  # @!attribute billing_frequency
681
686
  #
682
687
  # @return [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Override::OverrideSpecifier::BillingFrequency, nil]
@@ -713,7 +718,8 @@ module MetronomeSDK
713
718
  # @return [Array<String>, nil]
714
719
  optional :recurring_commit_template_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
715
720
 
716
- # @!method initialize(billing_frequency: nil, commit_template_ids: nil, presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil, recurring_commit_template_ids: nil)
721
+ # @!method initialize(any_commit_or_credit_template_ids: nil, billing_frequency: nil, commit_template_ids: nil, presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil, recurring_commit_template_ids: nil)
722
+ # @param any_commit_or_credit_template_ids [Array<String>]
717
723
  # @param billing_frequency [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Override::OverrideSpecifier::BillingFrequency]
718
724
  # @param commit_template_ids [Array<String>]
719
725
  # @param presentation_group_values [Hash{Symbol=>String, nil}]
@@ -1443,6 +1449,14 @@ module MetronomeSDK
1443
1449
  optional :proration,
1444
1450
  enum: -> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::Proration }
1445
1451
 
1452
+ # @!attribute proration_rounding
1453
+ # Rounding configuration for prorated recurring commit amounts.
1454
+ #
1455
+ # @return [MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding, nil]
1456
+ optional :proration_rounding,
1457
+ -> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding },
1458
+ nil?: true
1459
+
1446
1460
  # @!attribute recurrence_frequency
1447
1461
  # The frequency at which the recurring commits will be created. If not provided: -
1448
1462
  # The commits will be created on the usage invoice frequency. If provided: - The
@@ -1477,7 +1491,7 @@ module MetronomeSDK
1477
1491
  optional :subscription_config,
1478
1492
  -> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::SubscriptionConfig }
1479
1493
 
1480
- # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at_offset:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, duration: nil, invoice_amount: nil, name: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
1494
+ # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at_offset:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, duration: nil, invoice_amount: nil, name: nil, proration: nil, proration_rounding: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
1481
1495
  # Some parameter documentations has been truncated, see
1482
1496
  # {MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit} for
1483
1497
  # more details.
@@ -1510,7 +1524,9 @@ module MetronomeSDK
1510
1524
  #
1511
1525
  # @param proration [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::Proration] Determines whether the first and last commit will be prorated. If not provided,
1512
1526
  #
1513
- # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided:
1527
+ # @param proration_rounding [MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding, nil] Rounding configuration for prorated recurring commit amounts.
1528
+ #
1529
+ # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
1514
1530
  #
1515
1531
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
1516
1532
  #
@@ -1712,6 +1728,105 @@ module MetronomeSDK
1712
1728
  # @return [Array<Symbol>]
1713
1729
  end
1714
1730
 
1731
+ # @see MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit#proration_rounding
1732
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
1733
+ # @!attribute access
1734
+ #
1735
+ # @return [MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Access, nil]
1736
+ optional :access,
1737
+ -> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Access }
1738
+
1739
+ # @!attribute invoice
1740
+ #
1741
+ # @return [MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Invoice, nil]
1742
+ optional :invoice,
1743
+ -> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Invoice }
1744
+
1745
+ # @!method initialize(access: nil, invoice: nil)
1746
+ # Rounding configuration for prorated recurring commit amounts.
1747
+ #
1748
+ # @param access [MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Access]
1749
+ # @param invoice [MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Invoice]
1750
+
1751
+ # @see MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding#access
1752
+ class Access < MetronomeSDK::Internal::Type::BaseModel
1753
+ # @!attribute decimal_places
1754
+ # Number of decimal places to round to. Applied directly to the stored monetary
1755
+ # representation. Negative values round to powers of 10 (e.g., -2 rounds to
1756
+ # nearest 100 in the stored unit. For USD, this means rounding to the nearest
1757
+ # dollar).
1758
+ #
1759
+ # @return [Float]
1760
+ required :decimal_places, Float
1761
+
1762
+ # @!attribute rounding_method
1763
+ #
1764
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Access::RoundingMethod]
1765
+ required :rounding_method,
1766
+ enum: -> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Access::RoundingMethod }
1767
+
1768
+ # @!method initialize(decimal_places:, rounding_method:)
1769
+ # Some parameter documentations has been truncated, see
1770
+ # {MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Access}
1771
+ # for more details.
1772
+ #
1773
+ # @param decimal_places [Float] Number of decimal places to round to. Applied directly to the stored monetary re
1774
+ #
1775
+ # @param rounding_method [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Access::RoundingMethod]
1776
+
1777
+ # @see MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Access#rounding_method
1778
+ module RoundingMethod
1779
+ extend MetronomeSDK::Internal::Type::Enum
1780
+
1781
+ HALF_UP = :HALF_UP
1782
+ FLOOR = :FLOOR
1783
+ CEILING = :CEILING
1784
+
1785
+ # @!method self.values
1786
+ # @return [Array<Symbol>]
1787
+ end
1788
+ end
1789
+
1790
+ # @see MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding#invoice
1791
+ class Invoice < MetronomeSDK::Internal::Type::BaseModel
1792
+ # @!attribute decimal_places
1793
+ # Number of decimal places to round to. Applied directly to the stored monetary
1794
+ # representation. Negative values round to powers of 10 (e.g., -2 rounds to
1795
+ # nearest 100 in the stored unit. For USD, this means rounding to the nearest
1796
+ # dollar).
1797
+ #
1798
+ # @return [Float]
1799
+ required :decimal_places, Float
1800
+
1801
+ # @!attribute rounding_method
1802
+ #
1803
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Invoice::RoundingMethod]
1804
+ required :rounding_method,
1805
+ enum: -> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Invoice::RoundingMethod }
1806
+
1807
+ # @!method initialize(decimal_places:, rounding_method:)
1808
+ # Some parameter documentations has been truncated, see
1809
+ # {MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Invoice}
1810
+ # for more details.
1811
+ #
1812
+ # @param decimal_places [Float] Number of decimal places to round to. Applied directly to the stored monetary re
1813
+ #
1814
+ # @param rounding_method [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Invoice::RoundingMethod]
1815
+
1816
+ # @see MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Invoice#rounding_method
1817
+ module RoundingMethod
1818
+ extend MetronomeSDK::Internal::Type::Enum
1819
+
1820
+ HALF_UP = :HALF_UP
1821
+ FLOOR = :FLOOR
1822
+ CEILING = :CEILING
1823
+
1824
+ # @!method self.values
1825
+ # @return [Array<Symbol>]
1826
+ end
1827
+ end
1828
+ end
1829
+
1715
1830
  # The frequency at which the recurring commits will be created. If not provided: -
1716
1831
  # The commits will be created on the usage invoice frequency. If provided: - The
1717
1832
  # period defined in the duration will correspond to this frequency. - Commits will
@@ -1726,6 +1841,7 @@ module MetronomeSDK
1726
1841
  QUARTERLY = :QUARTERLY
1727
1842
  ANNUAL = :ANNUAL
1728
1843
  WEEKLY = :WEEKLY
1844
+ DAILY = :DAILY
1729
1845
 
1730
1846
  # @!method self.values
1731
1847
  # @return [Array<Symbol>]
@@ -1866,6 +1982,14 @@ module MetronomeSDK
1866
1982
  optional :proration,
1867
1983
  enum: -> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::Proration }
1868
1984
 
1985
+ # @!attribute proration_rounding
1986
+ # Rounding configuration for prorated recurring credit amounts.
1987
+ #
1988
+ # @return [MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding, nil]
1989
+ optional :proration_rounding,
1990
+ -> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding },
1991
+ nil?: true
1992
+
1869
1993
  # @!attribute recurrence_frequency
1870
1994
  # The frequency at which the recurring commits will be created. If not provided: -
1871
1995
  # The commits will be created on the usage invoice frequency. If provided: - The
@@ -1900,7 +2024,7 @@ module MetronomeSDK
1900
2024
  optional :subscription_config,
1901
2025
  -> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::SubscriptionConfig }
1902
2026
 
1903
- # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at_offset:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, duration: nil, name: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
2027
+ # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at_offset:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, duration: nil, name: nil, proration: nil, proration_rounding: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
1904
2028
  # Some parameter documentations has been truncated, see
1905
2029
  # {MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit} for
1906
2030
  # more details.
@@ -1931,7 +2055,9 @@ module MetronomeSDK
1931
2055
  #
1932
2056
  # @param proration [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::Proration] Determines whether the first and last commit will be prorated. If not provided,
1933
2057
  #
1934
- # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided:
2058
+ # @param proration_rounding [MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding, nil] Rounding configuration for prorated recurring credit amounts.
2059
+ #
2060
+ # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
1935
2061
  #
1936
2062
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
1937
2063
  #
@@ -2108,6 +2234,59 @@ module MetronomeSDK
2108
2234
  # @return [Array<Symbol>]
2109
2235
  end
2110
2236
 
2237
+ # @see MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit#proration_rounding
2238
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
2239
+ # @!attribute access
2240
+ #
2241
+ # @return [MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding::Access, nil]
2242
+ optional :access,
2243
+ -> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding::Access }
2244
+
2245
+ # @!method initialize(access: nil)
2246
+ # Rounding configuration for prorated recurring credit amounts.
2247
+ #
2248
+ # @param access [MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding::Access]
2249
+
2250
+ # @see MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding#access
2251
+ class Access < MetronomeSDK::Internal::Type::BaseModel
2252
+ # @!attribute decimal_places
2253
+ # Number of decimal places to round to. Applied directly to the stored monetary
2254
+ # representation. Negative values round to powers of 10 (e.g., -2 rounds to
2255
+ # nearest 100 in the stored unit. For USD, this means rounding to the nearest
2256
+ # dollar).
2257
+ #
2258
+ # @return [Float]
2259
+ required :decimal_places, Float
2260
+
2261
+ # @!attribute rounding_method
2262
+ #
2263
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding::Access::RoundingMethod]
2264
+ required :rounding_method,
2265
+ enum: -> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding::Access::RoundingMethod }
2266
+
2267
+ # @!method initialize(decimal_places:, rounding_method:)
2268
+ # Some parameter documentations has been truncated, see
2269
+ # {MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding::Access}
2270
+ # for more details.
2271
+ #
2272
+ # @param decimal_places [Float] Number of decimal places to round to. Applied directly to the stored monetary re
2273
+ #
2274
+ # @param rounding_method [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding::Access::RoundingMethod]
2275
+
2276
+ # @see MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding::Access#rounding_method
2277
+ module RoundingMethod
2278
+ extend MetronomeSDK::Internal::Type::Enum
2279
+
2280
+ HALF_UP = :HALF_UP
2281
+ FLOOR = :FLOOR
2282
+ CEILING = :CEILING
2283
+
2284
+ # @!method self.values
2285
+ # @return [Array<Symbol>]
2286
+ end
2287
+ end
2288
+ end
2289
+
2111
2290
  # The frequency at which the recurring commits will be created. If not provided: -
2112
2291
  # The commits will be created on the usage invoice frequency. If provided: - The
2113
2292
  # period defined in the duration will correspond to this frequency. - Commits will
@@ -2122,6 +2301,7 @@ module MetronomeSDK
2122
2301
  QUARTERLY = :QUARTERLY
2123
2302
  ANNUAL = :ANNUAL
2124
2303
  WEEKLY = :WEEKLY
2304
+ DAILY = :DAILY
2125
2305
 
2126
2306
  # @!method self.values
2127
2307
  # @return [Array<Symbol>]
@@ -2323,6 +2503,12 @@ module MetronomeSDK
2323
2503
  # @return [String, nil]
2324
2504
  optional :id, String
2325
2505
 
2506
+ # @!attribute billing_cycle_config
2507
+ #
2508
+ # @return [MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::BillingCycleConfig, nil]
2509
+ optional :billing_cycle_config,
2510
+ -> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::BillingCycleConfig }
2511
+
2326
2512
  # @!attribute custom_fields
2327
2513
  # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
2328
2514
  #
@@ -2381,7 +2567,7 @@ module MetronomeSDK
2381
2567
  optional :starting_at_offset,
2382
2568
  -> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::StartingAtOffset }
2383
2569
 
2384
- # @!method initialize(collection_schedule:, proration:, subscription_rate:, id: nil, custom_fields: nil, description: nil, duration: nil, fiat_credit_type_id: nil, initial_quantity: nil, name: nil, quantity_management_mode: nil, seat_config: nil, starting_at_offset: nil)
2570
+ # @!method initialize(collection_schedule:, proration:, subscription_rate:, id: nil, billing_cycle_config: nil, custom_fields: nil, description: nil, duration: nil, fiat_credit_type_id: nil, initial_quantity: nil, name: nil, quantity_management_mode: nil, seat_config: nil, starting_at_offset: nil)
2385
2571
  # Some parameter documentations has been truncated, see
2386
2572
  # {MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription} for more
2387
2573
  # details.
@@ -2394,6 +2580,8 @@ module MetronomeSDK
2394
2580
  #
2395
2581
  # @param id [String]
2396
2582
  #
2583
+ # @param billing_cycle_config [MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::BillingCycleConfig]
2584
+ #
2397
2585
  # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
2398
2586
  #
2399
2587
  # @param description [String]
@@ -2436,9 +2624,16 @@ module MetronomeSDK
2436
2624
  # @return [Boolean]
2437
2625
  required :is_prorated, MetronomeSDK::Internal::Type::Boolean
2438
2626
 
2439
- # @!method initialize(invoice_behavior:, is_prorated:)
2627
+ # @!attribute rounding
2628
+ #
2629
+ # @return [MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::Rounding, nil]
2630
+ optional :rounding,
2631
+ -> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::Rounding }
2632
+
2633
+ # @!method initialize(invoice_behavior:, is_prorated:, rounding: nil)
2440
2634
  # @param invoice_behavior [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::InvoiceBehavior]
2441
2635
  # @param is_prorated [Boolean]
2636
+ # @param rounding [MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::Rounding]
2442
2637
 
2443
2638
  # @see MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration#invoice_behavior
2444
2639
  module InvoiceBehavior
@@ -2450,6 +2645,45 @@ module MetronomeSDK
2450
2645
  # @!method self.values
2451
2646
  # @return [Array<Symbol>]
2452
2647
  end
2648
+
2649
+ # @see MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration#rounding
2650
+ class Rounding < MetronomeSDK::Internal::Type::BaseModel
2651
+ # @!attribute decimal_places
2652
+ # Number of decimal places to round to. Applied directly to the stored monetary
2653
+ # representation. Negative values round to powers of 10 (e.g., -2 rounds to
2654
+ # nearest 100 in the stored unit. For USD, this means rounding to the nearest
2655
+ # dollar).
2656
+ #
2657
+ # @return [Float]
2658
+ required :decimal_places, Float
2659
+
2660
+ # @!attribute rounding_method
2661
+ #
2662
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::Rounding::RoundingMethod]
2663
+ required :rounding_method,
2664
+ enum: -> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::Rounding::RoundingMethod }
2665
+
2666
+ # @!method initialize(decimal_places:, rounding_method:)
2667
+ # Some parameter documentations has been truncated, see
2668
+ # {MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::Rounding}
2669
+ # for more details.
2670
+ #
2671
+ # @param decimal_places [Float] Number of decimal places to round to. Applied directly to the stored monetary re
2672
+ #
2673
+ # @param rounding_method [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::Rounding::RoundingMethod]
2674
+
2675
+ # @see MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::Rounding#rounding_method
2676
+ module RoundingMethod
2677
+ extend MetronomeSDK::Internal::Type::Enum
2678
+
2679
+ HALF_UP = :HALF_UP
2680
+ FLOOR = :FLOOR
2681
+ CEILING = :CEILING
2682
+
2683
+ # @!method self.values
2684
+ # @return [Array<Symbol>]
2685
+ end
2686
+ end
2453
2687
  end
2454
2688
 
2455
2689
  # @see MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription#subscription_rate
@@ -2501,6 +2735,29 @@ module MetronomeSDK
2501
2735
  end
2502
2736
  end
2503
2737
 
2738
+ # @see MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription#billing_cycle_config
2739
+ class BillingCycleConfig < MetronomeSDK::Internal::Type::BaseModel
2740
+ # @!attribute invoice_placement
2741
+ #
2742
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::BillingCycleConfig::InvoicePlacement, nil]
2743
+ optional :invoice_placement,
2744
+ enum: -> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::BillingCycleConfig::InvoicePlacement }
2745
+
2746
+ # @!method initialize(invoice_placement: nil)
2747
+ # @param invoice_placement [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::BillingCycleConfig::InvoicePlacement]
2748
+
2749
+ # @see MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::BillingCycleConfig#invoice_placement
2750
+ module InvoicePlacement
2751
+ extend MetronomeSDK::Internal::Type::Enum
2752
+
2753
+ ON_SCHEDULED_INVOICE = :ON_SCHEDULED_INVOICE
2754
+ ON_USAGE_INVOICE = :ON_USAGE_INVOICE
2755
+
2756
+ # @!method self.values
2757
+ # @return [Array<Symbol>]
2758
+ end
2759
+ end
2760
+
2504
2761
  # @see MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription#duration
2505
2762
  class Duration < MetronomeSDK::Internal::Type::BaseModel
2506
2763
  # @!attribute unit