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
@@ -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
 
@@ -15,15 +15,71 @@ require 'time'
15
15
 
16
16
  module TogaiClient
17
17
  class PricePlanDetails
18
+ attr_accessor :supported_currencies
19
+
20
+ attr_accessor :active_currencies
21
+
18
22
  attr_accessor :pricing_cycle_config
19
23
 
20
- attr_accessor :rate_cards
24
+ attr_accessor :usage_rate_cards
25
+
26
+ attr_accessor :fixed_fee_rate_cards
27
+
28
+ attr_accessor :license_rate_cards
29
+
30
+ attr_accessor :billing_entitlement_rate_cards
31
+
32
+ attr_accessor :entitlement_overage_rate_cards
33
+
34
+ attr_accessor :minimum_commitment
35
+
36
+ attr_accessor :credit_grant_rate_cards
37
+
38
+ attr_accessor :type
39
+
40
+ attr_accessor :deferred_revenue
41
+
42
+ # Allow changes to price plan from the beginning of the ongoing cycle. type: boolean
43
+ attr_accessor :allow_ongoing_cycle_updates
44
+
45
+ class EnumAttributeValidator
46
+ attr_reader :datatype
47
+ attr_reader :allowable_values
48
+
49
+ def initialize(datatype, allowable_values)
50
+ @allowable_values = allowable_values.map do |value|
51
+ case datatype.to_s
52
+ when /Integer/i
53
+ value.to_i
54
+ when /Float/i
55
+ value.to_f
56
+ else
57
+ value
58
+ end
59
+ end
60
+ end
61
+
62
+ def valid?(value)
63
+ !value || allowable_values.include?(value)
64
+ end
65
+ end
21
66
 
22
67
  # Attribute mapping from ruby-style variable name to JSON key.
23
68
  def self.attribute_map
24
69
  {
70
+ :'supported_currencies' => :'supportedCurrencies',
71
+ :'active_currencies' => :'activeCurrencies',
25
72
  :'pricing_cycle_config' => :'pricingCycleConfig',
26
- :'rate_cards' => :'rateCards'
73
+ :'usage_rate_cards' => :'usageRateCards',
74
+ :'fixed_fee_rate_cards' => :'fixedFeeRateCards',
75
+ :'license_rate_cards' => :'licenseRateCards',
76
+ :'billing_entitlement_rate_cards' => :'billingEntitlementRateCards',
77
+ :'entitlement_overage_rate_cards' => :'entitlementOverageRateCards',
78
+ :'minimum_commitment' => :'minimumCommitment',
79
+ :'credit_grant_rate_cards' => :'creditGrantRateCards',
80
+ :'type' => :'type',
81
+ :'deferred_revenue' => :'deferredRevenue',
82
+ :'allow_ongoing_cycle_updates' => :'allow_ongoing_cycle_updates'
27
83
  }
28
84
  end
29
85
 
@@ -35,14 +91,26 @@ module TogaiClient
35
91
  # Attribute type mapping.
36
92
  def self.openapi_types
37
93
  {
94
+ :'supported_currencies' => :'Array<String>',
95
+ :'active_currencies' => :'Array<String>',
38
96
  :'pricing_cycle_config' => :'PricingCycleConfig',
39
- :'rate_cards' => :'Array<RateCard>'
97
+ :'usage_rate_cards' => :'Array<UsageRateCard>',
98
+ :'fixed_fee_rate_cards' => :'Array<FixedFeeRateCard>',
99
+ :'license_rate_cards' => :'Array<LicenseRateCard>',
100
+ :'billing_entitlement_rate_cards' => :'Array<BillingEntitlementRateCard>',
101
+ :'entitlement_overage_rate_cards' => :'Array<EntitlementOverageRateCard>',
102
+ :'minimum_commitment' => :'MinimumCommitment',
103
+ :'credit_grant_rate_cards' => :'Array<CreditGrantRateCard>',
104
+ :'type' => :'PricePlanType',
105
+ :'deferred_revenue' => :'Boolean',
106
+ :'allow_ongoing_cycle_updates' => :'Object'
40
107
  }
41
108
  end
42
109
 
43
110
  # List of attributes with nullable: true
44
111
  def self.openapi_nullable
45
112
  Set.new([
113
+ :'allow_ongoing_cycle_updates'
46
114
  ])
47
115
  end
48
116
 
@@ -61,31 +129,90 @@ module TogaiClient
61
129
  h[k.to_sym] = v
