togai_client 1.0.1 → 1.0.2

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 (686) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -4
  3. data/docs/Account.md +26 -2
  4. data/docs/AccountAlias.md +28 -0
  5. data/docs/AccountAliases.md +1 -3
  6. data/docs/AccountAliasesPaginatedResponse.md +20 -0
  7. data/docs/AccountSchedule.md +38 -0
  8. data/docs/AccountsApi.md +840 -124
  9. data/docs/AccountsBillingInformation.md +20 -0
  10. data/docs/ActivatePricePlanRequest.md +18 -0
  11. data/docs/AddAccountAliasesRequest.md +3 -1
  12. data/docs/AddOn.md +30 -0
  13. data/docs/AddOnPaginatedResponse.md +22 -0
  14. data/docs/AddOnType.md +15 -0
  15. data/docs/AddOnsApi.md +365 -0
  16. data/docs/Address.md +30 -0
  17. data/docs/Alert.md +40 -0
  18. data/docs/AlertStatus.md +15 -0
  19. data/docs/AlertTemplate.md +38 -0
  20. data/docs/AlertTemplatesPaginatedResponse.md +20 -0
  21. data/docs/AlertsApi.md +566 -0
  22. data/docs/AlertsPaginatedResponse.md +20 -0
  23. data/docs/AliasPaginatedResponse.md +20 -0
  24. data/docs/AliasesApi.md +291 -0
  25. data/docs/AssociationConfig.md +24 -0
  26. data/docs/Attribute.md +22 -0
  27. data/docs/AuthenticationApi.md +74 -0
  28. data/docs/BillingConfig.md +20 -0
  29. data/docs/BillingEntitlementRateCard.md +34 -0
  30. data/docs/BillingEntitlementRevenueSummary.md +18 -0
  31. data/docs/BulkRateCardOperationsRequest.md +18 -0
  32. data/docs/BulkRateCardOperationsResponse.md +18 -0
  33. data/docs/CalculateRevenueRequest.md +30 -0
  34. data/docs/CalculateRevenueResponse.md +24 -0
  35. data/docs/CalculateRevenueResponseV2.md +22 -0
  36. data/docs/Computation.md +5 -3
  37. data/docs/CreateAccountAliasRequest.md +22 -0
  38. data/docs/CreateAccountRequest.md +27 -5
  39. data/docs/CreateAccountRequestWithoutCustomerId.md +42 -0
  40. data/docs/CreateAddOnRequest.md +22 -0
  41. data/docs/CreateAlertRequest.md +32 -0
  42. data/docs/CreateAliasRequest.md +18 -0
  43. data/docs/CreateBulkAliasRequest.md +18 -0
  44. data/docs/CreateCreditRequest.md +18 -0
  45. data/docs/CreateCreditResponse.md +18 -0
  46. data/docs/CreateCustomInvoiceRequest.md +36 -0
  47. data/docs/CreateCustomerContactRequest.md +30 -0
  48. data/docs/CreateCustomerContactResponse.md +34 -0
  49. data/docs/CreateCustomerRequest.md +9 -7
  50. data/docs/CreateCustomerResponse.md +8 -2
  51. data/docs/CreateEntitySetting.md +26 -0
  52. data/docs/CreateEventSchemaRequest.md +7 -1
  53. data/docs/CreateFeatureRequest.md +22 -0
  54. data/docs/CreateInvoiceGroupRequest.md +28 -0
  55. data/docs/CreatePaymentRequest.md +30 -0
  56. data/docs/CreatePricePlanDetails.md +38 -0
  57. data/docs/CreatePricePlanDetailsOverride.md +34 -0
  58. data/docs/CreatePricePlanMigrationRequest.md +32 -0
  59. data/docs/CreatePricePlanRequest.md +6 -2
  60. data/docs/CreatePricePlanV2Request.md +30 -0
  61. data/docs/CreatePricingRule.md +28 -0
  62. data/docs/CreateProposalRequest.md +40 -0
  63. data/docs/CreatePurchaseRequest.md +38 -0
  64. data/docs/CreateUsageMeterRequest.md +12 -6
  65. data/docs/Credit.md +50 -0
  66. data/docs/CreditBalanceResponse.md +28 -0
  67. data/docs/CreditDetailsResponse.md +52 -0
  68. data/docs/CreditGrantRateCard.md +34 -0
  69. data/docs/CreditGrantRevenueSummary.md +18 -0
  70. data/docs/CreditGrantType.md +15 -0
  71. data/docs/CreditRateDetails.md +20 -0
  72. data/docs/CreditRequest.md +34 -0
  73. data/docs/CreditTransaction.md +30 -0
  74. data/docs/CreditsApi.md +369 -0
  75. data/docs/CurrencyConfig.md +22 -0
  76. data/docs/CurrencyRateValue.md +20 -0
  77. data/docs/CurrencySlabRateDetail.md +24 -0
  78. data/docs/CustomInvoiceLineItem.md +28 -0
  79. data/docs/Customer.md +6 -2
  80. data/docs/CustomerPortalApi.md +77 -0
  81. data/docs/CustomersApi.md +85 -13
  82. data/docs/Dependency.md +22 -0
  83. data/docs/EditAccountScheduleRequest.md +18 -0
  84. data/docs/EditPricingScheduleRequest.md +18 -0
  85. data/docs/EnrichedField.md +22 -0
  86. data/docs/EnrichmentDependency.md +24 -0
  87. data/docs/Enrichments.md +20 -0
  88. data/docs/EntitlementOverageConfig.md +22 -0
  89. data/docs/EntitlementOverageConfigLookupCycle.md +20 -0
  90. data/docs/EntitlementOverageEntry.md +20 -0
  91. data/docs/EntitlementOverageRateCard.md +32 -0
  92. data/docs/EntitlementOverageRevenueSummary.md +18 -0
  93. data/docs/EntitlementsApi.md +599 -0
  94. data/docs/Event.md +11 -11
  95. data/docs/EventCorrectionInfo.md +32 -0
  96. data/docs/EventCorrectionRequest.md +18 -0
  97. data/docs/EventIngestionApi.md +16 -15
  98. data/docs/EventManagementApi.md +95 -21
  99. data/docs/EventPipelineInfo.md +15 -3
  100. data/docs/EventPipelineInfoAccount.md +3 -1
  101. data/docs/EventPipelineInfoEnrichments.md +22 -0
  102. data/docs/EventPipelineInfoFeatureDetails.md +24 -0
  103. data/docs/EventPipelineInfoPricePlans.md +28 -0
  104. data/docs/EventPipelineInfoRevenueDetails.md +22 -0
  105. data/docs/EventPipelineInfoUsageMeters.md +26 -0
  106. data/docs/EventSchema.md +11 -1
  107. data/docs/EventSchemaListData.md +11 -1
  108. data/docs/EventSchemasApi.md +82 -84
  109. data/docs/EventSchemasForFeature.md +20 -0
  110. data/docs/EventSource.md +20 -0
  111. data/docs/EventWithStatus.md +9 -1
  112. data/docs/EventWithStatusAndEventPipelineInfo.md +9 -1
  113. data/docs/EventsCorrectionResponse.md +18 -0
  114. data/docs/ExpiryType.md +15 -0
  115. data/docs/ExternalPaymentReference.md +26 -0
  116. data/docs/Feature.md +30 -0
  117. data/docs/FeatureApi.md +293 -0
  118. data/docs/FeatureConfig.md +22 -0
  119. data/docs/FeatureCreditEntry.md +32 -0
  120. data/docs/FeatureDetails.md +20 -0
  121. data/docs/FeatureListResponse.md +30 -0
  122. data/docs/FeaturePaginatedListData.md +22 -0
  123. data/docs/Field.md +26 -0
  124. data/docs/FileDownloadUrlResponse.md +18 -0
  125. data/docs/FileStorageApi.md +151 -0
  126. data/docs/FinalizeAccountSchedules.md +20 -0
  127. data/docs/FinalizePricePlanRequest.md +20 -0
  128. data/docs/FixedFeeRateCard.md +34 -0
  129. data/docs/FixedFeeRevenueSummary.md +18 -0
  130. data/docs/FixedFeeType.md +15 -0
  131. data/docs/GetCustomerPortalDelegateTokenRequest.md +24 -0
  132. data/docs/GetEntitlementValuesResponse.md +18 -0
  133. data/docs/GetEntitlementValuesResponseDataInner.md +20 -0
  134. data/docs/GetFeatureCreditEntriesPaginatedResponse.md +20 -0
  135. data/docs/GetFeatureCreditsResponse.md +28 -0
  136. data/docs/GetJobResponse.md +36 -0
  137. data/docs/GetLicenseUpdatesResponse.md +20 -0
  138. data/docs/GetMetricsRequest.md +4 -4
  139. data/docs/GetProposalResponse.md +62 -0
  140. data/docs/GetPurchaseResponse.md +62 -0
  141. data/docs/GrantDetails.md +24 -0
  142. data/docs/Incident.md +36 -0
  143. data/docs/IncidentsPaginatedResponse.md +20 -0
  144. data/docs/IngestEventRequest.md +1 -1
  145. data/docs/IngestEventResponse.md +12 -2
  146. data/docs/Invoice.md +68 -0
  147. data/docs/InvoiceDetails.md +28 -0
  148. data/docs/InvoiceDetailsAccount.md +24 -0
  149. data/docs/InvoiceDetailsCustomer.md +24 -0
  150. data/docs/InvoiceDetailsInvoiceGroup.md +28 -0
  151. data/docs/InvoiceDetailsOrganization.md +24 -0
  152. data/docs/InvoiceGroupAccountsPaginatedResponse.md +40 -0
  153. data/docs/InvoiceGroupDetails.md +30 -0
  154. data/docs/InvoiceGroupPaginatedResponse.md +20 -0
  155. data/docs/InvoiceGroups.md +36 -0
  156. data/docs/InvoiceGroupsApi.md +358 -0
  157. data/docs/InvoiceInfoInner.md +20 -0
  158. data/docs/InvoiceLineItem.md +34 -0
  159. data/docs/InvoiceSummary.md +58 -0
  160. data/docs/InvoiceTiming.md +15 -0
  161. data/docs/InvoicesApi.md +751 -0
  162. data/docs/InvoicesClass.md +15 -0
  163. data/docs/InvoicesStatus.md +15 -0
  164. data/docs/InvoicesType.md +15 -0
  165. data/docs/JobEntriesPaginatedResponse.md +22 -0
  166. data/docs/JobEntriesResponse.md +26 -0
  167. data/docs/JobsApi.md +361 -0
  168. data/docs/JobsPaginatedResponse.md +22 -0
  169. data/docs/JobsWithoutStatusInfoResponse.md +24 -0
  170. data/docs/LicenseEntriesConfig.md +24 -0
  171. data/docs/LicenseEntriesConfigLookupCycle.md +20 -0
  172. data/docs/LicenseEntriesConfigLookupRange.md +22 -0
  173. data/docs/LicenseEntry.md +22 -0
  174. data/docs/LicenseEntryDetailsUpdateRequest.md +22 -0
  175. data/docs/LicenseRateCard.md +40 -0
  176. data/docs/LicenseRateCardConfig.md +20 -0
  177. data/docs/LicenseUpdate.md +26 -0
  178. data/docs/LicenseUpdateRequest.md +30 -0
  179. data/docs/LicenseUpdateResponse.md +28 -0
  180. data/docs/LicensesApi.md +300 -0
  181. data/docs/ListCreditsResponse.md +20 -0
  182. data/docs/ListInvoicesResponse.md +20 -0
  183. data/docs/ListPaymentResponse.md +20 -0
  184. data/docs/ManageMiscellaneousChargesRequest.md +18 -0
  185. data/docs/MaxQuantityBreachAction.md +15 -0
  186. data/docs/MetricQuery.md +7 -5
  187. data/docs/MetricQueryFilterEntry.md +1 -1
  188. data/docs/MetricQueryResponse.md +1 -1
  189. data/docs/MetricsApi.md +7 -7
  190. data/docs/MigrationMode.md +15 -0
  191. data/docs/MinimumCommitment.md +20 -0
  192. data/docs/MiscellaneousCharge.md +26 -0
  193. data/docs/MiscellaneousChargesResponse.md +18 -0
  194. data/docs/ModelAlias.md +20 -0
  195. data/docs/NamedLicenseEntriesConfig.md +24 -0
  196. data/docs/NamedLicenseEntriesConfigLookupCycle.md +20 -0
  197. data/docs/NamedLicenseEntriesConfigLookupRange.md +22 -0
  198. data/docs/NamedLicenseEntry.md +24 -0
  199. data/docs/NamedLicenseUpdate.md +32 -0
  200. data/docs/NamedLicenseUpdatesPaginatedResponse.md +20 -0
  201. data/docs/Payment.md +38 -0
  202. data/docs/PaymentLineItemRecord.md +24 -0
  203. data/docs/PaymentsApi.md +227 -0
  204. data/docs/PlanOverride.md +6 -0
  205. data/docs/PreAction.md +20 -0
  206. data/docs/PriceExperimentationApi.md +147 -0
  207. data/docs/PricePlan.md +4 -0
  208. data/docs/PricePlanDetails.md +25 -3
  209. data/docs/PricePlanDetailsConfig.md +28 -0
  210. data/docs/PricePlanDetailsOverride.md +16 -2
  211. data/docs/PricePlanInfo.md +20 -0
  212. data/docs/PricePlanListData.md +10 -2
  213. data/docs/PricePlanMigrationConfig.md +30 -0
  214. data/docs/PricePlanType.md +15 -0
  215. data/docs/PricePlanV2.md +42 -0
  216. data/docs/PricePlanV2Api.md +953 -0
  217. data/docs/PricePlanV2PaginatedResponse.md +20 -0
  218. data/docs/PricePlansApi.md +202 -52
  219. data/docs/PricingCycleConfig.md +6 -6
  220. data/docs/PricingCycleConfigStartOffset.md +1 -1
  221. data/docs/PricingCycleInterval.md +15 -0
  222. data/docs/PricingRule.md +32 -0
  223. data/docs/PricingRuleAction.md +26 -0
  224. data/docs/PricingRuleChangesLog.md +30 -0
  225. data/docs/PricingRuleInfo.md +24 -0
  226. data/docs/PricingRuleTiming.md +15 -0
  227. data/docs/PricingRulesApi.md +83 -0
  228. data/docs/PricingRulesLog.md +28 -0
  229. data/docs/PricingRulesLogsPaginatedResponse.md +18 -0
  230. data/docs/PricingRulesPaginatedResponse.md +18 -0
  231. data/docs/PricingRulesValues.md +20 -0
  232. data/docs/PricingSchedule.md +9 -1
  233. data/docs/PricingSchedulePaginatedResponse.md +22 -0
  234. data/docs/PricingScheduleWithPricePlanId.md +36 -0
  235. data/docs/Proposal.md +62 -0
  236. data/docs/ProposalsListResponse.md +40 -0
  237. data/docs/ProposalsPaginatedResponse.md +22 -0
  238. data/docs/ProratedRefundMode.md +15 -0
  239. data/docs/ProrationConfig.md +22 -0
  240. data/docs/ProrationConfigCustomConfig.md +22 -0
  241. data/docs/ProrationConfigLookupCycleConfig.md +22 -0
  242. data/docs/Purchase.md +58 -0
  243. data/docs/PurchaseFeatureDetails.md +30 -0
  244. data/docs/PurchaseListResponse.md +46 -0
  245. data/docs/PurchasePaginatedListData.md +22 -0
  246. data/docs/PurchasePlanOverride.md +22 -0
  247. data/docs/PurchaseStatus.md +15 -0
  248. data/docs/PurchaseType.md +15 -0
  249. data/docs/QueryColumn.md +26 -0
  250. data/docs/QueryFilter.md +22 -0
  251. data/docs/QueryFunction.md +20 -0
  252. data/docs/QueryInput.md +28 -0
  253. data/docs/QueryInputSortInner.md +20 -0
  254. data/docs/RateCard.md +23 -5
  255. data/docs/RateCardData.md +28 -0
  256. data/docs/RateCardDetails.md +30 -0
  257. data/docs/RateCardOperation.md +22 -0
  258. data/docs/RateCardPaginatedResponse.md +20 -0
  259. data/docs/RatePlan.md +20 -0
  260. data/docs/RateValue.md +22 -0
  261. data/docs/RecurrenceConfig.md +20 -0
  262. data/docs/RemoveAccountAliasRequest.md +20 -0
  263. data/docs/RemoveAccountAliasesRequest.md +4 -2
  264. data/docs/Report.md +38 -0
  265. data/docs/ReportStatus.md +15 -0
  266. data/docs/ReportType.md +15 -0
  267. data/docs/ReportsApi.md +83 -0
  268. data/docs/ReportsPaginatedResponse.md +20 -0
  269. data/docs/RevenueInfo.md +42 -0
  270. data/docs/RevenueInfoV2.md +32 -0
  271. data/docs/RevenueSummaryWithMetadata.md +24 -0
  272. data/docs/ScheduleInfo.md +22 -0
  273. data/docs/SchedulesApi.md +667 -0
  274. data/docs/SchedulesPaginatedResponse.md +22 -0
  275. data/docs/Setting.md +30 -0
  276. data/docs/SettingDataType.md +15 -0
  277. data/docs/SettingPaginatedResponse.md +22 -0
  278. data/docs/SettingsApi.md +301 -0
  279. data/docs/Slab.md +24 -0
  280. data/docs/SlabDetail.md +26 -0
  281. data/docs/SlabRate.md +22 -0
  282. data/docs/SlabRevenue.md +22 -0
  283. data/docs/SlabRevenueMetadata.md +22 -0
  284. data/docs/SlabRevenueSummary.md +24 -0
  285. data/docs/SlabRevenueWithMetadata.md +24 -0
  286. data/docs/TokenResponse.md +18 -0
  287. data/docs/TopupWalletRequest.md +18 -0
  288. data/docs/UpdateAccountRequest.md +18 -2
  289. data/docs/UpdateAccountScheduleV2Request.md +26 -0
  290. data/docs/UpdateAddOnRequest.md +20 -0
  291. data/docs/UpdateAlertRequest.md +26 -0
  292. data/docs/UpdateCustomerRequest.md +5 -5
  293. data/docs/UpdateEventSchemaRequest.md +9 -3
  294. data/docs/UpdateFeatureCreditsRequest.md +20 -0
  295. data/docs/UpdateFeatureRequest.md +22 -0
  296. data/docs/UpdateIncidentStatusRequest.md +18 -0
  297. data/docs/UpdateInvoiceGroupAccounts.md +18 -0
  298. data/docs/UpdateInvoiceRequest.md +26 -0
  299. data/docs/UpdatePricePlanRequest.md +8 -2
  300. data/docs/UpdatePricePlanV2Request.md +22 -0
  301. data/docs/UpdatePricingRulesRequest.md +18 -0
  302. data/docs/UpdatePricingScheduleRequest.md +30 -0
  303. data/docs/UpdatePricingScheduleRequestWithActions.md +32 -0
  304. data/docs/UpdatePricingScheduleResponse.md +22 -0
  305. data/docs/UpdateProposalStatus.md +18 -0
  306. data/docs/UpdateSettingRequest.md +22 -0
  307. data/docs/UpdateUsageMeterRequest.md +13 -5
  308. data/docs/UpdateWalletRequest.md +20 -0
  309. data/docs/UsageConfig.md +24 -0
  310. data/docs/UsageConfigLookupCycle.md +20 -0
  311. data/docs/UsageConfigLookupRange.md +22 -0
  312. data/docs/UsageCycleInterval.md +15 -0
  313. data/docs/UsageLookupRange.md +20 -0
  314. data/docs/UsageMeter.md +12 -2
  315. data/docs/UsageMeterAggregation.md +15 -0
  316. data/docs/UsageMeterFilterEntry.md +20 -0
  317. data/docs/UsageMetersApi.md +64 -74
  318. data/docs/UsageRateCard.md +28 -0
  319. data/docs/ValidateEntitlementValueRequest.md +18 -0
  320. data/docs/ValidatedEntityError.md +24 -0
  321. data/docs/ValidatedEntityErrorsPaginatedResponse.md +20 -0
  322. data/docs/VersionsToMigrate.md +15 -0
  323. data/docs/WalletApi.md +301 -0
  324. data/docs/WalletBalanceResponse.md +40 -0
  325. data/docs/WalletEntriesPaginatedResponse.md +20 -0
  326. data/docs/WalletEntry.md +34 -0
  327. data/docs/WalletStatus.md +15 -0
  328. data/docs/WalletTopupDetails.md +20 -0
  329. data/lib/togai_client/api/accounts_api.rb +881 -220
  330. data/lib/togai_client/api/add_ons_api.rb +372 -0
  331. data/lib/togai_client/api/alerts_api.rb +527 -0
  332. data/lib/togai_client/api/aliases_api.rb +279 -0
  333. data/lib/togai_client/api/authentication_api.rb +79 -0
  334. data/lib/togai_client/api/credits_api.rb +351 -0
  335. data/lib/togai_client/api/customer_portal_api.rb +90 -0
  336. data/lib/togai_client/api/customers_api.rb +96 -18
  337. data/lib/togai_client/api/entitlements_api.rb +655 -0
  338. data/lib/togai_client/api/event_ingestion_api.rb +15 -15
  339. data/lib/togai_client/api/event_management_api.rb +97 -21
  340. data/lib/togai_client/api/event_schemas_api.rb +104 -107
  341. data/lib/togai_client/api/feature_api.rb +298 -0
  342. data/lib/togai_client/api/file_storage_api.rb +151 -0
  343. data/lib/togai_client/api/invoice_groups_api.rb +370 -0
  344. data/lib/togai_client/api/invoices_api.rb +705 -0
  345. data/lib/togai_client/api/jobs_api.rb +337 -0
  346. data/lib/togai_client/api/licenses_api.rb +282 -0
  347. data/lib/togai_client/api/metrics_api.rb +6 -6
  348. data/lib/togai_client/api/payments_api.rb +215 -0
  349. data/lib/togai_client/api/price_experimentation_api.rb +158 -0
  350. data/lib/togai_client/api/price_plan_v2_api.rb +960 -0
  351. data/lib/togai_client/api/price_plans_api.rb +214 -62
  352. data/lib/togai_client/api/pricing_rules_api.rb +106 -0
  353. data/lib/togai_client/api/reports_api.rb +92 -0
  354. data/lib/togai_client/api/schedules_api.rb +685 -0
  355. data/lib/togai_client/api/settings_api.rb +302 -0
  356. data/lib/togai_client/api/usage_meters_api.rb +97 -153
  357. data/lib/togai_client/api/wallet_api.rb +310 -0
  358. data/lib/togai_client/api_client.rb +25 -23
  359. data/lib/togai_client/api_error.rb +2 -1
  360. data/lib/togai_client/configuration.rb +51 -18
  361. data/lib/togai_client/models/account.rb +260 -28
  362. data/lib/togai_client/models/account_alias.rb +329 -0
  363. data/lib/togai_client/models/account_aliases.rb +23 -67
  364. data/lib/togai_client/models/account_aliases_paginated_response.rb +233 -0
  365. data/lib/togai_client/models/account_paginated_response.rb +14 -19
  366. data/lib/togai_client/models/account_schedule.rb +375 -0
  367. data/lib/togai_client/models/accounts_billing_information.rb +228 -0
  368. data/lib/togai_client/models/activate_price_plan_request.rb +235 -0
  369. data/lib/togai_client/models/add_account_aliases_request.rb +64 -25
  370. data/lib/togai_client/models/add_on.rb +395 -0
  371. data/lib/togai_client/models/add_on_paginated_response.rb +241 -0
  372. data/lib/togai_client/models/add_on_type.rb +42 -0
  373. data/lib/togai_client/models/address.rb +276 -0
  374. data/lib/togai_client/models/alert.rb +391 -0
  375. data/lib/togai_client/models/alert_status.rb +40 -0
  376. data/lib/togai_client/models/alert_template.rb +343 -0
  377. data/lib/togai_client/models/alert_templates_paginated_response.rb +232 -0
  378. data/lib/togai_client/models/alerts_paginated_response.rb +232 -0
  379. data/lib/togai_client/models/alias_paginated_response.rb +226 -0
  380. data/lib/togai_client/models/association_config.rb +244 -0
  381. data/lib/togai_client/models/attribute.rb +327 -0
  382. data/lib/togai_client/models/base_success_response.rb +16 -19
  383. data/lib/togai_client/models/billing_config.rb +225 -0
  384. data/lib/togai_client/models/billing_entitlement_rate_card.rb +370 -0
  385. data/lib/togai_client/models/billing_entitlement_revenue_summary.rb +221 -0
  386. data/lib/togai_client/models/bulk_rate_card_operations_request.rb +224 -0
  387. data/lib/togai_client/models/bulk_rate_card_operations_response.rb +224 -0
  388. data/lib/togai_client/models/calculate_revenue_request.rb +297 -0
  389. data/lib/togai_client/models/calculate_revenue_response.rb +264 -0
  390. data/lib/togai_client/models/calculate_revenue_response_v2.rb +248 -0
  391. data/lib/togai_client/models/computation.rb +49 -27
  392. data/lib/togai_client/models/create_account_alias_request.rb +270 -0
  393. data/lib/togai_client/models/create_account_request.rb +306 -27
  394. data/lib/togai_client/models/create_account_request_without_customer_id.rb +551 -0
  395. data/lib/togai_client/models/create_add_on_request.rb +309 -0
  396. data/lib/togai_client/models/create_alert_request.rb +327 -0
  397. data/lib/togai_client/models/create_alias_request.rb +241 -0
  398. data/lib/togai_client/models/create_bulk_alias_request.rb +252 -0
  399. data/lib/togai_client/models/create_credit_request.rb +224 -0
  400. data/lib/togai_client/models/create_credit_response.rb +223 -0
  401. data/lib/togai_client/models/create_custom_invoice_request.rb +411 -0
  402. data/lib/togai_client/models/create_customer_contact_request.rb +402 -0
  403. data/lib/togai_client/models/create_customer_contact_response.rb +435 -0
  404. data/lib/togai_client/models/create_customer_request.rb +69 -47
  405. data/lib/togai_client/models/create_customer_response.rb +81 -40
  406. data/lib/togai_client/models/create_entity_setting.rb +308 -0
  407. data/lib/togai_client/models/create_event_schema_request.rb +70 -24
  408. data/lib/togai_client/models/create_feature_request.rb +309 -0
  409. data/lib/togai_client/models/create_invoice_group_request.rb +344 -0
  410. data/lib/togai_client/models/create_payment_request.rb +394 -0
  411. data/lib/togai_client/models/create_price_plan_details.rb +339 -0
  412. data/lib/togai_client/models/create_price_plan_details_override.rb +319 -0
  413. data/lib/togai_client/models/create_price_plan_migration_request.rb +385 -0
  414. data/lib/togai_client/models/create_price_plan_request.rb +69 -24
  415. data/lib/togai_client/models/create_price_plan_v2_request.rb +367 -0
  416. data/lib/togai_client/models/create_pricing_rule.rb +313 -0
  417. data/lib/togai_client/models/create_proposal_request.rb +371 -0
  418. data/lib/togai_client/models/create_purchase_request.rb +330 -0
  419. data/lib/togai_client/models/create_usage_meter_request.rb +85 -42
  420. data/lib/togai_client/models/credit.rb +490 -0
  421. data/lib/togai_client/models/credit_balance_response.rb +302 -0
  422. data/lib/togai_client/models/credit_details_response.rb +508 -0
  423. data/lib/togai_client/models/credit_grant_rate_card.rb +332 -0
  424. data/lib/togai_client/models/credit_grant_revenue_summary.rb +221 -0
  425. data/lib/togai_client/models/credit_grant_type.rb +40 -0
  426. data/lib/togai_client/models/credit_rate_details.rb +262 -0
  427. data/lib/togai_client/models/credit_request.rb +330 -0
  428. data/lib/togai_client/models/credit_transaction.rb +357 -0
  429. data/lib/togai_client/models/currency_config.rb +296 -0
  430. data/lib/togai_client/models/currency_rate_value.rb +237 -0
  431. data/lib/togai_client/models/currency_slab_rate_detail.rb +287 -0
  432. data/lib/togai_client/models/custom_invoice_line_item.rb +260 -0
  433. data/lib/togai_client/models/customer.rb +68 -26
  434. data/lib/togai_client/models/customer_paginated_response.rb +14 -19
  435. data/lib/togai_client/models/dependency.rb +287 -0
  436. data/lib/togai_client/models/dimensions_schema.rb +16 -19
  437. data/lib/togai_client/models/edit_account_schedule_request.rb +252 -0
  438. data/lib/togai_client/models/edit_pricing_schedule_request.rb +252 -0
  439. data/lib/togai_client/models/enriched_field.rb +288 -0
  440. data/lib/togai_client/models/enrichment_dependency.rb +297 -0
  441. data/lib/togai_client/models/enrichments.rb +234 -0
  442. data/lib/togai_client/models/entitlement_overage_config.rb +278 -0
  443. data/lib/togai_client/models/entitlement_overage_config_lookup_cycle.rb +258 -0
  444. data/lib/togai_client/models/entitlement_overage_entry.rb +256 -0
  445. data/lib/togai_client/models/entitlement_overage_rate_card.rb +324 -0
  446. data/lib/togai_client/models/entitlement_overage_revenue_summary.rb +221 -0
  447. data/lib/togai_client/models/error_response.rb +16 -19
  448. data/lib/togai_client/models/event.rb +104 -84
  449. data/lib/togai_client/models/event_attribute_schema.rb +22 -21
  450. data/lib/togai_client/models/event_correction_info.rb +384 -0
  451. data/lib/togai_client/models/event_correction_request.rb +215 -0
  452. data/lib/togai_client/models/event_pipeline_info.rb +76 -25
  453. data/lib/togai_client/models/event_pipeline_info_account.rb +31 -23
  454. data/lib/togai_client/models/event_pipeline_info_customer.rb +18 -19
  455. data/lib/togai_client/models/event_pipeline_info_enrichments.rb +238 -0
  456. data/lib/togai_client/models/event_pipeline_info_event_schema.rb +18 -19
  457. data/lib/togai_client/models/event_pipeline_info_feature_details.rb +255 -0
  458. data/lib/togai_client/models/event_pipeline_info_price_plans.rb +306 -0
  459. data/lib/togai_client/models/event_pipeline_info_revenue_details.rb +253 -0
  460. data/lib/togai_client/models/event_pipeline_info_usage_meters.rb +312 -0
  461. data/lib/togai_client/models/event_schema.rb +89 -29
  462. data/lib/togai_client/models/event_schema_list_data.rb +90 -31
  463. data/lib/togai_client/models/event_schema_list_paginated_response.rb +14 -19
  464. data/lib/togai_client/models/event_schema_versions_response.rb +16 -19
  465. data/lib/togai_client/models/event_schemas_for_feature.rb +259 -0
  466. data/lib/togai_client/models/event_source.rb +278 -0
  467. data/lib/togai_client/models/event_with_status.rb +94 -23
  468. data/lib/togai_client/models/event_with_status_and_event_pipeline_info.rb +100 -23
  469. data/lib/togai_client/models/events_correction_response.rb +252 -0
  470. data/lib/togai_client/models/expiry_type.rb +41 -0
  471. data/lib/togai_client/models/external_payment_reference.rb +309 -0
  472. data/lib/togai_client/models/feature.rb +365 -0
  473. data/lib/togai_client/models/feature_config.rb +266 -0
  474. data/lib/togai_client/models/feature_credit_entry.rb +387 -0
  475. data/lib/togai_client/models/feature_details.rb +238 -0
  476. data/lib/togai_client/models/feature_list_response.rb +343 -0
  477. data/lib/togai_client/models/feature_paginated_list_data.rb +234 -0
  478. data/lib/togai_client/models/field.rb +331 -0
  479. data/lib/togai_client/models/file_download_url_response.rb +221 -0
  480. data/lib/togai_client/models/finalize_account_schedules.rb +228 -0
  481. data/lib/togai_client/models/finalize_price_plan_request.rb +246 -0
  482. data/lib/togai_client/models/fixed_fee_rate_card.rb +354 -0
  483. data/lib/togai_client/models/fixed_fee_revenue_summary.rb +221 -0
  484. data/lib/togai_client/models/fixed_fee_type.rb +40 -0
  485. data/lib/togai_client/models/get_customer_portal_delegate_token_request.rb +255 -0
  486. data/lib/togai_client/models/get_entitlement_values_response.rb +223 -0
  487. data/lib/togai_client/models/get_entitlement_values_response_data_inner.rb +239 -0
  488. data/lib/togai_client/models/get_event_response.rb +16 -19
  489. data/lib/togai_client/models/get_events_response.rb +21 -20
  490. data/lib/togai_client/models/get_feature_credit_entries_paginated_response.rb +225 -0
  491. data/lib/togai_client/models/get_feature_credits_response.rb +333 -0
  492. data/lib/togai_client/models/get_job_response.rb +399 -0
  493. data/lib/togai_client/models/get_license_updates_response.rb +252 -0
  494. data/lib/togai_client/models/get_metrics_request.rb +22 -19
  495. data/lib/togai_client/models/get_metrics_response.rb +16 -19
  496. data/lib/togai_client/models/get_proposal_response.rb +536 -0
  497. data/lib/togai_client/models/get_purchase_response.rb +519 -0
  498. data/lib/togai_client/models/grant_details.rb +299 -0
  499. data/lib/togai_client/models/incident.rb +347 -0
  500. data/lib/togai_client/models/incidents_paginated_response.rb +232 -0
  501. data/lib/togai_client/models/ingest_batch_event_request.rb +21 -24
  502. data/lib/togai_client/models/ingest_event_request.rb +21 -19
  503. data/lib/togai_client/models/ingest_event_response.rb +76 -42
  504. data/lib/togai_client/models/ingestion_status.rb +23 -22
  505. data/lib/togai_client/models/invoice.rb +571 -0
  506. data/lib/togai_client/models/invoice_details.rb +259 -0
  507. data/lib/togai_client/models/invoice_details_account.rb +269 -0
  508. data/lib/togai_client/models/invoice_details_customer.rb +255 -0
  509. data/lib/togai_client/models/invoice_details_invoice_group.rb +294 -0
  510. data/lib/togai_client/models/invoice_details_organization.rb +264 -0
  511. data/lib/togai_client/models/invoice_group_accounts_paginated_response.rb +430 -0
  512. data/lib/togai_client/models/invoice_group_details.rb +330 -0
  513. data/lib/togai_client/models/invoice_group_paginated_response.rb +225 -0
  514. data/lib/togai_client/models/invoice_groups.rb +403 -0
  515. data/lib/togai_client/models/invoice_info_inner.rb +239 -0
  516. data/lib/togai_client/models/invoice_line_item.rb +381 -0
  517. data/lib/togai_client/models/invoice_summary.rb +520 -0
  518. data/lib/togai_client/models/invoice_timing.rb +41 -0
  519. data/lib/togai_client/models/invoices_class.rb +41 -0
  520. data/lib/togai_client/models/invoices_status.rb +47 -0
  521. data/lib/togai_client/models/invoices_type.rb +44 -0
  522. data/lib/togai_client/models/job_entries_paginated_response.rb +234 -0
  523. data/lib/togai_client/models/job_entries_response.rb +314 -0
  524. data/lib/togai_client/models/jobs_paginated_response.rb +234 -0
  525. data/lib/togai_client/models/jobs_without_status_info_response.rb +269 -0
  526. data/lib/togai_client/models/license_entries_config.rb +287 -0
  527. data/lib/togai_client/models/license_entries_config_lookup_cycle.rb +251 -0
  528. data/lib/togai_client/models/license_entries_config_lookup_range.rb +273 -0
  529. data/lib/togai_client/models/license_entry.rb +272 -0
  530. data/lib/togai_client/models/license_entry_details_update_request.rb +277 -0
  531. data/lib/togai_client/models/license_rate_card.rb +388 -0
  532. data/lib/togai_client/models/license_rate_card_config.rb +246 -0
  533. data/lib/togai_client/models/license_update.rb +320 -0
  534. data/lib/togai_client/models/license_update_request.rb +377 -0
  535. data/lib/togai_client/models/license_update_response.rb +342 -0
  536. data/lib/togai_client/models/list_credits_response.rb +280 -0
  537. data/lib/togai_client/models/list_invoices_response.rb +280 -0
  538. data/lib/togai_client/models/list_payment_response.rb +280 -0
  539. data/lib/togai_client/models/manage_miscellaneous_charges_request.rb +224 -0
  540. data/lib/togai_client/models/max_quantity_breach_action.rb +39 -0
  541. data/lib/togai_client/models/metric_data_points.rb +28 -29
  542. data/lib/togai_client/models/metric_data_points_grouped_by.rb +18 -19
  543. data/lib/togai_client/models/metric_name.rb +11 -4
  544. data/lib/togai_client/models/metric_query.rb +45 -24
  545. data/lib/togai_client/models/metric_query_filter_entry.rb +19 -20
  546. data/lib/togai_client/models/metric_query_response.rb +42 -19
  547. data/lib/togai_client/models/migration_mode.rb +44 -0
  548. data/lib/togai_client/models/minimum_commitment.rb +258 -0
  549. data/lib/togai_client/models/miscellaneous_charge.rb +265 -0
  550. data/lib/togai_client/models/miscellaneous_charges_response.rb +224 -0
  551. data/lib/togai_client/models/model_alias.rb +238 -0
  552. data/lib/togai_client/models/named_license_entries_config.rb +287 -0
  553. data/lib/togai_client/models/named_license_entries_config_lookup_cycle.rb +251 -0
  554. data/lib/togai_client/models/named_license_entries_config_lookup_range.rb +273 -0
  555. data/lib/togai_client/models/named_license_entry.rb +281 -0
  556. data/lib/togai_client/models/named_license_update.rb +396 -0
  557. data/lib/togai_client/models/named_license_updates_paginated_response.rb +252 -0
  558. data/lib/togai_client/models/pagination_options.rb +14 -19
  559. data/lib/togai_client/models/payment.rb +380 -0
  560. data/lib/togai_client/models/payment_line_item_record.rb +290 -0
  561. data/lib/togai_client/models/plan_override.rb +64 -20
  562. data/lib/togai_client/models/pre_action.rb +269 -0
  563. data/lib/togai_client/models/price_plan.rb +59 -21
  564. data/lib/togai_client/models/price_plan_details.rb +182 -45
  565. data/lib/togai_client/models/price_plan_details_config.rb +344 -0
  566. data/lib/togai_client/models/price_plan_details_override.rb +135 -35
  567. data/lib/togai_client/models/price_plan_info.rb +230 -0
  568. data/lib/togai_client/models/price_plan_list_data.rb +116 -25
  569. data/lib/togai_client/models/price_plan_migration_config.rb +368 -0
  570. data/lib/togai_client/models/price_plan_paginated_response.rb +16 -19
  571. data/lib/togai_client/models/price_plan_type.rb +40 -0
  572. data/lib/togai_client/models/price_plan_v2.rb +519 -0
  573. data/lib/togai_client/models/price_plan_v2_paginated_response.rb +233 -0
  574. data/lib/togai_client/models/price_type.rb +7 -4
  575. data/lib/togai_client/models/pricing_cycle_config.rb +34 -67
  576. data/lib/togai_client/models/pricing_cycle_config_start_offset.rb +20 -21
  577. data/lib/togai_client/models/pricing_cycle_interval.rb +43 -0
  578. data/lib/togai_client/models/pricing_model.rb +7 -4
  579. data/lib/togai_client/models/pricing_rule.rb +382 -0
  580. data/lib/togai_client/models/pricing_rule_action.rb +293 -0
  581. data/lib/togai_client/models/pricing_rule_changes_log.rb +290 -0
  582. data/lib/togai_client/models/pricing_rule_info.rb +249 -0
  583. data/lib/togai_client/models/pricing_rule_timing.rb +40 -0
  584. data/lib/togai_client/models/pricing_rules_log.rb +318 -0
  585. data/lib/togai_client/models/pricing_rules_logs_paginated_response.rb +224 -0
  586. data/lib/togai_client/models/pricing_rules_paginated_response.rb +223 -0
  587. data/lib/togai_client/models/pricing_rules_values.rb +223 -0
  588. data/lib/togai_client/models/pricing_schedule.rb +100 -23
  589. data/lib/togai_client/models/pricing_schedule_paginated_response.rb +234 -0
  590. data/lib/togai_client/models/pricing_schedule_with_price_plan_id.rb +365 -0
  591. data/lib/togai_client/models/proposal.rb +536 -0
  592. data/lib/togai_client/models/proposals_list_response.rb +390 -0
  593. data/lib/togai_client/models/proposals_paginated_response.rb +234 -0
  594. data/lib/togai_client/models/prorated_refund_mode.rb +42 -0
  595. data/lib/togai_client/models/proration_config.rb +275 -0
  596. data/lib/togai_client/models/proration_config_custom_config.rb +254 -0
  597. data/lib/togai_client/models/proration_config_lookup_cycle_config.rb +261 -0
  598. data/lib/togai_client/models/purchase.rb +493 -0
  599. data/lib/togai_client/models/purchase_feature_details.rb +317 -0
  600. data/lib/togai_client/models/purchase_list_response.rb +393 -0
  601. data/lib/togai_client/models/purchase_paginated_list_data.rb +234 -0
  602. data/lib/togai_client/models/purchase_plan_override.rb +296 -0
  603. data/lib/togai_client/models/purchase_status.rb +46 -0
  604. data/lib/togai_client/models/purchase_type.rb +42 -0
  605. data/lib/togai_client/models/query_column.rb +259 -0
  606. data/lib/togai_client/models/query_filter.rb +255 -0
  607. data/lib/togai_client/models/query_function.rb +239 -0
  608. data/lib/togai_client/models/query_input.rb +295 -0
  609. data/lib/togai_client/models/query_input_sort_inner.rb +237 -0
  610. data/lib/togai_client/models/rate_card.rb +342 -38
  611. data/lib/togai_client/models/rate_card_data.rb +370 -0
  612. data/lib/togai_client/models/rate_card_details.rb +269 -0
  613. data/lib/togai_client/models/rate_card_operation.rb +302 -0
  614. data/lib/togai_client/models/rate_card_paginated_response.rb +233 -0
  615. data/lib/togai_client/models/rate_card_type.rb +13 -5
  616. data/lib/togai_client/models/rate_plan.rb +282 -0
  617. data/lib/togai_client/models/rate_value.rb +270 -0
  618. data/lib/togai_client/models/recurrence_config.rb +225 -0
  619. data/lib/togai_client/models/remove_account_alias_request.rb +232 -0
  620. data/lib/togai_client/models/remove_account_aliases_request.rb +30 -49
  621. data/lib/togai_client/models/report.rb +362 -0
  622. data/lib/togai_client/models/report_status.rb +43 -0
  623. data/lib/togai_client/models/report_type.rb +41 -0
  624. data/lib/togai_client/models/reports_paginated_response.rb +226 -0
  625. data/lib/togai_client/models/revenue_info.rb +335 -0
  626. data/lib/togai_client/models/revenue_info_v2.rb +297 -0
  627. data/lib/togai_client/models/revenue_summary_with_metadata.rb +255 -0
  628. data/lib/togai_client/models/schedule_info.rb +250 -0
  629. data/lib/togai_client/models/schedules_paginated_response.rb +241 -0
  630. data/lib/togai_client/models/setting.rb +340 -0
  631. data/lib/togai_client/models/setting_data_type.rb +42 -0
  632. data/lib/togai_client/models/setting_paginated_response.rb +234 -0
  633. data/lib/togai_client/models/slab.rb +315 -0
  634. data/lib/togai_client/models/slab_detail.rb +298 -0
  635. data/lib/togai_client/models/slab_rate.rb +249 -0
  636. data/lib/togai_client/models/slab_revenue.rb +281 -0
  637. data/lib/togai_client/models/slab_revenue_metadata.rb +232 -0
  638. data/lib/togai_client/models/slab_revenue_summary.rb +262 -0
  639. data/lib/togai_client/models/slab_revenue_with_metadata.rb +299 -0
  640. data/lib/togai_client/models/token_response.rb +221 -0
  641. data/lib/togai_client/models/topup_wallet_request.rb +222 -0
  642. data/lib/togai_client/models/update_account_request.rb +196 -26
  643. data/lib/togai_client/models/update_account_schedule_v2_request.rb +303 -0
  644. data/lib/togai_client/models/update_add_on_request.rb +264 -0
  645. data/lib/togai_client/models/update_alert_request.rb +274 -0
  646. data/lib/togai_client/models/update_customer_request.rb +36 -49
  647. data/lib/togai_client/models/update_event_schema_request.rb +68 -38
  648. data/lib/togai_client/models/update_feature_credits_request.rb +225 -0
  649. data/lib/togai_client/models/update_feature_request.rb +295 -0
  650. data/lib/togai_client/models/update_incident_status_request.rb +256 -0
  651. data/lib/togai_client/models/update_invoice_group_accounts.rb +252 -0
  652. data/lib/togai_client/models/update_invoice_request.rb +317 -0
  653. data/lib/togai_client/models/update_price_plan_request.rb +81 -25
  654. data/lib/togai_client/models/update_price_plan_v2_request.rb +266 -0
  655. data/lib/togai_client/models/update_pricing_rules_request.rb +216 -0
  656. data/lib/togai_client/models/update_pricing_schedule_request.rb +323 -0
  657. data/lib/togai_client/models/update_pricing_schedule_request_with_actions.rb +343 -0
  658. data/lib/togai_client/models/update_pricing_schedule_response.rb +276 -0
  659. data/lib/togai_client/models/update_proposal_status.rb +256 -0
  660. data/lib/togai_client/models/update_setting_request.rb +255 -0
  661. data/lib/togai_client/models/update_usage_meter_request.rb +105 -50
  662. data/lib/togai_client/models/update_wallet_request.rb +246 -0
  663. data/lib/togai_client/models/usage_config.rb +287 -0
  664. data/lib/togai_client/models/usage_config_lookup_cycle.rb +250 -0
  665. data/lib/togai_client/models/usage_config_lookup_range.rb +273 -0
  666. data/lib/togai_client/models/usage_cycle_interval.rb +43 -0
  667. data/lib/togai_client/models/usage_lookup_range.rb +238 -0
  668. data/lib/togai_client/models/usage_meter.rb +156 -39
  669. data/lib/togai_client/models/usage_meter_aggregation.rb +40 -0
  670. data/lib/togai_client/models/usage_meter_filter_entry.rb +238 -0
  671. data/lib/togai_client/models/usage_meter_paginated_response.rb +14 -19
  672. data/lib/togai_client/models/usage_rate_card.rb +285 -0
  673. data/lib/togai_client/models/validate_entitlement_value_request.rb +222 -0
  674. data/lib/togai_client/models/validated_entity_error.rb +273 -0
  675. data/lib/togai_client/models/validated_entity_errors_paginated_response.rb +232 -0
  676. data/lib/togai_client/models/versions_to_migrate.rb +40 -0
  677. data/lib/togai_client/models/wallet_balance_response.rb +388 -0
  678. data/lib/togai_client/models/wallet_entries_paginated_response.rb +280 -0
  679. data/lib/togai_client/models/wallet_entry.rb +421 -0
  680. data/lib/togai_client/models/wallet_status.rb +40 -0
  681. data/lib/togai_client/models/wallet_topup_details.rb +233 -0
  682. data/lib/togai_client/version.rb +2 -2
  683. data/lib/togai_client.rb +279 -21
  684. data/spec/spec_helper.rb +1 -1
  685. data/togai_client.gemspec +4 -3
  686. metadata +561 -5
