stigg 0.1.0.pre.alpha.1

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 (230) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +45 -0
  4. data/README.md +233 -0
  5. data/SECURITY.md +23 -0
  6. data/lib/stigg/client.rb +72 -0
  7. data/lib/stigg/errors.rb +228 -0
  8. data/lib/stigg/file_part.rb +58 -0
  9. data/lib/stigg/internal/my_cursor_id_page.rb +82 -0
  10. data/lib/stigg/internal/transport/base_client.rb +570 -0
  11. data/lib/stigg/internal/transport/pooled_net_requester.rb +210 -0
  12. data/lib/stigg/internal/type/array_of.rb +168 -0
  13. data/lib/stigg/internal/type/base_model.rb +529 -0
  14. data/lib/stigg/internal/type/base_page.rb +55 -0
  15. data/lib/stigg/internal/type/boolean.rb +77 -0
  16. data/lib/stigg/internal/type/converter.rb +327 -0
  17. data/lib/stigg/internal/type/enum.rb +131 -0
  18. data/lib/stigg/internal/type/file_input.rb +110 -0
  19. data/lib/stigg/internal/type/hash_of.rb +188 -0
  20. data/lib/stigg/internal/type/request_parameters.rb +42 -0
  21. data/lib/stigg/internal/type/union.rb +237 -0
  22. data/lib/stigg/internal/type/unknown.rb +81 -0
  23. data/lib/stigg/internal/util.rb +920 -0
  24. data/lib/stigg/internal.rb +20 -0
  25. data/lib/stigg/models/v1/coupon_create_params.rb +221 -0
  26. data/lib/stigg/models/v1/coupon_create_response.rb +317 -0
  27. data/lib/stigg/models/v1/coupon_list_params.rb +40 -0
  28. data/lib/stigg/models/v1/coupon_list_response.rb +324 -0
  29. data/lib/stigg/models/v1/coupon_retrieve_params.rb +16 -0
  30. data/lib/stigg/models/v1/coupon_retrieve_response.rb +317 -0
  31. data/lib/stigg/models/v1/customer_archive_params.rb +16 -0
  32. data/lib/stigg/models/v1/customer_create_params.rb +185 -0
  33. data/lib/stigg/models/v1/customer_list_params.rb +40 -0
  34. data/lib/stigg/models/v1/customer_list_response.rb +223 -0
  35. data/lib/stigg/models/v1/customer_response.rb +216 -0
  36. data/lib/stigg/models/v1/customer_retrieve_params.rb +16 -0
  37. data/lib/stigg/models/v1/customer_unarchive_params.rb +16 -0
  38. data/lib/stigg/models/v1/customer_update_params.rb +107 -0
  39. data/lib/stigg/models/v1/customers/payment_method_attach_params.rb +197 -0
  40. data/lib/stigg/models/v1/customers/payment_method_detach_params.rb +18 -0
  41. data/lib/stigg/models/v1/customers/promotional_create_params.rb +294 -0
  42. data/lib/stigg/models/v1/customers/promotional_create_response.rb +268 -0
  43. data/lib/stigg/models/v1/customers/promotional_revoke_params.rb +24 -0
  44. data/lib/stigg/models/v1/customers/promotional_revoke_response.rb +268 -0
  45. data/lib/stigg/models/v1/customers/usage_retrieve_params.rb +56 -0
  46. data/lib/stigg/models/v1/customers/usage_retrieve_response.rb +145 -0
  47. data/lib/stigg/models/v1/subscription_create_params.rb +214 -0
  48. data/lib/stigg/models/v1/subscription_create_response.rb +338 -0
  49. data/lib/stigg/models/v1/subscription_delegate_params.rb +24 -0
  50. data/lib/stigg/models/v1/subscription_delegate_response.rb +274 -0
  51. data/lib/stigg/models/v1/subscription_list_params.rb +60 -0
  52. data/lib/stigg/models/v1/subscription_list_response.rb +281 -0
  53. data/lib/stigg/models/v1/subscription_migrate_params.rb +37 -0
  54. data/lib/stigg/models/v1/subscription_migrate_response.rb +274 -0
  55. data/lib/stigg/models/v1/subscription_preview_params.rb +644 -0
  56. data/lib/stigg/models/v1/subscription_preview_response.rb +431 -0
  57. data/lib/stigg/models/v1/subscription_retrieve_params.rb +16 -0
  58. data/lib/stigg/models/v1/subscription_retrieve_response.rb +274 -0
  59. data/lib/stigg/models/v1/subscription_transfer_params.rb +28 -0
  60. data/lib/stigg/models/v1/subscription_transfer_response.rb +274 -0
  61. data/lib/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_params.rb +18 -0
  62. data/lib/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_response.rb +32 -0
  63. data/lib/stigg/models/v1/subscriptions/future_update_cancel_schedule_params.rb +18 -0
  64. data/lib/stigg/models/v1/subscriptions/future_update_cancel_schedule_response.rb +32 -0
  65. data/lib/stigg/models/v1_create_event_params.rb +87 -0
  66. data/lib/stigg/models/v1_create_event_response.rb +16 -0
  67. data/lib/stigg/models/v1_create_usage_params.rb +96 -0
  68. data/lib/stigg/models/v1_create_usage_response.rb +112 -0
  69. data/lib/stigg/models.rb +47 -0
  70. data/lib/stigg/request_options.rb +77 -0
  71. data/lib/stigg/resources/v1/coupons.rb +95 -0
  72. data/lib/stigg/resources/v1/customers/payment_method.rb +67 -0
  73. data/lib/stigg/resources/v1/customers/promotional.rb +69 -0
  74. data/lib/stigg/resources/v1/customers/usage.rb +59 -0
  75. data/lib/stigg/resources/v1/customers.rb +177 -0
  76. data/lib/stigg/resources/v1/subscriptions/future_update.rb +56 -0
  77. data/lib/stigg/resources/v1/subscriptions.rb +241 -0
  78. data/lib/stigg/resources/v1.rb +70 -0
  79. data/lib/stigg/version.rb +5 -0
  80. data/lib/stigg.rb +108 -0
  81. data/manifest.yaml +17 -0
  82. data/rbi/stigg/client.rbi +49 -0
  83. data/rbi/stigg/errors.rbi +205 -0
  84. data/rbi/stigg/file_part.rbi +37 -0
  85. data/rbi/stigg/internal/my_cursor_id_page.rbi +19 -0
  86. data/rbi/stigg/internal/transport/base_client.rbi +297 -0
  87. data/rbi/stigg/internal/transport/pooled_net_requester.rbi +82 -0
  88. data/rbi/stigg/internal/type/array_of.rbi +104 -0
  89. data/rbi/stigg/internal/type/base_model.rbi +299 -0
  90. data/rbi/stigg/internal/type/base_page.rbi +42 -0
  91. data/rbi/stigg/internal/type/boolean.rbi +58 -0
  92. data/rbi/stigg/internal/type/converter.rbi +204 -0
  93. data/rbi/stigg/internal/type/enum.rbi +82 -0
  94. data/rbi/stigg/internal/type/file_input.rbi +58 -0
  95. data/rbi/stigg/internal/type/hash_of.rbi +104 -0
  96. data/rbi/stigg/internal/type/request_parameters.rbi +29 -0
  97. data/rbi/stigg/internal/type/union.rbi +126 -0
  98. data/rbi/stigg/internal/type/unknown.rbi +58 -0
  99. data/rbi/stigg/internal/util.rbi +478 -0
  100. data/rbi/stigg/internal.rbi +16 -0
  101. data/rbi/stigg/models/v1/coupon_create_params.rbi +758 -0
  102. data/rbi/stigg/models/v1/coupon_create_response.rbi +986 -0
  103. data/rbi/stigg/models/v1/coupon_list_params.rbi +70 -0
  104. data/rbi/stigg/models/v1/coupon_list_response.rbi +983 -0
  105. data/rbi/stigg/models/v1/coupon_retrieve_params.rbi +29 -0
  106. data/rbi/stigg/models/v1/coupon_retrieve_response.rbi +986 -0
  107. data/rbi/stigg/models/v1/customer_archive_params.rbi +29 -0
  108. data/rbi/stigg/models/v1/customer_create_params.rbi +376 -0
  109. data/rbi/stigg/models/v1/customer_list_params.rbi +70 -0
  110. data/rbi/stigg/models/v1/customer_list_response.rbi +447 -0
  111. data/rbi/stigg/models/v1/customer_response.rbi +423 -0
  112. data/rbi/stigg/models/v1/customer_retrieve_params.rbi +29 -0
  113. data/rbi/stigg/models/v1/customer_unarchive_params.rbi +29 -0
  114. data/rbi/stigg/models/v1/customer_update_params.rbi +226 -0
  115. data/rbi/stigg/models/v1/customers/payment_method_attach_params.rbi +769 -0
  116. data/rbi/stigg/models/v1/customers/payment_method_detach_params.rbi +34 -0
  117. data/rbi/stigg/models/v1/customers/promotional_create_params.rbi +639 -0
  118. data/rbi/stigg/models/v1/customers/promotional_create_response.rbi +495 -0
  119. data/rbi/stigg/models/v1/customers/promotional_revoke_params.rbi +42 -0
  120. data/rbi/stigg/models/v1/customers/promotional_revoke_response.rbi +497 -0
  121. data/rbi/stigg/models/v1/customers/usage_retrieve_params.rbi +84 -0
  122. data/rbi/stigg/models/v1/customers/usage_retrieve_response.rbi +353 -0
  123. data/rbi/stigg/models/v1/subscription_create_params.rbi +394 -0
  124. data/rbi/stigg/models/v1/subscription_create_response.rbi +668 -0
  125. data/rbi/stigg/models/v1/subscription_delegate_params.rbi +48 -0
  126. data/rbi/stigg/models/v1/subscription_delegate_response.rbi +535 -0
  127. data/rbi/stigg/models/v1/subscription_list_params.rbi +94 -0
  128. data/rbi/stigg/models/v1/subscription_list_response.rbi +543 -0
  129. data/rbi/stigg/models/v1/subscription_migrate_params.rbi +99 -0
  130. data/rbi/stigg/models/v1/subscription_migrate_response.rbi +535 -0
  131. data/rbi/stigg/models/v1/subscription_preview_params.rbi +1786 -0
  132. data/rbi/stigg/models/v1/subscription_preview_response.rbi +929 -0
  133. data/rbi/stigg/models/v1/subscription_retrieve_params.rbi +32 -0
  134. data/rbi/stigg/models/v1/subscription_retrieve_response.rbi +535 -0
  135. data/rbi/stigg/models/v1/subscription_transfer_params.rbi +50 -0
  136. data/rbi/stigg/models/v1/subscription_transfer_response.rbi +535 -0
  137. data/rbi/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_params.rbi +34 -0
  138. data/rbi/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_response.rbi +79 -0
  139. data/rbi/stigg/models/v1/subscriptions/future_update_cancel_schedule_params.rbi +34 -0
  140. data/rbi/stigg/models/v1/subscriptions/future_update_cancel_schedule_response.rbi +79 -0
  141. data/rbi/stigg/models/v1_create_event_params.rbi +160 -0
  142. data/rbi/stigg/models/v1_create_event_response.rbi +23 -0
  143. data/rbi/stigg/models/v1_create_usage_params.rbi +177 -0
  144. data/rbi/stigg/models/v1_create_usage_response.rbi +150 -0
  145. data/rbi/stigg/models.rbi +9 -0
  146. data/rbi/stigg/request_options.rbi +55 -0
  147. data/rbi/stigg/resources/v1/coupons.rbi +79 -0
  148. data/rbi/stigg/resources/v1/customers/payment_method.rbi +54 -0
  149. data/rbi/stigg/resources/v1/customers/promotional.rbi +53 -0
  150. data/rbi/stigg/resources/v1/customers/usage.rbi +45 -0
  151. data/rbi/stigg/resources/v1/customers.rbi +138 -0
  152. data/rbi/stigg/resources/v1/subscriptions/future_update.rbi +40 -0
  153. data/rbi/stigg/resources/v1/subscriptions.rbi +199 -0
  154. data/rbi/stigg/resources/v1.rbi +49 -0
  155. data/rbi/stigg/version.rbi +5 -0
  156. data/sig/stigg/client.rbs +26 -0
  157. data/sig/stigg/errors.rbs +117 -0
  158. data/sig/stigg/file_part.rbs +21 -0
  159. data/sig/stigg/internal/my_cursor_id_page.rbs +11 -0
  160. data/sig/stigg/internal/transport/base_client.rbs +133 -0
  161. data/sig/stigg/internal/transport/pooled_net_requester.rbs +48 -0
  162. data/sig/stigg/internal/type/array_of.rbs +48 -0
  163. data/sig/stigg/internal/type/base_model.rbs +102 -0
  164. data/sig/stigg/internal/type/base_page.rbs +24 -0
  165. data/sig/stigg/internal/type/boolean.rbs +26 -0
  166. data/sig/stigg/internal/type/converter.rbs +79 -0
  167. data/sig/stigg/internal/type/enum.rbs +32 -0
  168. data/sig/stigg/internal/type/file_input.rbs +25 -0
  169. data/sig/stigg/internal/type/hash_of.rbs +48 -0
  170. data/sig/stigg/internal/type/request_parameters.rbs +17 -0
  171. data/sig/stigg/internal/type/union.rbs +52 -0
  172. data/sig/stigg/internal/type/unknown.rbs +26 -0
  173. data/sig/stigg/internal/util.rbs +185 -0
  174. data/sig/stigg/internal.rbs +9 -0
  175. data/sig/stigg/models/v1/coupon_create_params.rbs +323 -0
  176. data/sig/stigg/models/v1/coupon_create_response.rbs +392 -0
  177. data/sig/stigg/models/v1/coupon_list_params.rbs +40 -0
  178. data/sig/stigg/models/v1/coupon_list_response.rbs +399 -0
  179. data/sig/stigg/models/v1/coupon_retrieve_params.rbs +17 -0
  180. data/sig/stigg/models/v1/coupon_retrieve_response.rbs +394 -0
  181. data/sig/stigg/models/v1/customer_archive_params.rbs +17 -0
  182. data/sig/stigg/models/v1/customer_create_params.rbs +169 -0
  183. data/sig/stigg/models/v1/customer_list_params.rbs +40 -0
  184. data/sig/stigg/models/v1/customer_list_response.rbs +198 -0
  185. data/sig/stigg/models/v1/customer_response.rbs +188 -0
  186. data/sig/stigg/models/v1/customer_retrieve_params.rbs +17 -0
  187. data/sig/stigg/models/v1/customer_unarchive_params.rbs +17 -0
  188. data/sig/stigg/models/v1/customer_update_params.rbs +110 -0
  189. data/sig/stigg/models/v1/customers/payment_method_attach_params.rbs +315 -0
  190. data/sig/stigg/models/v1/customers/payment_method_detach_params.rbs +19 -0
  191. data/sig/stigg/models/v1/customers/promotional_create_params.rbs +234 -0
  192. data/sig/stigg/models/v1/customers/promotional_create_response.rbs +209 -0
  193. data/sig/stigg/models/v1/customers/promotional_revoke_params.rbs +27 -0
  194. data/sig/stigg/models/v1/customers/promotional_revoke_response.rbs +209 -0
  195. data/sig/stigg/models/v1/customers/usage_retrieve_params.rbs +54 -0
  196. data/sig/stigg/models/v1/customers/usage_retrieve_response.rbs +134 -0
  197. data/sig/stigg/models/v1/subscription_create_params.rbs +199 -0
  198. data/sig/stigg/models/v1/subscription_create_response.rbs +283 -0
  199. data/sig/stigg/models/v1/subscription_delegate_params.rbs +26 -0
  200. data/sig/stigg/models/v1/subscription_delegate_response.rbs +224 -0
  201. data/sig/stigg/models/v1/subscription_list_params.rbs +58 -0
  202. data/sig/stigg/models/v1/subscription_list_response.rbs +229 -0
  203. data/sig/stigg/models/v1/subscription_migrate_params.rbs +43 -0
  204. data/sig/stigg/models/v1/subscription_migrate_response.rbs +224 -0
  205. data/sig/stigg/models/v1/subscription_preview_params.rbs +821 -0
  206. data/sig/stigg/models/v1/subscription_preview_response.rbs +466 -0
  207. data/sig/stigg/models/v1/subscription_retrieve_params.rbs +17 -0
  208. data/sig/stigg/models/v1/subscription_retrieve_response.rbs +224 -0
  209. data/sig/stigg/models/v1/subscription_transfer_params.rbs +26 -0
  210. data/sig/stigg/models/v1/subscription_transfer_response.rbs +224 -0
  211. data/sig/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_params.rbs +19 -0
  212. data/sig/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_response.rbs +34 -0
  213. data/sig/stigg/models/v1/subscriptions/future_update_cancel_schedule_params.rbs +19 -0
  214. data/sig/stigg/models/v1/subscriptions/future_update_cancel_schedule_response.rbs +34 -0
  215. data/sig/stigg/models/v1_create_event_params.rbs +80 -0
  216. data/sig/stigg/models/v1_create_event_response.rbs +13 -0
  217. data/sig/stigg/models/v1_create_usage_params.rbs +90 -0
  218. data/sig/stigg/models/v1_create_usage_response.rbs +85 -0
  219. data/sig/stigg/models.rbs +7 -0
  220. data/sig/stigg/request_options.rbs +34 -0
  221. data/sig/stigg/resources/v1/coupons.rbs +32 -0
  222. data/sig/stigg/resources/v1/customers/payment_method.rbs +25 -0
  223. data/sig/stigg/resources/v1/customers/promotional.rbs +23 -0
  224. data/sig/stigg/resources/v1/customers/usage.rbs +21 -0
  225. data/sig/stigg/resources/v1/customers.rbs +58 -0
  226. data/sig/stigg/resources/v1/subscriptions/future_update.rbs +21 -0
  227. data/sig/stigg/resources/v1/subscriptions.rbs +76 -0
  228. data/sig/stigg/resources/v1.rbs +23 -0
  229. data/sig/stigg/version.rbs +3 -0
  230. metadata +301 -0
