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,644 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Stigg
4
+ module Models
5
+ module V1
6
+ # @see Stigg::Resources::V1::Subscriptions#preview
7
+ class SubscriptionPreviewParams < Stigg::Internal::Type::BaseModel
8
+ extend Stigg::Internal::Type::RequestParameters::Converter
9
+ include Stigg::Internal::Type::RequestParameters
10
+
11
+ # @!attribute customer_id
12
+ # Customer ID
13
+ #
14
+ # @return [String]
15
+ required :customer_id, String, api_name: :customerId
16
+
17
+ # @!attribute plan_id
18
+ # Plan ID
19
+ #
20
+ # @return [String]
21
+ required :plan_id, String, api_name: :planId
22
+
23
+ # @!attribute addons
24
+ #
25
+ # @return [Array<Stigg::Models::V1::SubscriptionPreviewParams::Addon>, nil]
26
+ optional :addons, -> { Stigg::Internal::Type::ArrayOf[Stigg::V1::SubscriptionPreviewParams::Addon] }
27
+
28
+ # @!attribute applied_coupon
29
+ #
30
+ # @return [Stigg::Models::V1::SubscriptionPreviewParams::AppliedCoupon, nil]
31
+ optional :applied_coupon,
32
+ -> { Stigg::V1::SubscriptionPreviewParams::AppliedCoupon },
33
+ api_name: :appliedCoupon
34
+
35
+ # @!attribute billable_features
36
+ #
37
+ # @return [Array<Stigg::Models::V1::SubscriptionPreviewParams::BillableFeature>, nil]
38
+ optional :billable_features,
39
+ -> { Stigg::Internal::Type::ArrayOf[Stigg::V1::SubscriptionPreviewParams::BillableFeature] },
40
+ api_name: :billableFeatures
41
+
42
+ # @!attribute billing_country_code
43
+ #
44
+ # @return [String, nil]
45
+ optional :billing_country_code, String, api_name: :billingCountryCode
46
+
47
+ # @!attribute billing_information
48
+ #
49
+ # @return [Stigg::Models::V1::SubscriptionPreviewParams::BillingInformation, nil]
50
+ optional :billing_information,
51
+ -> { Stigg::V1::SubscriptionPreviewParams::BillingInformation },
52
+ api_name: :billingInformation
53
+
54
+ # @!attribute billing_period
55
+ #
56
+ # @return [Symbol, Stigg::Models::V1::SubscriptionPreviewParams::BillingPeriod, nil]
57
+ optional :billing_period,
58
+ enum: -> { Stigg::V1::SubscriptionPreviewParams::BillingPeriod },
59
+ api_name: :billingPeriod
60
+
61
+ # @!attribute charges
62
+ #
63
+ # @return [Array<Stigg::Models::V1::SubscriptionPreviewParams::Charge>, nil]
64
+ optional :charges, -> { Stigg::Internal::Type::ArrayOf[Stigg::V1::SubscriptionPreviewParams::Charge] }
65
+
66
+ # @!attribute paying_customer_id
67
+ #
68
+ # @return [String, nil]
69
+ optional :paying_customer_id, String, api_name: :payingCustomerId
70
+
71
+ # @!attribute resource_id
72
+ #
73
+ # @return [String, nil]
74
+ optional :resource_id, String, api_name: :resourceId
75
+
76
+ # @!attribute schedule_strategy
77
+ #
78
+ # @return [Symbol, Stigg::Models::V1::SubscriptionPreviewParams::ScheduleStrategy, nil]
79
+ optional :schedule_strategy,
80
+ enum: -> { Stigg::V1::SubscriptionPreviewParams::ScheduleStrategy },
81
+ api_name: :scheduleStrategy
82
+
83
+ # @!attribute start_date
84
+ # Subscription start date
85
+ #
86
+ # @return [Time, nil]
87
+ optional :start_date, Time, api_name: :startDate
88
+
89
+ # @!attribute trial_override_configuration
90
+ #
91
+ # @return [Stigg::Models::V1::SubscriptionPreviewParams::TrialOverrideConfiguration, nil]
92
+ optional :trial_override_configuration,
93
+ -> { Stigg::V1::SubscriptionPreviewParams::TrialOverrideConfiguration },
94
+ api_name: :trialOverrideConfiguration
95
+
96
+ # @!attribute unit_quantity
97
+ #
98
+ # @return [Float, nil]
99
+ optional :unit_quantity, Float, api_name: :unitQuantity
100
+
101
+ # @!method initialize(customer_id:, plan_id:, addons: nil, applied_coupon: nil, billable_features: nil, billing_country_code: nil, billing_information: nil, billing_period: nil, charges: nil, paying_customer_id: nil, resource_id: nil, schedule_strategy: nil, start_date: nil, trial_override_configuration: nil, unit_quantity: nil, request_options: {})
102
+ # @param customer_id [String] Customer ID
103
+ #
104
+ # @param plan_id [String] Plan ID
105
+ #
106
+ # @param addons [Array<Stigg::Models::V1::SubscriptionPreviewParams::Addon>]
107
+ #
108
+ # @param applied_coupon [Stigg::Models::V1::SubscriptionPreviewParams::AppliedCoupon]
109
+ #
110
+ # @param billable_features [Array<Stigg::Models::V1::SubscriptionPreviewParams::BillableFeature>]
111
+ #
112
+ # @param billing_country_code [String]
113
+ #
114
+ # @param billing_information [Stigg::Models::V1::SubscriptionPreviewParams::BillingInformation]
115
+ #
116
+ # @param billing_period [Symbol, Stigg::Models::V1::SubscriptionPreviewParams::BillingPeriod]
117
+ #
118
+ # @param charges [Array<Stigg::Models::V1::SubscriptionPreviewParams::Charge>]
119
+ #
120
+ # @param paying_customer_id [String]
121
+ #
122
+ # @param resource_id [String]
123
+ #
124
+ # @param schedule_strategy [Symbol, Stigg::Models::V1::SubscriptionPreviewParams::ScheduleStrategy]
125
+ #
126
+ # @param start_date [Time] Subscription start date
127
+ #
128
+ # @param trial_override_configuration [Stigg::Models::V1::SubscriptionPreviewParams::TrialOverrideConfiguration]
129
+ #
130
+ # @param unit_quantity [Float]
131
+ #
132
+ # @param request_options [Stigg::RequestOptions, Hash{Symbol=>Object}]
133
+
134
+ class Addon < Stigg::Internal::Type::BaseModel
135
+ # @!attribute addon_id
136
+ # Addon ID
137
+ #
138
+ # @return [String]
139
+ required :addon_id, String, api_name: :addonId
140
+
141
+ # @!attribute quantity
142
+ #
143
+ # @return [Integer, nil]
144
+ optional :quantity, Integer
145
+
146
+ # @!method initialize(addon_id:, quantity: nil)
147
+ # @param addon_id [String] Addon ID
148
+ #
149
+ # @param quantity [Integer]
150
+ end
151
+
152
+ class AppliedCoupon < Stigg::Internal::Type::BaseModel
153
+ # @!attribute billing_coupon_id
154
+ #
155
+ # @return [String, nil]
156
+ optional :billing_coupon_id, String, api_name: :billingCouponId
157
+
158
+ # @!attribute configuration
159
+ #
160
+ # @return [Stigg::Models::V1::SubscriptionPreviewParams::AppliedCoupon::Configuration, nil]
161
+ optional :configuration, -> { Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Configuration }
162
+
163
+ # @!attribute coupon_id
164
+ #
165
+ # @return [String, nil]
166
+ optional :coupon_id, String, api_name: :couponId
167
+
168
+ # @!attribute discount
169
+ #
170
+ # @return [Stigg::Models::V1::SubscriptionPreviewParams::AppliedCoupon::Discount, nil]
171
+ optional :discount, -> { Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount }
172
+
173
+ # @!attribute promotion_code
174
+ #
175
+ # @return [String, nil]
176
+ optional :promotion_code, String, api_name: :promotionCode
177
+
178
+ # @!method initialize(billing_coupon_id: nil, configuration: nil, coupon_id: nil, discount: nil, promotion_code: nil)
179
+ # @param billing_coupon_id [String]
180
+ # @param configuration [Stigg::Models::V1::SubscriptionPreviewParams::AppliedCoupon::Configuration]
181
+ # @param coupon_id [String]
182
+ # @param discount [Stigg::Models::V1::SubscriptionPreviewParams::AppliedCoupon::Discount]
183
+ # @param promotion_code [String]
184
+
185
+ # @see Stigg::Models::V1::SubscriptionPreviewParams::AppliedCoupon#configuration
186
+ class Configuration < Stigg::Internal::Type::BaseModel
187
+ # @!attribute start_date
188
+ # Coupon start date
189
+ #
190
+ # @return [Time, nil]
191
+ optional :start_date, Time, api_name: :startDate
192
+
193
+ # @!method initialize(start_date: nil)
194
+ # @param start_date [Time] Coupon start date
195
+ end
196
+
197
+ # @see Stigg::Models::V1::SubscriptionPreviewParams::AppliedCoupon#discount
198
+ class Discount < Stigg::Internal::Type::BaseModel
199
+ # @!attribute amounts_off
200
+ #
201
+ # @return [Array<Stigg::Models::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff>, nil]
202
+ optional :amounts_off,
203
+ -> {
204
+ Stigg::Internal::Type::ArrayOf[Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff]
205
+ },
206
+ api_name: :amountsOff,
207
+ nil?: true
208
+
209
+ # @!attribute description
210
+ #
211
+ # @return [String, nil]
212
+ optional :description, String
213
+
214
+ # @!attribute duration_in_months
215
+ #
216
+ # @return [Float, nil]
217
+ optional :duration_in_months, Float, api_name: :durationInMonths
218
+
219
+ # @!attribute name
220
+ #
221
+ # @return [String, nil]
222
+ optional :name, String
223
+
224
+ # @!attribute percent_off
225
+ #
226
+ # @return [Float, nil]
227
+ optional :percent_off, Float, api_name: :percentOff
228
+
229
+ # @!method initialize(amounts_off: nil, description: nil, duration_in_months: nil, name: nil, percent_off: nil)
230
+ # @param amounts_off [Array<Stigg::Models::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff>, nil]
231
+ # @param description [String]
232
+ # @param duration_in_months [Float]
233
+ # @param name [String]
234
+ # @param percent_off [Float]
235
+
236
+ class AmountsOff < Stigg::Internal::Type::BaseModel
237
+ # @!attribute amount
238
+ #
239
+ # @return [Float]
240
+ required :amount, Float
241
+
242
+ # @!attribute currency
243
+ #
244
+ # @return [Symbol, Stigg::Models::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency, nil]
245
+ optional :currency,
246
+ enum: -> { Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency }
247
+
248
+ # @!method initialize(amount:, currency: nil)
249
+ # @param amount [Float]
250
+ # @param currency [Symbol, Stigg::Models::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff::Currency]
251
+
252
+ # @see Stigg::Models::V1::SubscriptionPreviewParams::AppliedCoupon::Discount::AmountsOff#currency
253
+ module Currency
254
+ extend Stigg::Internal::Type::Enum
255
+
256
+ USD = :usd
257
+ AED = :aed
258
+ ALL = :all
259
+ AMD = :amd
260
+ ANG = :ang
261
+ AUD = :aud
262
+ AWG = :awg
263
+ AZN = :azn
264
+ BAM = :bam
265
+ BBD = :bbd
266
+ BDT = :bdt
267
+ BGN = :bgn
268
+ BIF = :bif
269
+ BMD = :bmd
270
+ BND = :bnd
271
+ BSD = :bsd
272
+ BWP = :bwp
273
+ BYN = :byn
274
+ BZD = :bzd
275
+ BRL = :brl
276
+ CAD = :cad
277
+ CDF = :cdf
278
+ CHF = :chf
279
+ CNY = :cny
280
+ CZK = :czk
281
+ DKK = :dkk
282
+ DOP = :dop
283
+ DZD = :dzd
284
+ EGP = :egp
285
+ ETB = :etb
286
+ EUR = :eur
287
+ FJD = :fjd
288
+ GBP = :gbp
289
+ GEL = :gel
290
+ GIP = :gip
291
+ GMD = :gmd
292
+ GYD = :gyd
293
+ HKD = :hkd
294
+ HRK = :hrk
295
+ HTG = :htg
296
+ IDR = :idr
297
+ ILS = :ils
298
+ INR = :inr
299
+ ISK = :isk
300
+ JMD = :jmd
301
+ JPY = :jpy
302
+ KES = :kes
303
+ KGS = :kgs
304
+ KHR = :khr
305
+ KMF = :kmf
306
+ KRW = :krw
307
+ KYD = :kyd
308
+ KZT = :kzt
309
+ LBP = :lbp
310
+ LKR = :lkr
311
+ LRD = :lrd
312
+ LSL = :lsl
313
+ MAD = :mad
314
+ MDL = :mdl
315
+ MGA = :mga
316
+ MKD = :mkd
317
+ MMK = :mmk
318
+ MNT = :mnt
319
+ MOP = :mop
320
+ MRO = :mro
321
+ MVR = :mvr
322
+ MWK = :mwk
323
+ MXN = :mxn
324
+ MYR = :myr
325
+ MZN = :mzn
326
+ NAD = :nad
327
+ NGN = :ngn
328
+ NOK = :nok
329
+ NPR = :npr
330
+ NZD = :nzd
331
+ PGK = :pgk
332
+ PHP = :php
333
+ PKR = :pkr
334
+ PLN = :pln
335
+ QAR = :qar
336
+ RON = :ron
337
+ RSD = :rsd
338
+ RUB = :rub
339
+ RWF = :rwf
340
+ SAR = :sar
341
+ SBD = :sbd
342
+ SCR = :scr
343
+ SEK = :sek
344
+ SGD = :sgd
345
+ SLE = :sle
346
+ SLL = :sll
347
+ SOS = :sos
348
+ SZL = :szl
349
+ THB = :thb
350
+ TJS = :tjs
351
+ TOP = :top
352
+ TRY = :try
353
+ TTD = :ttd
354
+ TZS = :tzs
355
+ UAH = :uah
356
+ UZS = :uzs
357
+ VND = :vnd
358
+ VUV = :vuv
359
+ WST = :wst
360
+ XAF = :xaf
361
+ XCD = :xcd
362
+ YER = :yer
363
+ ZAR = :zar
364
+ ZMW = :zmw
365
+ CLP = :clp
366
+ DJF = :djf
367
+ GNF = :gnf
368
+ UGX = :ugx
369
+ PYG = :pyg
370
+ XOF = :xof
371
+ XPF = :xpf
372
+
373
+ # @!method self.values
374
+ # @return [Array<Symbol>]
375
+ end
376
+ end
377
+ end
378
+ end
379
+
380
+ class BillableFeature < Stigg::Internal::Type::BaseModel
381
+ # @!attribute feature_id
382
+ # Feature ID
383
+ #
384
+ # @return [String]
385
+ required :feature_id, String, api_name: :featureId
386
+
387
+ # @!attribute quantity
388
+ #
389
+ # @return [Float]
390
+ required :quantity, Float
391
+
392
+ # @!method initialize(feature_id:, quantity:)
393
+ # @param feature_id [String] Feature ID
394
+ #
395
+ # @param quantity [Float]
396
+ end
397
+
398
+ class BillingInformation < Stigg::Internal::Type::BaseModel
399
+ # @!attribute billing_address
400
+ #
401
+ # @return [Stigg::Models::V1::SubscriptionPreviewParams::BillingInformation::BillingAddress, nil]
402
+ optional :billing_address,
403
+ -> { Stigg::V1::SubscriptionPreviewParams::BillingInformation::BillingAddress },
404
+ api_name: :billingAddress
405
+
406
+ # @!attribute charge_on_behalf_of_account
407
+ #
408
+ # @return [String, nil]
409
+ optional :charge_on_behalf_of_account, String, api_name: :chargeOnBehalfOfAccount
410
+
411
+ # @!attribute integration_id
412
+ #
413
+ # @return [String, nil]
414
+ optional :integration_id, String, api_name: :integrationId
415
+
416
+ # @!attribute invoice_days_until_due
417
+ #
418
+ # @return [Float, nil]
419
+ optional :invoice_days_until_due, Float, api_name: :invoiceDaysUntilDue
420
+
421
+ # @!attribute is_backdated
422
+ #
423
+ # @return [Boolean, nil]
424
+ optional :is_backdated, Stigg::Internal::Type::Boolean, api_name: :isBackdated
425
+
426
+ # @!attribute is_invoice_paid
427
+ #
428
+ # @return [Boolean, nil]
429
+ optional :is_invoice_paid, Stigg::Internal::Type::Boolean, api_name: :isInvoicePaid
430
+
431
+ # @!attribute metadata
432
+ #
433
+ # @return [Object, nil]
434
+ optional :metadata, Stigg::Internal::Type::Unknown
435
+
436
+ # @!attribute proration_behavior
437
+ #
438
+ # @return [Symbol, Stigg::Models::V1::SubscriptionPreviewParams::BillingInformation::ProrationBehavior, nil]
439
+ optional :proration_behavior,
440
+ enum: -> { Stigg::V1::SubscriptionPreviewParams::BillingInformation::ProrationBehavior },
441
+ api_name: :prorationBehavior
442
+
443
+ # @!attribute tax_ids
444
+ #
445
+ # @return [Array<Stigg::Models::V1::SubscriptionPreviewParams::BillingInformation::TaxID>, nil]
446
+ optional :tax_ids,
447
+ -> {
448
+ Stigg::Internal::Type::ArrayOf[Stigg::V1::SubscriptionPreviewParams::BillingInformation::TaxID]
449
+ },
450
+ api_name: :taxIds
451
+
452
+ # @!attribute tax_percentage
453
+ #
454
+ # @return [Float, nil]
455
+ optional :tax_percentage, Float, api_name: :taxPercentage
456
+
457
+ # @!attribute tax_rate_ids
458
+ #
459
+ # @return [Array<String>, nil]
460
+ optional :tax_rate_ids, Stigg::Internal::Type::ArrayOf[String], api_name: :taxRateIds
461
+
462
+ # @!method initialize(billing_address: nil, charge_on_behalf_of_account: nil, integration_id: nil, invoice_days_until_due: nil, is_backdated: nil, is_invoice_paid: nil, metadata: nil, proration_behavior: nil, tax_ids: nil, tax_percentage: nil, tax_rate_ids: nil)
463
+ # @param billing_address [Stigg::Models::V1::SubscriptionPreviewParams::BillingInformation::BillingAddress]
464
+ # @param charge_on_behalf_of_account [String]
465
+ # @param integration_id [String]
466
+ # @param invoice_days_until_due [Float]
467
+ # @param is_backdated [Boolean]
468
+ # @param is_invoice_paid [Boolean]
469
+ # @param metadata [Object]
470
+ # @param proration_behavior [Symbol, Stigg::Models::V1::SubscriptionPreviewParams::BillingInformation::ProrationBehavior]
471
+ # @param tax_ids [Array<Stigg::Models::V1::SubscriptionPreviewParams::BillingInformation::TaxID>]
472
+ # @param tax_percentage [Float]
473
+ # @param tax_rate_ids [Array<String>]
474
+
475
+ # @see Stigg::Models::V1::SubscriptionPreviewParams::BillingInformation#billing_address
476
+ class BillingAddress < Stigg::Internal::Type::BaseModel
477
+ # @!attribute city
478
+ #
479
+ # @return [String, nil]
480
+ optional :city, String
481
+
482
+ # @!attribute country
483
+ #
484
+ # @return [String, nil]
485
+ optional :country, String
486
+
487
+ # @!attribute line1
488
+ #
489
+ # @return [String, nil]
490
+ optional :line1, String
491
+
492
+ # @!attribute line2
493
+ #
494
+ # @return [String, nil]
495
+ optional :line2, String
496
+
497
+ # @!attribute postal_code
498
+ #
499
+ # @return [String, nil]
500
+ optional :postal_code, String, api_name: :postalCode
501
+
502
+ # @!attribute state
503
+ #
504
+ # @return [String, nil]
505
+ optional :state, String
506
+
507
+ # @!method initialize(city: nil, country: nil, line1: nil, line2: nil, postal_code: nil, state: nil)
508
+ # @param city [String]
509
+ # @param country [String]
510
+ # @param line1 [String]
511
+ # @param line2 [String]
512
+ # @param postal_code [String]
513
+ # @param state [String]
514
+ end
515
+
516
+ # @see Stigg::Models::V1::SubscriptionPreviewParams::BillingInformation#proration_behavior
517
+ module ProrationBehavior
518
+ extend Stigg::Internal::Type::Enum
519
+
520
+ INVOICE_IMMEDIATELY = :INVOICE_IMMEDIATELY
521
+ CREATE_PRORATIONS = :CREATE_PRORATIONS
522
+ NONE = :NONE
523
+
524
+ # @!method self.values
525
+ # @return [Array<Symbol>]
526
+ end
527
+
528
+ class TaxID < Stigg::Internal::Type::BaseModel
529
+ # @!attribute type
530
+ #
531
+ # @return [String]
532
+ required :type, String
533
+
534
+ # @!attribute value
535
+ #
536
+ # @return [String]
537
+ required :value, String
538
+
539
+ # @!method initialize(type:, value:)
540
+ # @param type [String]
541
+ # @param value [String]
542
+ end
543
+ end
544
+
545
+ module BillingPeriod
546
+ extend Stigg::Internal::Type::Enum
547
+
548
+ MONTHLY = :MONTHLY
549
+ ANNUALLY = :ANNUALLY
550
+
551
+ # @!method self.values
552
+ # @return [Array<Symbol>]
553
+ end
554
+
555
+ class Charge < Stigg::Internal::Type::BaseModel
556
+ # @!attribute id
557
+ # Charge ID
558
+ #
559
+ # @return [String]
560
+ required :id, String
561
+
562
+ # @!attribute quantity
563
+ #
564
+ # @return [Float]
565
+ required :quantity, Float
566
+
567
+ # @!attribute type
568
+ #
569
+ # @return [Symbol, Stigg::Models::V1::SubscriptionPreviewParams::Charge::Type]
570
+ required :type, enum: -> { Stigg::V1::SubscriptionPreviewParams::Charge::Type }
571
+
572
+ # @!method initialize(id:, quantity:, type:)
573
+ # @param id [String] Charge ID
574
+ #
575
+ # @param quantity [Float]
576
+ #
577
+ # @param type [Symbol, Stigg::Models::V1::SubscriptionPreviewParams::Charge::Type]
578
+
579
+ # @see Stigg::Models::V1::SubscriptionPreviewParams::Charge#type
580
+ module Type
581
+ extend Stigg::Internal::Type::Enum
582
+
583
+ FEATURE = :FEATURE
584
+ CREDIT = :CREDIT
585
+
586
+ # @!method self.values
587
+ # @return [Array<Symbol>]
588
+ end
589
+ end
590
+
591
+ module ScheduleStrategy
592
+ extend Stigg::Internal::Type::Enum
593
+
594
+ END_OF_BILLING_PERIOD = :END_OF_BILLING_PERIOD
595
+ END_OF_BILLING_MONTH = :END_OF_BILLING_MONTH
596
+ IMMEDIATE = :IMMEDIATE
597
+
598
+ # @!method self.values
599
+ # @return [Array<Symbol>]
600
+ end
601
+
602
+ class TrialOverrideConfiguration < Stigg::Internal::Type::BaseModel
603
+ # @!attribute is_trial
604
+ #
605
+ # @return [Boolean]
606
+ required :is_trial, Stigg::Internal::Type::Boolean, api_name: :isTrial
607
+
608
+ # @!attribute trial_end_behavior
609
+ #
610
+ # @return [Symbol, Stigg::Models::V1::SubscriptionPreviewParams::TrialOverrideConfiguration::TrialEndBehavior, nil]
611
+ optional :trial_end_behavior,
612
+ enum: -> {
613
+ Stigg::V1::SubscriptionPreviewParams::TrialOverrideConfiguration::TrialEndBehavior
614
+ },
615
+ api_name: :trialEndBehavior
616
+
617
+ # @!attribute trial_end_date
618
+ # Trial end date
619
+ #
620
+ # @return [Time, nil]
621
+ optional :trial_end_date, Time, api_name: :trialEndDate
622
+
623
+ # @!method initialize(is_trial:, trial_end_behavior: nil, trial_end_date: nil)
624
+ # @param is_trial [Boolean]
625
+ #
626
+ # @param trial_end_behavior [Symbol, Stigg::Models::V1::SubscriptionPreviewParams::TrialOverrideConfiguration::TrialEndBehavior]
627
+ #
628
+ # @param trial_end_date [Time] Trial end date
629
+
630
+ # @see Stigg::Models::V1::SubscriptionPreviewParams::TrialOverrideConfiguration#trial_end_behavior
631
+ module TrialEndBehavior
632
+ extend Stigg::Internal::Type::Enum
633
+
634
+ CONVERT_TO_PAID = :CONVERT_TO_PAID
635
+ CANCEL_SUBSCRIPTION = :CANCEL_SUBSCRIPTION
636
+
637
+ # @!method self.values
638
+ # @return [Array<Symbol>]
639
+ end
640
+ end
641
+ end
642
+ end
643
+ end
644
+ end