@@ -0,0 +1,310 @@
1
+ =begin
2
+ #Togai Apis
3
+
4
+ #APIs for Togai App
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: engg@togai.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.10.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module TogaiClient
16
+ class WalletApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Top-up wallet for an account
23
+ # Top-up wallet for an account
24
+ # @param account_id [String] account_id corresponding to an account
25
+ # @param [Hash] opts the optional parameters
26
+ # @option opts [TopupWalletRequest] :topup_wallet_request Payload to topup wallet of an account
27
+ # @return [WalletBalanceResponse]
28
+ def top_up_wallet_for_account(account_id, opts = {})
29
+ data, _status_code, _headers = top_up_wallet_for_account_with_http_info(account_id, opts)
30
+ data
31
+ end
32
+
33
+ # Top-up wallet for an account
34
+ # Top-up wallet for an account
35
+ # @param account_id [String] account_id corresponding to an account
36
+ # @param [Hash] opts the optional parameters
37
+ # @option opts [TopupWalletRequest] :topup_wallet_request Payload to topup wallet of an account
38
+ # @return [Array<(WalletBalanceResponse, Integer, Hash)>] WalletBalanceResponse data, response status code and response headers
39
+ def top_up_wallet_for_account_with_http_info(account_id, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: WalletApi.top_up_wallet_for_account ...'
42
+ end
43
+ # verify the required parameter 'account_id' is set
44
+ if @api_client.config.client_side_validation && account_id.nil?
45
+ fail ArgumentError, "Missing the required parameter 'account_id' when calling WalletApi.top_up_wallet_for_account"
46
+ end
47
+ if @api_client.config.client_side_validation && account_id.to_s.length > 50
48
+ fail ArgumentError, 'invalid value for "account_id" when calling WalletApi.top_up_wallet_for_account, the character length must be smaller than or equal to 50.'
49
+ end
50
+
51
+ # resource path
52
+ local_var_path = '/accounts/{account_id}/wallet_topup'.sub('{' + 'account_id' + '}', CGI.escape(account_id.to_s))
53
+
54
+ # query parameters
55
+ query_params = opts[:query_params] || {}
56
+
57
+ # header parameters
58
+ header_params = opts[:header_params] || {}
59
+ # HTTP header 'Accept' (if needed)
60
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
61
+ # HTTP header 'Content-Type'
62
+ content_type = @api_client.select_header_content_type(['application/json'])
63
+ if !content_type.nil?
64
+ header_params['Content-Type'] = content_type
65
+ end
66
+
67
+ # form parameters
68
+ form_params = opts[:form_params] || {}
69
+
70
+ # http body (model)
71
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'topup_wallet_request'])
72
+
73
+ # return_type
74
+ return_type = opts[:debug_return_type] || 'WalletBalanceResponse'
75
+
76
+ # auth_names
77
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
78
+
79
+ new_options = opts.merge(
80
+ :operation => :"WalletApi.top_up_wallet_for_account",
81
+ :header_params => header_params,
82
+ :query_params => query_params,
83
+ :form_params => form_params,
84
+ :body => post_body,
85
+ :auth_names => auth_names,
86
+ :return_type => return_type
87
+ )
88
+
89
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
90
+ if @api_client.config.debugging
91
+ @api_client.config.logger.debug "API called: WalletApi#top_up_wallet_for_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
92
+ end
93
+ return data, status_code, headers
94
+ end
95
+
96
+ # Update wallet details for an account
97
+ # Update wallet details for an account
98
+ # @param account_id [String] account_id corresponding to an account
99
+ # @param [Hash] opts the optional parameters
100
+ # @option opts [UpdateWalletRequest] :update_wallet_request Payload to update wallet of an account
101
+ # @return [WalletBalanceResponse]
102
+ def update_wallet_for_account(account_id, opts = {})
103
+ data, _status_code, _headers = update_wallet_for_account_with_http_info(account_id, opts)
104
+ data
105
+ end
106
+
107
+ # Update wallet details for an account
108
+ # Update wallet details for an account
109
+ # @param account_id [String] account_id corresponding to an account
110
+ # @param [Hash] opts the optional parameters
111
+ # @option opts [UpdateWalletRequest] :update_wallet_request Payload to update wallet of an account
112
+ # @return [Array<(WalletBalanceResponse, Integer, Hash)>] WalletBalanceResponse data, response status code and response headers
113
+ def update_wallet_for_account_with_http_info(account_id, opts = {})
114
+ if @api_client.config.debugging
115
+ @api_client.config.logger.debug 'Calling API: WalletApi.update_wallet_for_account ...'
116
+ end
117
+ # verify the required parameter 'account_id' is set
118
+ if @api_client.config.client_side_validation && account_id.nil?
119
+ fail ArgumentError, "Missing the required parameter 'account_id' when calling WalletApi.update_wallet_for_account"
120
+ end
121
+ if @api_client.config.client_side_validation && account_id.to_s.length > 50
122
+ fail ArgumentError, 'invalid value for "account_id" when calling WalletApi.update_wallet_for_account, the character length must be smaller than or equal to 50.'
123
+ end
124
+
125
+ # resource path
126
+ local_var_path = '/accounts/{account_id}/wallet'.sub('{' + 'account_id' + '}', CGI.escape(account_id.to_s))
127
+
128
+ # query parameters
129
+ query_params = opts[:query_params] || {}
130
+
131
+ # header parameters
132
+ header_params = opts[:header_params] || {}
133
+ # HTTP header 'Accept' (if needed)
134
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
135
+ # HTTP header 'Content-Type'
136
+ content_type = @api_client.select_header_content_type(['application/json'])
137
+ if !content_type.nil?
138
+ header_params['Content-Type'] = content_type
139
+ end
140
+
141
+ # form parameters
142
+ form_params = opts[:form_params] || {}
143
+
144
+ # http body (model)
145
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'update_wallet_request'])
146
+
147
+ # return_type
148
+ return_type = opts[:debug_return_type] || 'WalletBalanceResponse'
149
+
150
+ # auth_names
151
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
152
+
153
+ new_options = opts.merge(
154
+ :operation => :"WalletApi.update_wallet_for_account",
155
+ :header_params => header_params,
156
+ :query_params => query_params,
157
+ :form_params => form_params,
158
+ :body => post_body,
159
+ :auth_names => auth_names,
160
+ :return_type => return_type
161
+ )
162
+
163
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
164
+ if @api_client.config.debugging
165
+ @api_client.config.logger.debug "API called: WalletApi#update_wallet_for_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
166
+ end
167
+ return data, status_code, headers
168
+ end
169
+
170
+ # Wallet balance for Account
171
+ # Wallet balance for Account
172
+ # @param account_id [String] account_id corresponding to an account
173
+ # @param [Hash] opts the optional parameters
174
+ # @return [WalletBalanceResponse]
175
+ def wallet_balance_for_account(account_id, opts = {})
176
+ data, _status_code, _headers = wallet_balance_for_account_with_http_info(account_id, opts)
177
+ data
178
+ end
179
+
180
+ # Wallet balance for Account
181
+ # Wallet balance for Account
182
+ # @param account_id [String] account_id corresponding to an account
183
+ # @param [Hash] opts the optional parameters
184
+ # @return [Array<(WalletBalanceResponse, Integer, Hash)>] WalletBalanceResponse data, response status code and response headers
185
+ def wallet_balance_for_account_with_http_info(account_id, opts = {})
186
+ if @api_client.config.debugging
187
+ @api_client.config.logger.debug 'Calling API: WalletApi.wallet_balance_for_account ...'
188
+ end
189
+ # verify the required parameter 'account_id' is set
190
+ if @api_client.config.client_side_validation && account_id.nil?
191
+ fail ArgumentError, "Missing the required parameter 'account_id' when calling WalletApi.wallet_balance_for_account"
192
+ end
193
+ if @api_client.config.client_side_validation && account_id.to_s.length > 50
194
+ fail ArgumentError, 'invalid value for "account_id" when calling WalletApi.wallet_balance_for_account, the character length must be smaller than or equal to 50.'
195
+ end
196
+
197
+ # resource path
198
+ local_var_path = '/accounts/{account_id}/wallet'.sub('{' + 'account_id' + '}', CGI.escape(account_id.to_s))
199
+
200
+ # query parameters
201
+ query_params = opts[:query_params] || {}
202
+
203
+ # header parameters
204
+ header_params = opts[:header_params] || {}
205
+ # HTTP header 'Accept' (if needed)
206
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
207
+
208
+ # form parameters
209
+ form_params = opts[:form_params] || {}
210
+
211
+ # http body (model)
212
+ post_body = opts[:debug_body]
213
+
214
+ # return_type
215
+ return_type = opts[:debug_return_type] || 'WalletBalanceResponse'
216
+
217
+ # auth_names
218
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
219
+
220
+ new_options = opts.merge(
221
+ :operation => :"WalletApi.wallet_balance_for_account",
222
+ :header_params => header_params,
223
+ :query_params => query_params,
224
+ :form_params => form_params,
225
+ :body => post_body,
226
+ :auth_names => auth_names,
227
+ :return_type => return_type
228
+ )
229
+
230
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
231
+ if @api_client.config.debugging
232
+ @api_client.config.logger.debug "API called: WalletApi#wallet_balance_for_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
233
+ end
234
+ return data, status_code, headers
235
+ end
236
+
237
+ # Wallet entries for Account
238
+ # Wallet entries for Account
239
+ # @param account_id [String] account_id corresponding to an account
240
+ # @param [Hash] opts the optional parameters
241
+ # @option opts [String] :next_token Pagination token used as a marker to get records from next page.
242
+ # @option opts [Integer] :page_size Maximum page size expected by client to return the record list. NOTE: Max page size cannot be more than 50. Also 50 is the default page size if no value is provided.
243
+ # @return [WalletEntriesPaginatedResponse]
244
+ def wallet_entries_for_account(account_id, opts = {})
245
+ data, _status_code, _headers = wallet_entries_for_account_with_http_info(account_id, opts)
246
+ data
247
+ end
248
+
249
+ # Wallet entries for Account
250
+ # Wallet entries for Account
251
+ # @param account_id [String] account_id corresponding to an account
252
+ # @param [Hash] opts the optional parameters
253
+ # @option opts [String] :next_token Pagination token used as a marker to get records from next page.
254
+ # @option opts [Integer] :page_size Maximum page size expected by client to return the record list. NOTE: Max page size cannot be more than 50. Also 50 is the default page size if no value is provided.
255
+ # @return [Array<(WalletEntriesPaginatedResponse, Integer, Hash)>] WalletEntriesPaginatedResponse data, response status code and response headers
256
+ def wallet_entries_for_account_with_http_info(account_id, opts = {})
257
+ if @api_client.config.debugging
258
+ @api_client.config.logger.debug 'Calling API: WalletApi.wallet_entries_for_account ...'
259
+ end
260
+ # verify the required parameter 'account_id' is set
261
+ if @api_client.config.client_side_validation && account_id.nil?
262
+ fail ArgumentError, "Missing the required parameter 'account_id' when calling WalletApi.wallet_entries_for_account"
263
+ end
264
+ if @api_client.config.client_side_validation && account_id.to_s.length > 50
265
+ fail ArgumentError, 'invalid value for "account_id" when calling WalletApi.wallet_entries_for_account, the character length must be smaller than or equal to 50.'
266
+ end
267
+
268
+ # resource path
269
+ local_var_path = '/accounts/{account_id}/wallet/entries'.sub('{' + 'account_id' + '}', CGI.escape(account_id.to_s))
270
+
271
+ # query parameters
272
+ query_params = opts[:query_params] || {}
273
+ query_params[:'nextToken'] = opts[:'next_token'] if !opts[:'next_token'].nil?
274
+ query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
275
+
276
+ # header parameters
277
+ header_params = opts[:header_params] || {}
278
+ # HTTP header 'Accept' (if needed)
279
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
280
+
281
+ # form parameters
282
+ form_params = opts[:form_params] || {}
283
+
284
+ # http body (model)
285
+ post_body = opts[:debug_body]
286
+
287
+ # return_type
288
+ return_type = opts[:debug_return_type] || 'WalletEntriesPaginatedResponse'
289
+
290
+ # auth_names
291
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
292
+
293
+ new_options = opts.merge(
294
+ :operation => :"WalletApi.wallet_entries_for_account",
295
+ :header_params => header_params,
296
+ :query_params => query_params,
297
+ :form_params => form_params,
298
+ :body => post_body,
299
+ :auth_names => auth_names,
300
+ :return_type => return_type
301
+ )
302
+
303
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
304
+ if @api_client.config.debugging
305
+ @api_client.config.logger.debug "API called: WalletApi#wallet_entries_for_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
306
+ end
307
+ return data, status_code, headers
308
+ end
309
+ end
310
+ end
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0
7
7
  Contact: engg@togai.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 6.1.0