@@ -0,0 +1,79 @@
1
+ # typed: strong
2
+
3
+ module Stigg
4
+ module Models
5
+ module V1
6
+ module Subscriptions
7
+ class FutureUpdateCancelScheduleResponse < Stigg::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(
11
+ Stigg::Models::V1::Subscriptions::FutureUpdateCancelScheduleResponse,
12
+ Stigg::Internal::AnyHash
13
+ )
14
+ end
15
+
16
+ sig do
17
+ returns(
18
+ Stigg::Models::V1::Subscriptions::FutureUpdateCancelScheduleResponse::Data
19
+ )
20
+ end
21
+ attr_reader :data
22
+
23
+ sig do
24
+ params(
25
+ data:
26
+ Stigg::Models::V1::Subscriptions::FutureUpdateCancelScheduleResponse::Data::OrHash
27
+ ).void
28
+ end
29
+ attr_writer :data
30
+
31
+ sig do
32
+ params(
33
+ data:
34
+ Stigg::Models::V1::Subscriptions::FutureUpdateCancelScheduleResponse::Data::OrHash
35
+ ).returns(T.attached_class)
36
+ end
37
+ def self.new(data:)
38
+ end
39
+
40
+ sig do
41
+ override.returns(
42
+ {
43
+ data:
44
+ Stigg::Models::V1::Subscriptions::FutureUpdateCancelScheduleResponse::Data
45
+ }
46
+ )
47
+ end
48
+ def to_hash
49
+ end
50
+
51
+ class Data < Stigg::Internal::Type::BaseModel
52
+ OrHash =
53
+ T.type_alias do
54
+ T.any(
55
+ Stigg::Models::V1::Subscriptions::FutureUpdateCancelScheduleResponse::Data,
56
+ Stigg::Internal::AnyHash
57
+ )
58
+ end
59
+
60
+ # Subscription ID
61
+ sig { returns(String) }
62
+ attr_accessor :id
63
+
64
+ sig { params(id: String).returns(T.attached_class) }
65
+ def self.new(
66
+ # Subscription ID
67
+ id:
68
+ )
69
+ end
70
+
71
+ sig { override.returns({ id: String }) }
72
+ def to_hash
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,160 @@
1
+ # typed: strong
2
+
3
+ module Stigg
4
+ module Models
5
+ class V1CreateEventParams < Stigg::Internal::Type::BaseModel
6
+ extend Stigg::Internal::Type::RequestParameters::Converter
7
+ include Stigg::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Stigg::V1CreateEventParams, Stigg::Internal::AnyHash)
12
+ end
13
+
14
+ # A list of usage events to report
15
+ sig { returns(T::Array[Stigg::V1CreateEventParams::Event]) }
16
+ attr_accessor :events
17
+
18
+ sig do
19
+ params(
20
+ events: T::Array[Stigg::V1CreateEventParams::Event::OrHash],
21
+ request_options: Stigg::RequestOptions::OrHash
22
+ ).returns(T.attached_class)
23
+ end
24
+ def self.new(
25
+ # A list of usage events to report
26
+ events:,
27
+ request_options: {}
28
+ )
29
+ end
30
+
31
+ sig do
32
+ override.returns(
33
+ {
34
+ events: T::Array[Stigg::V1CreateEventParams::Event],
35
+ request_options: Stigg::RequestOptions
36
+ }
37
+ )
38
+ end
39
+ def to_hash
40
+ end
41
+
42
+ class Event < Stigg::Internal::Type::BaseModel
43
+ OrHash =
44
+ T.type_alias do
45
+ T.any(Stigg::V1CreateEventParams::Event, Stigg::Internal::AnyHash)
46
+ end
47
+
48
+ # Customer id
49
+ sig { returns(String) }
50
+ attr_accessor :customer_id
51
+
52
+ # The name of the usage event
53
+ sig { returns(String) }
54
+ attr_accessor :event_name
55
+
56
+ # Idempotency key
57
+ sig { returns(String) }
58
+ attr_accessor :idempotency_key
59
+
60
+ # Dimensions associated with the usage event
61
+ sig do
62
+ returns(
63
+ T.nilable(
64
+ T::Hash[
65
+ Symbol,
66
+ Stigg::V1CreateEventParams::Event::Dimension::Variants
67
+ ]
68
+ )
69
+ )
70
+ end
71
+ attr_reader :dimensions
72
+
73
+ sig do
74
+ params(
75
+ dimensions:
76
+ T::Hash[
77
+ Symbol,
78
+ Stigg::V1CreateEventParams::Event::Dimension::Variants
79
+ ]
80
+ ).void
81
+ end
82
+ attr_writer :dimensions
83
+
84
+ # Resource id
85
+ sig { returns(T.nilable(String)) }
86
+ attr_accessor :resource_id
87
+
88
+ # Timestamp
89
+ sig { returns(T.nilable(Time)) }
90
+ attr_reader :timestamp
91
+
92
+ sig { params(timestamp: Time).void }
93
+ attr_writer :timestamp
94
+
95
+ sig do
96
+ params(
97
+ customer_id: String,
98
+ event_name: String,
99
+ idempotency_key: String,
100
+ dimensions:
101
+ T::Hash[
102
+ Symbol,
103
+ Stigg::V1CreateEventParams::Event::Dimension::Variants
104
+ ],
105
+ resource_id: T.nilable(String),
106
+ timestamp: Time
107
+ ).returns(T.attached_class)
108
+ end
109
+ def self.new(
110
+ # Customer id
111
+ customer_id:,
112
+ # The name of the usage event
113
+ event_name:,
114
+ # Idempotency key
115
+ idempotency_key:,
116
+ # Dimensions associated with the usage event
117
+ dimensions: nil,
118
+ # Resource id
119
+ resource_id: nil,
120
+ # Timestamp
121
+ timestamp: nil
122
+ )
123
+ end
124
+
125
+ sig do
126
+ override.returns(
127
+ {
128
+ customer_id: String,
129
+ event_name: String,
130
+ idempotency_key: String,
131
+ dimensions:
132
+ T::Hash[
133
+ Symbol,
134
+ Stigg::V1CreateEventParams::Event::Dimension::Variants
135
+ ],
136
+ resource_id: T.nilable(String),
137
+ timestamp: Time
138
+ }
139
+ )
140
+ end
141
+ def to_hash
142
+ end
143
+
144
+ module Dimension
145
+ extend Stigg::Internal::Type::Union
146
+
147
+ Variants = T.type_alias { T.any(String, Float, T::Boolean) }
148
+
149
+ sig do
150
+ override.returns(
151
+ T::Array[Stigg::V1CreateEventParams::Event::Dimension::Variants]
152
+ )
153
+ end
154
+ def self.variants
155
+ end
156
+ end
157
+ end
158
+ end
159
+ end
160
+ end
@@ -0,0 +1,23 @@
1
+ # typed: strong
2
+
3
+ module Stigg
4
+ module Models
5
+ class V1CreateEventResponse < Stigg::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Stigg::Models::V1CreateEventResponse, Stigg::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(T.anything) }
12
+ attr_accessor :data
13
+
14
+ sig { params(data: T.anything).returns(T.attached_class) }
15
+ def self.new(data:)
16
+ end
17
+
18
+ sig { override.returns({ data: T.anything }) }
19
+ def to_hash
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,177 @@
1
+ # typed: strong
2
+
3
+ module Stigg
4
+ module Models
5
+ class V1CreateUsageParams < Stigg::Internal::Type::BaseModel
6
+ extend Stigg::Internal::Type::RequestParameters::Converter
7
+ include Stigg::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Stigg::V1CreateUsageParams, Stigg::Internal::AnyHash)
12
+ end
13
+
14
+ # A list of usage reports to be submitted in bulk
15
+ sig { returns(T::Array[Stigg::V1CreateUsageParams::Usage]) }
16
+ attr_accessor :usages
17
+
18
+ sig do
19
+ params(
20
+ usages: T::Array[Stigg::V1CreateUsageParams::Usage::OrHash],
21
+ request_options: Stigg::RequestOptions::OrHash
22
+ ).returns(T.attached_class)
23
+ end
24
+ def self.new(
25
+ # A list of usage reports to be submitted in bulk
26
+ usages:,
27
+ request_options: {}
28
+ )
29
+ end
30
+
31
+ sig do
32
+ override.returns(
33
+ {
34
+ usages: T::Array[Stigg::V1CreateUsageParams::Usage],
35
+ request_options: Stigg::RequestOptions
36
+ }
37
+ )
38
+ end
39
+ def to_hash
40
+ end
41
+
42
+ class Usage < Stigg::Internal::Type::BaseModel
43
+ OrHash =
44
+ T.type_alias do
45
+ T.any(Stigg::V1CreateUsageParams::Usage, Stigg::Internal::AnyHash)
46
+ end
47
+
48
+ # Customer id
49
+ sig { returns(String) }
50
+ attr_accessor :customer_id
51
+
52
+ # Feature id
53
+ sig { returns(String) }
54
+ attr_accessor :feature_id
55
+
56
+ # The value to report for usage
57
+ sig { returns(Integer) }
58
+ attr_accessor :value
59
+
60
+ # Timestamp of when the record was created
61
+ sig { returns(T.nilable(Time)) }
62
+ attr_reader :created_at
63
+
64
+ sig { params(created_at: Time).void }
65
+ attr_writer :created_at
66
+
67
+ # Additional dimensions for the usage report
68
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
69
+ attr_reader :dimensions
70
+
71
+ sig { params(dimensions: T::Hash[Symbol, String]).void }
72
+ attr_writer :dimensions
73
+
74
+ # Resource id
75
+ sig { returns(T.nilable(String)) }
76
+ attr_accessor :resource_id
77
+
78
+ # The method by which the usage value should be updated
79
+ sig do
80
+ returns(
81
+ T.nilable(
82
+ Stigg::V1CreateUsageParams::Usage::UpdateBehavior::OrSymbol
83
+ )
84
+ )
85
+ end
86
+ attr_reader :update_behavior
87
+
88
+ sig do
89
+ params(
90
+ update_behavior:
91
+ Stigg::V1CreateUsageParams::Usage::UpdateBehavior::OrSymbol
92
+ ).void
93
+ end
94
+ attr_writer :update_behavior
95
+
96
+ sig do
97
+ params(
98
+ customer_id: String,
99
+ feature_id: String,
100
+ value: Integer,
101
+ created_at: Time,
102
+ dimensions: T::Hash[Symbol, String],
103
+ resource_id: T.nilable(String),
104
+ update_behavior:
105
+ Stigg::V1CreateUsageParams::Usage::UpdateBehavior::OrSymbol
106
+ ).returns(T.attached_class)
107
+ end
108
+ def self.new(
109
+ # Customer id
110
+ customer_id:,
111
+ # Feature id
112
+ feature_id:,
113
+ # The value to report for usage
114
+ value:,
115
+ # Timestamp of when the record was created
116
+ created_at: nil,
117
+ # Additional dimensions for the usage report
118
+ dimensions: nil,
119
+ # Resource id
120
+ resource_id: nil,
121
+ # The method by which the usage value should be updated
122
+ update_behavior: nil
123
+ )
124
+ end
125
+
126
+ sig do
127
+ override.returns(
128
+ {
129
+ customer_id: String,
130
+ feature_id: String,
131
+ value: Integer,
132
+ created_at: Time,
133
+ dimensions: T::Hash[Symbol, String],
134
+ resource_id: T.nilable(String),
135
+ update_behavior:
136
+ Stigg::V1CreateUsageParams::Usage::UpdateBehavior::OrSymbol
137
+ }
138
+ )
139
+ end
140
+ def to_hash
141
+ end
142
+
143
+ # The method by which the usage value should be updated
144
+ module UpdateBehavior
145
+ extend Stigg::Internal::Type::Enum
146
+
147
+ TaggedSymbol =
148
+ T.type_alias do
149
+ T.all(Symbol, Stigg::V1CreateUsageParams::Usage::UpdateBehavior)
150
+ end
151
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
152
+
153
+ DELTA =
154
+ T.let(
155
+ :DELTA,
156
+ Stigg::V1CreateUsageParams::Usage::UpdateBehavior::TaggedSymbol
157
+ )
158
+ SET =
159
+ T.let(
160
+ :SET,
161
+ Stigg::V1CreateUsageParams::Usage::UpdateBehavior::TaggedSymbol
162
+ )
163
+
164
+ sig do
165
+ override.returns(
166
+ T::Array[
167
+ Stigg::V1CreateUsageParams::Usage::UpdateBehavior::TaggedSymbol
168
+ ]
169
+ )
170
+ end
171
+ def self.values
172
+ end
173
+ end
174
+ end
175
+ end
176
+ end
177
+ end
@@ -0,0 +1,150 @@
1
+ # typed: strong
2
+
3
+ module Stigg
4
+ module Models
5
+ class V1CreateUsageResponse < Stigg::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Stigg::Models::V1CreateUsageResponse, Stigg::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(T::Array[Stigg::Models::V1CreateUsageResponse::Data]) }
12
+ attr_accessor :data
13
+
14
+ sig do
15
+ params(
16
+ data: T::Array[Stigg::Models::V1CreateUsageResponse::Data::OrHash]
17
+ ).returns(T.attached_class)
18
+ end
19
+ def self.new(data:)
20
+ end
21
+
22
+ sig do
23
+ override.returns(
24
+ { data: T::Array[Stigg::Models::V1CreateUsageResponse::Data] }
25
+ )
26
+ end
27
+ def to_hash
28
+ end
29
+
30
+ class Data < Stigg::Internal::Type::BaseModel
31
+ OrHash =
32
+ T.type_alias do
33
+ T.any(
34
+ Stigg::Models::V1CreateUsageResponse::Data,
35
+ Stigg::Internal::AnyHash
36
+ )
37
+ end
38
+
39
+ # Unique identifier for the entity
40
+ sig { returns(String) }
41
+ attr_accessor :id
42
+
43
+ # Timestamp of when the record was created
44
+ sig { returns(Time) }
45
+ attr_accessor :created_at
46
+
47
+ # Customer id
48
+ sig { returns(String) }
49
+ attr_accessor :customer_id
50
+
51
+ # Feature id
52
+ sig { returns(String) }
53
+ attr_accessor :feature_id
54
+
55
+ # Timestamp
56
+ sig { returns(Time) }
57
+ attr_accessor :timestamp
58
+
59
+ # The usage measurement record
60
+ sig { returns(Float) }
61
+ attr_accessor :value
62
+
63
+ # The current measured usage value
64
+ sig { returns(T.nilable(Float)) }
65
+ attr_accessor :current_usage
66
+
67
+ # The date when the next usage reset will occur
68
+ sig { returns(T.nilable(Time)) }
69
+ attr_accessor :next_reset_date
70
+
71
+ # Resource id
72
+ sig { returns(T.nilable(String)) }
73
+ attr_accessor :resource_id
74
+
75
+ # The end date of the usage period in which this measurement resides (for
76
+ # entitlements with a reset period)
77
+ sig { returns(T.nilable(Time)) }
78
+ attr_accessor :usage_period_end
79
+
80
+ # The start date of the usage period in which this measurement resides (for
81
+ # entitlements with a reset period)
82
+ sig { returns(T.nilable(Time)) }
83
+ attr_accessor :usage_period_start
84
+
85
+ sig do
86
+ params(
87
+ id: String,
88
+ created_at: Time,
89
+ customer_id: String,
90
+ feature_id: String,
91
+ timestamp: Time,
92
+ value: Float,
93
+ current_usage: T.nilable(Float),
94
+ next_reset_date: T.nilable(Time),
95
+ resource_id: T.nilable(String),
96
+ usage_period_end: T.nilable(Time),
97
+ usage_period_start: T.nilable(Time)
98
+ ).returns(T.attached_class)
99
+ end
100
+ def self.new(
101
+ # Unique identifier for the entity
102
+ id:,
103
+ # Timestamp of when the record was created
104
+ created_at:,
105
+ # Customer id
106
+ customer_id:,
107
+ # Feature id
108
+ feature_id:,
109
+ # Timestamp
110
+ timestamp:,
111
+ # The usage measurement record
112
+ value:,
113
+ # The current measured usage value
114
+ current_usage: nil,
115
+ # The date when the next usage reset will occur
116
+ next_reset_date: nil,
117
+ # Resource id
118
+ resource_id: nil,
119
+ # The end date of the usage period in which this measurement resides (for
120
+ # entitlements with a reset period)
121
+ usage_period_end: nil,
122
+ # The start date of the usage period in which this measurement resides (for
123
+ # entitlements with a reset period)
124
+ usage_period_start: nil
125
+ )
126
+ end
127
+
128
+ sig do
129
+ override.returns(
130
+ {
131
+ id: String,
132
+ created_at: Time,
133
+ customer_id: String,
134
+ feature_id: String,
135
+ timestamp: Time,
136
+ value: Float,
137
+ current_usage: T.nilable(Float),
138
+ next_reset_date: T.nilable(Time),
139
+ resource_id: T.nilable(String),
140
+ usage_period_end: T.nilable(Time),
141
+ usage_period_start: T.nilable(Time)
142
+ }
143
+ )
144
+ end
145
+ def to_hash
146
+ end
147
+ end
148
+ end
149
+ end
150
+ end
@@ -0,0 +1,9 @@
1
+ # typed: strong
2
+
3
+ module Stigg
4
+ V1 = Stigg::Models::V1
5
+
6
+ V1CreateEventParams = Stigg::Models::V1CreateEventParams
7
+
8
+ V1CreateUsageParams = Stigg::Models::V1CreateUsageParams
9
+ end
@@ -0,0 +1,55 @@
1
+ # typed: strong
2
+
3
+ module Stigg
4
+ # Specify HTTP behaviour to use for a specific request. These options supplement
5
+ # or override those provided at the client level.
6
+ #
7
+ # When making a request, you can pass an actual {RequestOptions} instance, or
8
+ # simply pass a Hash with symbol keys matching the attributes on this class.
9
+ class RequestOptions < Stigg::Internal::Type::BaseModel
10
+ OrHash =
11
+ T.type_alias { T.any(Stigg::RequestOptions, Stigg::Internal::AnyHash) }
12
+
13
+ # @api private
14
+ sig { params(opts: Stigg::RequestOptions::OrHash).void }
15
+ def self.validate!(opts)
16
+ end
17
+
18
+ # Idempotency key to send with request and all associated retries. Will only be
19
+ # sent for write requests.
20
+ sig { returns(T.nilable(String)) }
21
+ attr_accessor :idempotency_key
22
+
23
+ # Extra query params to send with the request. These are `.merge`’d into any
24
+ # `query` given at the client level.
25
+ sig do
26
+ returns(
27
+ T.nilable(T::Hash[String, T.nilable(T.any(T::Array[String], String))])
28
+ )
29
+ end
30
+ attr_accessor :extra_query
31
+
32
+ # Extra headers to send with the request. These are `.merged`’d into any
33
+ # `extra_headers` given at the client level.
34
+ sig { returns(T.nilable(T::Hash[String, T.nilable(String)])) }
35
+ attr_accessor :extra_headers
36
+
37
+ # Extra data to send with the request. These are deep merged into any data
38
+ # generated as part of the normal request.
39
+ sig { returns(T.nilable(T.anything)) }
40
+ attr_accessor :extra_body
41
+
42
+ # Maximum number of retries to attempt after a failed initial request.
43
+ sig { returns(T.nilable(Integer)) }
44
+ attr_accessor :max_retries
45
+
46
+ # Request timeout in seconds.
47
+ sig { returns(T.nilable(Float)) }
48
+ attr_accessor :timeout
49
+
50
+ # Returns a new instance of RequestOptions.
51
+ sig { params(values: Stigg::Internal::AnyHash).returns(T.attached_class) }
52
+ def self.new(values = {})
53
+ end
54
+ end
55
+ end