schematichq 1.4.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 (848) hide show
  1. checksums.yaml +7 -0
  2. data/.claude/settings.json +16 -0
  3. data/.claude/skills/pr-review/SKILL.md +129 -0
  4. data/.fern/metadata.json +18 -0
  5. data/.fernignore +21 -0
  6. data/.rubocop.yml +69 -0
  7. data/CLAUDE.md +45 -0
  8. data/LICENSE +21 -0
  9. data/README.md +639 -0
  10. data/Rakefile +20 -0
  11. data/WASM_VERSION +1 -0
  12. data/custom.gemspec.rb +10 -0
  13. data/lib/schematic/accesstokens/client.rb +46 -0
  14. data/lib/schematic/accesstokens/types/issue_temporary_access_token_request_body.rb +12 -0
  15. data/lib/schematic/accesstokens/types/issue_temporary_access_token_response.rb +12 -0
  16. data/lib/schematic/accounts/client.rb +604 -0
  17. data/lib/schematic/accounts/types/count_api_keys_params.rb +15 -0
  18. data/lib/schematic/accounts/types/count_api_keys_request.rb +14 -0
  19. data/lib/schematic/accounts/types/count_api_keys_response.rb +12 -0
  20. data/lib/schematic/accounts/types/count_audit_logs_params.rb +18 -0
  21. data/lib/schematic/accounts/types/count_audit_logs_request.rb +17 -0
  22. data/lib/schematic/accounts/types/count_audit_logs_response.rb +12 -0
  23. data/lib/schematic/accounts/types/create_api_key_request_body.rb +14 -0
  24. data/lib/schematic/accounts/types/create_api_key_response.rb +12 -0
  25. data/lib/schematic/accounts/types/create_environment_request_body.rb +12 -0
  26. data/lib/schematic/accounts/types/create_environment_response.rb +12 -0
  27. data/lib/schematic/accounts/types/delete_api_key_response.rb +12 -0
  28. data/lib/schematic/accounts/types/delete_environment_response.rb +12 -0
  29. data/lib/schematic/accounts/types/get_api_key_response.rb +12 -0
  30. data/lib/schematic/accounts/types/get_audit_log_response.rb +12 -0
  31. data/lib/schematic/accounts/types/get_environment_response.rb +12 -0
  32. data/lib/schematic/accounts/types/get_who_am_i_response.rb +12 -0
  33. data/lib/schematic/accounts/types/list_api_keys_params.rb +15 -0
  34. data/lib/schematic/accounts/types/list_api_keys_request.rb +14 -0
  35. data/lib/schematic/accounts/types/list_api_keys_response.rb +12 -0
  36. data/lib/schematic/accounts/types/list_audit_logs_params.rb +18 -0
  37. data/lib/schematic/accounts/types/list_audit_logs_request.rb +17 -0
  38. data/lib/schematic/accounts/types/list_audit_logs_response.rb +12 -0
  39. data/lib/schematic/accounts/types/list_environments_params.rb +14 -0
  40. data/lib/schematic/accounts/types/list_environments_request.rb +13 -0
  41. data/lib/schematic/accounts/types/list_environments_response.rb +12 -0
  42. data/lib/schematic/accounts/types/quickstart_response.rb +12 -0
  43. data/lib/schematic/accounts/types/update_api_key_request_body.rb +13 -0
  44. data/lib/schematic/accounts/types/update_api_key_response.rb +12 -0
  45. data/lib/schematic/accounts/types/update_environment_request_body.rb +13 -0
  46. data/lib/schematic/accounts/types/update_environment_response.rb +12 -0
  47. data/lib/schematic/billing/client.rb +862 -0
  48. data/lib/schematic/billing/types/count_billing_products_params.rb +23 -0
  49. data/lib/schematic/billing/types/count_billing_products_request.rb +22 -0
  50. data/lib/schematic/billing/types/count_billing_products_response.rb +12 -0
  51. data/lib/schematic/billing/types/count_customers_params.rb +17 -0
  52. data/lib/schematic/billing/types/count_customers_request.rb +16 -0
  53. data/lib/schematic/billing/types/count_customers_response.rb +12 -0
  54. data/lib/schematic/billing/types/create_billing_customer_request_body.rb +17 -0
  55. data/lib/schematic/billing/types/create_billing_price_request_body.rb +25 -0
  56. data/lib/schematic/billing/types/create_billing_product_request_body.rb +15 -0
  57. data/lib/schematic/billing/types/create_billing_subscription_request_body.rb +29 -0
  58. data/lib/schematic/billing/types/create_coupon_request_body.rb +19 -0
  59. data/lib/schematic/billing/types/create_invoice_request_body.rb +23 -0
  60. data/lib/schematic/billing/types/create_meter_request_body.rb +14 -0
  61. data/lib/schematic/billing/types/create_payment_method_request_body.rb +22 -0
  62. data/lib/schematic/billing/types/delete_billing_product_response.rb +12 -0
  63. data/lib/schematic/billing/types/delete_product_price_response.rb +12 -0
  64. data/lib/schematic/billing/types/list_billing_prices_params.rb +27 -0
  65. data/lib/schematic/billing/types/list_billing_prices_request.rb +26 -0
  66. data/lib/schematic/billing/types/list_billing_prices_response.rb +12 -0
  67. data/lib/schematic/billing/types/list_billing_product_prices_params.rb +27 -0
  68. data/lib/schematic/billing/types/list_billing_product_prices_request.rb +26 -0
  69. data/lib/schematic/billing/types/list_billing_product_prices_response.rb +12 -0
  70. data/lib/schematic/billing/types/list_billing_products_params.rb +23 -0
  71. data/lib/schematic/billing/types/list_billing_products_request.rb +22 -0
  72. data/lib/schematic/billing/types/list_billing_products_response.rb +12 -0
  73. data/lib/schematic/billing/types/list_coupons_params.rb +15 -0
  74. data/lib/schematic/billing/types/list_coupons_request.rb +14 -0
  75. data/lib/schematic/billing/types/list_coupons_response.rb +12 -0
  76. data/lib/schematic/billing/types/list_customers_with_subscriptions_params.rb +17 -0
  77. data/lib/schematic/billing/types/list_customers_with_subscriptions_request.rb +16 -0
  78. data/lib/schematic/billing/types/list_customers_with_subscriptions_response.rb +12 -0
  79. data/lib/schematic/billing/types/list_invoices_params.rb +16 -0
  80. data/lib/schematic/billing/types/list_invoices_request.rb +15 -0
  81. data/lib/schematic/billing/types/list_invoices_response.rb +12 -0
  82. data/lib/schematic/billing/types/list_meters_params.rb +14 -0
  83. data/lib/schematic/billing/types/list_meters_request.rb +13 -0
  84. data/lib/schematic/billing/types/list_meters_response.rb +12 -0
  85. data/lib/schematic/billing/types/list_payment_methods_params.rb +15 -0
  86. data/lib/schematic/billing/types/list_payment_methods_request.rb +14 -0
  87. data/lib/schematic/billing/types/list_payment_methods_response.rb +12 -0
  88. data/lib/schematic/billing/types/upsert_billing_coupon_response.rb +12 -0
  89. data/lib/schematic/billing/types/upsert_billing_customer_response.rb +12 -0
  90. data/lib/schematic/billing/types/upsert_billing_meter_response.rb +12 -0
  91. data/lib/schematic/billing/types/upsert_billing_price_response.rb +12 -0
  92. data/lib/schematic/billing/types/upsert_billing_product_response.rb +12 -0
  93. data/lib/schematic/billing/types/upsert_billing_subscription_response.rb +12 -0
  94. data/lib/schematic/billing/types/upsert_invoice_response.rb +12 -0
  95. data/lib/schematic/billing/types/upsert_payment_method_response.rb +12 -0
  96. data/lib/schematic/cache.rb +133 -0
  97. data/lib/schematic/checkout/client.rb +243 -0
  98. data/lib/schematic/checkout/types/cancel_subscription_request.rb +13 -0
  99. data/lib/schematic/checkout/types/cancel_subscription_response.rb +12 -0
  100. data/lib/schematic/checkout/types/checkout_data_request_body.rb +12 -0
  101. data/lib/schematic/checkout/types/checkout_internal_response.rb +12 -0
  102. data/lib/schematic/checkout/types/get_checkout_data_response.rb +12 -0
  103. data/lib/schematic/checkout/types/manage_plan_response.rb +12 -0
  104. data/lib/schematic/checkout/types/preview_checkout_internal_response.rb +12 -0
  105. data/lib/schematic/checkout/types/preview_manage_plan_response.rb +12 -0
  106. data/lib/schematic/checkout/types/update_customer_subscription_trial_end_response.rb +12 -0
  107. data/lib/schematic/checkout/types/update_trial_end_request_body.rb +12 -0
  108. data/lib/schematic/client.rb +110 -0
  109. data/lib/schematic/companies/client.rb +1561 -0
  110. data/lib/schematic/companies/types/count_companies_params.rb +29 -0
  111. data/lib/schematic/companies/types/count_companies_request.rb +28 -0
  112. data/lib/schematic/companies/types/count_companies_response.rb +12 -0
  113. data/lib/schematic/companies/types/count_entity_key_definitions_params.rb +16 -0
  114. data/lib/schematic/companies/types/count_entity_key_definitions_request.rb +15 -0
  115. data/lib/schematic/companies/types/count_entity_key_definitions_response.rb +12 -0
  116. data/lib/schematic/companies/types/count_entity_trait_definitions_params.rb +18 -0
  117. data/lib/schematic/companies/types/count_entity_trait_definitions_request.rb +17 -0
  118. data/lib/schematic/companies/types/count_entity_trait_definitions_response.rb +12 -0
  119. data/lib/schematic/companies/types/count_plan_traits_params.rb +17 -0
  120. data/lib/schematic/companies/types/count_plan_traits_request.rb +16 -0
  121. data/lib/schematic/companies/types/count_plan_traits_response.rb +12 -0
  122. data/lib/schematic/companies/types/count_users_params.rb +17 -0
  123. data/lib/schematic/companies/types/count_users_request.rb +16 -0
  124. data/lib/schematic/companies/types/count_users_response.rb +12 -0
  125. data/lib/schematic/companies/types/create_company_response.rb +12 -0
  126. data/lib/schematic/companies/types/create_entity_trait_definition_request_body.rb +14 -0
  127. data/lib/schematic/companies/types/create_plan_trait_request_body.rb +13 -0
  128. data/lib/schematic/companies/types/create_plan_trait_response.rb +12 -0
  129. data/lib/schematic/companies/types/create_user_response.rb +12 -0
  130. data/lib/schematic/companies/types/delete_company_by_keys_response.rb +12 -0
  131. data/lib/schematic/companies/types/delete_company_membership_response.rb +12 -0
  132. data/lib/schematic/companies/types/delete_company_params.rb +13 -0
  133. data/lib/schematic/companies/types/delete_company_request.rb +13 -0
  134. data/lib/schematic/companies/types/delete_company_response.rb +12 -0
  135. data/lib/schematic/companies/types/delete_plan_trait_response.rb +12 -0
  136. data/lib/schematic/companies/types/delete_user_by_keys_response.rb +12 -0
  137. data/lib/schematic/companies/types/delete_user_response.rb +12 -0
  138. data/lib/schematic/companies/types/get_active_company_subscription_params.rb +15 -0
  139. data/lib/schematic/companies/types/get_active_company_subscription_request.rb +14 -0
  140. data/lib/schematic/companies/types/get_active_company_subscription_response.rb +12 -0
  141. data/lib/schematic/companies/types/get_company_response.rb +12 -0
  142. data/lib/schematic/companies/types/get_entity_trait_definition_response.rb +12 -0
  143. data/lib/schematic/companies/types/get_entity_trait_values_params.rb +15 -0
  144. data/lib/schematic/companies/types/get_entity_trait_values_request.rb +14 -0
  145. data/lib/schematic/companies/types/get_entity_trait_values_response.rb +12 -0
  146. data/lib/schematic/companies/types/get_or_create_company_membership_request_body.rb +12 -0
  147. data/lib/schematic/companies/types/get_or_create_company_membership_response.rb +12 -0
  148. data/lib/schematic/companies/types/get_or_create_entity_trait_definition_response.rb +12 -0
  149. data/lib/schematic/companies/types/get_plan_change_response.rb +12 -0
  150. data/lib/schematic/companies/types/get_plan_trait_response.rb +12 -0
  151. data/lib/schematic/companies/types/get_user_response.rb +12 -0
  152. data/lib/schematic/companies/types/list_companies_params.rb +29 -0
  153. data/lib/schematic/companies/types/list_companies_request.rb +28 -0
  154. data/lib/schematic/companies/types/list_companies_response.rb +12 -0
  155. data/lib/schematic/companies/types/list_company_memberships_params.rb +15 -0
  156. data/lib/schematic/companies/types/list_company_memberships_request.rb +14 -0
  157. data/lib/schematic/companies/types/list_company_memberships_response.rb +12 -0
  158. data/lib/schematic/companies/types/list_entity_key_definitions_params.rb +16 -0
  159. data/lib/schematic/companies/types/list_entity_key_definitions_request.rb +15 -0
  160. data/lib/schematic/companies/types/list_entity_key_definitions_response.rb +12 -0
  161. data/lib/schematic/companies/types/list_entity_trait_definitions_params.rb +18 -0
  162. data/lib/schematic/companies/types/list_entity_trait_definitions_request.rb +17 -0
  163. data/lib/schematic/companies/types/list_entity_trait_definitions_response.rb +12 -0
  164. data/lib/schematic/companies/types/list_plan_changes_params.rb +18 -0
  165. data/lib/schematic/companies/types/list_plan_changes_request.rb +17 -0
  166. data/lib/schematic/companies/types/list_plan_changes_response.rb +12 -0
  167. data/lib/schematic/companies/types/list_plan_traits_params.rb +17 -0
  168. data/lib/schematic/companies/types/list_plan_traits_request.rb +16 -0
  169. data/lib/schematic/companies/types/list_plan_traits_response.rb +12 -0
  170. data/lib/schematic/companies/types/list_users_params.rb +17 -0
  171. data/lib/schematic/companies/types/list_users_request.rb +16 -0
  172. data/lib/schematic/companies/types/list_users_response.rb +12 -0
  173. data/lib/schematic/companies/types/lookup_company_params.rb +12 -0
  174. data/lib/schematic/companies/types/lookup_company_request.rb +11 -0
  175. data/lib/schematic/companies/types/lookup_company_response.rb +12 -0
  176. data/lib/schematic/companies/types/lookup_user_params.rb +12 -0
  177. data/lib/schematic/companies/types/lookup_user_request.rb +11 -0
  178. data/lib/schematic/companies/types/lookup_user_response.rb +12 -0
  179. data/lib/schematic/companies/types/update_entity_trait_definition_request_body.rb +13 -0
  180. data/lib/schematic/companies/types/update_entity_trait_definition_response.rb +12 -0
  181. data/lib/schematic/companies/types/update_plan_trait_bulk_request_body.rb +13 -0
  182. data/lib/schematic/companies/types/update_plan_trait_request_body.rb +13 -0
  183. data/lib/schematic/companies/types/update_plan_trait_response.rb +12 -0
  184. data/lib/schematic/companies/types/update_plan_traits_bulk_response.rb +12 -0
  185. data/lib/schematic/companies/types/upsert_company_response.rb +12 -0
  186. data/lib/schematic/companies/types/upsert_company_trait_response.rb +12 -0
  187. data/lib/schematic/companies/types/upsert_user_response.rb +12 -0
  188. data/lib/schematic/companies/types/upsert_user_trait_response.rb +12 -0
  189. data/lib/schematic/components/client.rb +271 -0
  190. data/lib/schematic/components/types/count_components_params.rb +14 -0
  191. data/lib/schematic/components/types/count_components_request.rb +13 -0
  192. data/lib/schematic/components/types/count_components_response.rb +12 -0
  193. data/lib/schematic/components/types/create_component_request_body.rb +13 -0
  194. data/lib/schematic/components/types/create_component_response.rb +12 -0
  195. data/lib/schematic/components/types/delete_component_response.rb +12 -0
  196. data/lib/schematic/components/types/get_component_response.rb +12 -0
  197. data/lib/schematic/components/types/list_components_params.rb +14 -0
  198. data/lib/schematic/components/types/list_components_request.rb +13 -0
  199. data/lib/schematic/components/types/list_components_response.rb +12 -0
  200. data/lib/schematic/components/types/preview_component_data_params.rb +13 -0
  201. data/lib/schematic/components/types/preview_component_data_request.rb +12 -0
  202. data/lib/schematic/components/types/preview_component_data_response.rb +12 -0
  203. data/lib/schematic/components/types/update_component_request_body.rb +15 -0
  204. data/lib/schematic/components/types/update_component_response.rb +12 -0
  205. data/lib/schematic/componentspublic/client.rb +45 -0
  206. data/lib/schematic/componentspublic/types/get_public_plans_response.rb +12 -0
  207. data/lib/schematic/credits/client.rb +1157 -0
  208. data/lib/schematic/credits/types/count_billing_credits_grants_params.rb +15 -0
  209. data/lib/schematic/credits/types/count_billing_credits_grants_request.rb +14 -0
  210. data/lib/schematic/credits/types/count_billing_credits_grants_response.rb +12 -0
  211. data/lib/schematic/credits/types/count_billing_credits_params.rb +15 -0
  212. data/lib/schematic/credits/types/count_billing_credits_request.rb +14 -0
  213. data/lib/schematic/credits/types/count_billing_credits_response.rb +12 -0
  214. data/lib/schematic/credits/types/count_billing_plan_credit_grants_params.rb +18 -0
  215. data/lib/schematic/credits/types/count_billing_plan_credit_grants_request.rb +17 -0
  216. data/lib/schematic/credits/types/count_billing_plan_credit_grants_response.rb +12 -0
  217. data/lib/schematic/credits/types/count_company_grants_params.rb +16 -0
  218. data/lib/schematic/credits/types/count_company_grants_request.rb +15 -0
  219. data/lib/schematic/credits/types/count_company_grants_response.rb +12 -0
  220. data/lib/schematic/credits/types/count_credit_bundles_params.rb +17 -0
  221. data/lib/schematic/credits/types/count_credit_bundles_request.rb +16 -0
  222. data/lib/schematic/credits/types/count_credit_bundles_response.rb +12 -0
  223. data/lib/schematic/credits/types/count_credit_event_ledger_params.rb +19 -0
  224. data/lib/schematic/credits/types/count_credit_event_ledger_request.rb +18 -0
  225. data/lib/schematic/credits/types/count_credit_event_ledger_response.rb +12 -0
  226. data/lib/schematic/credits/types/count_credit_ledger_params.rb +19 -0
  227. data/lib/schematic/credits/types/count_credit_ledger_request.rb +18 -0
  228. data/lib/schematic/credits/types/count_credit_ledger_response.rb +12 -0
  229. data/lib/schematic/credits/types/create_billing_credit_request_body.rb +23 -0
  230. data/lib/schematic/credits/types/create_billing_credit_response.rb +12 -0
  231. data/lib/schematic/credits/types/create_billing_plan_credit_grant_response.rb +12 -0
  232. data/lib/schematic/credits/types/create_company_credit_grant.rb +22 -0
  233. data/lib/schematic/credits/types/create_credit_bundle_request_body.rb +22 -0
  234. data/lib/schematic/credits/types/create_credit_bundle_response.rb +12 -0
  235. data/lib/schematic/credits/types/delete_billing_plan_credit_grant_params.rb +12 -0
  236. data/lib/schematic/credits/types/delete_billing_plan_credit_grant_request.rb +12 -0
  237. data/lib/schematic/credits/types/delete_billing_plan_credit_grant_response.rb +12 -0
  238. data/lib/schematic/credits/types/delete_credit_bundle_response.rb +12 -0
  239. data/lib/schematic/credits/types/get_credit_bundle_response.rb +12 -0
  240. data/lib/schematic/credits/types/get_enriched_credit_ledger_params.rb +19 -0
  241. data/lib/schematic/credits/types/get_enriched_credit_ledger_request.rb +18 -0
  242. data/lib/schematic/credits/types/get_enriched_credit_ledger_response.rb +12 -0
  243. data/lib/schematic/credits/types/get_single_billing_credit_response.rb +12 -0
  244. data/lib/schematic/credits/types/get_single_billing_plan_credit_grant_response.rb +12 -0
  245. data/lib/schematic/credits/types/grant_billing_credits_to_company_response.rb +12 -0
  246. data/lib/schematic/credits/types/list_billing_credits_params.rb +15 -0
  247. data/lib/schematic/credits/types/list_billing_credits_request.rb +14 -0
  248. data/lib/schematic/credits/types/list_billing_credits_response.rb +12 -0
  249. data/lib/schematic/credits/types/list_billing_plan_credit_grants_params.rb +18 -0
  250. data/lib/schematic/credits/types/list_billing_plan_credit_grants_request.rb +17 -0
  251. data/lib/schematic/credits/types/list_billing_plan_credit_grants_response.rb +12 -0
  252. data/lib/schematic/credits/types/list_company_grants_params.rb +16 -0
  253. data/lib/schematic/credits/types/list_company_grants_request.rb +15 -0
  254. data/lib/schematic/credits/types/list_company_grants_response.rb +12 -0
  255. data/lib/schematic/credits/types/list_credit_bundles_params.rb +17 -0
  256. data/lib/schematic/credits/types/list_credit_bundles_request.rb +16 -0
  257. data/lib/schematic/credits/types/list_credit_bundles_response.rb +12 -0
  258. data/lib/schematic/credits/types/list_credit_event_ledger_params.rb +19 -0
  259. data/lib/schematic/credits/types/list_credit_event_ledger_request.rb +18 -0
  260. data/lib/schematic/credits/types/list_credit_event_ledger_response.rb +12 -0
  261. data/lib/schematic/credits/types/list_grants_for_credit_params.rb +15 -0
  262. data/lib/schematic/credits/types/list_grants_for_credit_request.rb +14 -0
  263. data/lib/schematic/credits/types/list_grants_for_credit_response.rb +12 -0
  264. data/lib/schematic/credits/types/soft_delete_billing_credit_response.rb +12 -0
  265. data/lib/schematic/credits/types/update_billing_credit_request_body.rb +23 -0
  266. data/lib/schematic/credits/types/update_billing_credit_response.rb +12 -0
  267. data/lib/schematic/credits/types/update_billing_plan_credit_grant_response.rb +12 -0
  268. data/lib/schematic/credits/types/update_credit_bundle_details_request_body.rb +20 -0
  269. data/lib/schematic/credits/types/update_credit_bundle_details_response.rb +12 -0
  270. data/lib/schematic/credits/types/zero_out_grant_request_body.rb +12 -0
  271. data/lib/schematic/credits/types/zero_out_grant_response.rb +12 -0
  272. data/lib/schematic/dataexports/client.rb +76 -0
  273. data/lib/schematic/dataexports/types/create_data_export_request_body.rb +13 -0
  274. data/lib/schematic/dataexports/types/create_data_export_response.rb +12 -0
  275. data/lib/schematic/datastream/client.rb +508 -0
  276. data/lib/schematic/datastream/merge.rb +95 -0
  277. data/lib/schematic/datastream/resource_cache.rb +76 -0
  278. data/lib/schematic/datastream/websocket_client.rb +315 -0
  279. data/lib/schematic/entitlements/client.rb +900 -0
  280. data/lib/schematic/entitlements/types/count_company_overrides_params.rb +20 -0
  281. data/lib/schematic/entitlements/types/count_company_overrides_request.rb +19 -0
  282. data/lib/schematic/entitlements/types/count_company_overrides_response.rb +12 -0
  283. data/lib/schematic/entitlements/types/count_feature_companies_params.rb +15 -0
  284. data/lib/schematic/entitlements/types/count_feature_companies_request.rb +14 -0
  285. data/lib/schematic/entitlements/types/count_feature_companies_response.rb +12 -0
  286. data/lib/schematic/entitlements/types/count_feature_usage_params.rb +19 -0
  287. data/lib/schematic/entitlements/types/count_feature_usage_request.rb +18 -0
  288. data/lib/schematic/entitlements/types/count_feature_usage_response.rb +12 -0
  289. data/lib/schematic/entitlements/types/count_feature_users_params.rb +15 -0
  290. data/lib/schematic/entitlements/types/count_feature_users_request.rb +14 -0
  291. data/lib/schematic/entitlements/types/count_feature_users_response.rb +12 -0
  292. data/lib/schematic/entitlements/types/count_plan_entitlements_params.rb +22 -0
  293. data/lib/schematic/entitlements/types/count_plan_entitlements_request.rb +21 -0
  294. data/lib/schematic/entitlements/types/count_plan_entitlements_response.rb +12 -0
  295. data/lib/schematic/entitlements/types/create_company_override_request_body.rb +22 -0
  296. data/lib/schematic/entitlements/types/create_company_override_request_body_metric_period.rb +16 -0
  297. data/lib/schematic/entitlements/types/create_company_override_request_body_metric_period_month_reset.rb +14 -0
  298. data/lib/schematic/entitlements/types/create_company_override_response.rb +12 -0
  299. data/lib/schematic/entitlements/types/create_plan_entitlement_request_body.rb +38 -0
  300. data/lib/schematic/entitlements/types/create_plan_entitlement_request_body_metric_period.rb +16 -0
  301. data/lib/schematic/entitlements/types/create_plan_entitlement_request_body_metric_period_month_reset.rb +14 -0
  302. data/lib/schematic/entitlements/types/create_plan_entitlement_response.rb +12 -0
  303. data/lib/schematic/entitlements/types/delete_company_override_response.rb +12 -0
  304. data/lib/schematic/entitlements/types/delete_plan_entitlement_response.rb +12 -0
  305. data/lib/schematic/entitlements/types/duplicate_plan_entitlements_request_body.rb +12 -0
  306. data/lib/schematic/entitlements/types/duplicate_plan_entitlements_response.rb +12 -0
  307. data/lib/schematic/entitlements/types/get_company_override_response.rb +12 -0
  308. data/lib/schematic/entitlements/types/get_feature_usage_by_company_params.rb +12 -0
  309. data/lib/schematic/entitlements/types/get_feature_usage_by_company_request.rb +11 -0
  310. data/lib/schematic/entitlements/types/get_feature_usage_by_company_response.rb +12 -0
  311. data/lib/schematic/entitlements/types/get_feature_usage_time_series_params.rb +16 -0
  312. data/lib/schematic/entitlements/types/get_feature_usage_time_series_request.rb +15 -0
  313. data/lib/schematic/entitlements/types/get_feature_usage_time_series_response.rb +12 -0
  314. data/lib/schematic/entitlements/types/get_plan_entitlement_response.rb +12 -0
  315. data/lib/schematic/entitlements/types/list_company_overrides_params.rb +20 -0
  316. data/lib/schematic/entitlements/types/list_company_overrides_request.rb +19 -0
  317. data/lib/schematic/entitlements/types/list_company_overrides_response.rb +12 -0
  318. data/lib/schematic/entitlements/types/list_feature_companies_params.rb +15 -0
  319. data/lib/schematic/entitlements/types/list_feature_companies_request.rb +14 -0
  320. data/lib/schematic/entitlements/types/list_feature_companies_response.rb +12 -0
  321. data/lib/schematic/entitlements/types/list_feature_usage_params.rb +19 -0
  322. data/lib/schematic/entitlements/types/list_feature_usage_request.rb +18 -0
  323. data/lib/schematic/entitlements/types/list_feature_usage_response.rb +12 -0
  324. data/lib/schematic/entitlements/types/list_feature_users_params.rb +15 -0
  325. data/lib/schematic/entitlements/types/list_feature_users_request.rb +14 -0
  326. data/lib/schematic/entitlements/types/list_feature_users_response.rb +12 -0
  327. data/lib/schematic/entitlements/types/list_plan_entitlements_params.rb +22 -0
  328. data/lib/schematic/entitlements/types/list_plan_entitlements_request.rb +21 -0
  329. data/lib/schematic/entitlements/types/list_plan_entitlements_response.rb +12 -0
  330. data/lib/schematic/entitlements/types/update_company_override_request_body.rb +21 -0
  331. data/lib/schematic/entitlements/types/update_company_override_request_body_metric_period.rb +16 -0
  332. data/lib/schematic/entitlements/types/update_company_override_request_body_metric_period_month_reset.rb +14 -0
  333. data/lib/schematic/entitlements/types/update_company_override_response.rb +12 -0
  334. data/lib/schematic/entitlements/types/update_plan_entitlement_request_body.rb +36 -0
  335. data/lib/schematic/entitlements/types/update_plan_entitlement_request_body_metric_period.rb +16 -0
  336. data/lib/schematic/entitlements/types/update_plan_entitlement_request_body_metric_period_month_reset.rb +14 -0
  337. data/lib/schematic/entitlements/types/update_plan_entitlement_response.rb +12 -0
  338. data/lib/schematic/environment.rb +7 -0
  339. data/lib/schematic/errors/api_error.rb +8 -0
  340. data/lib/schematic/errors/client_error.rb +17 -0
  341. data/lib/schematic/errors/redirect_error.rb +8 -0
  342. data/lib/schematic/errors/response_error.rb +42 -0
  343. data/lib/schematic/errors/server_error.rb +11 -0
  344. data/lib/schematic/errors/timeout_error.rb +8 -0
  345. data/lib/schematic/event_buffer.rb +180 -0
  346. data/lib/schematic/events/client.rb +235 -0
  347. data/lib/schematic/events/types/create_event_batch_request_body.rb +11 -0
  348. data/lib/schematic/events/types/create_event_batch_response.rb +12 -0
  349. data/lib/schematic/events/types/create_event_response.rb +12 -0
  350. data/lib/schematic/events/types/get_event_response.rb +12 -0
  351. data/lib/schematic/events/types/get_event_summaries_params.rb +15 -0
  352. data/lib/schematic/events/types/get_event_summaries_request.rb +14 -0
  353. data/lib/schematic/events/types/get_event_summaries_response.rb +12 -0
  354. data/lib/schematic/events/types/get_segment_integration_status_response.rb +12 -0
  355. data/lib/schematic/events/types/list_events_params.rb +18 -0
  356. data/lib/schematic/events/types/list_events_request.rb +17 -0
  357. data/lib/schematic/events/types/list_events_response.rb +12 -0
  358. data/lib/schematic/features/client.rb +610 -0
  359. data/lib/schematic/features/types/check_flag_response.rb +12 -0
  360. data/lib/schematic/features/types/check_flags_bulk_request_body.rb +11 -0
  361. data/lib/schematic/features/types/check_flags_bulk_response.rb +12 -0
  362. data/lib/schematic/features/types/check_flags_response.rb +12 -0
  363. data/lib/schematic/features/types/count_features_params.rb +20 -0
  364. data/lib/schematic/features/types/count_features_request.rb +19 -0
  365. data/lib/schematic/features/types/count_features_response.rb +12 -0
  366. data/lib/schematic/features/types/count_flags_params.rb +16 -0
  367. data/lib/schematic/features/types/count_flags_request.rb +15 -0
  368. data/lib/schematic/features/types/count_flags_response.rb +12 -0
  369. data/lib/schematic/features/types/create_feature_request_body.rb +21 -0
  370. data/lib/schematic/features/types/create_feature_response.rb +12 -0
  371. data/lib/schematic/features/types/create_flag_response.rb +12 -0
  372. data/lib/schematic/features/types/delete_feature_response.rb +12 -0
  373. data/lib/schematic/features/types/delete_flag_response.rb +12 -0
  374. data/lib/schematic/features/types/get_feature_response.rb +12 -0
  375. data/lib/schematic/features/types/get_flag_response.rb +12 -0
  376. data/lib/schematic/features/types/list_features_params.rb +20 -0
  377. data/lib/schematic/features/types/list_features_request.rb +19 -0
  378. data/lib/schematic/features/types/list_features_response.rb +12 -0
  379. data/lib/schematic/features/types/list_flags_params.rb +16 -0
  380. data/lib/schematic/features/types/list_flags_request.rb +15 -0
  381. data/lib/schematic/features/types/list_flags_response.rb +12 -0
  382. data/lib/schematic/features/types/update_feature_request_body.rb +22 -0
  383. data/lib/schematic/features/types/update_feature_response.rb +12 -0
  384. data/lib/schematic/features/types/update_flag_response.rb +12 -0
  385. data/lib/schematic/features/types/update_flag_rules_request_body.rb +12 -0
  386. data/lib/schematic/features/types/update_flag_rules_response.rb +12 -0
  387. data/lib/schematic/internal/errors/constraint_error.rb +10 -0
  388. data/lib/schematic/internal/errors/type_error.rb +10 -0
  389. data/lib/schematic/internal/http/base_request.rb +51 -0
  390. data/lib/schematic/internal/http/raw_client.rb +214 -0
  391. data/lib/schematic/internal/iterators/cursor_item_iterator.rb +28 -0
  392. data/lib/schematic/internal/iterators/cursor_page_iterator.rb +51 -0
  393. data/lib/schematic/internal/iterators/item_iterator.rb +59 -0
  394. data/lib/schematic/internal/iterators/offset_item_iterator.rb +30 -0
  395. data/lib/schematic/internal/iterators/offset_page_iterator.rb +83 -0
  396. data/lib/schematic/internal/json/request.rb +41 -0
  397. data/lib/schematic/internal/json/serializable.rb +25 -0
  398. data/lib/schematic/internal/multipart/multipart_encoder.rb +141 -0
  399. data/lib/schematic/internal/multipart/multipart_form_data.rb +78 -0
  400. data/lib/schematic/internal/multipart/multipart_form_data_part.rb +51 -0
  401. data/lib/schematic/internal/multipart/multipart_request.rb +40 -0
  402. data/lib/schematic/internal/types/array.rb +47 -0
  403. data/lib/schematic/internal/types/boolean.rb +34 -0
  404. data/lib/schematic/internal/types/enum.rb +56 -0
  405. data/lib/schematic/internal/types/hash.rb +36 -0
  406. data/lib/schematic/internal/types/model/field.rb +38 -0
  407. data/lib/schematic/internal/types/model.rb +208 -0
  408. data/lib/schematic/internal/types/type.rb +35 -0
  409. data/lib/schematic/internal/types/union.rb +161 -0
  410. data/lib/schematic/internal/types/unknown.rb +15 -0
  411. data/lib/schematic/internal/types/utils.rb +116 -0
  412. data/lib/schematic/logger.rb +62 -0
  413. data/lib/schematic/planbundle/client.rb +83 -0
  414. data/lib/schematic/planbundle/types/create_plan_bundle_request_body.rb +15 -0
  415. data/lib/schematic/planbundle/types/create_plan_bundle_response.rb +12 -0
  416. data/lib/schematic/planbundle/types/update_plan_bundle_request_body.rb +17 -0
  417. data/lib/schematic/planbundle/types/update_plan_bundle_response.rb +12 -0
  418. data/lib/schematic/plangroups/client.rb +121 -0
  419. data/lib/schematic/plangroups/types/create_plan_group_request_body.rb +42 -0
  420. data/lib/schematic/plangroups/types/create_plan_group_response.rb +12 -0
  421. data/lib/schematic/plangroups/types/get_plan_group_params.rb +12 -0
  422. data/lib/schematic/plangroups/types/get_plan_group_request.rb +11 -0
  423. data/lib/schematic/plangroups/types/get_plan_group_response.rb +12 -0
  424. data/lib/schematic/plangroups/types/update_plan_group_request_body.rb +43 -0
  425. data/lib/schematic/plangroups/types/update_plan_group_response.rb +12 -0
  426. data/lib/schematic/planmigrations/client.rb +226 -0
  427. data/lib/schematic/planmigrations/types/count_company_migrations_params.rb +16 -0
  428. data/lib/schematic/planmigrations/types/count_company_migrations_request.rb +15 -0
  429. data/lib/schematic/planmigrations/types/count_company_migrations_response.rb +12 -0
  430. data/lib/schematic/planmigrations/types/count_migrations_params.rb +15 -0
  431. data/lib/schematic/planmigrations/types/count_migrations_request.rb +14 -0
  432. data/lib/schematic/planmigrations/types/count_migrations_response.rb +12 -0
  433. data/lib/schematic/planmigrations/types/get_migration_response.rb +12 -0
  434. data/lib/schematic/planmigrations/types/list_company_migrations_params.rb +16 -0
  435. data/lib/schematic/planmigrations/types/list_company_migrations_request.rb +15 -0
  436. data/lib/schematic/planmigrations/types/list_company_migrations_response.rb +12 -0
  437. data/lib/schematic/planmigrations/types/list_migrations_params.rb +15 -0
  438. data/lib/schematic/planmigrations/types/list_migrations_request.rb +14 -0
  439. data/lib/schematic/planmigrations/types/list_migrations_response.rb +12 -0
  440. data/lib/schematic/plans/client.rb +460 -0
  441. data/lib/schematic/plans/types/count_plans_params.rb +24 -0
  442. data/lib/schematic/plans/types/count_plans_request.rb +23 -0
  443. data/lib/schematic/plans/types/count_plans_response.rb +12 -0
  444. data/lib/schematic/plans/types/create_plan_response.rb +12 -0
  445. data/lib/schematic/plans/types/delete_plan_response.rb +12 -0
  446. data/lib/schematic/plans/types/delete_plan_version_params.rb +12 -0
  447. data/lib/schematic/plans/types/delete_plan_version_request.rb +12 -0
  448. data/lib/schematic/plans/types/delete_plan_version_response.rb +12 -0
  449. data/lib/schematic/plans/types/get_plan_params.rb +12 -0
  450. data/lib/schematic/plans/types/get_plan_request.rb +12 -0
  451. data/lib/schematic/plans/types/get_plan_response.rb +12 -0
  452. data/lib/schematic/plans/types/list_plan_issues_params.rb +13 -0
  453. data/lib/schematic/plans/types/list_plan_issues_request.rb +12 -0
  454. data/lib/schematic/plans/types/list_plan_issues_response.rb +12 -0
  455. data/lib/schematic/plans/types/list_plans_params.rb +24 -0
  456. data/lib/schematic/plans/types/list_plans_request.rb +23 -0
  457. data/lib/schematic/plans/types/list_plans_response.rb +12 -0
  458. data/lib/schematic/plans/types/publish_plan_version_request_body.rb +13 -0
  459. data/lib/schematic/plans/types/publish_plan_version_response.rb +12 -0
  460. data/lib/schematic/plans/types/update_company_plans_request_body.rb +13 -0
  461. data/lib/schematic/plans/types/update_company_plans_response.rb +12 -0
  462. data/lib/schematic/plans/types/update_plan_response.rb +12 -0
  463. data/lib/schematic/plans/types/upsert_billing_product_plan_response.rb +12 -0
  464. data/lib/schematic/redis_cache.rb +94 -0
  465. data/lib/schematic/rules_engine.rb +145 -0
  466. data/lib/schematic/scheduledcheckout/client.rb +159 -0
  467. data/lib/schematic/scheduledcheckout/types/create_scheduled_checkout_request.rb +14 -0
  468. data/lib/schematic/scheduledcheckout/types/create_scheduled_checkout_response.rb +12 -0
  469. data/lib/schematic/scheduledcheckout/types/get_scheduled_checkout_response.rb +12 -0
  470. data/lib/schematic/scheduledcheckout/types/list_scheduled_checkouts_params.rb +15 -0
  471. data/lib/schematic/scheduledcheckout/types/list_scheduled_checkouts_request.rb +14 -0
  472. data/lib/schematic/scheduledcheckout/types/list_scheduled_checkouts_response.rb +12 -0
  473. data/lib/schematic/scheduledcheckout/types/update_scheduled_checkout_request.rb +13 -0
  474. data/lib/schematic/scheduledcheckout/types/update_scheduled_checkout_response.rb +12 -0
  475. data/lib/schematic/schematic_client.rb +552 -0
  476. data/lib/schematic/types/actor_type.rb +15 -0
  477. data/lib/schematic/types/api_error.rb +9 -0
  478. data/lib/schematic/types/api_key_create_response_data.rb +18 -0
  479. data/lib/schematic/types/api_key_response_data.rb +17 -0
  480. data/lib/schematic/types/api_key_scope.rb +14 -0
  481. data/lib/schematic/types/audit_log_list_response_data.rb +23 -0
  482. data/lib/schematic/types/audit_log_response_data.rb +26 -0
  483. data/lib/schematic/types/billing_coupon_response_data.rb +25 -0
  484. data/lib/schematic/types/billing_credit_bundle_response_data.rb +29 -0
  485. data/lib/schematic/types/billing_credit_bundle_status.rb +12 -0
  486. data/lib/schematic/types/billing_credit_bundle_type.rb +23 -0
  487. data/lib/schematic/types/billing_credit_bundle_view.rb +28 -0
  488. data/lib/schematic/types/billing_credit_burn_strategy.rb +14 -0
  489. data/lib/schematic/types/billing_credit_expiry_type.rb +15 -0
  490. data/lib/schematic/types/billing_credit_expiry_unit.rb +12 -0
  491. data/lib/schematic/types/billing_credit_grant_reason.rb +15 -0
  492. data/lib/schematic/types/billing_credit_grant_response_data.rb +32 -0
  493. data/lib/schematic/types/billing_credit_grant_zeroed_out_reason.rb +14 -0
  494. data/lib/schematic/types/billing_credit_ledger_response_data.rb +14 -0
  495. data/lib/schematic/types/billing_credit_response_data.rb +24 -0
  496. data/lib/schematic/types/billing_credit_rollover_policy.rb +13 -0
  497. data/lib/schematic/types/billing_credit_view.rb +27 -0
  498. data/lib/schematic/types/billing_customer_response_data.rb +16 -0
  499. data/lib/schematic/types/billing_customer_subscription.rb +14 -0
  500. data/lib/schematic/types/billing_customer_with_subscriptions_response_data.rb +17 -0
  501. data/lib/schematic/types/billing_meter_response_data.rb +14 -0
  502. data/lib/schematic/types/billing_plan_credit_grant_reset_cadence.rb +14 -0
  503. data/lib/schematic/types/billing_plan_credit_grant_reset_start.rb +12 -0
  504. data/lib/schematic/types/billing_plan_credit_grant_reset_type.rb +12 -0
  505. data/lib/schematic/types/billing_plan_credit_grant_response_data.rb +34 -0
  506. data/lib/schematic/types/billing_price_response_data.rb +16 -0
  507. data/lib/schematic/types/billing_price_scheme.rb +12 -0
  508. data/lib/schematic/types/billing_price_usage_type.rb +12 -0
  509. data/lib/schematic/types/billing_price_view.rb +30 -0
  510. data/lib/schematic/types/billing_product_detail_response_data.rb +23 -0
  511. data/lib/schematic/types/billing_product_for_subscription_response_data.rb +30 -0
  512. data/lib/schematic/types/billing_product_plan_response_data.rb +19 -0
  513. data/lib/schematic/types/billing_product_price_interval.rb +14 -0
  514. data/lib/schematic/types/billing_product_price_response_data.rb +24 -0
  515. data/lib/schematic/types/billing_product_price_tier_response_data.rb +12 -0
  516. data/lib/schematic/types/billing_product_pricing.rb +20 -0
  517. data/lib/schematic/types/billing_product_response_data.rb +21 -0
  518. data/lib/schematic/types/billing_provider_type.rb +12 -0
  519. data/lib/schematic/types/billing_subscription_discount.rb +15 -0
  520. data/lib/schematic/types/billing_subscription_discount_view.rb +22 -0
  521. data/lib/schematic/types/billing_subscription_response_data.rb +28 -0
  522. data/lib/schematic/types/billing_subscription_trial_end_setting.rb +12 -0
  523. data/lib/schematic/types/billing_subscription_view.rb +32 -0
  524. data/lib/schematic/types/billing_tiers_mode.rb +12 -0
  525. data/lib/schematic/types/capture_raw_event.rb +13 -0
  526. data/lib/schematic/types/capture_raw_event_batch.rb +9 -0
  527. data/lib/schematic/types/change_subscription_internal_request_body.rb +18 -0
  528. data/lib/schematic/types/change_subscription_request_body.rb +17 -0
  529. data/lib/schematic/types/charge_type.rb +13 -0
  530. data/lib/schematic/types/check_flag_request_body.rb +10 -0
  531. data/lib/schematic/types/check_flag_response_data.rb +23 -0
  532. data/lib/schematic/types/check_flags_bulk_response_data.rb +9 -0
  533. data/lib/schematic/types/check_flags_response_data.rb +10 -0
  534. data/lib/schematic/types/checkout_data_response_data.rb +18 -0
  535. data/lib/schematic/types/checkout_settings_response_data.rb +11 -0
  536. data/lib/schematic/types/checkout_subscription.rb +30 -0
  537. data/lib/schematic/types/company_detail_response_data.rb +31 -0
  538. data/lib/schematic/types/company_event_period_metrics_response_data.rb +19 -0
  539. data/lib/schematic/types/company_ledger_response_data.rb +11 -0
  540. data/lib/schematic/types/company_membership_detail_response_data.rb +14 -0
  541. data/lib/schematic/types/company_membership_response_data.rb +13 -0
  542. data/lib/schematic/types/company_override_note_response_data.rb +14 -0
  543. data/lib/schematic/types/company_override_response_data.rb +28 -0
  544. data/lib/schematic/types/company_plan_detail_response_data.rb +43 -0
  545. data/lib/schematic/types/company_plan_invalid_reason.rb +12 -0
  546. data/lib/schematic/types/company_plan_with_billing_sub_view.rb +19 -0
  547. data/lib/schematic/types/company_response_data.rb +15 -0
  548. data/lib/schematic/types/company_subscription_response_data.rb +22 -0
  549. data/lib/schematic/types/compatible_plans.rb +10 -0
  550. data/lib/schematic/types/compatible_plans_response_data.rb +10 -0
  551. data/lib/schematic/types/component_capabilities.rb +10 -0
  552. data/lib/schematic/types/component_checkout_settings.rb +12 -0
  553. data/lib/schematic/types/component_display_settings.rb +14 -0
  554. data/lib/schematic/types/component_entity_type.rb +12 -0
  555. data/lib/schematic/types/component_hydrate_response_data.rb +34 -0
  556. data/lib/schematic/types/component_preview_response_data.rb +35 -0
  557. data/lib/schematic/types/component_response_data.rb +15 -0
  558. data/lib/schematic/types/component_settings_response_data.rb +14 -0
  559. data/lib/schematic/types/component_state.rb +12 -0
  560. data/lib/schematic/types/condition.rb +23 -0
  561. data/lib/schematic/types/condition_condition_type.rb +19 -0
  562. data/lib/schematic/types/condition_group.rb +9 -0
  563. data/lib/schematic/types/condition_group_response_data.rb +15 -0
  564. data/lib/schematic/types/condition_group_view.rb +16 -0
  565. data/lib/schematic/types/condition_metric_period.rb +14 -0
  566. data/lib/schematic/types/condition_metric_period_month_reset.rb +12 -0
  567. data/lib/schematic/types/condition_operator.rb +18 -0
  568. data/lib/schematic/types/condition_response_data.rb +32 -0
  569. data/lib/schematic/types/condition_view.rb +39 -0
  570. data/lib/schematic/types/count_response.rb +9 -0
  571. data/lib/schematic/types/coupon_request_body.rb +16 -0
  572. data/lib/schematic/types/create_billing_plan_credit_grant_request_body.rb +26 -0
  573. data/lib/schematic/types/create_billing_price_tier_request_body.rb +14 -0
  574. data/lib/schematic/types/create_entitlement_in_bundle_request_body.rb +36 -0
  575. data/lib/schematic/types/create_entitlement_in_bundle_request_body_metric_period.rb +14 -0
  576. data/lib/schematic/types/create_entitlement_in_bundle_request_body_metric_period_month_reset.rb +12 -0
  577. data/lib/schematic/types/create_entitlement_req_common.rb +17 -0
  578. data/lib/schematic/types/create_entitlement_req_common_metric_period.rb +14 -0
  579. data/lib/schematic/types/create_entitlement_req_common_metric_period_month_reset.rb +12 -0
  580. data/lib/schematic/types/create_event_request_body.rb +11 -0
  581. data/lib/schematic/types/create_flag_request_body.rb +15 -0
  582. data/lib/schematic/types/create_or_update_condition_group_request_body.rb +11 -0
  583. data/lib/schematic/types/create_or_update_condition_request_body.rb +21 -0
  584. data/lib/schematic/types/create_or_update_condition_request_body_condition_type.rb +17 -0
  585. data/lib/schematic/types/create_or_update_condition_request_body_metric_period.rb +14 -0
  586. data/lib/schematic/types/create_or_update_condition_request_body_metric_period_month_reset.rb +12 -0
  587. data/lib/schematic/types/create_or_update_condition_request_body_operator.rb +18 -0
  588. data/lib/schematic/types/create_or_update_flag_request_body.rb +16 -0
  589. data/lib/schematic/types/create_or_update_rule_request_body.rb +15 -0
  590. data/lib/schematic/types/create_or_update_rule_request_body_rule_type.rb +15 -0
  591. data/lib/schematic/types/create_plan_request_body.rb +12 -0
  592. data/lib/schematic/types/create_price_tier_request_body.rb +12 -0
  593. data/lib/schematic/types/credit_auto_topup_amount_type.rb +23 -0
  594. data/lib/schematic/types/credit_bundle_currency_price.rb +10 -0
  595. data/lib/schematic/types/credit_bundle_currency_price_request_body.rb +11 -0
  596. data/lib/schematic/types/credit_bundle_currency_price_response_data.rb +10 -0
  597. data/lib/schematic/types/credit_bundle_purchase_response_data.rb +11 -0
  598. data/lib/schematic/types/credit_company_grant_view.rb +40 -0
  599. data/lib/schematic/types/credit_currency_price_request_body.rb +11 -0
  600. data/lib/schematic/types/credit_currency_price_response_data.rb +10 -0
  601. data/lib/schematic/types/credit_event_ledger_response_data.rb +39 -0
  602. data/lib/schematic/types/credit_event_type.rb +14 -0
  603. data/lib/schematic/types/credit_grant_detail.rb +12 -0
  604. data/lib/schematic/types/credit_grant_expiry_request_body.rb +14 -0
  605. data/lib/schematic/types/credit_grant_sort_order.rb +14 -0
  606. data/lib/schematic/types/credit_ledger_enriched_entry_response_data.rb +30 -0
  607. data/lib/schematic/types/credit_ledger_period.rb +14 -0
  608. data/lib/schematic/types/credit_transfer_response_data.rb +14 -0
  609. data/lib/schematic/types/credit_transfer_view.rb +14 -0
  610. data/lib/schematic/types/credit_trigger_config.rb +9 -0
  611. data/lib/schematic/types/credit_usage.rb +17 -0
  612. data/lib/schematic/types/credit_usage_aggregation.rb +12 -0
  613. data/lib/schematic/types/credits_auto_topup_company_summary.rb +10 -0
  614. data/lib/schematic/types/credits_auto_topup_credit_summary.rb +10 -0
  615. data/lib/schematic/types/credits_auto_topup_hard_failure.rb +12 -0
  616. data/lib/schematic/types/credits_auto_topup_retry_failure.rb +13 -0
  617. data/lib/schematic/types/currency_price_request_body.rb +15 -0
  618. data/lib/schematic/types/custom_plan_config.rb +11 -0
  619. data/lib/schematic/types/custom_plan_view_config_response_data.rb +11 -0
  620. data/lib/schematic/types/data_event_payload.rb +12 -0
  621. data/lib/schematic/types/data_export_output_file_type.rb +23 -0
  622. data/lib/schematic/types/data_export_response_data.rb +17 -0
  623. data/lib/schematic/types/data_export_status.rb +13 -0
  624. data/lib/schematic/types/data_export_type.rb +23 -0
  625. data/lib/schematic/types/datastream_company_plan.rb +11 -0
  626. data/lib/schematic/types/delete_billing_plan_credit_grant_request_body.rb +9 -0
  627. data/lib/schematic/types/delete_response.rb +9 -0
  628. data/lib/schematic/types/duplicate_plan_entitlements_response_response_data.rb +10 -0
  629. data/lib/schematic/types/entitlement_currency_prices_response_data.rb +11 -0
  630. data/lib/schematic/types/entitlement_price_behavior.rb +15 -0
  631. data/lib/schematic/types/entitlement_trigger_config.rb +9 -0
  632. data/lib/schematic/types/entitlement_type.rb +13 -0
  633. data/lib/schematic/types/entitlement_value_type.rb +16 -0
  634. data/lib/schematic/types/entitlements_in_plan.rb +10 -0
  635. data/lib/schematic/types/entity_key_definition_response_data.rb +13 -0
  636. data/lib/schematic/types/entity_key_detail_response_data.rb +18 -0
  637. data/lib/schematic/types/entity_key_response_data.rb +17 -0
  638. data/lib/schematic/types/entity_trait_definition_response_data.rb +15 -0
  639. data/lib/schematic/types/entity_trait_detail_response_data.rb +15 -0
  640. data/lib/schematic/types/entity_trait_response_data.rb +14 -0
  641. data/lib/schematic/types/entity_trait_value.rb +10 -0
  642. data/lib/schematic/types/entity_type.rb +12 -0
  643. data/lib/schematic/types/environment_detail_response_data.rb +14 -0
  644. data/lib/schematic/types/environment_response_data.rb +13 -0
  645. data/lib/schematic/types/environment_type.rb +13 -0
  646. data/lib/schematic/types/event_body.rb +13 -0
  647. data/lib/schematic/types/event_body_flag_check.rb +18 -0
  648. data/lib/schematic/types/event_body_identify.rb +12 -0
  649. data/lib/schematic/types/event_body_identify_company.rb +12 -0
  650. data/lib/schematic/types/event_body_track.rb +13 -0
  651. data/lib/schematic/types/event_detail_response_data.rb +30 -0
  652. data/lib/schematic/types/event_response_data.rb +27 -0
  653. data/lib/schematic/types/event_status.rb +15 -0
  654. data/lib/schematic/types/event_summary_response_data.rb +14 -0
  655. data/lib/schematic/types/event_type.rb +13 -0
  656. data/lib/schematic/types/feature_company_response_data.rb +44 -0
  657. data/lib/schematic/types/feature_company_user_response_data.rb +21 -0
  658. data/lib/schematic/types/feature_detail_response_data.rb +25 -0
  659. data/lib/schematic/types/feature_entitlement.rb +22 -0
  660. data/lib/schematic/types/feature_entitlement_metric_period.rb +14 -0
  661. data/lib/schematic/types/feature_entitlement_month_reset.rb +12 -0
  662. data/lib/schematic/types/feature_ledger_response_data.rb +12 -0
  663. data/lib/schematic/types/feature_lifecycle_phase.rb +19 -0
  664. data/lib/schematic/types/feature_response_data.rb +21 -0
  665. data/lib/schematic/types/feature_type.rb +13 -0
  666. data/lib/schematic/types/feature_usage_detail_response_data.rb +9 -0
  667. data/lib/schematic/types/feature_usage_legacy_response_data.rb +14 -0
  668. data/lib/schematic/types/feature_usage_response_data.rb +42 -0
  669. data/lib/schematic/types/feature_usage_time_series_response_data.rb +13 -0
  670. data/lib/schematic/types/feature_view.rb +26 -0
  671. data/lib/schematic/types/flag_detail_response_data.rb +21 -0
  672. data/lib/schematic/types/flag_response_data.rb +18 -0
  673. data/lib/schematic/types/flag_type.rb +23 -0
  674. data/lib/schematic/types/flag_view.rb +22 -0
  675. data/lib/schematic/types/generic_preview_object.rb +12 -0
  676. data/lib/schematic/types/invoice_request_body.rb +20 -0
  677. data/lib/schematic/types/invoice_response_data.rb +27 -0
  678. data/lib/schematic/types/invoice_status.rb +15 -0
  679. data/lib/schematic/types/issue_temporary_access_token_response_data.rb +16 -0
  680. data/lib/schematic/types/keys_request_body.rb +9 -0
  681. data/lib/schematic/types/limit_time_series_point_response_data.rb +14 -0
  682. data/lib/schematic/types/manage_plan_preview_response_response_data.rb +9 -0
  683. data/lib/schematic/types/manage_plan_request.rb +21 -0
  684. data/lib/schematic/types/manage_plan_response_response_data.rb +10 -0
  685. data/lib/schematic/types/meter_request_body.rb +11 -0
  686. data/lib/schematic/types/ordered_plans_in_group.rb +10 -0
  687. data/lib/schematic/types/payment_method_request_body.rb +19 -0
  688. data/lib/schematic/types/payment_method_response_data.rb +26 -0
  689. data/lib/schematic/types/plan_bundle_action.rb +13 -0
  690. data/lib/schematic/types/plan_bundle_credit_grant_request_body.rb +13 -0
  691. data/lib/schematic/types/plan_bundle_entitlement_request_body.rb +11 -0
  692. data/lib/schematic/types/plan_bundle_response_data.rb +13 -0
  693. data/lib/schematic/types/plan_change_action.rb +21 -0
  694. data/lib/schematic/types/plan_change_base_plan_action.rb +14 -0
  695. data/lib/schematic/types/plan_change_response_data.rb +30 -0
  696. data/lib/schematic/types/plan_change_subscription_action.rb +17 -0
  697. data/lib/schematic/types/plan_controlled_by_type.rb +12 -0
  698. data/lib/schematic/types/plan_credit_grant_view.rb +35 -0
  699. data/lib/schematic/types/plan_currency_price_request_body.rb +12 -0
  700. data/lib/schematic/types/plan_currency_prices_response_data.rb +12 -0
  701. data/lib/schematic/types/plan_detail_response_data.rb +33 -0
  702. data/lib/schematic/types/plan_entitlement_response_data.rb +34 -0
  703. data/lib/schematic/types/plan_entitlements_order.rb +10 -0
  704. data/lib/schematic/types/plan_group_bundle_order.rb +9 -0
  705. data/lib/schematic/types/plan_group_detail_response_data.rb +45 -0
  706. data/lib/schematic/types/plan_group_plan_detail_response_data.rb +37 -0
  707. data/lib/schematic/types/plan_group_plan_entitlements_order.rb +10 -0
  708. data/lib/schematic/types/plan_group_response_data.rb +36 -0
  709. data/lib/schematic/types/plan_issue_response_data.rb +12 -0
  710. data/lib/schematic/types/plan_response_data.rb +16 -0
  711. data/lib/schematic/types/plan_selection.rb +11 -0
  712. data/lib/schematic/types/plan_snapshot_view.rb +13 -0
  713. data/lib/schematic/types/plan_trait_response_data.rb +17 -0
  714. data/lib/schematic/types/plan_type.rb +12 -0
  715. data/lib/schematic/types/plan_version_company_migration_response_data.rb +19 -0
  716. data/lib/schematic/types/plan_version_company_migration_status.rb +15 -0
  717. data/lib/schematic/types/plan_version_migration_response_data.rb +23 -0
  718. data/lib/schematic/types/plan_version_migration_status.rb +14 -0
  719. data/lib/schematic/types/plan_version_migration_strategy.rb +12 -0
  720. data/lib/schematic/types/plan_version_response_data.rb +19 -0
  721. data/lib/schematic/types/plan_version_snapshot_view.rb +11 -0
  722. data/lib/schematic/types/plan_version_status.rb +13 -0
  723. data/lib/schematic/types/plan_view_public_response_data.rb +38 -0
  724. data/lib/schematic/types/preview_object.rb +12 -0
  725. data/lib/schematic/types/preview_object_response_data.rb +12 -0
  726. data/lib/schematic/types/preview_subscription_change_response_data.rb +21 -0
  727. data/lib/schematic/types/preview_subscription_finance_response_data.rb +21 -0
  728. data/lib/schematic/types/preview_subscription_upcoming_invoice_line_items.rb +13 -0
  729. data/lib/schematic/types/proration_behavior.rb +12 -0
  730. data/lib/schematic/types/public_plans_response_data.rb +17 -0
  731. data/lib/schematic/types/quickstart_resp.rb +9 -0
  732. data/lib/schematic/types/raw_event_batch_response_data.rb +9 -0
  733. data/lib/schematic/types/raw_event_response_data.rb +13 -0
  734. data/lib/schematic/types/rule.rb +18 -0
  735. data/lib/schematic/types/rule_condition_detail_response_data.rb +29 -0
  736. data/lib/schematic/types/rule_condition_group_detail_response_data.rb +15 -0
  737. data/lib/schematic/types/rule_condition_group_response_data.rb +14 -0
  738. data/lib/schematic/types/rule_condition_response_data.rb +26 -0
  739. data/lib/schematic/types/rule_detail_response_data.rb +19 -0
  740. data/lib/schematic/types/rule_response_data.rb +17 -0
  741. data/lib/schematic/types/rule_rule_type.rb +17 -0
  742. data/lib/schematic/types/rule_view.rb +20 -0
  743. data/lib/schematic/types/rules_detail_response_data.rb +10 -0
  744. data/lib/schematic/types/rules_engine_schema_version.rb +12 -0
  745. data/lib/schematic/types/rulesengine_check_flag_result.rb +23 -0
  746. data/lib/schematic/types/rulesengine_check_flag_result_feature_usage_period.rb +14 -0
  747. data/lib/schematic/types/rulesengine_check_flag_result_rule_type.rb +17 -0
  748. data/lib/schematic/types/rulesengine_company.rb +22 -0
  749. data/lib/schematic/types/rulesengine_company_metric.rb +17 -0
  750. data/lib/schematic/types/rulesengine_company_metric_month_reset.rb +12 -0
  751. data/lib/schematic/types/rulesengine_company_metric_period.rb +14 -0
  752. data/lib/schematic/types/rulesengine_condition.rb +23 -0
  753. data/lib/schematic/types/rulesengine_condition_condition_type.rb +19 -0
  754. data/lib/schematic/types/rulesengine_condition_group.rb +9 -0
  755. data/lib/schematic/types/rulesengine_condition_metric_period.rb +14 -0
  756. data/lib/schematic/types/rulesengine_condition_metric_period_month_reset.rb +12 -0
  757. data/lib/schematic/types/rulesengine_condition_operator.rb +18 -0
  758. data/lib/schematic/types/rulesengine_entitlement_value_type.rb +16 -0
  759. data/lib/schematic/types/rulesengine_entity_type.rb +12 -0
  760. data/lib/schematic/types/rulesengine_feature_entitlement.rb +22 -0
  761. data/lib/schematic/types/rulesengine_feature_entitlement_metric_period.rb +14 -0
  762. data/lib/schematic/types/rulesengine_feature_entitlement_month_reset.rb +12 -0
  763. data/lib/schematic/types/rulesengine_flag.rb +14 -0
  764. data/lib/schematic/types/rulesengine_rule.rb +18 -0
  765. data/lib/schematic/types/rulesengine_rule_rule_type.rb +17 -0
  766. data/lib/schematic/types/rulesengine_subscription.rb +11 -0
  767. data/lib/schematic/types/rulesengine_trait.rb +10 -0
  768. data/lib/schematic/types/rulesengine_trait_definition.rb +11 -0
  769. data/lib/schematic/types/rulesengine_trait_definition_comparable_type.rb +14 -0
  770. data/lib/schematic/types/rulesengine_user.rb +14 -0
  771. data/lib/schematic/types/scheduled_checkout_response_data.rb +22 -0
  772. data/lib/schematic/types/scheduled_checkout_status.rb +15 -0
  773. data/lib/schematic/types/scheduled_downgrade_config_behavior.rb +12 -0
  774. data/lib/schematic/types/scheduled_downgrade_response_data.rb +19 -0
  775. data/lib/schematic/types/segment_status_resp.rb +11 -0
  776. data/lib/schematic/types/skipped_entitlement_error_response_data.rb +9 -0
  777. data/lib/schematic/types/skipped_entitlement_response_data.rb +12 -0
  778. data/lib/schematic/types/sort_direction.rb +12 -0
  779. data/lib/schematic/types/stripe_embed_info.rb +12 -0
  780. data/lib/schematic/types/subscription_status.rb +19 -0
  781. data/lib/schematic/types/subscription_trait_update.rb +15 -0
  782. data/lib/schematic/types/subscription_type.rb +14 -0
  783. data/lib/schematic/types/temporary_access_token_resource_type.rb +23 -0
  784. data/lib/schematic/types/temporary_access_token_response_data.rb +15 -0
  785. data/lib/schematic/types/time_series_granularity.rb +14 -0
  786. data/lib/schematic/types/trait_definition.rb +11 -0
  787. data/lib/schematic/types/trait_definition_comparable_type.rb +14 -0
  788. data/lib/schematic/types/trait_type.rb +16 -0
  789. data/lib/schematic/types/update_add_on_request_body.rb +10 -0
  790. data/lib/schematic/types/update_billing_plan_credit_grant_request_body.rb +23 -0
  791. data/lib/schematic/types/update_credit_bundle_request_body.rb +10 -0
  792. data/lib/schematic/types/update_entitlement_req_common.rb +16 -0
  793. data/lib/schematic/types/update_entitlement_req_common_metric_period.rb +14 -0
  794. data/lib/schematic/types/update_entitlement_req_common_metric_period_month_reset.rb +12 -0
  795. data/lib/schematic/types/update_pay_in_advance_request_body.rb +10 -0
  796. data/lib/schematic/types/update_plan_request_body.rb +11 -0
  797. data/lib/schematic/types/update_plan_trait_trait_request_body.rb +10 -0
  798. data/lib/schematic/types/update_rule_request_body.rb +13 -0
  799. data/lib/schematic/types/upsert_billing_product_request_body.rb +20 -0
  800. data/lib/schematic/types/upsert_company_request_body.rb +15 -0
  801. data/lib/schematic/types/upsert_trait_request_body.rb +13 -0
  802. data/lib/schematic/types/upsert_user_request_body.rb +18 -0
  803. data/lib/schematic/types/upsert_user_sub_request_body.rb +16 -0
  804. data/lib/schematic/types/usage_based_entitlement_request_body.rb +25 -0
  805. data/lib/schematic/types/usage_based_entitlement_response_data.rb +20 -0
  806. data/lib/schematic/types/usage_time_series_point_response_data.rb +12 -0
  807. data/lib/schematic/types/user_detail_response_data.rb +18 -0
  808. data/lib/schematic/types/user_response_data.rb +14 -0
  809. data/lib/schematic/types/web_feature_usage_webhook_output.rb +15 -0
  810. data/lib/schematic/types/web_scheduled_downgrade_webhook_output.rb +15 -0
  811. data/lib/schematic/types/webhook_event_detail_response_data.rb +18 -0
  812. data/lib/schematic/types/webhook_event_response_data.rb +17 -0
  813. data/lib/schematic/types/webhook_event_status.rb +13 -0
  814. data/lib/schematic/types/webhook_request_type.rb +49 -0
  815. data/lib/schematic/types/webhook_response_data.rb +18 -0
  816. data/lib/schematic/types/webhook_status.rb +12 -0
  817. data/lib/schematic/types/who_am_i_response_data.rb +17 -0
  818. data/lib/schematic/version.rb +5 -0
  819. data/lib/schematic/wasm/rulesengine.wasm +0 -0
  820. data/lib/schematic/webhook_verification.rb +83 -0
  821. data/lib/schematic/webhooks/client.rb +355 -0
  822. data/lib/schematic/webhooks/types/count_webhook_events_params.rb +16 -0
  823. data/lib/schematic/webhooks/types/count_webhook_events_request.rb +15 -0
  824. data/lib/schematic/webhooks/types/count_webhook_events_response.rb +12 -0
  825. data/lib/schematic/webhooks/types/count_webhooks_params.rb +14 -0
  826. data/lib/schematic/webhooks/types/count_webhooks_request.rb +13 -0
  827. data/lib/schematic/webhooks/types/count_webhooks_response.rb +12 -0
  828. data/lib/schematic/webhooks/types/create_webhook_request_body.rb +15 -0
  829. data/lib/schematic/webhooks/types/create_webhook_response.rb +12 -0
  830. data/lib/schematic/webhooks/types/delete_webhook_response.rb +12 -0
  831. data/lib/schematic/webhooks/types/get_webhook_event_response.rb +12 -0
  832. data/lib/schematic/webhooks/types/get_webhook_response.rb +12 -0
  833. data/lib/schematic/webhooks/types/list_webhook_events_params.rb +16 -0
  834. data/lib/schematic/webhooks/types/list_webhook_events_request.rb +15 -0
  835. data/lib/schematic/webhooks/types/list_webhook_events_response.rb +12 -0
  836. data/lib/schematic/webhooks/types/list_webhooks_params.rb +14 -0
  837. data/lib/schematic/webhooks/types/list_webhooks_request.rb +13 -0
  838. data/lib/schematic/webhooks/types/list_webhooks_response.rb +12 -0
  839. data/lib/schematic/webhooks/types/update_webhook_request_body.rb +17 -0
  840. data/lib/schematic/webhooks/types/update_webhook_response.rb +12 -0
  841. data/lib/schematic.rb +821 -0
  842. data/lib/schematichq.rb +17 -0
  843. data/reference.md +16668 -0
  844. data/scripts/download-wasm.sh +82 -0
  845. data/scripts/webhook_test_server.rb +55 -0
  846. data/testapp/Gemfile +6 -0
  847. data/testapp/app.rb +307 -0
  848. metadata +917 -0