9
+ Generator version: 7.10.0
10
10
 
11
11
  =end
12
12
 
@@ -17,6 +17,7 @@ require 'tempfile'
17
17
  require 'time'
18
18
  require 'typhoeus'
19
19
 
20
+
20
21
  module TogaiClient
21
22
  class ApiClient
22
23
  # The Configuration object holding settings to be used in the API client.
@@ -45,9 +46,10 @@ module TogaiClient
45
46
  # Call an API with given options.
46
47
  #
47
48
  # @return [Array<(Object, Integer, Hash)>] an array of 3 elements:
48
- # the data deserialized from response body (could be nil), response status code and response headers.
49
+ # the data deserialized from response body (may be a Tempfile or nil), response status code and response headers.
49
50
  def call_api(http_method, path, opts = {})
50
51
  request = build_request(http_method, path, opts)
52
+ tempfile = download_file(request) if opts[:return_type] == 'File'
51
53
  response = request.run
52
54
 
53
55
  if @config.debugging
@@ -69,7 +71,9 @@ module TogaiClient
69
71
  end
70
72
  end
71
73
 
72
- if opts[:return_type]
74
+ if opts[:return_type] == 'File'
75
+ data = tempfile
76
+ elsif opts[:return_type]
73
77
  data = deserialize(response, opts[:return_type])
