metronome-sdk 3.1.0 → 3.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 (152) 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/util.rb +32 -1
  5. data/lib/metronome_sdk/models/commit_rate.rb +29 -3
  6. data/lib/metronome_sdk/models/contract.rb +1 -9
  7. data/lib/metronome_sdk/models/contract_v2.rb +22 -1
  8. data/lib/metronome_sdk/models/overwrite_rate.rb +22 -1
  9. data/lib/metronome_sdk/models/payment_gate_config.rb +0 -1
  10. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +0 -1
  11. data/lib/metronome_sdk/models/rate.rb +22 -1
  12. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +23 -2
  13. data/lib/metronome_sdk/models/v1/contract_create_params.rb +24 -11
  14. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +23 -1
  15. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +21 -1
  16. data/lib/metronome_sdk/models/v1/customers/invoice.rb +10 -1
  17. data/lib/metronome_sdk/models/v1/package_archive_params.rb +24 -0
  18. data/lib/metronome_sdk/models/v1/package_archive_response.rb +18 -0
  19. data/lib/metronome_sdk/models/v1/package_create_params.rb +2719 -0
  20. data/lib/metronome_sdk/models/v1/package_create_response.rb +18 -0
  21. data/lib/metronome_sdk/models/v1/package_list_contracts_on_package_params.rb +69 -0
  22. data/lib/metronome_sdk/models/v1/package_list_contracts_on_package_response.rb +42 -0
  23. data/lib/metronome_sdk/models/v1/package_list_params.rb +52 -0
  24. data/lib/metronome_sdk/models/v1/package_list_response.rb +2446 -0
  25. data/lib/metronome_sdk/models/v1/package_retrieve_params.rb +22 -0
  26. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +2479 -0
  27. data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +39 -2
  28. data/lib/metronome_sdk/models/v1/usage_list_with_groups_response.rb +27 -3
  29. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +23 -2
  30. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +23 -1
  31. data/lib/metronome_sdk/resources/v1/alerts.rb +5 -0
  32. data/lib/metronome_sdk/resources/v1/audit_logs.rb +4 -1
  33. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +5 -1
  34. data/lib/metronome_sdk/resources/v1/contracts/named_schedules.rb +2 -0
  35. data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -2
  36. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rb +2 -0
  37. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +1 -0
  38. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +7 -3
  39. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +10 -3
  40. data/lib/metronome_sdk/resources/v1/contracts.rb +8 -5
  41. data/lib/metronome_sdk/resources/v1/credit_grants.rb +9 -4
  42. data/lib/metronome_sdk/resources/v1/custom_fields.rb +6 -2
  43. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +8 -2
  44. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +4 -0
  45. data/lib/metronome_sdk/resources/v1/customers/commits.rb +1 -0
  46. data/lib/metronome_sdk/resources/v1/customers/credits.rb +1 -0
  47. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +10 -3
  48. data/lib/metronome_sdk/resources/v1/customers/named_schedules.rb +2 -0
  49. data/lib/metronome_sdk/resources/v1/customers/plans.rb +8 -2
  50. data/lib/metronome_sdk/resources/v1/customers.rb +27 -3
  51. data/lib/metronome_sdk/resources/v1/dashboards.rb +4 -0
  52. data/lib/metronome_sdk/resources/v1/invoices.rb +4 -0
  53. data/lib/metronome_sdk/resources/v1/packages.rb +269 -0
  54. data/lib/metronome_sdk/resources/v1/plans.rb +10 -3
  55. data/lib/metronome_sdk/resources/v1/pricing_units.rb +4 -1
  56. data/lib/metronome_sdk/resources/v1/services.rb +2 -0
  57. data/lib/metronome_sdk/resources/v1/settings/billing_providers.rb +2 -0
  58. data/lib/metronome_sdk/resources/v1/settings.rb +4 -0
  59. data/lib/metronome_sdk/resources/v1/usage.rb +26 -13
  60. data/lib/metronome_sdk/resources/v1.rb +41 -0
  61. data/lib/metronome_sdk/version.rb +1 -1
  62. data/lib/metronome_sdk.rb +11 -0
  63. data/rbi/metronome_sdk/internal/util.rbi +21 -1
  64. data/rbi/metronome_sdk/models/commit_rate.rbi +43 -2
  65. data/rbi/metronome_sdk/models/contract.rbi +0 -11
  66. data/rbi/metronome_sdk/models/contract_v2.rbi +46 -0
  67. data/rbi/metronome_sdk/models/overwrite_rate.rbi +37 -0
  68. data/rbi/metronome_sdk/models/payment_gate_config.rbi +0 -5
  69. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +0 -5
  70. data/rbi/metronome_sdk/models/rate.rbi +35 -0
  71. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +46 -5
  72. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +46 -16
  73. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +46 -0
  74. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +46 -0
  75. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +13 -0
  76. data/rbi/metronome_sdk/models/v1/package_archive_params.rbi +48 -0
  77. data/rbi/metronome_sdk/models/v1/package_archive_response.rbi +31 -0
  78. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +6362 -0
  79. data/rbi/metronome_sdk/models/v1/package_create_response.rbi +31 -0
  80. data/rbi/metronome_sdk/models/v1/package_list_contracts_on_package_params.rbi +105 -0
  81. data/rbi/metronome_sdk/models/v1/package_list_contracts_on_package_response.rbi +70 -0
  82. data/rbi/metronome_sdk/models/v1/package_list_params.rbi +123 -0
  83. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +5796 -0
  84. data/rbi/metronome_sdk/models/v1/package_retrieve_params.rbi +43 -0
  85. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +5864 -0
  86. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_params.rbi +52 -0
  87. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_response.rbi +24 -3
  88. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +46 -5
  89. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +46 -0
  90. data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -0
  91. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +2 -0
  92. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +3 -0
  93. data/rbi/metronome_sdk/resources/v1/contracts/named_schedules.rbi +2 -0
  94. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +1 -0
  95. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rbi +2 -0
  96. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +1 -0
  97. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +5 -0
  98. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +5 -0
  99. data/rbi/metronome_sdk/resources/v1/contracts.rbi +4 -3
  100. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +3 -0
  101. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +3 -0
  102. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +5 -0
  103. data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +4 -0
  104. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +1 -0
  105. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +1 -0
  106. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +4 -0
  107. data/rbi/metronome_sdk/resources/v1/customers/named_schedules.rbi +2 -0
  108. data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +4 -0
  109. data/rbi/metronome_sdk/resources/v1/customers.rbi +21 -0
  110. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +4 -0
  111. data/rbi/metronome_sdk/resources/v1/invoices.rbi +4 -0
  112. data/rbi/metronome_sdk/resources/v1/packages.rbi +268 -0
  113. data/rbi/metronome_sdk/resources/v1/plans.rbi +4 -0
  114. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +2 -0
  115. data/rbi/metronome_sdk/resources/v1/services.rbi +2 -0
  116. data/rbi/metronome_sdk/resources/v1/settings/billing_providers.rbi +2 -0
  117. data/rbi/metronome_sdk/resources/v1/settings.rbi +4 -0
  118. data/rbi/metronome_sdk/resources/v1/usage.rbi +35 -8
  119. data/rbi/metronome_sdk/resources/v1.rbi +40 -0
  120. data/sig/metronome_sdk/internal/util.rbs +10 -0
  121. data/sig/metronome_sdk/models/commit_rate.rbs +19 -0
  122. data/sig/metronome_sdk/models/contract.rbs +0 -7
  123. data/sig/metronome_sdk/models/contract_v2.rbs +19 -0
  124. data/sig/metronome_sdk/models/overwrite_rate.rbs +19 -0
  125. data/sig/metronome_sdk/models/payment_gate_config.rbs +1 -2
  126. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +1 -2
  127. data/sig/metronome_sdk/models/rate.rbs +19 -0
  128. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +20 -2
  129. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +20 -9
  130. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +19 -0
  131. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +19 -0
  132. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +7 -0
  133. data/sig/metronome_sdk/models/v1/package_archive_params.rbs +26 -0
  134. data/sig/metronome_sdk/models/v1/package_archive_response.rbs +15 -0
  135. data/sig/metronome_sdk/models/v1/package_create_params.rbs +2532 -0
  136. data/sig/metronome_sdk/models/v1/package_create_response.rbs +15 -0
  137. data/sig/metronome_sdk/models/v1/package_list_contracts_on_package_params.rbs +63 -0
  138. data/sig/metronome_sdk/models/v1/package_list_contracts_on_package_response.rbs +46 -0
  139. data/sig/metronome_sdk/models/v1/package_list_params.rbs +58 -0
  140. data/sig/metronome_sdk/models/v1/package_list_response.rbs +2441 -0
  141. data/sig/metronome_sdk/models/v1/package_retrieve_params.rbs +26 -0
  142. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +2467 -0
  143. data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +16 -0
  144. data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +10 -3
  145. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +20 -2
  146. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +19 -0
  147. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -0
  148. data/sig/metronome_sdk/resources/v1/contracts.rbs +0 -1
  149. data/sig/metronome_sdk/resources/v1/packages.rbs +63 -0
  150. data/sig/metronome_sdk/resources/v1/usage.rbs +2 -0
  151. data/sig/metronome_sdk/resources/v1.rbs +2 -0
  152. metadata +35 -2