@@ -0,0 +1,900 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Entitlements
5
+ class Client
6
+ # @param client [Schematic::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
9
+ def initialize(client:)
10
+ @client = client
11
+ end
12
+
13
+ # @param request_options [Hash]
14
+ # @param params [Hash]
15
+ # @option request_options [String] :base_url
16
+ # @option request_options [Hash{String => Object}] :additional_headers
17
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
18
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
19
+ # @option request_options [Integer] :timeout_in_seconds
20
+ # @option params [String, nil] :company_id
21
+ # @option params [String, nil] :company_ids
22
+ # @option params [String, nil] :feature_id
23
+ # @option params [String, nil] :feature_ids
24
+ # @option params [String, nil] :ids
25
+ # @option params [Boolean, nil] :without_expired
26
+ # @option params [String, nil] :q
27
+ # @option params [Integer, nil] :limit
28
+ # @option params [Integer, nil] :offset
29
+ #
30
+ # @return [Schematic::Entitlements::Types::ListCompanyOverridesResponse]
31
+ def list_company_overrides(request_options: {}, **params)
32
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
33
+ query_param_names = %i[company_id company_ids feature_id feature_ids ids without_expired q limit offset]
34
+ query_params = {}
35
+ query_params["company_id"] = params[:company_id] if params.key?(:company_id)
36
+ query_params["company_ids"] = params[:company_ids] if params.key?(:company_ids)
37
+ query_params["feature_id"] = params[:feature_id] if params.key?(:feature_id)
38
+ query_params["feature_ids"] = params[:feature_ids] if params.key?(:feature_ids)
39
+ query_params["ids"] = params[:ids] if params.key?(:ids)
40
+ query_params["without_expired"] = params[:without_expired] if params.key?(:without_expired)
41
+ query_params["q"] = params[:q] if params.key?(:q)
42
+ query_params["limit"] = params[:limit] if params.key?(:limit)
43
+ query_params["offset"] = params[:offset] if params.key?(:offset)
44
+ params.except(*query_param_names)
45
+
46
+ request = Schematic::Internal::JSON::Request.new(
47
+ base_url: request_options[:base_url],
48
+ method: "GET",
49
+ path: "company-overrides",
50
+ query: query_params,
51
+ request_options: request_options
52
+ )
53
+ begin
54
+ response = @client.send(request)
55
+ rescue Net::HTTPRequestTimeout
56
+ raise Schematic::Errors::TimeoutError
57
+ end
58
+ code = response.code.to_i
59
+ if code.between?(200, 299)
60
+ Schematic::Entitlements::Types::ListCompanyOverridesResponse.load(response.body)
61
+ else
62
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
63
+ raise error_class.new(response.body, code: code)
64
+ end
65
+ end
66
+
67
+ # @param request_options [Hash]
68
+ # @param params [Schematic::Entitlements::Types::CreateCompanyOverrideRequestBody]
69
+ # @option request_options [String] :base_url
70
+ # @option request_options [Hash{String => Object}] :additional_headers
71
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
72
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
73
+ # @option request_options [Integer] :timeout_in_seconds
74
+ #
75
+ # @return [Schematic::Entitlements::Types::CreateCompanyOverrideResponse]
76
+ def create_company_override(request_options: {}, **params)
77
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
78
+ request = Schematic::Internal::JSON::Request.new(
79
+ base_url: request_options[:base_url],
80
+ method: "POST",
81
+ path: "company-overrides",
82
+ body: Schematic::Entitlements::Types::CreateCompanyOverrideRequestBody.new(params).to_h,
83
+ request_options: request_options
84
+ )
85
+ begin
86
+ response = @client.send(request)
87
+ rescue Net::HTTPRequestTimeout
88
+ raise Schematic::Errors::TimeoutError
89
+ end
90
+ code = response.code.to_i
91
+ if code.between?(200, 299)
92
+ Schematic::Entitlements::Types::CreateCompanyOverrideResponse.load(response.body)
93
+ else
94
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
95
+ raise error_class.new(response.body, code: code)
96
+ end
97
+ end
98
+
99
+ # @param request_options [Hash]
100
+ # @param params [Hash]
101
+ # @option request_options [String] :base_url
102
+ # @option request_options [Hash{String => Object}] :additional_headers
103
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
104
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
105
+ # @option request_options [Integer] :timeout_in_seconds
106
+ # @option params [String] :company_override_id
107
+ #
108
+ # @return [Schematic::Entitlements::Types::GetCompanyOverrideResponse]
109
+ def get_company_override(request_options: {}, **params)
110
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
111
+ request = Schematic::Internal::JSON::Request.new(
112
+ base_url: request_options[:base_url],
113
+ method: "GET",
114
+ path: "company-overrides/#{URI.encode_uri_component(params[:company_override_id].to_s)}",
115
+ request_options: request_options
116
+ )
117
+ begin
118
+ response = @client.send(request)
119
+ rescue Net::HTTPRequestTimeout
120
+ raise Schematic::Errors::TimeoutError
121
+ end
122
+ code = response.code.to_i
123
+ if code.between?(200, 299)
124
+ Schematic::Entitlements::Types::GetCompanyOverrideResponse.load(response.body)
125
+ else
126
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
127
+ raise error_class.new(response.body, code: code)
128
+ end
129
+ end
130
+
131
+ # @param request_options [Hash]
132
+ # @param params [Schematic::Entitlements::Types::UpdateCompanyOverrideRequestBody]
133
+ # @option request_options [String] :base_url
134
+ # @option request_options [Hash{String => Object}] :additional_headers
135
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
136
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
137
+ # @option request_options [Integer] :timeout_in_seconds
138
+ # @option params [String] :company_override_id
139
+ #
140
+ # @return [Schematic::Entitlements::Types::UpdateCompanyOverrideResponse]
141
+ def update_company_override(request_options: {}, **params)
142
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
143
+ request_data = Schematic::Entitlements::Types::UpdateCompanyOverrideRequestBody.new(params).to_h
144
+ non_body_param_names = ["company_override_id"]
145
+ body = request_data.except(*non_body_param_names)
146
+
147
+ request = Schematic::Internal::JSON::Request.new(
148
+ base_url: request_options[:base_url],
149
+ method: "PUT",
150
+ path: "company-overrides/#{URI.encode_uri_component(params[:company_override_id].to_s)}",
151
+ body: body,
152
+ request_options: request_options
153
+ )
154
+ begin
155
+ response = @client.send(request)
156
+ rescue Net::HTTPRequestTimeout
157
+ raise Schematic::Errors::TimeoutError
158
+ end
159
+ code = response.code.to_i
160
+ if code.between?(200, 299)
161
+ Schematic::Entitlements::Types::UpdateCompanyOverrideResponse.load(response.body)
162
+ else
163
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
164
+ raise error_class.new(response.body, code: code)
165
+ end
166
+ end
167
+
168
+ # @param request_options [Hash]
169
+ # @param params [Hash]
170
+ # @option request_options [String] :base_url
171
+ # @option request_options [Hash{String => Object}] :additional_headers
172
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
173
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
174
+ # @option request_options [Integer] :timeout_in_seconds
175
+ # @option params [String] :company_override_id
176
+ #
177
+ # @return [Schematic::Entitlements::Types::DeleteCompanyOverrideResponse]
178
+ def delete_company_override(request_options: {}, **params)
179
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
180
+ request = Schematic::Internal::JSON::Request.new(
181
+ base_url: request_options[:base_url],
182
+ method: "DELETE",
183
+ path: "company-overrides/#{URI.encode_uri_component(params[:company_override_id].to_s)}",
184
+ request_options: request_options
185
+ )
186
+ begin
187
+ response = @client.send(request)
188
+ rescue Net::HTTPRequestTimeout
189
+ raise Schematic::Errors::TimeoutError
190
+ end
191
+ code = response.code.to_i
192
+ if code.between?(200, 299)
193
+ Schematic::Entitlements::Types::DeleteCompanyOverrideResponse.load(response.body)
194
+ else
195
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
196
+ raise error_class.new(response.body, code: code)
197
+ end
198
+ end
199
+
200
+ # @param request_options [Hash]
201
+ # @param params [Hash]
202
+ # @option request_options [String] :base_url
203
+ # @option request_options [Hash{String => Object}] :additional_headers
204
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
205
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
206
+ # @option request_options [Integer] :timeout_in_seconds
207
+ # @option params [String, nil] :company_id
208
+ # @option params [String, nil] :company_ids
209
+ # @option params [String, nil] :feature_id
210
+ # @option params [String, nil] :feature_ids
211
+ # @option params [String, nil] :ids
212
+ # @option params [Boolean, nil] :without_expired
213
+ # @option params [String, nil] :q
214
+ # @option params [Integer, nil] :limit
215
+ # @option params [Integer, nil] :offset
216
+ #
217
+ # @return [Schematic::Entitlements::Types::CountCompanyOverridesResponse]
218
+ def count_company_overrides(request_options: {}, **params)
219
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
220
+ query_param_names = %i[company_id company_ids feature_id feature_ids ids without_expired q limit offset]
221
+ query_params = {}
222
+ query_params["company_id"] = params[:company_id] if params.key?(:company_id)
223
+ query_params["company_ids"] = params[:company_ids] if params.key?(:company_ids)
224
+ query_params["feature_id"] = params[:feature_id] if params.key?(:feature_id)
225
+ query_params["feature_ids"] = params[:feature_ids] if params.key?(:feature_ids)
226
+ query_params["ids"] = params[:ids] if params.key?(:ids)
227
+ query_params["without_expired"] = params[:without_expired] if params.key?(:without_expired)
228
+ query_params["q"] = params[:q] if params.key?(:q)
229
+ query_params["limit"] = params[:limit] if params.key?(:limit)
230
+ query_params["offset"] = params[:offset] if params.key?(:offset)
231
+ params.except(*query_param_names)
232
+
233
+ request = Schematic::Internal::JSON::Request.new(
234
+ base_url: request_options[:base_url],
235
+ method: "GET",
236
+ path: "company-overrides/count",
237
+ query: query_params,
238
+ request_options: request_options
239
+ )
240
+ begin
241
+ response = @client.send(request)
242
+ rescue Net::HTTPRequestTimeout
243
+ raise Schematic::Errors::TimeoutError
244
+ end
245
+ code = response.code.to_i
246
+ if code.between?(200, 299)
247
+ Schematic::Entitlements::Types::CountCompanyOverridesResponse.load(response.body)
248
+ else
249
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
250
+ raise error_class.new(response.body, code: code)
251
+ end
252
+ end
253
+
254
+ # @param request_options [Hash]
255
+ # @param params [Hash]
256
+ # @option request_options [String] :base_url
257
+ # @option request_options [Hash{String => Object}] :additional_headers
258
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
259
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
260
+ # @option request_options [Integer] :timeout_in_seconds
261
+ # @option params [String] :feature_id
262
+ # @option params [String, nil] :q
263
+ # @option params [Integer, nil] :limit
264
+ # @option params [Integer, nil] :offset
265
+ #
266
+ # @return [Schematic::Entitlements::Types::ListFeatureCompaniesResponse]
267
+ def list_feature_companies(request_options: {}, **params)
268
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
269
+ query_param_names = %i[feature_id q limit offset]
270
+ query_params = {}
271
+ query_params["feature_id"] = params[:feature_id] if params.key?(:feature_id)
272
+ query_params["q"] = params[:q] if params.key?(:q)
273
+ query_params["limit"] = params[:limit] if params.key?(:limit)
274
+ query_params["offset"] = params[:offset] if params.key?(:offset)
275
+ params.except(*query_param_names)
276
+
277
+ request = Schematic::Internal::JSON::Request.new(
278
+ base_url: request_options[:base_url],
279
+ method: "GET",
280
+ path: "feature-companies",
281
+ query: query_params,
282
+ request_options: request_options
283
+ )
284
+ begin
285
+ response = @client.send(request)
286
+ rescue Net::HTTPRequestTimeout
287
+ raise Schematic::Errors::TimeoutError
288
+ end
289
+ code = response.code.to_i
290
+ if code.between?(200, 299)
291
+ Schematic::Entitlements::Types::ListFeatureCompaniesResponse.load(response.body)
292
+ else
293
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
294
+ raise error_class.new(response.body, code: code)
295
+ end
296
+ end
297
+
298
+ # @param request_options [Hash]
299
+ # @param params [Hash]
300
+ # @option request_options [String] :base_url
301
+ # @option request_options [Hash{String => Object}] :additional_headers
302
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
303
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
304
+ # @option request_options [Integer] :timeout_in_seconds
305
+ # @option params [String] :feature_id
306
+ # @option params [String, nil] :q
307
+ # @option params [Integer, nil] :limit
308
+ # @option params [Integer, nil] :offset
309
+ #
310
+ # @return [Schematic::Entitlements::Types::CountFeatureCompaniesResponse]
311
+ def count_feature_companies(request_options: {}, **params)
312
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
313
+ query_param_names = %i[feature_id q limit offset]
314
+ query_params = {}
315
+ query_params["feature_id"] = params[:feature_id] if params.key?(:feature_id)
316
+ query_params["q"] = params[:q] if params.key?(:q)
317
+ query_params["limit"] = params[:limit] if params.key?(:limit)
318
+ query_params["offset"] = params[:offset] if params.key?(:offset)
319
+ params.except(*query_param_names)
320
+
321
+ request = Schematic::Internal::JSON::Request.new(
322
+ base_url: request_options[:base_url],
323
+ method: "GET",
324
+ path: "feature-companies/count",
325
+ query: query_params,
326
+ request_options: request_options
327
+ )
328
+ begin
329
+ response = @client.send(request)
330
+ rescue Net::HTTPRequestTimeout
331
+ raise Schematic::Errors::TimeoutError
332
+ end
333
+ code = response.code.to_i
334
+ if code.between?(200, 299)
335
+ Schematic::Entitlements::Types::CountFeatureCompaniesResponse.load(response.body)
336
+ else
337
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
338
+ raise error_class.new(response.body, code: code)
339
+ end
340
+ end
341
+
342
+ # @param request_options [Hash]
343
+ # @param params [Hash]
344
+ # @option request_options [String] :base_url
345
+ # @option request_options [Hash{String => Object}] :additional_headers
346
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
347
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
348
+ # @option request_options [Integer] :timeout_in_seconds
349
+ # @option params [String, nil] :company_id
350
+ # @option params [Hash[String, String], nil] :company_keys
351
+ # @option params [String, nil] :feature_ids
352
+ # @option params [Boolean, nil] :include_usage_aggregation
353
+ # @option params [String, nil] :q
354
+ # @option params [Boolean, nil] :without_negative_entitlements
355
+ # @option params [Integer, nil] :limit
356
+ # @option params [Integer, nil] :offset
357
+ #
358
+ # @return [Schematic::Entitlements::Types::ListFeatureUsageResponse]
359
+ def list_feature_usage(request_options: {}, **params)
360
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
361
+ query_param_names = %i[company_id company_keys feature_ids include_usage_aggregation q without_negative_entitlements limit offset]
362
+ query_params = {}
363
+ query_params["company_id"] = params[:company_id] if params.key?(:company_id)
364
+ query_params["company_keys"] = params[:company_keys] if params.key?(:company_keys)
365
+ query_params["feature_ids"] = params[:feature_ids] if params.key?(:feature_ids)
366
+ query_params["include_usage_aggregation"] = params[:include_usage_aggregation] if params.key?(:include_usage_aggregation)
367
+ query_params["q"] = params[:q] if params.key?(:q)
368
+ query_params["without_negative_entitlements"] = params[:without_negative_entitlements] if params.key?(:without_negative_entitlements)
369
+ query_params["limit"] = params[:limit] if params.key?(:limit)
370
+ query_params["offset"] = params[:offset] if params.key?(:offset)
371
+ params.except(*query_param_names)
372
+
373
+ request = Schematic::Internal::JSON::Request.new(
374
+ base_url: request_options[:base_url],
375
+ method: "GET",
376
+ path: "feature-usage",
377
+ query: query_params,
378
+ request_options: request_options
379
+ )
380
+ begin
381
+ response = @client.send(request)
382
+ rescue Net::HTTPRequestTimeout
383
+ raise Schematic::Errors::TimeoutError
384
+ end
385
+ code = response.code.to_i
386
+ if code.between?(200, 299)
387
+ Schematic::Entitlements::Types::ListFeatureUsageResponse.load(response.body)
388
+ else
389
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
390
+ raise error_class.new(response.body, code: code)
391
+ end
392
+ end
393
+
394
+ # @param request_options [Hash]
395
+ # @param params [Hash]
396
+ # @option request_options [String] :base_url
397
+ # @option request_options [Hash{String => Object}] :additional_headers
398
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
399
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
400
+ # @option request_options [Integer] :timeout_in_seconds
401
+ # @option params [String] :company_id
402
+ # @option params [String] :end_time
403
+ # @option params [String] :feature_id
404
+ # @option params [Schematic::Types::TimeSeriesGranularity, nil] :granularity
405
+ # @option params [String] :start_time
406
+ #
407
+ # @return [Schematic::Entitlements::Types::GetFeatureUsageTimeSeriesResponse]
408
+ def get_feature_usage_time_series(request_options: {}, **params)
409
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
410
+ query_param_names = %i[company_id end_time feature_id granularity start_time]
411
+ query_params = {}
412
+ query_params["company_id"] = params[:company_id] if params.key?(:company_id)
413
+ query_params["end_time"] = params[:end_time] if params.key?(:end_time)
414
+ query_params["feature_id"] = params[:feature_id] if params.key?(:feature_id)
415
+ query_params["granularity"] = params[:granularity] if params.key?(:granularity)
416
+ query_params["start_time"] = params[:start_time] if params.key?(:start_time)
417
+ params.except(*query_param_names)
418
+
419
+ request = Schematic::Internal::JSON::Request.new(
420
+ base_url: request_options[:base_url],
421
+ method: "GET",
422
+ path: "feature-usage-timeseries",
423
+ query: query_params,
424
+ request_options: request_options
425
+ )
426
+ begin
427
+ response = @client.send(request)
428
+ rescue Net::HTTPRequestTimeout
429
+ raise Schematic::Errors::TimeoutError
430
+ end
431
+ code = response.code.to_i
432
+ if code.between?(200, 299)
433
+ Schematic::Entitlements::Types::GetFeatureUsageTimeSeriesResponse.load(response.body)
434
+ else
435
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
436
+ raise error_class.new(response.body, code: code)
437
+ end
438
+ end
439
+
440
+ # @param request_options [Hash]
441
+ # @param params [Hash]
442
+ # @option request_options [String] :base_url
443
+ # @option request_options [Hash{String => Object}] :additional_headers
444
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
445
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
446
+ # @option request_options [Integer] :timeout_in_seconds
447
+ # @option params [String, nil] :company_id
448
+ # @option params [Hash[String, String], nil] :company_keys
449
+ # @option params [String, nil] :feature_ids
450
+ # @option params [Boolean, nil] :include_usage_aggregation
451
+ # @option params [String, nil] :q
452
+ # @option params [Boolean, nil] :without_negative_entitlements
453
+ # @option params [Integer, nil] :limit
454
+ # @option params [Integer, nil] :offset
455
+ #
456
+ # @return [Schematic::Entitlements::Types::CountFeatureUsageResponse]
457
+ def count_feature_usage(request_options: {}, **params)
458
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
459
+ query_param_names = %i[company_id company_keys feature_ids include_usage_aggregation q without_negative_entitlements limit offset]
460
+ query_params = {}
461
+ query_params["company_id"] = params[:company_id] if params.key?(:company_id)
462
+ query_params["company_keys"] = params[:company_keys] if params.key?(:company_keys)
463
+ query_params["feature_ids"] = params[:feature_ids] if params.key?(:feature_ids)
464
+ query_params["include_usage_aggregation"] = params[:include_usage_aggregation] if params.key?(:include_usage_aggregation)
465
+ query_params["q"] = params[:q] if params.key?(:q)
466
+ query_params["without_negative_entitlements"] = params[:without_negative_entitlements] if params.key?(:without_negative_entitlements)
467
+ query_params["limit"] = params[:limit] if params.key?(:limit)
468
+ query_params["offset"] = params[:offset] if params.key?(:offset)
469
+ params.except(*query_param_names)
470
+
471
+ request = Schematic::Internal::JSON::Request.new(
472
+ base_url: request_options[:base_url],
473
+ method: "GET",
474
+ path: "feature-usage/count",
475
+ query: query_params,
476
+ request_options: request_options
477
+ )
478
+ begin
479
+ response = @client.send(request)
480
+ rescue Net::HTTPRequestTimeout
481
+ raise Schematic::Errors::TimeoutError
482
+ end
483
+ code = response.code.to_i
484
+ if code.between?(200, 299)
485
+ Schematic::Entitlements::Types::CountFeatureUsageResponse.load(response.body)
486
+ else
487
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
488
+ raise error_class.new(response.body, code: code)
489
+ end
490
+ end
491
+
492
+ # @param request_options [Hash]
493
+ # @param params [Hash]
494
+ # @option request_options [String] :base_url
495
+ # @option request_options [Hash{String => Object}] :additional_headers
496
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
497
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
498
+ # @option request_options [Integer] :timeout_in_seconds
499
+ # @option params [String] :feature_id
500
+ # @option params [String, nil] :q
501
+ # @option params [Integer, nil] :limit
502
+ # @option params [Integer, nil] :offset
503
+ #
504
+ # @return [Schematic::Entitlements::Types::ListFeatureUsersResponse]
505
+ def list_feature_users(request_options: {}, **params)
506
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
507
+ query_param_names = %i[feature_id q limit offset]
508
+ query_params = {}
509
+ query_params["feature_id"] = params[:feature_id] if params.key?(:feature_id)
510
+ query_params["q"] = params[:q] if params.key?(:q)
511
+ query_params["limit"] = params[:limit] if params.key?(:limit)
512
+ query_params["offset"] = params[:offset] if params.key?(:offset)
513
+ params.except(*query_param_names)
514
+
515
+ request = Schematic::Internal::JSON::Request.new(
516
+ base_url: request_options[:base_url],
517
+ method: "GET",
518
+ path: "feature-users",
519
+ query: query_params,
520
+ request_options: request_options
521
+ )
522
+ begin
523
+ response = @client.send(request)
524
+ rescue Net::HTTPRequestTimeout
525
+ raise Schematic::Errors::TimeoutError
526
+ end
527
+ code = response.code.to_i
528
+ if code.between?(200, 299)
529
+ Schematic::Entitlements::Types::ListFeatureUsersResponse.load(response.body)
530
+ else
531
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
532
+ raise error_class.new(response.body, code: code)
533
+ end
534
+ end
535
+
536
+ # @param request_options [Hash]
537
+ # @param params [Hash]
538
+ # @option request_options [String] :base_url
539
+ # @option request_options [Hash{String => Object}] :additional_headers
540
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
541
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
542
+ # @option request_options [Integer] :timeout_in_seconds
543
+ # @option params [String] :feature_id
544
+ # @option params [String, nil] :q
545
+ # @option params [Integer, nil] :limit
546
+ # @option params [Integer, nil] :offset
547
+ #
548
+ # @return [Schematic::Entitlements::Types::CountFeatureUsersResponse]
549
+ def count_feature_users(request_options: {}, **params)
550
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
551
+ query_param_names = %i[feature_id q limit offset]
552
+ query_params = {}
553
+ query_params["feature_id"] = params[:feature_id] if params.key?(:feature_id)
554
+ query_params["q"] = params[:q] if params.key?(:q)
555
+ query_params["limit"] = params[:limit] if params.key?(:limit)
556
+ query_params["offset"] = params[:offset] if params.key?(:offset)
557
+ params.except(*query_param_names)
558
+
559
+ request = Schematic::Internal::JSON::Request.new(
560
+ base_url: request_options[:base_url],
561
+ method: "GET",
562
+ path: "feature-users/count",
563
+ query: query_params,
564
+ request_options: request_options
565
+ )
566
+ begin
567
+ response = @client.send(request)
568
+ rescue Net::HTTPRequestTimeout
569
+ raise Schematic::Errors::TimeoutError
570
+ end
571
+ code = response.code.to_i
572
+ if code.between?(200, 299)
573
+ Schematic::Entitlements::Types::CountFeatureUsersResponse.load(response.body)
574
+ else
575
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
576
+ raise error_class.new(response.body, code: code)
577
+ end
578
+ end
579
+
580
+ # @param request_options [Hash]
581
+ # @param params [Hash]
582
+ # @option request_options [String] :base_url
583
+ # @option request_options [Hash{String => Object}] :additional_headers
584
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
585
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
586
+ # @option request_options [Integer] :timeout_in_seconds
587
+ # @option params [String, nil] :feature_id
588
+ # @option params [String, nil] :feature_ids
589
+ # @option params [String, nil] :ids
590
+ # @option params [String, nil] :plan_id
591
+ # @option params [String, nil] :plan_ids
592
+ # @option params [String, nil] :plan_version_id
593
+ # @option params [String, nil] :plan_version_ids
594
+ # @option params [String, nil] :q
595
+ # @option params [Boolean, nil] :with_metered_products
596
+ # @option params [Integer, nil] :limit
597
+ # @option params [Integer, nil] :offset
598
+ #
599
+ # @return [Schematic::Entitlements::Types::ListPlanEntitlementsResponse]
600
+ def list_plan_entitlements(request_options: {}, **params)
601
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
602
+ query_param_names = %i[feature_id feature_ids ids plan_id plan_ids plan_version_id plan_version_ids q with_metered_products limit offset]
603
+ query_params = {}
604
+ query_params["feature_id"] = params[:feature_id] if params.key?(:feature_id)
605
+ query_params["feature_ids"] = params[:feature_ids] if params.key?(:feature_ids)
606
+ query_params["ids"] = params[:ids] if params.key?(:ids)
607
+ query_params["plan_id"] = params[:plan_id] if params.key?(:plan_id)
608
+ query_params["plan_ids"] = params[:plan_ids] if params.key?(:plan_ids)
609
+ query_params["plan_version_id"] = params[:plan_version_id] if params.key?(:plan_version_id)
610
+ query_params["plan_version_ids"] = params[:plan_version_ids] if params.key?(:plan_version_ids)
611
+ query_params["q"] = params[:q] if params.key?(:q)
612
+ query_params["with_metered_products"] = params[:with_metered_products] if params.key?(:with_metered_products)
613
+ query_params["limit"] = params[:limit] if params.key?(:limit)
614
+ query_params["offset"] = params[:offset] if params.key?(:offset)
615
+ params.except(*query_param_names)
616
+
617
+ request = Schematic::Internal::JSON::Request.new(
618
+ base_url: request_options[:base_url],
619
+ method: "GET",
620
+ path: "plan-entitlements",
621
+ query: query_params,
622
+ request_options: request_options
623
+ )
624
+ begin
625
+ response = @client.send(request)
626
+ rescue Net::HTTPRequestTimeout
627
+ raise Schematic::Errors::TimeoutError
628
+ end
629
+ code = response.code.to_i
630
+ if code.between?(200, 299)
631
+ Schematic::Entitlements::Types::ListPlanEntitlementsResponse.load(response.body)
632
+ else
633
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
634
+ raise error_class.new(response.body, code: code)
635
+ end
636
+ end
637
+
638
+ # @param request_options [Hash]
639
+ # @param params [Schematic::Entitlements::Types::CreatePlanEntitlementRequestBody]
640
+ # @option request_options [String] :base_url
641
+ # @option request_options [Hash{String => Object}] :additional_headers
642
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
643
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
644
+ # @option request_options [Integer] :timeout_in_seconds
645
+ #
646
+ # @return [Schematic::Entitlements::Types::CreatePlanEntitlementResponse]
647
+ def create_plan_entitlement(request_options: {}, **params)
648
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
649
+ request = Schematic::Internal::JSON::Request.new(
650
+ base_url: request_options[:base_url],
651
+ method: "POST",
652
+ path: "plan-entitlements",
653
+ body: Schematic::Entitlements::Types::CreatePlanEntitlementRequestBody.new(params).to_h,
654
+ request_options: request_options
655
+ )
656
+ begin
657
+ response = @client.send(request)
658
+ rescue Net::HTTPRequestTimeout
659
+ raise Schematic::Errors::TimeoutError
660
+ end
661
+ code = response.code.to_i
662
+ if code.between?(200, 299)
663
+ Schematic::Entitlements::Types::CreatePlanEntitlementResponse.load(response.body)
664
+ else
665
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
666
+ raise error_class.new(response.body, code: code)
667
+ end
668
+ end
669
+
670
+ # @param request_options [Hash]
671
+ # @param params [Hash]
672
+ # @option request_options [String] :base_url
673
+ # @option request_options [Hash{String => Object}] :additional_headers
674
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
675
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
676
+ # @option request_options [Integer] :timeout_in_seconds
677
+ # @option params [String] :plan_entitlement_id
678
+ #
679
+ # @return [Schematic::Entitlements::Types::GetPlanEntitlementResponse]
680
+ def get_plan_entitlement(request_options: {}, **params)
681
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
682
+ request = Schematic::Internal::JSON::Request.new(
683
+ base_url: request_options[:base_url],
684
+ method: "GET",
685
+ path: "plan-entitlements/#{URI.encode_uri_component(params[:plan_entitlement_id].to_s)}",
686
+ request_options: request_options
687
+ )
688
+ begin
689
+ response = @client.send(request)
690
+ rescue Net::HTTPRequestTimeout
691
+ raise Schematic::Errors::TimeoutError
692
+ end
693
+ code = response.code.to_i
694
+ if code.between?(200, 299)
695
+ Schematic::Entitlements::Types::GetPlanEntitlementResponse.load(response.body)
696
+ else
697
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
698
+ raise error_class.new(response.body, code: code)
699
+ end
700
+ end
701
+
702
+ # @param request_options [Hash]
703
+ # @param params [Schematic::Entitlements::Types::UpdatePlanEntitlementRequestBody]
704
+ # @option request_options [String] :base_url
705
+ # @option request_options [Hash{String => Object}] :additional_headers
706
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
707
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
708
+ # @option request_options [Integer] :timeout_in_seconds
709
+ # @option params [String] :plan_entitlement_id
710
+ #
711
+ # @return [Schematic::Entitlements::Types::UpdatePlanEntitlementResponse]
712
+ def update_plan_entitlement(request_options: {}, **params)
713
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
714
+ request_data = Schematic::Entitlements::Types::UpdatePlanEntitlementRequestBody.new(params).to_h
715
+ non_body_param_names = ["plan_entitlement_id"]
716
+ body = request_data.except(*non_body_param_names)
717
+
718
+ request = Schematic::Internal::JSON::Request.new(
719
+ base_url: request_options[:base_url],
720
+ method: "PUT",
721
+ path: "plan-entitlements/#{URI.encode_uri_component(params[:plan_entitlement_id].to_s)}",
722
+ body: body,
723
+ request_options: request_options
724
+ )
725
+ begin
726
+ response = @client.send(request)
727
+ rescue Net::HTTPRequestTimeout
728
+ raise Schematic::Errors::TimeoutError
729
+ end
730
+ code = response.code.to_i
731
+ if code.between?(200, 299)
732
+ Schematic::Entitlements::Types::UpdatePlanEntitlementResponse.load(response.body)
733
+ else
734
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
735
+ raise error_class.new(response.body, code: code)
736
+ end
737
+ end
738
+
739
+ # @param request_options [Hash]
740
+ # @param params [Hash]
741
+ # @option request_options [String] :base_url
742
+ # @option request_options [Hash{String => Object}] :additional_headers
743
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
744
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
745
+ # @option request_options [Integer] :timeout_in_seconds
746
+ # @option params [String] :plan_entitlement_id
747
+ #
748
+ # @return [Schematic::Entitlements::Types::DeletePlanEntitlementResponse]
749
+ def delete_plan_entitlement(request_options: {}, **params)
750
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
751
+ request = Schematic::Internal::JSON::Request.new(
752
+ base_url: request_options[:base_url],
753
+ method: "DELETE",
754
+ path: "plan-entitlements/#{URI.encode_uri_component(params[:plan_entitlement_id].to_s)}",
755
+ request_options: request_options
756
+ )
757
+ begin
758
+ response = @client.send(request)
759
+ rescue Net::HTTPRequestTimeout
760
+ raise Schematic::Errors::TimeoutError
761
+ end
762
+ code = response.code.to_i
763
+ if code.between?(200, 299)
764
+ Schematic::Entitlements::Types::DeletePlanEntitlementResponse.load(response.body)
765
+ else
766
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
767
+ raise error_class.new(response.body, code: code)
768
+ end
769
+ end
770
+
771
+ # @param request_options [Hash]
772
+ # @param params [Hash]
773
+ # @option request_options [String] :base_url
774
+ # @option request_options [Hash{String => Object}] :additional_headers
775
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
776
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
777
+ # @option request_options [Integer] :timeout_in_seconds
778
+ # @option params [String, nil] :feature_id
779
+ # @option params [String, nil] :feature_ids
780
+ # @option params [String, nil] :ids
781
+ # @option params [String, nil] :plan_id
782
+ # @option params [String, nil] :plan_ids
783
+ # @option params [String, nil] :plan_version_id
784
+ # @option params [String, nil] :plan_version_ids
785
+ # @option params [String, nil] :q
786
+ # @option params [Boolean, nil] :with_metered_products
787
+ # @option params [Integer, nil] :limit
788
+ # @option params [Integer, nil] :offset
789
+ #
790
+ # @return [Schematic::Entitlements::Types::CountPlanEntitlementsResponse]
791
+ def count_plan_entitlements(request_options: {}, **params)
792
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
793
+ query_param_names = %i[feature_id feature_ids ids plan_id plan_ids plan_version_id plan_version_ids q with_metered_products limit offset]
794
+ query_params = {}
795
+ query_params["feature_id"] = params[:feature_id] if params.key?(:feature_id)
796
+ query_params["feature_ids"] = params[:feature_ids] if params.key?(:feature_ids)
797
+ query_params["ids"] = params[:ids] if params.key?(:ids)
798
+ query_params["plan_id"] = params[:plan_id] if params.key?(:plan_id)
799
+ query_params["plan_ids"] = params[:plan_ids] if params.key?(:plan_ids)
800
+ query_params["plan_version_id"] = params[:plan_version_id] if params.key?(:plan_version_id)
801
+ query_params["plan_version_ids"] = params[:plan_version_ids] if params.key?(:plan_version_ids)
802
+ query_params["q"] = params[:q] if params.key?(:q)
803
+ query_params["with_metered_products"] = params[:with_metered_products] if params.key?(:with_metered_products)
804
+ query_params["limit"] = params[:limit] if params.key?(:limit)
805
+ query_params["offset"] = params[:offset] if params.key?(:offset)
806
+ params.except(*query_param_names)
807
+
808
+ request = Schematic::Internal::JSON::Request.new(
809
+ base_url: request_options[:base_url],
810
+ method: "GET",
811
+ path: "plan-entitlements/count",
812
+ query: query_params,
813
+ request_options: request_options
814
+ )
815
+ begin
816
+ response = @client.send(request)
817
+ rescue Net::HTTPRequestTimeout
818
+ raise Schematic::Errors::TimeoutError
819
+ end
820
+ code = response.code.to_i
821
+ if code.between?(200, 299)
822
+ Schematic::Entitlements::Types::CountPlanEntitlementsResponse.load(response.body)
823
+ else
824
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
825
+ raise error_class.new(response.body, code: code)
826
+ end
827
+ end
828
+
829
+ # @param request_options [Hash]
830
+ # @param params [Schematic::Entitlements::Types::DuplicatePlanEntitlementsRequestBody]
831
+ # @option request_options [String] :base_url
832
+ # @option request_options [Hash{String => Object}] :additional_headers
833
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
834
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
835
+ # @option request_options [Integer] :timeout_in_seconds
836
+ #
837
+ # @return [Schematic::Entitlements::Types::DuplicatePlanEntitlementsResponse]
838
+ def duplicate_plan_entitlements(request_options: {}, **params)
839
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
840
+ request = Schematic::Internal::JSON::Request.new(
841
+ base_url: request_options[:base_url],
842
+ method: "POST",
843
+ path: "plan-entitlements/duplicate",
844
+ body: Schematic::Entitlements::Types::DuplicatePlanEntitlementsRequestBody.new(params).to_h,
845
+ request_options: request_options
846
+ )
847
+ begin
848
+ response = @client.send(request)
849
+ rescue Net::HTTPRequestTimeout
850
+ raise Schematic::Errors::TimeoutError
851
+ end
852
+ code = response.code.to_i
853
+ if code.between?(200, 299)
854
+ Schematic::Entitlements::Types::DuplicatePlanEntitlementsResponse.load(response.body)
855
+ else
856
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
857
+ raise error_class.new(response.body, code: code)
858
+ end
859
+ end
860
+
861
+ # @param request_options [Hash]
862
+ # @param params [Hash]
863
+ # @option request_options [String] :base_url
864
+ # @option request_options [Hash{String => Object}] :additional_headers
865
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
866
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
867
+ # @option request_options [Integer] :timeout_in_seconds
868
+ # @option params [Hash[String, String]] :keys
869
+ #
870
+ # @return [Schematic::Entitlements::Types::GetFeatureUsageByCompanyResponse]
871
+ def get_feature_usage_by_company(request_options: {}, **params)
872
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
873
+ query_param_names = %i[keys]
874
+ query_params = {}
875
+ query_params["keys"] = params[:keys] if params.key?(:keys)
876
+ params.except(*query_param_names)
877
+
878
+ request = Schematic::Internal::JSON::Request.new(
879
+ base_url: request_options[:base_url],
880
+ method: "GET",
881
+ path: "usage-by-company",
882
+ query: query_params,
883
+ request_options: request_options
884
+ )
885
+ begin
886
+ response = @client.send(request)
887
+ rescue Net::HTTPRequestTimeout
888
+ raise Schematic::Errors::TimeoutError
889
+ end
890
+ code = response.code.to_i
891
+ if code.between?(200, 299)
892
+ Schematic::Entitlements::Types::GetFeatureUsageByCompanyResponse.load(response.body)
893
+ else
894
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
895
+ raise error_class.new(response.body, code: code)
896
+ end
897
+ end
898
+ end
899
+ end
900
+ end