74
78
  else
75
79
  data = nil
@@ -125,9 +129,7 @@ module TogaiClient
125
129
  end
126
130
  end
127
131
 
128
- request = Typhoeus::Request.new(url, req_opts)
129
- download_file(request) if opts[:return_type] == 'File'
130
- request
132
+ Typhoeus::Request.new(url, req_opts)
131
133
  end
132
134
 
133
135
  # Builds the HTTP request body
@@ -165,6 +167,8 @@ module TogaiClient
165
167
  # process can use.
166
168
  #
167
169
  # @see Configuration#temp_folder_path
170
+ #
171
+ # @return [Tempfile] the tempfile generated
168
172
  def download_file(request)
169
173
  tempfile = nil
170
174
  encoding = nil
@@ -179,21 +183,24 @@ module TogaiClient
179
183
  prefix = prefix + '-' unless prefix.end_with?('-')
180
184
  encoding = response.body.encoding
181
185
  tempfile = Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding)
182
- @tempfile = tempfile
183
186
  end
184
187
  request.on_body do |chunk|
185
188
  chunk.force_encoding(encoding)
186
189
  tempfile.write(chunk)
187
190
  end
188
- request.on_complete do |response|
189
- if tempfile
190
- tempfile.close
191
- @config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\
192
- "with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\
193
- "will be deleted automatically with GC. It's also recommended to delete the temp file "\
194
- "explicitly with `tempfile.delete`"
195
- end
191
+ # run the request to ensure the tempfile is created successfully before returning it
192
+ request.run
193
+ if tempfile
194
+ tempfile.close
195
+ @config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\
196
+ "with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\
197
+ "will be deleted automatically with GC. It's also recommended to delete the temp file "\
198
+ "explicitly with `tempfile.delete`"
199
+ else
200
+ fail ApiError.new("Failed to create the tempfile based on the HTTP response from the server: #{request.inspect}")
196
201
  end