62
130
  }
63
131
 
132
+ if attributes.key?(:'supported_currencies')
133
+ if (value = attributes[:'supported_currencies']).is_a?(Array)
134
+ self.supported_currencies = value
135
+ end
136
+ else
137
+ self.supported_currencies = nil
138
+ end
139
+
140
+ if attributes.key?(:'active_currencies')
141
+ if (value = attributes[:'active_currencies']).is_a?(Array)
142
+ self.active_currencies = value
143
+ end
144
+ else
145
+ self.active_currencies = nil
146
+ end
147
+
64
148
  if attributes.key?(:'pricing_cycle_config')
65
149
  self.pricing_cycle_config = attributes[:'pricing_cycle_config']
66
150
  end
67
151
 
68
- if attributes.key?(:'rate_cards')
69
- if (value = attributes[:'rate_cards']).is_a?(Array)
70
- self.rate_cards = value
152
+ if attributes.key?(:'usage_rate_cards')
153
+ if (value = attributes[:'usage_rate_cards']).is_a?(Array)
154
+ self.usage_rate_cards = value
71
155
  end
72
156
  end
157
+
158
+ if attributes.key?(:'fixed_fee_rate_cards')
159
+ if (value = attributes[:'fixed_fee_rate_cards']).is_a?(Array)
160
+ self.fixed_fee_rate_cards = value
161
+ end
162
+ end
163
+
164
+ if attributes.key?(:'license_rate_cards')
165
+ if (value = attributes[:'license_rate_cards']).is_a?(Array)
166
+ self.license_rate_cards = value
167
+ end
168
+ end
169
+
170
+ if attributes.key?(:'billing_entitlement_rate_cards')
171
+ if (value = attributes[:'billing_entitlement_rate_cards']).is_a?(Array)
172
+ self.billing_entitlement_rate_cards = value
173
+ end
174
+ end
175
+
176
+ if attributes.key?(:'entitlement_overage_rate_cards')
177
+ if (value = attributes[:'entitlement_overage_rate_cards']).is_a?(Array)
178
+ self.entitlement_overage_rate_cards = value
179
+ end
180
+ end
181
+
182
+ if attributes.key?(:'minimum_commitment')
183
+ self.minimum_commitment = attributes[:'minimum_commitment']
184
+ end
185
+
186
+ if attributes.key?(:'credit_grant_rate_cards')
187
+ if (value = attributes[:'credit_grant_rate_cards']).is_a?(Array)
188
+ self.credit_grant_rate_cards = value
189
+ end
190
+ end
191
+
192
+ if attributes.key?(:'type')
193
+ self.type = attributes[:'type']
194
+ end
195
+
196
+ if attributes.key?(:'deferred_revenue')
197
+ self.deferred_revenue = attributes[:'deferred_revenue']
198
+ end
199
+
200
+ if attributes.key?(:'allow_ongoing_cycle_updates')
201
+ self.allow_ongoing_cycle_updates = attributes[:'allow_ongoing_cycle_updates']
202
+ end
73
203
  end
74
204
 
75
205
  # Show invalid properties with the reasons. Usually used together with valid?
76
206
  # @return Array for valid properties with the reasons
77
207
  def list_invalid_properties
208
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
78
209
  invalid_properties = Array.new
79
- if @pricing_cycle_config.nil?
80
- invalid_properties.push('invalid value for "pricing_cycle_config", pricing_cycle_config cannot be nil.')
210
+ if @supported_currencies.nil?
211
+ invalid_properties.push('invalid value for "supported_currencies", supported_currencies cannot be nil.')
81
212
  end
82
213
 
83
- if @rate_cards.nil?
84
- invalid_properties.push('invalid value for "rate_cards", rate_cards cannot be nil.')
85
- end
86
-
87
- if @rate_cards.length < 1
88
- invalid_properties.push('invalid value for "rate_cards", number of items must be greater than or equal to 1.')
214
+ if @active_currencies.nil?
215
+ invalid_properties.push('invalid value for "active_currencies", active_currencies cannot be nil.')
89
216
  end
90
217
 
91
218
  invalid_properties
@@ -94,24 +221,30 @@ module TogaiClient
94
221
  # Check to see if the all the properties in the model are valid
95
222
  # @return true if the model is valid
96
223
  def valid?