@@ -0,0 +1,31 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ class PackageCreateResponse < MetronomeSDK::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ MetronomeSDK::Models::V1::PackageCreateResponse,
11
+ MetronomeSDK::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ sig { returns(MetronomeSDK::ID) }
16
+ attr_reader :data
17
+
18
+ sig { params(data: MetronomeSDK::ID::OrHash).void }
19
+ attr_writer :data
20
+
21
+ sig { params(data: MetronomeSDK::ID::OrHash).returns(T.attached_class) }
22
+ def self.new(data:)
23
+ end
24
+
25
+ sig { override.returns({ data: MetronomeSDK::ID }) }
26
+ def to_hash
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,105 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ class PackageListContractsOnPackageParams < MetronomeSDK::Internal::Type::BaseModel
7
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
8
+ include MetronomeSDK::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ MetronomeSDK::V1::PackageListContractsOnPackageParams,
14
+ MetronomeSDK::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :package_id
20
+
21
+ # Max number of results that should be returned
22
+ sig { returns(T.nilable(Integer)) }
23
+ attr_reader :limit
24
+
25
+ sig { params(limit: Integer).void }
26
+ attr_writer :limit
27
+
28
+ # Cursor that indicates where the next page of results should start.
29
+ sig { returns(T.nilable(String)) }
30
+ attr_reader :next_page
31
+
32
+ sig { params(next_page: String).void }
33
+ attr_writer :next_page
34
+
35
+ # Optional RFC 3339 timestamp. Only include contracts active on the provided date.
36
+ # This cannot be provided if starting_at filter is provided.
37
+ sig { returns(T.nilable(Time)) }
38
+ attr_reader :covering_date
39
+
40
+ sig { params(covering_date: Time).void }
41
+ attr_writer :covering_date
42
+
43
+ # Default false. Determines whether to include archived contracts in the results
44
+ sig { returns(T.nilable(T::Boolean)) }
45
+ attr_reader :include_archived
46
+
47
+ sig { params(include_archived: T::Boolean).void }
48
+ attr_writer :include_archived
49
+
50
+ # Optional RFC 3339 timestamp. Only include contracts that started on or after
51
+ # this date. This cannot be provided if covering_date filter is provided.
52
+ sig { returns(T.nilable(Time)) }
53
+ attr_reader :starting_at
54
+
55
+ sig { params(starting_at: Time).void }
56
+ attr_writer :starting_at
57
+
58
+ sig do
59
+ params(
60
+ package_id: String,
61
+ limit: Integer,
62
+ next_page: String,
63
+ covering_date: Time,
64
+ include_archived: T::Boolean,
65
+ starting_at: Time,
66
+ request_options: MetronomeSDK::RequestOptions::OrHash
67
+ ).returns(T.attached_class)
68
+ end
69
+ def self.new(
70
+ package_id:,
71
+ # Max number of results that should be returned
72
+ limit: nil,
73
+ # Cursor that indicates where the next page of results should start.
74
+ next_page: nil,
75
+ # Optional RFC 3339 timestamp. Only include contracts active on the provided date.
76
+ # This cannot be provided if starting_at filter is provided.
77
+ covering_date: nil,
78
+ # Default false. Determines whether to include archived contracts in the results
79
+ include_archived: nil,
80
+ # Optional RFC 3339 timestamp. Only include contracts that started on or after
81
+ # this date. This cannot be provided if covering_date filter is provided.
82
+ starting_at: nil,
83
+ request_options: {}
84
+ )
85
+ end
86
+
87
+ sig do
88
+ override.returns(
89
+ {
90
+ package_id: String,
91
+ limit: Integer,
92
+ next_page: String,
93
+ covering_date: Time,
94
+ include_archived: T::Boolean,
95
+ starting_at: Time,
96
+ request_options: MetronomeSDK::RequestOptions
97
+ }
98
+ )
99
+ end
100
+ def to_hash
101
+ end
102
+ end
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,70 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ class PackageListContractsOnPackageResponse < MetronomeSDK::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ MetronomeSDK::Models::V1::PackageListContractsOnPackageResponse,
11
+ MetronomeSDK::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ sig { returns(String) }
16
+ attr_accessor :contract_id
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :customer_id
20
+
21
+ sig { returns(Time) }
22
+ attr_accessor :starting_at
23
+
24
+ sig { returns(T.nilable(Time)) }
25
+ attr_reader :archived_at
26
+
27
+ sig { params(archived_at: Time).void }
28
+ attr_writer :archived_at
29
+
30
+ sig { returns(T.nilable(Time)) }
31
+ attr_reader :ending_before
32
+
33
+ sig { params(ending_before: Time).void }
34
+ attr_writer :ending_before
35
+
36
+ sig do
37
+ params(
38
+ contract_id: String,
39
+ customer_id: String,
40
+ starting_at: Time,
41
+ archived_at: Time,
42
+ ending_before: Time
43
+ ).returns(T.attached_class)
44
+ end
45
+ def self.new(
46
+ contract_id:,
47
+ customer_id:,
48
+ starting_at:,
49
+ archived_at: nil,
50
+ ending_before: nil
51
+ )
52
+ end
53
+
54
+ sig do
55
+ override.returns(
56
+ {
57
+ contract_id: String,
58
+ customer_id: String,
59
+ starting_at: Time,
60
+ archived_at: Time,
61
+ ending_before: Time
62
+ }
63
+ )
64
+ end
65
+ def to_hash
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,123 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ class PackageListParams < MetronomeSDK::Internal::Type::BaseModel
7
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
8
+ include MetronomeSDK::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ MetronomeSDK::V1::PackageListParams,
14
+ MetronomeSDK::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # The maximum number of packages to return. Defaults to 10.
19
+ sig { returns(T.nilable(Integer)) }
20
+ attr_reader :limit
21
+
22
+ sig { params(limit: Integer).void }
23
+ attr_writer :limit
24
+
25
+ # Cursor that indicates where the next page of results should start.
26
+ sig { returns(T.nilable(String)) }
27
+ attr_reader :next_page
28
+
29
+ sig { params(next_page: String).void }
30
+ attr_writer :next_page
31
+
32
+ # Filter packages by archived status. Defaults to NOT_ARCHIVED.
33
+ sig do
34
+ returns(
35
+ T.nilable(
36
+ MetronomeSDK::V1::PackageListParams::ArchiveFilter::OrSymbol
37
+ )
38
+ )
39
+ end
40
+ attr_reader :archive_filter
41
+
42
+ sig do
43
+ params(
44
+ archive_filter:
45
+ MetronomeSDK::V1::PackageListParams::ArchiveFilter::OrSymbol
46
+ ).void
47
+ end
48
+ attr_writer :archive_filter
49
+
50
+ sig do
51
+ params(
52
+ limit: Integer,
53
+ next_page: String,
54
+ archive_filter:
55
+ MetronomeSDK::V1::PackageListParams::ArchiveFilter::OrSymbol,
56
+ request_options: MetronomeSDK::RequestOptions::OrHash
57
+ ).returns(T.attached_class)
58
+ end
59
+ def self.new(
60
+ # The maximum number of packages to return. Defaults to 10.
61
+ limit: nil,
62
+ # Cursor that indicates where the next page of results should start.
63
+ next_page: nil,
64
+ # Filter packages by archived status. Defaults to NOT_ARCHIVED.
65
+ archive_filter: nil,
66
+ request_options: {}
67
+ )
68
+ end
69
+
70
+ sig do
71
+ override.returns(
72
+ {
73
+ limit: Integer,
74
+ next_page: String,
75
+ archive_filter:
76
+ MetronomeSDK::V1::PackageListParams::ArchiveFilter::OrSymbol,
77
+ request_options: MetronomeSDK::RequestOptions
78
+ }
79
+ )
80
+ end
81
+ def to_hash
82
+ end
83
+
84
+ # Filter packages by archived status. Defaults to NOT_ARCHIVED.
85
+ module ArchiveFilter
86
+ extend MetronomeSDK::Internal::Type::Enum
87
+
88
+ TaggedSymbol =
89
+ T.type_alias do
90
+ T.all(Symbol, MetronomeSDK::V1::PackageListParams::ArchiveFilter)
91
+ end
92
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
93
+
94
+ ARCHIVED =
95
+ T.let(
96
+ :ARCHIVED,
97
+ MetronomeSDK::V1::PackageListParams::ArchiveFilter::TaggedSymbol
98
+ )
99
+ NOT_ARCHIVED =
100
+ T.let(
101
+ :NOT_ARCHIVED,
102
+ MetronomeSDK::V1::PackageListParams::ArchiveFilter::TaggedSymbol
103
+ )
104
+ ALL =
105
+ T.let(
106
+ :ALL,
107
+ MetronomeSDK::V1::PackageListParams::ArchiveFilter::TaggedSymbol
108
+ )
109
+
110
+ sig do
111
+ override.returns(
112
+ T::Array[
113
+ MetronomeSDK::V1::PackageListParams::ArchiveFilter::TaggedSymbol
114
+ ]
115
+ )
116
+ end
117
+ def self.values
118
+ end
119
+ end
120
+ end
121
+ end
122
+ end
123
+ end