202
+
203
+ tempfile
197
204
  end
198
205
 
199
206
  # Check if the given MIME is a JSON MIME.
@@ -205,7 +212,7 @@ module TogaiClient
205
212
  # @param [String] mime MIME
206
213
  # @return [Boolean] True if the MIME is application/json
207
214
  def json_mime?(mime)
208
- (mime == '*/*') || !(mime =~ /Application\/.*json(?!p)(;.*)?/i).nil?
215
+ (mime == '*/*') || !(mime =~ /^Application\/.*json(?!p)(;.*)?/i).nil?
209
216
  end
210
217
 
211
218
  # Deserialize the response to the given return type.
@@ -214,15 +221,10 @@ module TogaiClient
214
221
  # @param [String] return_type some examples: "User", "Array<User>", "Hash<String, Integer>"
215
222
  def deserialize(response, return_type)
216
223
  body = response.body
217
-
218
- # handle file downloading - return the File instance processed in request callbacks
219
- # note that response body is empty when the file is written in chunks in request on_body callback
220
- return @tempfile if return_type == 'File'
221
-
222
224
  return nil if body.nil? || body.empty?
223
225
 
224
226
  # return response body directly for String return type
225
- return body if return_type == 'String'
227
+ return body.to_s if return_type == 'String'
226
228
 