97
- return false if @pricing_cycle_config.nil?
98
- return false if @rate_cards.nil?
99
- return false if @rate_cards.length < 1
224
+ warn '[DEPRECATED] the `valid?` method is obsolete'
225
+ return false if @supported_currencies.nil?
226
+ return false if @active_currencies.nil?
100
227
  true
101
228
  end
102
229
 
103
230
  # Custom attribute writer method with validation
104
- # @param [Object] rate_cards Value to be assigned
105
- def rate_cards=(rate_cards)
106
- if rate_cards.nil?
107
- fail ArgumentError, 'rate_cards cannot be nil'
231
+ # @param [Object] supported_currencies Value to be assigned
232
+ def supported_currencies=(supported_currencies)
233
+ if supported_currencies.nil?
234
+ fail ArgumentError, 'supported_currencies cannot be nil'
108
235
  end
109
236
 
110
- if rate_cards.length < 1
111
- fail ArgumentError, 'invalid value for "rate_cards", number of items must be greater than or equal to 1.'
237
+ @supported_currencies = supported_currencies
238
+ end
239
+
240
+ # Custom attribute writer method with validation
241
+ # @param [Object] active_currencies Value to be assigned
242
+ def active_currencies=(active_currencies)
243
+ if active_currencies.nil?
244
+ fail ArgumentError, 'active_currencies cannot be nil'
112
245
  end
113
246
 
114
- @rate_cards = rate_cards
247
+ @active_currencies = active_currencies
115
248
  end
116
249
 
117
250
  # Checks equality by comparing each attribute.
@@ -119,8 +252,19 @@ module TogaiClient
119
252
  def ==(o)
120
253
  return true if self.equal?(o)
121
254
  self.class == o.class &&
255
+ supported_currencies == o.supported_currencies &&
256
+ active_currencies == o.active_currencies &&
122
257
  pricing_cycle_config == o.pricing_cycle_config &&
123
- rate_cards == o.rate_cards
258
+ usage_rate_cards == o.usage_rate_cards &&
259
+ fixed_fee_rate_cards == o.fixed_fee_rate_cards &&
260
+ license_rate_cards == o.license_rate_cards &&
261
+ billing_entitlement_rate_cards == o.billing_entitlement_rate_cards &&
262
+ entitlement_overage_rate_cards == o.entitlement_overage_rate_cards &&
263
+ minimum_commitment == o.minimum_commitment &&
264
+ credit_grant_rate_cards == o.credit_grant_rate_cards &&
265
+ type == o.type &&
266
+ deferred_revenue == o.deferred_revenue &&
267
+ allow_ongoing_cycle_updates == o.allow_ongoing_cycle_updates
124
268
  end
125
269
 
126
270
  # @see the `==` method
@@ -132,44 +276,37 @@ module TogaiClient
132
276
  # Calculates hash code according to all attributes.
133
277
  # @return [Integer] Hash code
134
278
  def hash
135
- [pricing_cycle_config, rate_cards].hash
279
+ [supported_currencies, active_currencies, pricing_cycle_config, usage_rate_cards, fixed_fee_rate_cards, license_rate_cards, billing_entitlement_rate_cards, entitlement_overage_rate_cards, minimum_commitment, credit_grant_rate_cards, type, deferred_revenue, allow_ongoing_cycle_updates].hash
136
280
  end
137
281
 
138
282
  # Builds the object from hash
139
283
  # @param [Hash] attributes Model attributes in the form of hash
140
284
  # @return [Object] Returns the model itself
141
285
  def self.build_from_hash(attributes)
142
- new.build_from_hash(attributes)
143
- end
144
-
145
- # Builds the object from hash
146
- # @param [Hash] attributes Model attributes in the form of hash
147
- # @return [Object] Returns the model itself
148
- def build_from_hash(attributes)
149
286
  return nil unless attributes.is_a?(Hash)
150
287
  attributes = attributes.transform_keys(&:to_sym)
151
- self.class.openapi_types.each_pair do |key, type|
152
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
153
- self.send("#{key}=", nil)
288
+ transformed_hash = {}
289
+ openapi_types.each_pair do |key, type|
290
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
291
+ transformed_hash["#{key}"] = nil
154
292
  elsif type =~ /\AArray<(.*)>/i
155
293
  # check to ensure the input is an array given that the attribute
156
294
  # is documented as an array but the input is not
157
- if attributes[self.class.attribute_map[key]].is_a?(Array)
158
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
295
+ if attributes[attribute_map[key]].is_a?(Array)
296
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
159
297
  end