227
229
  # ensuring a default content type
228
230
  content_type = response.headers['Content-Type'] || 'application/json'
@@ -289,7 +291,7 @@ module TogaiClient
289
291
  # @param [String] filename the filename to be sanitized
290
292
  # @return [String] the sanitized filename
291
293
  def sanitize_filename(filename)
292
- filename.gsub(/.*[\/\\]/, '')
294
+ filename.split(/[\/\\]/).last
293
295
  end
294
296
 
295
297
  def build_request_url(path, opts = {})
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0
7
7
  Contact: engg@togai.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 6.1.0
9
+ Generator version: 7.10.0
10
10
 
11
11
  =end
12
12
 
@@ -32,6 +32,7 @@ module TogaiClient
32
32
  end
33
33
  else
34
34
  super arg
35
+ @message = arg
35
36
  end
36
37
  end
37
38
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0
7
7
  Contact: engg@togai.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 6.1.0
9
+ Generator version: 7.10.0
10
10
 
11
11
  =end
12
12
 
@@ -62,6 +62,16 @@ module TogaiClient
62
62
  # Defines the access token (Bearer) used with OAuth2.
63
63
  attr_accessor :access_token
64
64
 
65
+ # Defines a Proc used to fetch or refresh access tokens (Bearer) used with OAuth2.
66
+ # Overrides the access_token if set
67
+ # @return [Proc]
68
+ attr_accessor :access_token_getter
69
+
70
+ # Set this to return data as binary instead of downloading a temp file. When enabled (set to true)
71
+ # HTTP responses with return type `File` will be returned as a stream of binary data.
72
+ # Default to false.
73
+ attr_accessor :return_binary_data
74
+
65
75
  # Set this to enable/disable debugging. When enabled (set to true), HTTP request/response
66
76
  # details will be logged with `logger.debug` (see the `logger` attribute).
67
77
  # Default to false.
@@ -69,6 +79,14 @@ module TogaiClient
69
79
  # @return [true, false]
70
80
  attr_accessor :debugging
71
81
 
82
+ # Set this to ignore operation servers for the API client. This is useful when you need to
83
+ # send requests to a different server than the one specified in the OpenAPI document.
84
+ # Will default to the base url defined in the spec but can be overridden by setting
85
+ # `scheme`, `host`, `base_path` directly.
86
+ # Default to false.
87
+ # @return [true, false]
88
+ attr_accessor :ignore_operation_servers
89
+
72
90
  # Defines the logger used for debugging.
73
91
  # Default to `Rails.logger` (when in Rails) or logging to STDOUT.
74
92
  #
@@ -140,9 +158,9 @@ module TogaiClient
140
158
 
141
159
  def initialize
142
160
  @scheme = 'https'
143
- @host = 'sandbox-api.togai.com'
161
+ @host = 'api.togai.com'
144
162
  @base_path = ''
145
- @server_index = 0
163
+ @server_index = nil
146
164
  @server_operation_index = {}
147
165
  @server_variables = {}
148
166
  @server_operation_variables = {}
@@ -156,6 +174,7 @@ module TogaiClient
156
174
  @timeout = 0