160
- elsif !attributes[self.class.attribute_map[key]].nil?
161
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
298
+ elsif !attributes[attribute_map[key]].nil?
299
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
162
300
  end
163
301
  end
164
-
165
- self
302
+ new(transformed_hash)
166
303
  end
167
304
 
168
305
  # Deserializes the data based on type
169
306
  # @param string type Data type
170
307
  # @param string value Value to be deserialized
171
308
  # @return [Object] Deserialized data
172
- def _deserialize(type, value)
309
+ def self._deserialize(type, value)
173
310
  case type.to_sym
174
311
  when :Time
175
312
  Time.parse(value)
@@ -204,7 +341,7 @@ module TogaiClient
204
341
  else # model
205
342
  # models (e.g. Pet) or oneOf
206
343
  klass = TogaiClient.const_get(type)
207
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
344
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
208
345
  end
209
346
  end
210
347
 
@@ -0,0 +1,344 @@
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 'date'
14
+ require 'time'
15
+
16
+ module TogaiClient
17
+ # Configuration for getting the usage rate card
18
+ class PricePlanDetailsConfig
19
+ # Mode to get the usage rate card - CUSTOM: Use the price plan details provided in the request - PRICE_PLAN: Use the usage rate cards of the given price plan - ACCOUNT: Use the usage rate cards of a associated price plan of the given account
20
+ attr_accessor :mode
21
+
22
+ attr_accessor :price_plan_details
23
+
24
+ # Id of the price plan, this will be considered if mode is PRICE_PLAN
25
+ attr_accessor :price_plan_id
26
+
27
+ # Id of the account, this will be considered if mode is ACCOUNT
28
+ attr_accessor :account_id
29
+
30
+ # Will be used for getting the usage rate card, only used if mode is ACCOUNT or PRICE_PLAN
31
+ attr_accessor :effective_on
32
+
33
+ # nth cycle, will be used to calculate revenue for the particular cycle, only used if mode is CUSTOM or PRICE_PLAN
34
+ attr_accessor :pricing_cycle_ordinal
35
+
36
+ class EnumAttributeValidator
37
+ attr_reader :datatype
38
+ attr_reader :allowable_values
39
+
40
+ def initialize(datatype, allowable_values)
41
+ @allowable_values = allowable_values.map do |value|
42
+ case datatype.to_s
43
+ when /Integer/i
44
+ value.to_i
45
+ when /Float/i
46
+ value.to_f
47
+ else
48
+ value
49
+ end
50
+ end
51
+ end
52
+
53
+ def valid?(value)
54
+ !value || allowable_values.include?(value)
55
+ end
56
+ end
57
+
58
+ # Attribute mapping from ruby-style variable name to JSON key.
59
+ def self.attribute_map
60
+ {
61
+ :'mode' => :'mode',
62
+ :'price_plan_details' => :'pricePlanDetails',
63
+ :'price_plan_id' => :'pricePlanId',
64
+ :'account_id' => :'accountId',
65
+ :'effective_on' => :'effectiveOn',
66
+ :'pricing_cycle_ordinal' => :'pricingCycleOrdinal'
67
+ }
68
+ end
69
+
70
+ # Returns all the JSON keys this model knows about
71
+ def self.acceptable_attributes
72
+ attribute_map.values
73
+ end
74
+
75
+ # Attribute type mapping.
76
+ def self.openapi_types
77
+ {
78
+ :'mode' => :'String',
79
+ :'price_plan_details' => :'CreatePricePlanDetails',
80
+ :'price_plan_id' => :'String',
81
+ :'account_id' => :'String',
82
+ :'effective_on' => :'Time',
83
+ :'pricing_cycle_ordinal' => :'Integer'
84
+ }
85
+ end
86
+
87
+ # List of attributes with nullable: true
88
+ def self.openapi_nullable
89
+ Set.new([
90
+ ])
91
+ end
92
+
93
+ # Initializes the object
94
+ # @param [Hash] attributes Model attributes in the form of hash
95
+ def initialize(attributes = {})
96
+ if (!attributes.is_a?(Hash))
97
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TogaiClient::PricePlanDetailsConfig` initialize method"
98
+ end
99
+
100
+ # check to see if the attribute exists and convert string to symbol for hash key
101
+ attributes = attributes.each_with_object({}) { |(k, v), h|
102
+ if (!self.class.attribute_map.key?(k.to_sym))
103
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TogaiClient::PricePlanDetailsConfig`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
104
+ end
105
+ h[k.to_sym] = v
106
+ }
107
+
108
+ if attributes.key?(:'mode')
109
+ self.mode = attributes[:'mode']
110
+ else
111
+ self.mode = nil
112
+ end
113
+
114
+ if attributes.key?(:'price_plan_details')
115
+ self.price_plan_details = attributes[:'price_plan_details']
116
+ end
117
+
118
+ if attributes.key?(:'price_plan_id')
119
+ self.price_plan_id = attributes[:'price_plan_id']
120
+ end
121
+
122
+ if attributes.key?(:'account_id')
123
+ self.account_id = attributes[:'account_id']
124
+ end
125
+
126
+ if attributes.key?(:'effective_on')
127
+ self.effective_on = attributes[:'effective_on']
128
+ end
129
+
130
+ if attributes.key?(:'pricing_cycle_ordinal')
131
+ self.pricing_cycle_ordinal = attributes[:'pricing_cycle_ordinal']
132
+ end
133
+ end
134
+
135
+ # Show invalid properties with the reasons. Usually used together with valid?
136
+ # @return Array for valid properties with the reasons
137
+ def list_invalid_properties
138
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
139
+ invalid_properties = Array.new
140
+ if @mode.nil?
141
+ invalid_properties.push('invalid value for "mode", mode cannot be nil.')
142
+ end
143
+
144
+ if !@price_plan_id.nil? && @price_plan_id.to_s.length < 1
145
+ invalid_properties.push('invalid value for "price_plan_id", the character length must be great than or equal to 1.')
146
+ end
147
+
148
+ if !@account_id.nil? && @account_id.to_s.length < 1
149
+ invalid_properties.push('invalid value for "account_id", the character length must be great than or equal to 1.')
150
+ end
151
+
152
+ invalid_properties
153
+ end
154
+
155
+ # Check to see if the all the properties in the model are valid
156
+ # @return true if the model is valid
157
+ def valid?
158
+ warn '[DEPRECATED] the `valid?` method is obsolete'
159
+ return false if @mode.nil?
160
+ mode_validator = EnumAttributeValidator.new('String', ["CUSTOM", "PRICE_PLAN", "ACCOUNT"])
161
+ return false unless mode_validator.valid?(@mode)
162
+ return false if !@price_plan_id.nil? && @price_plan_id.to_s.length < 1
163
+ return false if !@account_id.nil? && @account_id.to_s.length < 1
164
+ true
165
+ end
166
+
167
+ # Custom attribute writer method checking allowed values (enum).
168
+ # @param [Object] mode Object to be assigned
169
+ def mode=(mode)
170
+ validator = EnumAttributeValidator.new('String', ["CUSTOM", "PRICE_PLAN", "ACCOUNT"])
171
+ unless validator.valid?(mode)
172
+ fail ArgumentError, "invalid value for \"mode\", must be one of #{validator.allowable_values}."
173
+ end
174
+ @mode = mode
175
+ end
176
+
177
+ # Custom attribute writer method with validation
178
+ # @param [Object] price_plan_id Value to be assigned
179
+ def price_plan_id=(price_plan_id)
180
+ if price_plan_id.nil?
181
+ fail ArgumentError, 'price_plan_id cannot be nil'
182
+ end
183
+
184
+ if price_plan_id.to_s.length < 1
185
+ fail ArgumentError, 'invalid value for "price_plan_id", the character length must be great than or equal to 1.'
186
+ end
187
+
188
+ @price_plan_id = price_plan_id
189
+ end
190
+
191
+ # Custom attribute writer method with validation
192
+ # @param [Object] account_id Value to be assigned
193
+ def account_id=(account_id)
194
+ if account_id.nil?
195
+ fail ArgumentError, 'account_id cannot be nil'
196
+ end
197
+
198
+ if account_id.to_s.length < 1
199
+ fail ArgumentError, 'invalid value for "account_id", the character length must be great than or equal to 1.'
200
+ end
201
+
202
+ @account_id = account_id
203
+ end
204
+
205
+ # Checks equality by comparing each attribute.
206
+ # @param [Object] Object to be compared
207
+ def ==(o)
208
+ return true if self.equal?(o)
209
+ self.class == o.class &&
210
+ mode == o.mode &&
211
+ price_plan_details == o.price_plan_details &&
212
+ price_plan_id == o.price_plan_id &&
213
+ account_id == o.account_id &&
214
+ effective_on == o.effective_on &&
215
+ pricing_cycle_ordinal == o.pricing_cycle_ordinal
216
+ end
217
+
218
+ # @see the `==` method
219
+ # @param [Object] Object to be compared
220
+ def eql?(o)
221
+ self == o
222
+ end
223
+
224
+ # Calculates hash code according to all attributes.
225
+ # @return [Integer] Hash code
226
+ def hash
227
+ [mode, price_plan_details, price_plan_id, account_id, effective_on, pricing_cycle_ordinal].hash
228
+ end
229
+
230
+ # Builds the object from hash
231
+ # @param [Hash] attributes Model attributes in the form of hash
232
+ # @return [Object] Returns the model itself
233
+ def self.build_from_hash(attributes)
234
+ return nil unless attributes.is_a?(Hash)
235
+ attributes = attributes.transform_keys(&:to_sym)
236
+ transformed_hash = {}
237
+ openapi_types.each_pair do |key, type|
238
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
239
+ transformed_hash["#{key}"] = nil
240
+ elsif type =~ /\AArray<(.*)>/i
241
+ # check to ensure the input is an array given that the attribute
242
+ # is documented as an array but the input is not
243
+ if attributes[attribute_map[key]].is_a?(Array)
244
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
245
+ end
246
+ elsif !attributes[attribute_map[key]].nil?
247
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
248
+ end
249
+ end
250
+ new(transformed_hash)
251
+ end
252
+
253
+ # Deserializes the data based on type
254
+ # @param string type Data type
255
+ # @param string value Value to be deserialized
256
+ # @return [Object] Deserialized data
257
+ def self._deserialize(type, value)
258
+ case type.to_sym
259
+ when :Time
260
+ Time.parse(value)
261
+ when :Date
262
+ Date.parse(value)
263
+ when :String
264
+ value.to_s
265
+ when :Integer
266
+ value.to_i
267
+ when :Float
268
+ value.to_f
269
+ when :Boolean
270
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
271
+ true
272
+ else
273
+ false
274
+ end
275
+ when :Object
276
+ # generic object (usually a Hash), return directly
277
+ value
278
+ when /\AArray<(?<inner_type>.+)>\z/
279
+ inner_type = Regexp.last_match[:inner_type]
280
+ value.map { |v| _deserialize(inner_type, v) }
281
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
282
+ k_type = Regexp.last_match[:k_type]
283
+ v_type = Regexp.last_match[:v_type]
284
+ {}.tap do |hash|
285
+ value.each do |k, v|
286
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
287
+ end
288
+ end
289
+ else # model
290
+ # models (e.g. Pet) or oneOf
291
+ klass = TogaiClient.const_get(type)
292
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
293
+ end
294
+ end
295
+
296
+ # Returns the string representation of the object
297
+ # @return [String] String presentation of the object
298
+ def to_s
299
+ to_hash.to_s
300
+ end
301
+
302
+ # to_body is an alias to to_hash (backward compatibility)
303
+ # @return [Hash] Returns the object in the form of hash
304
+ def to_body
305
+ to_hash
306
+ end
307
+
308
+ # Returns the object in the form of hash
309
+ # @return [Hash] Returns the object in the form of hash
310
+ def to_hash
311
+ hash = {}
312
+ self.class.attribute_map.each_pair do |attr, param|
313
+ value = self.send(attr)
314
+ if value.nil?
315
+ is_nullable = self.class.openapi_nullable.include?(attr)
316
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
317
+ end
318
+
319
+ hash[param] = _to_hash(value)
320
+ end
321
+ hash
322
+ end
323
+
324
+ # Outputs non-array value in the form of hash
325
+ # For object, use to_hash. Otherwise, just return the value
326
+ # @param [Object] value Any valid value
327
+ # @return [Hash] Returns the value in the form of hash
328
+ def _to_hash(value)
329
+ if value.is_a?(Array)
330
+ value.compact.map { |v| _to_hash(v) }
331
+ elsif value.is_a?(Hash)
332
+ {}.tap do |hash|
333
+ value.each { |k, v| hash[k] = _to_hash(v) }
334
+ end
335
+ elsif value.respond_to? :to_hash
336
+ value.to_hash
337
+ else
338
+ value
339
+ end
340
+ end
341
+
342
+ end
343
+
344
+ end