157
175
  @params_encoding = nil
158
176
  @debugging = false
177
+ @ignore_operation_servers = false
159
178
  @inject_format = false
160
179
  @force_ending_format = false
161
180
  @logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
@@ -190,10 +209,13 @@ module TogaiClient
190
209
 
191
210
  # Returns base URL for specified operation based on server settings
192
211
  def base_url(operation = nil)
193
- index = server_operation_index.fetch(operation, server_index)
194
- return "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') if index == nil
195
-
196
- server_url(index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation])
212
+ return "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') if ignore_operation_servers
213
+ if operation_server_settings.key?(operation) then
214
+ index = server_operation_index.fetch(operation, server_index)
215
+ server_url(index.nil? ? 0 : index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation])
216
+ else
217
+ server_index.nil? ? "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') : server_url(server_index, server_variables, nil)
218
+ end
197
219
  end
198
220
 
199
221
  # Gets API key (with prefix if set).
@@ -208,6 +230,12 @@ module TogaiClient
208
230
  end
209
231
  end
210
232
 
233
+ # Gets access_token using access_token_getter or uses the static access_token
234
+ def access_token_with_refresh
235
+ return access_token if access_token_getter.nil?
236
+ access_token_getter.call
237
+ end
238
+
211
239
  # Gets Basic Auth token string
212
240
  def basic_auth_token
213
241
  'Basic ' + ["#{username}:#{password}"].pack('m').delete("\r\n")
@@ -216,20 +244,20 @@ module TogaiClient
216
244
  # Returns Auth Settings hash for api client.
217
245
  def auth_settings
218
246
  {
219
- 'apiKeyAuth' =>
220
- {
221
- type: 'api_key',
222
- in: 'header',
223
- key: 'X-API-Key',
224
- value: api_key_with_prefix('apiKeyAuth')
225
- },
226
247
  'bearerAuth' =>
227
248
  {
228
249
  type: 'bearer',
229
250
  in: 'header',
230
251
  format: 'Bearer <credential>',
231
252
  key: 'Authorization',
232
- value: "Bearer #{access_token}"
253
+ value: "Bearer #{access_token_with_refresh}"
254
+ },
255
+ 'apiKeyAuth' =>
256
+ {
257
+ type: 'api_key',
258
+ in: 'header',
259
+ key: 'X-API-Key',
260
+ value: api_key_with_prefix('X-API-Key')
233
261
  },
234
262
  }
235
263
  end
@@ -237,9 +265,13 @@ module TogaiClient
237
265
  # Returns an array of Server setting
238
266
  def server_settings
239
267
  [
268
+ {
269
+ url: "https://api.togai.com",
270
+ description: "Api endpoint",
271
+ },
240
272
  {
241
273
  url: "https://sandbox-api.togai.com",
242
- description: "Sandbox server",
274
+ description: "Sandbox api endpoint",
243
275
  }
244
276
  ]
245
277
  end
@@ -257,8 +289,8 @@ module TogaiClient
257
289
  servers = server_settings if servers == nil
258
290
 
259
291
  # check array index out of bound
260
- if (index < 0 || index >= servers.size)
261
- fail ArgumentError, "Invalid index #{index} when selecting the server. Must be less than #{servers.size}"
292
+ if (index.nil? || index < 0 || index >= servers.size)
293
+ fail ArgumentError, "Invalid index #{index} when selecting the server. Must not be nil and must be less than #{servers.size}"
262
294
  end
263
295
 
264
296
  server = servers[index]
@@ -283,5 +315,6 @@ module TogaiClient
283
315
  url
284
316
  end
285
317
 
318
+
286
319
  end
287
320
  end