lockally 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (630) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/LICENSE +21 -0
  4. data/README.md +481 -0
  5. data/Rakefile +10 -0
  6. data/docs/APIKey.md +32 -0
  7. data/docs/ActivateAddOn200Response.md +24 -0
  8. data/docs/AddCalendarMemberRequest.md +20 -0
  9. data/docs/AddContactListMemberRequest.md +18 -0
  10. data/docs/AddOn.md +28 -0
  11. data/docs/AddOnsApi.md +275 -0
  12. data/docs/AddSharedMemberRequest.md +20 -0
  13. data/docs/Admin.md +30 -0
  14. data/docs/AdminApi.md +205 -0
  15. data/docs/AdminFull.md +36 -0
  16. data/docs/AdminsApi.md +283 -0
  17. data/docs/AgentsApi.md +927 -0
  18. data/docs/AiApi.md +282 -0
  19. data/docs/AliasesApi.md +211 -0
  20. data/docs/ApiKeysApi.md +213 -0
  21. data/docs/AuditEvent.md +26 -0
  22. data/docs/BatchLookupPublicKeys200Response.md +18 -0
  23. data/docs/BatchLookupPublicKeys200ResponseDataInner.md +22 -0
  24. data/docs/BatchResult.md +26 -0
  25. data/docs/BillingApi.md +208 -0
  26. data/docs/BillingStatus.md +46 -0
  27. data/docs/Calendar.md +38 -0
  28. data/docs/CalendarEvent.md +40 -0
  29. data/docs/CalendarIntegration.md +34 -0
  30. data/docs/CalendarMember.md +28 -0
  31. data/docs/CalendarPolicies.md +40 -0
  32. data/docs/CalendarsApi.md +1445 -0
  33. data/docs/Contact.md +44 -0
  34. data/docs/ContactList.md +32 -0
  35. data/docs/ContactListsApi.md +483 -0
  36. data/docs/ContactsApi.md +426 -0
  37. data/docs/CreateBillingCheckout200Response.md +20 -0
  38. data/docs/CreateBillingCheckoutRequest.md +18 -0
  39. data/docs/CreateCalendarEventRequest.md +28 -0
  40. data/docs/CreateCalendarIntegrationRequest.md +20 -0
  41. data/docs/CreateCalendarRequest.md +26 -0
  42. data/docs/CreateContactListRequest.md +22 -0
  43. data/docs/CreateContactRequest.md +32 -0
  44. data/docs/CreateDedicatedIPRequestRequest.md +18 -0
  45. data/docs/CreateDistributionListRequest.md +22 -0
  46. data/docs/CreateEncryptionKey201Response.md +22 -0
  47. data/docs/CreateEncryptionKeyRequest.md +24 -0
  48. data/docs/CreateEncryptionRecoveryRequest.md +20 -0
  49. data/docs/CreateMigrationCredentialRequest.md +22 -0
  50. data/docs/CreateMigrationCredentialRequestCredentials.md +26 -0
  51. data/docs/CreateMigrationRequest.md +24 -0
  52. data/docs/CreateResourceRequest.md +22 -0
  53. data/docs/CreateUnitsCheckout200Response.md +22 -0
  54. data/docs/CreateUnitsCheckoutRequest.md +18 -0
  55. data/docs/CreateUserRequest.md +26 -0
  56. data/docs/DNSRecord.md +28 -0
  57. data/docs/DashboardApi.md +462 -0
  58. data/docs/DedicatedIPRequest.md +30 -0
  59. data/docs/DirectoryApi.md +533 -0
  60. data/docs/DirectoryPermissions.md +30 -0
  61. data/docs/DiscoverMigration202Response.md +18 -0
  62. data/docs/DistributionListDetail.md +30 -0
  63. data/docs/DistributionListSummary.md +28 -0
  64. data/docs/DistributionListsApi.md +345 -0
  65. data/docs/Domain.md +36 -0
  66. data/docs/DomainsApi.md +351 -0
  67. data/docs/DraftsApi.md +503 -0
  68. data/docs/EncryptionApi.md +345 -0
  69. data/docs/GALSettings.md +36 -0
  70. data/docs/GetAddOnStatus200Response.md +22 -0
  71. data/docs/GetAuditSummary200Response.md +26 -0
  72. data/docs/GetCalendarSecurity200Response.md +32 -0
  73. data/docs/GetCalendarSecurity200ResponseAlertsInner.md +20 -0
  74. data/docs/GetCalendarSecurity200ResponseDelegatedAccessInner.md +26 -0
  75. data/docs/GetCalendarSecurity200ResponseExternalSharing.md +22 -0
  76. data/docs/GetCalendarSecurity200ResponsePublicCalendarListInner.md +26 -0
  77. data/docs/GetContactList200Response.md +20 -0
  78. data/docs/GetContactList200ResponseMembersInner.md +22 -0
  79. data/docs/GetContactLists200Response.md +18 -0
  80. data/docs/GetContactLists200ResponseDataInner.md +22 -0
  81. data/docs/GetDirectoryActivity200Response.md +18 -0
  82. data/docs/GetDirectoryActivity200ResponseDataInner.md +24 -0
  83. data/docs/GetDirectoryStats200Response.md +28 -0
  84. data/docs/GetDomainsStatus200Response.md +20 -0
  85. data/docs/GetDomainsStatus200ResponseDomainsInner.md +22 -0
  86. data/docs/GetDomainsStatus200ResponseDomainsInnerChecksInner.md +22 -0
  87. data/docs/GetEncryptionKey200Response.md +28 -0
  88. data/docs/GetIPAssignment200Response.md +26 -0
  89. data/docs/GetIntegrationsSummary200Response.md +30 -0
  90. data/docs/GetIntegrationsSummary200ResponseApiKeysInner.md +22 -0
  91. data/docs/GetIntegrationsSummary200ResponseWebhooksInner.md +24 -0
  92. data/docs/GetSecurity200Response.md +22 -0
  93. data/docs/GetSecurity200ResponseAlertsInner.md +22 -0
  94. data/docs/GetSecurity200ResponseStatsInner.md +22 -0
  95. data/docs/GetStorage200Response.md +28 -0
  96. data/docs/GetStorage200ResponseTopMailboxesInner.md +20 -0
  97. data/docs/GetStorage200ResponseTopMessagesInner.md +26 -0
  98. data/docs/GetUserInsights200Response.md +28 -0
  99. data/docs/HealthApi.md +69 -0
  100. data/docs/HealthzGet200Response.md +20 -0
  101. data/docs/IpPoolsApi.md +205 -0
  102. data/docs/ListAddOns200Response.md +18 -0
  103. data/docs/ListCalendarEvents200Response.md +18 -0
  104. data/docs/ListCalendarIntegrations200Response.md +18 -0
  105. data/docs/ListCalendarMembers200Response.md +18 -0
  106. data/docs/ListCalendars200Response.md +18 -0
  107. data/docs/ListContactLists200Response.md +18 -0
  108. data/docs/ListContacts200Response.md +18 -0
  109. data/docs/ListDedicatedIPRequests200Response.md +18 -0
  110. data/docs/ListDistributionLists200Response.md +18 -0
  111. data/docs/ListMigrationCredentials200Response.md +18 -0
  112. data/docs/ListMigrationEvents200Response.md +18 -0
  113. data/docs/ListMigrationMailboxes200Response.md +18 -0
  114. data/docs/ListMigrations200Response.md +18 -0
  115. data/docs/ListResources200Response.md +18 -0
  116. data/docs/ListSharedMembers200Response.md +18 -0
  117. data/docs/ListUsers200Response.md +20 -0
  118. data/docs/Mailbox.md +38 -0
  119. data/docs/MailboxesApi.md +980 -0
  120. data/docs/MapMigrationRequest.md +18 -0
  121. data/docs/MapMigrationRequestMappingsInner.md +20 -0
  122. data/docs/Message.md +38 -0
  123. data/docs/MessageStats.md +26 -0
  124. data/docs/MessageStatsCounts.md +24 -0
  125. data/docs/MessageStatsRates.md +24 -0
  126. data/docs/MessageStatsWindow.md +20 -0
  127. data/docs/Migration.md +44 -0
  128. data/docs/MigrationCredential.md +30 -0
  129. data/docs/MigrationEvent.md +36 -0
  130. data/docs/MigrationMailbox.md +54 -0
  131. data/docs/MigrationProgress.md +36 -0
  132. data/docs/MigrationProgressMailboxesInner.md +30 -0
  133. data/docs/MigrationSettings.md +26 -0
  134. data/docs/MigrationsApi.md +1434 -0
  135. data/docs/ModelAlias.md +26 -0
  136. data/docs/PlanCatalogEntry.md +36 -0
  137. data/docs/Problem.md +26 -0
  138. data/docs/ReplaceDistributionListMembers200Response.md +26 -0
  139. data/docs/ReplaceDistributionListMembersRequest.md +18 -0
  140. data/docs/Resource.md +32 -0
  141. data/docs/ResourcesApi.md +345 -0
  142. data/docs/RotateEncryptionKeyRequest.md +22 -0
  143. data/docs/SendApi.md +446 -0
  144. data/docs/SendMessage.md +42 -0
  145. data/docs/SharedMember.md +28 -0
  146. data/docs/SignupApi.md +70 -0
  147. data/docs/SignupRequest.md +26 -0
  148. data/docs/StartMigration202Response.md +20 -0
  149. data/docs/Suppression.md +24 -0
  150. data/docs/SuppressionsApi.md +284 -0
  151. data/docs/Template.md +30 -0
  152. data/docs/TemplateInput.md +24 -0
  153. data/docs/TemplatesApi.md +345 -0
  154. data/docs/Tenant.md +40 -0
  155. data/docs/TenantApi.md +141 -0
  156. data/docs/TestApi.md +74 -0
  157. data/docs/UnitBundle.md +26 -0
  158. data/docs/UpdateCalendarEventRequest.md +28 -0
  159. data/docs/UpdateCalendarIntegrationRequest.md +22 -0
  160. data/docs/UpdateCalendarMemberRequest.md +18 -0
  161. data/docs/UpdateCalendarPoliciesRequest.md +34 -0
  162. data/docs/UpdateCalendarRequest.md +26 -0
  163. data/docs/UpdateContactListRequest.md +22 -0
  164. data/docs/UpdateContactRequest.md +34 -0
  165. data/docs/UpdateDirectoryPermissionsRequest.md +24 -0
  166. data/docs/UpdateGALSettingsRequest.md +26 -0
  167. data/docs/UpdateMigrationMailboxRequest.md +20 -0
  168. data/docs/UpdateMigrationRequest.md +20 -0
  169. data/docs/UpdateResourceRequest.md +24 -0
  170. data/docs/UpdateUserRequest.md +26 -0
  171. data/docs/User.md +38 -0
  172. data/docs/UserEvent.md +22 -0
  173. data/docs/UsersApi.md +352 -0
  174. data/docs/V1AdminLoginPost200Response.md +24 -0
  175. data/docs/V1AdminLoginPostRequest.md +20 -0
  176. data/docs/V1AdminMeGet200Response.md +20 -0
  177. data/docs/V1AdminsGet200Response.md +18 -0
  178. data/docs/V1AdminsIdPatchRequest.md +24 -0
  179. data/docs/V1AdminsPostRequest.md +24 -0
  180. data/docs/V1AliasesGet200Response.md +18 -0
  181. data/docs/V1AliasesPostRequest.md +20 -0
  182. data/docs/V1ApiKeysGet200Response.md +18 -0
  183. data/docs/V1ApiKeysPost201Response.md +34 -0
  184. data/docs/V1ApiKeysPostRequest.md +20 -0
  185. data/docs/V1DomainsGet200Response.md +18 -0
  186. data/docs/V1DomainsPostRequest.md +18 -0
  187. data/docs/V1InboxesMailboxMessagesPostRequest.md +26 -0
  188. data/docs/V1MailboxesEmailExportPost201Response.md +22 -0
  189. data/docs/V1MailboxesEmailPatchRequest.md +22 -0
  190. data/docs/V1MailboxesEmailVacationPutRequest.md +20 -0
  191. data/docs/V1MailboxesGet200Response.md +20 -0
  192. data/docs/V1MailboxesPostRequest.md +22 -0
  193. data/docs/V1MessagesGet200Response.md +20 -0
  194. data/docs/V1SendBatchPost200Response.md +18 -0
  195. data/docs/V1SendBatchPostRequest.md +18 -0
  196. data/docs/V1SendPost202Response.md +24 -0
  197. data/docs/V1SendPostRequest.md +42 -0
  198. data/docs/V1SendPostRequestAttachmentsInner.md +22 -0
  199. data/docs/V1SuppressionsGet200Response.md +20 -0
  200. data/docs/V1SuppressionsPostRequest.md +20 -0
  201. data/docs/V1TemplatesGet200Response.md +18 -0
  202. data/docs/V1UsageGet200Response.md +42 -0
  203. data/docs/V1VacationGet200Response.md +18 -0
  204. data/docs/V1WebhooksGet200Response.md +18 -0
  205. data/docs/V1WebhooksIdPatchRequest.md +22 -0
  206. data/docs/V1WebhooksPostRequest.md +20 -0
  207. data/docs/VacationParams.md +24 -0
  208. data/docs/VacationResponder.md +30 -0
  209. data/docs/Webhook.md +38 -0
  210. data/docs/WebhooksApi.md +285 -0
  211. data/git_push.sh +57 -0
  212. data/lib/lockally/api/add_ons_api.rb +260 -0
  213. data/lib/lockally/api/admin_api.rb +204 -0
  214. data/lib/lockally/api/admins_api.rb +282 -0
  215. data/lib/lockally/api/agents_api.rb +900 -0
  216. data/lib/lockally/api/ai_api.rb +259 -0
  217. data/lib/lockally/api/aliases_api.rb +208 -0
  218. data/lib/lockally/api/api_keys_api.rb +210 -0
  219. data/lib/lockally/api/billing_api.rb +209 -0
  220. data/lib/lockally/api/calendars_api.rb +1390 -0
  221. data/lib/lockally/api/contact_lists_api.rb +476 -0
  222. data/lib/lockally/api/contacts_api.rb +413 -0
  223. data/lib/lockally/api/dashboard_api.rb +407 -0
  224. data/lib/lockally/api/directory_api.rb +484 -0
  225. data/lib/lockally/api/distribution_lists_api.rb +337 -0
  226. data/lib/lockally/api/domains_api.rb +334 -0
  227. data/lib/lockally/api/drafts_api.rb +487 -0
  228. data/lib/lockally/api/encryption_api.rb +343 -0
  229. data/lib/lockally/api/health_api.rb +79 -0
  230. data/lib/lockally/api/ip_pools_api.rb +198 -0
  231. data/lib/lockally/api/mailboxes_api.rb +946 -0
  232. data/lib/lockally/api/migrations_api.rb +1340 -0
  233. data/lib/lockally/api/resources_api.rb +337 -0
  234. data/lib/lockally/api/send_api.rb +453 -0
  235. data/lib/lockally/api/signup_api.rb +88 -0
  236. data/lib/lockally/api/suppressions_api.rb +282 -0
  237. data/lib/lockally/api/templates_api.rb +337 -0
  238. data/lib/lockally/api/tenant_api.rb +136 -0
  239. data/lib/lockally/api/test_api.rb +79 -0
  240. data/lib/lockally/api/users_api.rb +350 -0
  241. data/lib/lockally/api/webhooks_api.rb +284 -0
  242. data/lib/lockally/api_client.rb +441 -0
  243. data/lib/lockally/api_error.rb +58 -0
  244. data/lib/lockally/api_model_base.rb +88 -0
  245. data/lib/lockally/configuration.rb +404 -0
  246. data/lib/lockally/models/activate_add_on200_response.rb +242 -0
  247. data/lib/lockally/models/add_calendar_member_request.rb +209 -0
  248. data/lib/lockally/models/add_contact_list_member_request.rb +164 -0
  249. data/lib/lockally/models/add_on.rb +294 -0
  250. data/lib/lockally/models/add_shared_member_request.rb +209 -0
  251. data/lib/lockally/models/admin.rb +310 -0
  252. data/lib/lockally/models/admin_full.rb +362 -0
  253. data/lib/lockally/models/api_key.rb +315 -0
  254. data/lib/lockally/models/audit_event.rb +183 -0
  255. data/lib/lockally/models/batch_lookup_public_keys200_response.rb +149 -0
  256. data/lib/lockally/models/batch_lookup_public_keys200_response_data_inner.rb +165 -0
  257. data/lib/lockally/models/batch_result.rb +218 -0
  258. data/lib/lockally/models/billing_status.rb +507 -0
  259. data/lib/lockally/models/calendar.rb +363 -0
  260. data/lib/lockally/models/calendar_event.rb +416 -0
  261. data/lib/lockally/models/calendar_integration.rb +347 -0
  262. data/lib/lockally/models/calendar_member.rb +318 -0
  263. data/lib/lockally/models/calendar_policies.rb +297 -0
  264. data/lib/lockally/models/contact.rb +424 -0
  265. data/lib/lockally/models/contact_list.rb +353 -0
  266. data/lib/lockally/models/create_billing_checkout200_response.rb +190 -0
  267. data/lib/lockally/models/create_billing_checkout_request.rb +188 -0
  268. data/lib/lockally/models/create_calendar_event_request.rb +245 -0
  269. data/lib/lockally/models/create_calendar_integration_request.rb +197 -0
  270. data/lib/lockally/models/create_calendar_request.rb +236 -0
  271. data/lib/lockally/models/create_contact_list_request.rb +218 -0
  272. data/lib/lockally/models/create_contact_request.rb +280 -0
  273. data/lib/lockally/models/create_dedicated_ip_request_request.rb +164 -0
  274. data/lib/lockally/models/create_distribution_list_request.rb +184 -0
  275. data/lib/lockally/models/create_encryption_key201_response.rb +165 -0
  276. data/lib/lockally/models/create_encryption_key_request.rb +225 -0
  277. data/lib/lockally/models/create_encryption_recovery_request.rb +190 -0
  278. data/lib/lockally/models/create_migration_credential_request.rb +223 -0
  279. data/lib/lockally/models/create_migration_credential_request_credentials.rb +217 -0
  280. data/lib/lockally/models/create_migration_request.rb +225 -0
  281. data/lib/lockally/models/create_resource_request.rb +237 -0
  282. data/lib/lockally/models/create_units_checkout200_response.rb +216 -0
  283. data/lib/lockally/models/create_units_checkout_request.rb +188 -0
  284. data/lib/lockally/models/create_user_request.rb +234 -0
  285. data/lib/lockally/models/dedicated_ip_request.rb +293 -0
  286. data/lib/lockally/models/directory_permissions.rb +316 -0
  287. data/lib/lockally/models/discover_migration202_response.rb +164 -0
  288. data/lib/lockally/models/distribution_list_detail.rb +305 -0
  289. data/lib/lockally/models/distribution_list_summary.rb +277 -0
  290. data/lib/lockally/models/dns_record.rb +304 -0
  291. data/lib/lockally/models/domain.rb +367 -0
  292. data/lib/lockally/models/gal_settings.rb +354 -0
  293. data/lib/lockally/models/get_add_on_status200_response.rb +216 -0
  294. data/lib/lockally/models/get_audit_summary200_response.rb +189 -0
  295. data/lib/lockally/models/get_calendar_security200_response.rb +216 -0
  296. data/lib/lockally/models/get_calendar_security200_response_alerts_inner.rb +190 -0
  297. data/lib/lockally/models/get_calendar_security200_response_delegated_access_inner.rb +183 -0
  298. data/lib/lockally/models/get_calendar_security200_response_external_sharing.rb +165 -0
  299. data/lib/lockally/models/get_calendar_security200_response_public_calendar_list_inner.rb +183 -0
  300. data/lib/lockally/models/get_contact_list200_response.rb +158 -0
  301. data/lib/lockally/models/get_contact_list200_response_members_inner.rb +165 -0
  302. data/lib/lockally/models/get_contact_lists200_response.rb +149 -0
  303. data/lib/lockally/models/get_contact_lists200_response_data_inner.rb +165 -0
  304. data/lib/lockally/models/get_directory_activity200_response.rb +149 -0
  305. data/lib/lockally/models/get_directory_activity200_response_data_inner.rb +174 -0
  306. data/lib/lockally/models/get_directory_stats200_response.rb +192 -0
  307. data/lib/lockally/models/get_domains_status200_response.rb +158 -0
  308. data/lib/lockally/models/get_domains_status200_response_domains_inner.rb +167 -0
  309. data/lib/lockally/models/get_domains_status200_response_domains_inner_checks_inner.rb +199 -0
  310. data/lib/lockally/models/get_encryption_key200_response.rb +192 -0
  311. data/lib/lockally/models/get_integrations_summary200_response.rb +205 -0
  312. data/lib/lockally/models/get_integrations_summary200_response_api_keys_inner.rb +165 -0
  313. data/lib/lockally/models/get_integrations_summary200_response_webhooks_inner.rb +174 -0
  314. data/lib/lockally/models/get_ip_assignment200_response.rb +183 -0
  315. data/lib/lockally/models/get_security200_response.rb +203 -0
  316. data/lib/lockally/models/get_security200_response_alerts_inner.rb +199 -0
  317. data/lib/lockally/models/get_security200_response_stats_inner.rb +165 -0
  318. data/lib/lockally/models/get_storage200_response.rb +196 -0
  319. data/lib/lockally/models/get_storage200_response_top_mailboxes_inner.rb +156 -0
  320. data/lib/lockally/models/get_storage200_response_top_messages_inner.rb +185 -0
  321. data/lib/lockally/models/get_user_insights200_response.rb +198 -0
  322. data/lib/lockally/models/healthz_get200_response.rb +214 -0
  323. data/lib/lockally/models/list_add_ons200_response.rb +166 -0
  324. data/lib/lockally/models/list_calendar_events200_response.rb +149 -0
  325. data/lib/lockally/models/list_calendar_integrations200_response.rb +149 -0
  326. data/lib/lockally/models/list_calendar_members200_response.rb +149 -0
  327. data/lib/lockally/models/list_calendars200_response.rb +149 -0
  328. data/lib/lockally/models/list_contact_lists200_response.rb +149 -0
  329. data/lib/lockally/models/list_contacts200_response.rb +149 -0
  330. data/lib/lockally/models/list_dedicated_ip_requests200_response.rb +166 -0
  331. data/lib/lockally/models/list_distribution_lists200_response.rb +166 -0
  332. data/lib/lockally/models/list_migration_credentials200_response.rb +166 -0
  333. data/lib/lockally/models/list_migration_events200_response.rb +166 -0
  334. data/lib/lockally/models/list_migration_mailboxes200_response.rb +166 -0
  335. data/lib/lockally/models/list_migrations200_response.rb +166 -0
  336. data/lib/lockally/models/list_resources200_response.rb +149 -0
  337. data/lib/lockally/models/list_shared_members200_response.rb +166 -0
  338. data/lib/lockally/models/list_users200_response.rb +192 -0
  339. data/lib/lockally/models/mailbox.rb +357 -0
  340. data/lib/lockally/models/map_migration_request.rb +166 -0
  341. data/lib/lockally/models/map_migration_request_mappings_inner.rb +190 -0
  342. data/lib/lockally/models/message.rb +400 -0
  343. data/lib/lockally/models/message_stats.rb +183 -0
  344. data/lib/lockally/models/message_stats_counts.rb +174 -0
  345. data/lib/lockally/models/message_stats_rates.rb +174 -0
  346. data/lib/lockally/models/message_stats_window.rb +156 -0
  347. data/lib/lockally/models/migration.rb +441 -0
  348. data/lib/lockally/models/migration_credential.rb +310 -0
  349. data/lib/lockally/models/migration_event.rb +330 -0
  350. data/lib/lockally/models/migration_mailbox.rb +462 -0
  351. data/lib/lockally/models/migration_progress.rb +400 -0
  352. data/lib/lockally/models/migration_progress_mailboxes_inner.rb +286 -0
  353. data/lib/lockally/models/migration_settings.rb +185 -0
  354. data/lib/lockally/models/model_alias.rb +268 -0
  355. data/lib/lockally/models/plan_catalog_entry.rb +398 -0
  356. data/lib/lockally/models/problem.rb +235 -0
  357. data/lib/lockally/models/replace_distribution_list_members200_response.rb +270 -0
  358. data/lib/lockally/models/replace_distribution_list_members_request.rb +166 -0
  359. data/lib/lockally/models/resource.rb +353 -0
  360. data/lib/lockally/models/rotate_encryption_key_request.rb +199 -0
  361. data/lib/lockally/models/send_message.rb +310 -0
  362. data/lib/lockally/models/shared_member.rb +318 -0
  363. data/lib/lockally/models/signup_request.rb +279 -0
  364. data/lib/lockally/models/start_migration202_response.rb +190 -0
  365. data/lib/lockally/models/suppression.rb +208 -0
  366. data/lib/lockally/models/template.rb +201 -0
  367. data/lib/lockally/models/template_input.rb +195 -0
  368. data/lib/lockally/models/tenant.rb +424 -0
  369. data/lib/lockally/models/unit_bundle.rb +268 -0
  370. data/lib/lockally/models/update_calendar_event_request.rb +192 -0
  371. data/lib/lockally/models/update_calendar_integration_request.rb +199 -0
  372. data/lib/lockally/models/update_calendar_member_request.rb +188 -0
  373. data/lib/lockally/models/update_calendar_policies_request.rb +337 -0
  374. data/lib/lockally/models/update_calendar_request.rb +217 -0
  375. data/lib/lockally/models/update_contact_list_request.rb +199 -0
  376. data/lib/lockally/models/update_contact_request.rb +265 -0
  377. data/lib/lockally/models/update_directory_permissions_request.rb +244 -0
  378. data/lib/lockally/models/update_gal_settings_request.rb +217 -0
  379. data/lib/lockally/models/update_migration_mailbox_request.rb +157 -0
  380. data/lib/lockally/models/update_migration_request.rb +156 -0
  381. data/lib/lockally/models/update_resource_request.rb +220 -0
  382. data/lib/lockally/models/update_user_request.rb +217 -0
  383. data/lib/lockally/models/user.rb +397 -0
  384. data/lib/lockally/models/user_event.rb +165 -0
  385. data/lib/lockally/models/v1_admin_login_post200_response.rb +242 -0
  386. data/lib/lockally/models/v1_admin_login_post_request.rb +199 -0
  387. data/lib/lockally/models/v1_admin_me_get200_response.rb +190 -0
  388. data/lib/lockally/models/v1_admins_get200_response.rb +166 -0
  389. data/lib/lockally/models/v1_admins_id_patch_request.rb +227 -0
  390. data/lib/lockally/models/v1_admins_post_request.rb +246 -0
  391. data/lib/lockally/models/v1_aliases_get200_response.rb +166 -0
  392. data/lib/lockally/models/v1_aliases_post_request.rb +190 -0
  393. data/lib/lockally/models/v1_api_keys_get200_response.rb +166 -0
  394. data/lib/lockally/models/v1_api_keys_post201_response.rb +349 -0
  395. data/lib/lockally/models/v1_api_keys_post_request.rb +211 -0
  396. data/lib/lockally/models/v1_domains_get200_response.rb +166 -0
  397. data/lib/lockally/models/v1_domains_post_request.rb +164 -0
  398. data/lib/lockally/models/v1_inboxes_mailbox_messages_post_request.rb +221 -0
  399. data/lib/lockally/models/v1_mailboxes_email_export_post201_response.rb +241 -0
  400. data/lib/lockally/models/v1_mailboxes_email_patch_request.rb +203 -0
  401. data/lib/lockally/models/v1_mailboxes_email_vacation_put_request.rb +175 -0
  402. data/lib/lockally/models/v1_mailboxes_get200_response.rb +192 -0
  403. data/lib/lockally/models/v1_mailboxes_post_request.rb +205 -0
  404. data/lib/lockally/models/v1_messages_get200_response.rb +176 -0
  405. data/lib/lockally/models/v1_send_batch_post200_response.rb +149 -0
  406. data/lib/lockally/models/v1_send_batch_post_request.rb +184 -0
  407. data/lib/lockally/models/v1_send_post202_response.rb +252 -0
  408. data/lib/lockally/models/v1_send_post_request.rb +316 -0
  409. data/lib/lockally/models/v1_send_post_request_attachments_inner.rb +217 -0
  410. data/lib/lockally/models/v1_suppressions_get200_response.rb +158 -0
  411. data/lib/lockally/models/v1_suppressions_post_request.rb +209 -0
  412. data/lib/lockally/models/v1_templates_get200_response.rb +149 -0
  413. data/lib/lockally/models/v1_usage_get200_response.rb +300 -0
  414. data/lib/lockally/models/v1_vacation_get200_response.rb +166 -0
  415. data/lib/lockally/models/v1_webhooks_get200_response.rb +166 -0
  416. data/lib/lockally/models/v1_webhooks_id_patch_request.rb +167 -0
  417. data/lib/lockally/models/v1_webhooks_post_request.rb +202 -0
  418. data/lib/lockally/models/vacation_params.rb +208 -0
  419. data/lib/lockally/models/vacation_responder.rb +305 -0
  420. data/lib/lockally/models/webhook.rb +359 -0
  421. data/lib/lockally/version.rb +15 -0
  422. data/lib/lockally.rb +245 -0
  423. data/lockally.gemspec +41 -0
  424. data/spec/api/add_ons_api_spec.rb +78 -0
  425. data/spec/api/admin_api_spec.rb +69 -0
  426. data/spec/api/admins_api_spec.rb +82 -0
  427. data/spec/api/agents_api_spec.rb +197 -0
  428. data/spec/api/ai_api_spec.rb +81 -0
  429. data/spec/api/aliases_api_spec.rb +69 -0
  430. data/spec/api/api_keys_api_spec.rb +70 -0
  431. data/spec/api/billing_api_spec.rb +67 -0
  432. data/spec/api/calendars_api_spec.rb +274 -0
  433. data/spec/api/contact_lists_api_spec.rb +114 -0
  434. data/spec/api/contacts_api_spec.rb +106 -0
  435. data/spec/api/dashboard_api_spec.rb +105 -0
  436. data/spec/api/directory_api_spec.rb +117 -0
  437. data/spec/api/distribution_lists_api_spec.rb +90 -0
  438. data/spec/api/domains_api_spec.rb +93 -0
  439. data/spec/api/drafts_api_spec.rb +121 -0
  440. data/spec/api/encryption_api_spec.rb +90 -0
  441. data/spec/api/health_api_spec.rb +46 -0
  442. data/spec/api/ip_pools_api_spec.rb +66 -0
  443. data/spec/api/mailboxes_api_spec.rb +203 -0
  444. data/spec/api/migrations_api_spec.rb +268 -0
  445. data/spec/api/resources_api_spec.rb +90 -0
  446. data/spec/api/send_api_spec.rb +115 -0
  447. data/spec/api/signup_api_spec.rb +46 -0
  448. data/spec/api/suppressions_api_spec.rb +81 -0
  449. data/spec/api/templates_api_spec.rb +90 -0
  450. data/spec/api/tenant_api_spec.rb +57 -0
  451. data/spec/api/test_api_spec.rb +46 -0
  452. data/spec/api/users_api_spec.rb +92 -0
  453. data/spec/api/webhooks_api_spec.rb +83 -0
  454. data/spec/models/activate_add_on200_response_spec.rb +54 -0
  455. data/spec/models/add_calendar_member_request_spec.rb +46 -0
  456. data/spec/models/add_contact_list_member_request_spec.rb +36 -0
  457. data/spec/models/add_on_spec.rb +66 -0
  458. data/spec/models/add_shared_member_request_spec.rb +46 -0
  459. data/spec/models/admin_full_spec.rb +94 -0
  460. data/spec/models/admin_spec.rb +76 -0
  461. data/spec/models/api_key_spec.rb +78 -0
  462. data/spec/models/audit_event_spec.rb +60 -0
  463. data/spec/models/batch_lookup_public_keys200_response_data_inner_spec.rb +48 -0
  464. data/spec/models/batch_lookup_public_keys200_response_spec.rb +36 -0
  465. data/spec/models/batch_result_spec.rb +64 -0
  466. data/spec/models/billing_status_spec.rb +128 -0
  467. data/spec/models/calendar_event_spec.rb +102 -0
  468. data/spec/models/calendar_integration_spec.rb +92 -0
  469. data/spec/models/calendar_member_spec.rb +70 -0
  470. data/spec/models/calendar_policies_spec.rb +106 -0
  471. data/spec/models/calendar_spec.rb +100 -0
  472. data/spec/models/contact_list_spec.rb +82 -0
  473. data/spec/models/contact_spec.rb +118 -0
  474. data/spec/models/create_billing_checkout200_response_spec.rb +42 -0
  475. data/spec/models/create_billing_checkout_request_spec.rb +40 -0
  476. data/spec/models/create_calendar_event_request_spec.rb +66 -0
  477. data/spec/models/create_calendar_integration_request_spec.rb +46 -0
  478. data/spec/models/create_calendar_request_spec.rb +64 -0
  479. data/spec/models/create_contact_list_request_spec.rb +52 -0
  480. data/spec/models/create_contact_request_spec.rb +82 -0
  481. data/spec/models/create_dedicated_ip_request_request_spec.rb +36 -0
  482. data/spec/models/create_distribution_list_request_spec.rb +48 -0
  483. data/spec/models/create_encryption_key201_response_spec.rb +48 -0
  484. data/spec/models/create_encryption_key_request_spec.rb +54 -0
  485. data/spec/models/create_encryption_recovery_request_spec.rb +42 -0
  486. data/spec/models/create_migration_credential_request_credentials_spec.rb +60 -0
  487. data/spec/models/create_migration_credential_request_spec.rb +52 -0
  488. data/spec/models/create_migration_request_spec.rb +54 -0
  489. data/spec/models/create_resource_request_spec.rb +52 -0
  490. data/spec/models/create_units_checkout200_response_spec.rb +48 -0
  491. data/spec/models/create_units_checkout_request_spec.rb +40 -0
  492. data/spec/models/create_user_request_spec.rb +60 -0
  493. data/spec/models/dedicated_ip_request_spec.rb +76 -0
  494. data/spec/models/directory_permissions_spec.rb +88 -0
  495. data/spec/models/discover_migration202_response_spec.rb +36 -0
  496. data/spec/models/distribution_list_detail_spec.rb +72 -0
  497. data/spec/models/distribution_list_summary_spec.rb +66 -0
  498. data/spec/models/dns_record_spec.rb +74 -0
  499. data/spec/models/domain_spec.rb +90 -0
  500. data/spec/models/gal_settings_spec.rb +94 -0
  501. data/spec/models/get_add_on_status200_response_spec.rb +48 -0
  502. data/spec/models/get_audit_summary200_response_spec.rb +60 -0
  503. data/spec/models/get_calendar_security200_response_alerts_inner_spec.rb +46 -0
  504. data/spec/models/get_calendar_security200_response_delegated_access_inner_spec.rb +60 -0
  505. data/spec/models/get_calendar_security200_response_external_sharing_spec.rb +48 -0
  506. data/spec/models/get_calendar_security200_response_public_calendar_list_inner_spec.rb +60 -0
  507. data/spec/models/get_calendar_security200_response_spec.rb +78 -0
  508. data/spec/models/get_contact_list200_response_members_inner_spec.rb +48 -0
  509. data/spec/models/get_contact_list200_response_spec.rb +42 -0
  510. data/spec/models/get_contact_lists200_response_data_inner_spec.rb +48 -0
  511. data/spec/models/get_contact_lists200_response_spec.rb +36 -0
  512. data/spec/models/get_directory_activity200_response_data_inner_spec.rb +54 -0
  513. data/spec/models/get_directory_activity200_response_spec.rb +36 -0
  514. data/spec/models/get_directory_stats200_response_spec.rb +66 -0
  515. data/spec/models/get_domains_status200_response_domains_inner_checks_inner_spec.rb +52 -0
  516. data/spec/models/get_domains_status200_response_domains_inner_spec.rb +48 -0
  517. data/spec/models/get_domains_status200_response_spec.rb +42 -0
  518. data/spec/models/get_encryption_key200_response_spec.rb +66 -0
  519. data/spec/models/get_integrations_summary200_response_api_keys_inner_spec.rb +48 -0
  520. data/spec/models/get_integrations_summary200_response_spec.rb +72 -0
  521. data/spec/models/get_integrations_summary200_response_webhooks_inner_spec.rb +54 -0
  522. data/spec/models/get_ip_assignment200_response_spec.rb +60 -0
  523. data/spec/models/get_security200_response_alerts_inner_spec.rb +52 -0
  524. data/spec/models/get_security200_response_spec.rb +52 -0
  525. data/spec/models/get_security200_response_stats_inner_spec.rb +48 -0
  526. data/spec/models/get_storage200_response_spec.rb +66 -0
  527. data/spec/models/get_storage200_response_top_mailboxes_inner_spec.rb +42 -0
  528. data/spec/models/get_storage200_response_top_messages_inner_spec.rb +60 -0
  529. data/spec/models/get_user_insights200_response_spec.rb +66 -0
  530. data/spec/models/healthz_get200_response_spec.rb +46 -0
  531. data/spec/models/list_add_ons200_response_spec.rb +36 -0
  532. data/spec/models/list_calendar_events200_response_spec.rb +36 -0
  533. data/spec/models/list_calendar_integrations200_response_spec.rb +36 -0
  534. data/spec/models/list_calendar_members200_response_spec.rb +36 -0
  535. data/spec/models/list_calendars200_response_spec.rb +36 -0
  536. data/spec/models/list_contact_lists200_response_spec.rb +36 -0
  537. data/spec/models/list_contacts200_response_spec.rb +36 -0
  538. data/spec/models/list_dedicated_ip_requests200_response_spec.rb +36 -0
  539. data/spec/models/list_distribution_lists200_response_spec.rb +36 -0
  540. data/spec/models/list_migration_credentials200_response_spec.rb +36 -0
  541. data/spec/models/list_migration_events200_response_spec.rb +36 -0
  542. data/spec/models/list_migration_mailboxes200_response_spec.rb +36 -0
  543. data/spec/models/list_migrations200_response_spec.rb +36 -0
  544. data/spec/models/list_resources200_response_spec.rb +36 -0
  545. data/spec/models/list_shared_members200_response_spec.rb +36 -0
  546. data/spec/models/list_users200_response_spec.rb +42 -0
  547. data/spec/models/mailbox_spec.rb +96 -0
  548. data/spec/models/map_migration_request_mappings_inner_spec.rb +42 -0
  549. data/spec/models/map_migration_request_spec.rb +36 -0
  550. data/spec/models/message_spec.rb +100 -0
  551. data/spec/models/message_stats_counts_spec.rb +54 -0
  552. data/spec/models/message_stats_rates_spec.rb +54 -0
  553. data/spec/models/message_stats_spec.rb +60 -0
  554. data/spec/models/message_stats_window_spec.rb +42 -0
  555. data/spec/models/migration_credential_spec.rb +76 -0
  556. data/spec/models/migration_event_spec.rb +90 -0
  557. data/spec/models/migration_mailbox_spec.rb +144 -0
  558. data/spec/models/migration_progress_mailboxes_inner_spec.rb +72 -0
  559. data/spec/models/migration_progress_spec.rb +90 -0
  560. data/spec/models/migration_settings_spec.rb +60 -0
  561. data/spec/models/migration_spec.rb +118 -0
  562. data/spec/models/model_alias_spec.rb +60 -0
  563. data/spec/models/plan_catalog_entry_spec.rb +90 -0
  564. data/spec/models/problem_spec.rb +60 -0
  565. data/spec/models/replace_distribution_list_members200_response_spec.rb +60 -0
  566. data/spec/models/replace_distribution_list_members_request_spec.rb +36 -0
  567. data/spec/models/resource_spec.rb +82 -0
  568. data/spec/models/rotate_encryption_key_request_spec.rb +48 -0
  569. data/spec/models/send_message_spec.rb +108 -0
  570. data/spec/models/shared_member_spec.rb +70 -0
  571. data/spec/models/signup_request_spec.rb +64 -0
  572. data/spec/models/start_migration202_response_spec.rb +42 -0
  573. data/spec/models/suppression_spec.rb +58 -0
  574. data/spec/models/template_input_spec.rb +54 -0
  575. data/spec/models/template_spec.rb +72 -0
  576. data/spec/models/tenant_spec.rb +106 -0
  577. data/spec/models/unit_bundle_spec.rb +60 -0
  578. data/spec/models/update_calendar_event_request_spec.rb +66 -0
  579. data/spec/models/update_calendar_integration_request_spec.rb +52 -0
  580. data/spec/models/update_calendar_member_request_spec.rb +40 -0
  581. data/spec/models/update_calendar_policies_request_spec.rb +88 -0
  582. data/spec/models/update_calendar_request_spec.rb +64 -0
  583. data/spec/models/update_contact_list_request_spec.rb +52 -0
  584. data/spec/models/update_contact_request_spec.rb +92 -0
  585. data/spec/models/update_directory_permissions_request_spec.rb +70 -0
  586. data/spec/models/update_gal_settings_request_spec.rb +64 -0
  587. data/spec/models/update_migration_mailbox_request_spec.rb +42 -0
  588. data/spec/models/update_migration_request_spec.rb +42 -0
  589. data/spec/models/update_resource_request_spec.rb +62 -0
  590. data/spec/models/update_user_request_spec.rb +64 -0
  591. data/spec/models/user_event_spec.rb +48 -0
  592. data/spec/models/user_spec.rb +100 -0
  593. data/spec/models/v1_admin_login_post200_response_spec.rb +54 -0
  594. data/spec/models/v1_admin_login_post_request_spec.rb +42 -0
  595. data/spec/models/v1_admin_me_get200_response_spec.rb +42 -0
  596. data/spec/models/v1_admins_get200_response_spec.rb +36 -0
  597. data/spec/models/v1_admins_id_patch_request_spec.rb +58 -0
  598. data/spec/models/v1_admins_post_request_spec.rb +58 -0
  599. data/spec/models/v1_aliases_get200_response_spec.rb +36 -0
  600. data/spec/models/v1_aliases_post_request_spec.rb +42 -0
  601. data/spec/models/v1_api_keys_get200_response_spec.rb +36 -0
  602. data/spec/models/v1_api_keys_post201_response_spec.rb +84 -0
  603. data/spec/models/v1_api_keys_post_request_spec.rb +46 -0
  604. data/spec/models/v1_domains_get200_response_spec.rb +36 -0
  605. data/spec/models/v1_domains_post_request_spec.rb +36 -0
  606. data/spec/models/v1_inboxes_mailbox_messages_post_request_spec.rb +60 -0
  607. data/spec/models/v1_mailboxes_email_export_post201_response_spec.rb +52 -0
  608. data/spec/models/v1_mailboxes_email_patch_request_spec.rb +48 -0
  609. data/spec/models/v1_mailboxes_email_vacation_put_request_spec.rb +42 -0
  610. data/spec/models/v1_mailboxes_get200_response_spec.rb +42 -0
  611. data/spec/models/v1_mailboxes_post_request_spec.rb +48 -0
  612. data/spec/models/v1_messages_get200_response_spec.rb +42 -0
  613. data/spec/models/v1_send_batch_post200_response_spec.rb +36 -0
  614. data/spec/models/v1_send_batch_post_request_spec.rb +36 -0
  615. data/spec/models/v1_send_post202_response_spec.rb +58 -0
  616. data/spec/models/v1_send_post_request_attachments_inner_spec.rb +48 -0
  617. data/spec/models/v1_send_post_request_spec.rb +108 -0
  618. data/spec/models/v1_suppressions_get200_response_spec.rb +42 -0
  619. data/spec/models/v1_suppressions_post_request_spec.rb +46 -0
  620. data/spec/models/v1_templates_get200_response_spec.rb +36 -0
  621. data/spec/models/v1_usage_get200_response_spec.rb +108 -0
  622. data/spec/models/v1_vacation_get200_response_spec.rb +36 -0
  623. data/spec/models/v1_webhooks_get200_response_spec.rb +36 -0
  624. data/spec/models/v1_webhooks_id_patch_request_spec.rb +48 -0
  625. data/spec/models/v1_webhooks_post_request_spec.rb +42 -0
  626. data/spec/models/vacation_params_spec.rb +54 -0
  627. data/spec/models/vacation_responder_spec.rb +72 -0
  628. data/spec/models/webhook_spec.rb +96 -0
  629. data/spec/spec_helper.rb +111 -0
  630. metadata +952 -0
@@ -0,0 +1,400 @@
1
+ =begin
2
+ #lockally control plane
3
+
4
+ #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`. Generate the first key for a tenant via `cmd/seed`; subsequent keys via `POST /v1/api-keys`. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
5
+
6
+ The version of the OpenAPI document: 0.1.0
7
+ Contact: support@lockally.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.23.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Lockally
17
+ class Message < ApiModelBase
18
+ attr_accessor :id
19
+
20
+ attr_accessor :tenant_id
21
+
22
+ # RFC 5322 Message-ID header, including angle brackets.
23
+ attr_accessor :message_id
24
+
25
+ attr_accessor :sender
26
+
27
+ attr_accessor :recipients
28
+
29
+ attr_accessor :subject
30
+
31
+ attr_accessor :status
32
+
33
+ attr_accessor :queued_at
34
+
35
+ attr_accessor :updated_at
36
+
37
+ attr_accessor :bounce_reason
38
+
39
+ attr_accessor :size_bytes
40
+
41
+ class EnumAttributeValidator
42
+ attr_reader :datatype
43
+ attr_reader :allowable_values
44
+
45
+ def initialize(datatype, allowable_values)
46
+ @allowable_values = allowable_values.map do |value|
47
+ case datatype.to_s
48
+ when /Integer/i
49
+ value.to_i
50
+ when /Float/i
51
+ value.to_f
52
+ else
53
+ value
54
+ end
55
+ end
56
+ end
57
+
58
+ def valid?(value)
59
+ !value || allowable_values.include?(value)
60
+ end
61
+ end
62
+
63
+ # Attribute mapping from ruby-style variable name to JSON key.
64
+ def self.attribute_map
65
+ {
66
+ :'id' => :'id',
67
+ :'tenant_id' => :'tenant_id',
68
+ :'message_id' => :'message_id',
69
+ :'sender' => :'sender',
70
+ :'recipients' => :'recipients',
71
+ :'subject' => :'subject',
72
+ :'status' => :'status',
73
+ :'queued_at' => :'queued_at',
74
+ :'updated_at' => :'updated_at',
75
+ :'bounce_reason' => :'bounce_reason',
76
+ :'size_bytes' => :'size_bytes'
77
+ }
78
+ end
79
+
80
+ # Returns attribute mapping this model knows about
81
+ def self.acceptable_attribute_map
82
+ attribute_map
83
+ end
84
+
85
+ # Returns all the JSON keys this model knows about
86
+ def self.acceptable_attributes
87
+ acceptable_attribute_map.values
88
+ end
89
+
90
+ # Attribute type mapping.
91
+ def self.openapi_types
92
+ {
93
+ :'id' => :'String',
94
+ :'tenant_id' => :'String',
95
+ :'message_id' => :'String',
96
+ :'sender' => :'String',
97
+ :'recipients' => :'Array<String>',
98
+ :'subject' => :'String',
99
+ :'status' => :'String',
100
+ :'queued_at' => :'Time',
101
+ :'updated_at' => :'Time',
102
+ :'bounce_reason' => :'String',
103
+ :'size_bytes' => :'Integer'
104
+ }
105
+ end
106
+
107
+ # List of attributes with nullable: true
108
+ def self.openapi_nullable
109
+ Set.new([
110
+ ])
111
+ end
112
+
113
+ # Initializes the object
114
+ # @param [Hash] attributes Model attributes in the form of hash
115
+ def initialize(attributes = {})
116
+ if (!attributes.is_a?(Hash))
117
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Lockally::Message` initialize method"
118
+ end
119
+
120
+ # check to see if the attribute exists and convert string to symbol for hash key
121
+ acceptable_attribute_map = self.class.acceptable_attribute_map
122
+ attributes = attributes.each_with_object({}) { |(k, v), h|
123
+ if (!acceptable_attribute_map.key?(k.to_sym))
124
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Lockally::Message`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
125
+ end
126
+ h[k.to_sym] = v
127
+ }
128
+
129
+ if attributes.key?(:'id')
130
+ self.id = attributes[:'id']
131
+ else
132
+ self.id = nil
133
+ end
134
+
135
+ if attributes.key?(:'tenant_id')
136
+ self.tenant_id = attributes[:'tenant_id']
137
+ else
138
+ self.tenant_id = nil
139
+ end
140
+
141
+ if attributes.key?(:'message_id')
142
+ self.message_id = attributes[:'message_id']
143
+ else
144
+ self.message_id = nil
145
+ end
146
+
147
+ if attributes.key?(:'sender')
148
+ self.sender = attributes[:'sender']
149
+ else
150
+ self.sender = nil
151
+ end
152
+
153
+ if attributes.key?(:'recipients')
154
+ if (value = attributes[:'recipients']).is_a?(Array)
155
+ self.recipients = value
156
+ end
157
+ else
158
+ self.recipients = nil
159
+ end
160
+
161
+ if attributes.key?(:'subject')
162
+ self.subject = attributes[:'subject']
163
+ end
164
+
165
+ if attributes.key?(:'status')
166
+ self.status = attributes[:'status']
167
+ else
168
+ self.status = nil
169
+ end
170
+
171
+ if attributes.key?(:'queued_at')
172
+ self.queued_at = attributes[:'queued_at']
173
+ else
174
+ self.queued_at = nil
175
+ end
176
+
177
+ if attributes.key?(:'updated_at')
178
+ self.updated_at = attributes[:'updated_at']
179
+ else
180
+ self.updated_at = nil
181
+ end
182
+
183
+ if attributes.key?(:'bounce_reason')
184
+ self.bounce_reason = attributes[:'bounce_reason']
185
+ end
186
+
187
+ if attributes.key?(:'size_bytes')
188
+ self.size_bytes = attributes[:'size_bytes']
189
+ end
190
+ end
191
+
192
+ # Show invalid properties with the reasons. Usually used together with valid?
193
+ # @return Array for valid properties with the reasons
194
+ def list_invalid_properties
195
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
196
+ invalid_properties = Array.new
197
+ if @id.nil?
198
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
199
+ end
200
+
201
+ if @tenant_id.nil?
202
+ invalid_properties.push('invalid value for "tenant_id", tenant_id cannot be nil.')
203
+ end
204
+
205
+ if @message_id.nil?
206
+ invalid_properties.push('invalid value for "message_id", message_id cannot be nil.')
207
+ end
208
+
209
+ if @sender.nil?
210
+ invalid_properties.push('invalid value for "sender", sender cannot be nil.')
211
+ end
212
+
213
+ if @recipients.nil?
214
+ invalid_properties.push('invalid value for "recipients", recipients cannot be nil.')
215
+ end
216
+
217
+ if @status.nil?
218
+ invalid_properties.push('invalid value for "status", status cannot be nil.')
219
+ end
220
+
221
+ if @queued_at.nil?
222
+ invalid_properties.push('invalid value for "queued_at", queued_at cannot be nil.')
223
+ end
224
+
225
+ if @updated_at.nil?
226
+ invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
227
+ end
228
+
229
+ invalid_properties
230
+ end
231
+
232
+ # Check to see if the all the properties in the model are valid
233
+ # @return true if the model is valid
234
+ def valid?
235
+ warn '[DEPRECATED] the `valid?` method is obsolete'
236
+ return false if @id.nil?
237
+ return false if @tenant_id.nil?
238
+ return false if @message_id.nil?
239
+ return false if @sender.nil?
240
+ return false if @recipients.nil?
241
+ return false if @status.nil?
242
+ status_validator = EnumAttributeValidator.new('String', ["queued", "sending", "delivered", "bounced", "deferred", "complaint"])
243
+ return false unless status_validator.valid?(@status)
244
+ return false if @queued_at.nil?
245
+ return false if @updated_at.nil?
246
+ true
247
+ end
248
+
249
+ # Custom attribute writer method with validation
250
+ # @param [Object] id Value to be assigned
251
+ def id=(id)
252
+ if id.nil?
253
+ fail ArgumentError, 'id cannot be nil'
254
+ end
255
+
256
+ @id = id
257
+ end
258
+
259
+ # Custom attribute writer method with validation
260
+ # @param [Object] tenant_id Value to be assigned
261
+ def tenant_id=(tenant_id)
262
+ if tenant_id.nil?
263
+ fail ArgumentError, 'tenant_id cannot be nil'
264
+ end
265
+
266
+ @tenant_id = tenant_id
267
+ end
268
+
269
+ # Custom attribute writer method with validation
270
+ # @param [Object] message_id Value to be assigned
271
+ def message_id=(message_id)
272
+ if message_id.nil?
273
+ fail ArgumentError, 'message_id cannot be nil'
274
+ end
275
+
276
+ @message_id = message_id
277
+ end
278
+
279
+ # Custom attribute writer method with validation
280
+ # @param [Object] sender Value to be assigned
281
+ def sender=(sender)
282
+ if sender.nil?
283
+ fail ArgumentError, 'sender cannot be nil'
284
+ end
285
+
286
+ @sender = sender
287
+ end
288
+
289
+ # Custom attribute writer method with validation
290
+ # @param [Object] recipients Value to be assigned
291
+ def recipients=(recipients)
292
+ if recipients.nil?
293
+ fail ArgumentError, 'recipients cannot be nil'
294
+ end
295
+
296
+ @recipients = recipients
297
+ end
298
+
299
+ # Custom attribute writer method checking allowed values (enum).
300
+ # @param [Object] status Object to be assigned
301
+ def status=(status)
302
+ validator = EnumAttributeValidator.new('String', ["queued", "sending", "delivered", "bounced", "deferred", "complaint"])
303
+ unless validator.valid?(status)
304
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
305
+ end
306
+ @status = status
307
+ end
308
+
309
+ # Custom attribute writer method with validation
310
+ # @param [Object] queued_at Value to be assigned
311
+ def queued_at=(queued_at)
312
+ if queued_at.nil?
313
+ fail ArgumentError, 'queued_at cannot be nil'
314
+ end
315
+
316
+ @queued_at = queued_at
317
+ end
318
+
319
+ # Custom attribute writer method with validation
320
+ # @param [Object] updated_at Value to be assigned
321
+ def updated_at=(updated_at)
322
+ if updated_at.nil?
323
+ fail ArgumentError, 'updated_at cannot be nil'
324
+ end
325
+
326
+ @updated_at = updated_at
327
+ end
328
+
329
+ # Checks equality by comparing each attribute.
330
+ # @param [Object] Object to be compared
331
+ def ==(o)
332
+ return true if self.equal?(o)
333
+ self.class == o.class &&
334
+ id == o.id &&
335
+ tenant_id == o.tenant_id &&
336
+ message_id == o.message_id &&
337
+ sender == o.sender &&
338
+ recipients == o.recipients &&
339
+ subject == o.subject &&
340
+ status == o.status &&
341
+ queued_at == o.queued_at &&
342
+ updated_at == o.updated_at &&
343
+ bounce_reason == o.bounce_reason &&
344
+ size_bytes == o.size_bytes
345
+ end
346
+
347
+ # @see the `==` method
348
+ # @param [Object] Object to be compared
349
+ def eql?(o)
350
+ self == o
351
+ end
352
+
353
+ # Calculates hash code according to all attributes.
354
+ # @return [Integer] Hash code
355
+ def hash
356
+ [id, tenant_id, message_id, sender, recipients, subject, status, queued_at, updated_at, bounce_reason, size_bytes].hash
357
+ end
358
+
359
+ # Builds the object from hash
360
+ # @param [Hash] attributes Model attributes in the form of hash
361
+ # @return [Object] Returns the model itself
362
+ def self.build_from_hash(attributes)
363
+ return nil unless attributes.is_a?(Hash)
364
+ attributes = attributes.transform_keys(&:to_sym)
365
+ transformed_hash = {}
366
+ openapi_types.each_pair do |key, type|
367
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
368
+ transformed_hash["#{key}"] = nil
369
+ elsif type =~ /\AArray<(.*)>/i
370
+ # check to ensure the input is an array given that the attribute
371
+ # is documented as an array but the input is not
372
+ if attributes[attribute_map[key]].is_a?(Array)
373
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
374
+ end
375
+ elsif !attributes[attribute_map[key]].nil?
376
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
377
+ end
378
+ end
379
+ new(transformed_hash)
380
+ end
381
+
382
+ # Returns the object in the form of hash
383
+ # @return [Hash] Returns the object in the form of hash
384
+ def to_hash
385
+ hash = {}
386
+ self.class.attribute_map.each_pair do |attr, param|
387
+ value = self.send(attr)
388
+ if value.nil?
389
+ is_nullable = self.class.openapi_nullable.include?(attr)
390
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
391
+ end
392
+
393
+ hash[param] = _to_hash(value)
394
+ end
395
+ hash
396
+ end
397
+
398
+ end
399
+
400
+ end
@@ -0,0 +1,183 @@
1
+ =begin
2
+ #lockally control plane
3
+
4
+ #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`. Generate the first key for a tenant via `cmd/seed`; subsequent keys via `POST /v1/api-keys`. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
5
+
6
+ The version of the OpenAPI document: 0.1.0
7
+ Contact: support@lockally.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.23.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Lockally
17
+ class MessageStats < ApiModelBase
18
+ attr_accessor :window
19
+
20
+ attr_accessor :domain
21
+
22
+ attr_accessor :sent
23
+
24
+ attr_accessor :counts
25
+
26
+ attr_accessor :rates
27
+
28
+ # Attribute mapping from ruby-style variable name to JSON key.
29
+ def self.attribute_map
30
+ {
31
+ :'window' => :'window',
32
+ :'domain' => :'domain',
33
+ :'sent' => :'sent',
34
+ :'counts' => :'counts',
35
+ :'rates' => :'rates'
36
+ }
37
+ end
38
+
39
+ # Returns attribute mapping this model knows about
40
+ def self.acceptable_attribute_map
41
+ attribute_map
42
+ end
43
+
44
+ # Returns all the JSON keys this model knows about
45
+ def self.acceptable_attributes
46
+ acceptable_attribute_map.values
47
+ end
48
+
49
+ # Attribute type mapping.
50
+ def self.openapi_types
51
+ {
52
+ :'window' => :'MessageStatsWindow',
53
+ :'domain' => :'String',
54
+ :'sent' => :'Integer',
55
+ :'counts' => :'MessageStatsCounts',
56
+ :'rates' => :'MessageStatsRates'
57
+ }
58
+ end
59
+
60
+ # List of attributes with nullable: true
61
+ def self.openapi_nullable
62
+ Set.new([
63
+ ])
64
+ end
65
+
66
+ # Initializes the object
67
+ # @param [Hash] attributes Model attributes in the form of hash
68
+ def initialize(attributes = {})
69
+ if (!attributes.is_a?(Hash))
70
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Lockally::MessageStats` initialize method"
71
+ end
72
+
73
+ # check to see if the attribute exists and convert string to symbol for hash key
74
+ acceptable_attribute_map = self.class.acceptable_attribute_map
75
+ attributes = attributes.each_with_object({}) { |(k, v), h|
76
+ if (!acceptable_attribute_map.key?(k.to_sym))
77
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Lockally::MessageStats`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
78
+ end
79
+ h[k.to_sym] = v
80
+ }
81
+
82
+ if attributes.key?(:'window')
83
+ self.window = attributes[:'window']
84
+ end
85
+
86
+ if attributes.key?(:'domain')
87
+ self.domain = attributes[:'domain']
88
+ end
89
+
90
+ if attributes.key?(:'sent')
91
+ self.sent = attributes[:'sent']
92
+ end
93
+
94
+ if attributes.key?(:'counts')
95
+ self.counts = attributes[:'counts']
96
+ end
97
+
98
+ if attributes.key?(:'rates')
99
+ self.rates = attributes[:'rates']
100
+ end
101
+ end
102
+
103
+ # Show invalid properties with the reasons. Usually used together with valid?
104
+ # @return Array for valid properties with the reasons
105
+ def list_invalid_properties
106
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
107
+ invalid_properties = Array.new
108
+ invalid_properties
109
+ end
110
+
111
+ # Check to see if the all the properties in the model are valid
112
+ # @return true if the model is valid
113
+ def valid?
114
+ warn '[DEPRECATED] the `valid?` method is obsolete'
115
+ true
116
+ end
117
+
118
+ # Checks equality by comparing each attribute.
119
+ # @param [Object] Object to be compared
120
+ def ==(o)
121
+ return true if self.equal?(o)
122
+ self.class == o.class &&
123
+ window == o.window &&
124
+ domain == o.domain &&
125
+ sent == o.sent &&
126
+ counts == o.counts &&
127
+ rates == o.rates
128
+ end
129
+
130
+ # @see the `==` method
131
+ # @param [Object] Object to be compared
132
+ def eql?(o)
133
+ self == o
134
+ end
135
+
136
+ # Calculates hash code according to all attributes.
137
+ # @return [Integer] Hash code
138
+ def hash
139
+ [window, domain, sent, counts, rates].hash
140
+ end
141
+
142
+ # Builds the object from hash
143
+ # @param [Hash] attributes Model attributes in the form of hash
144
+ # @return [Object] Returns the model itself
145
+ def self.build_from_hash(attributes)
146
+ return nil unless attributes.is_a?(Hash)
147
+ attributes = attributes.transform_keys(&:to_sym)
148
+ transformed_hash = {}
149
+ openapi_types.each_pair do |key, type|
150
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
151
+ transformed_hash["#{key}"] = nil
152
+ elsif type =~ /\AArray<(.*)>/i
153
+ # check to ensure the input is an array given that the attribute
154
+ # is documented as an array but the input is not
155
+ if attributes[attribute_map[key]].is_a?(Array)
156
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
157
+ end
158
+ elsif !attributes[attribute_map[key]].nil?
159
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
160
+ end
161
+ end
162
+ new(transformed_hash)
163
+ end
164
+
165
+ # Returns the object in the form of hash
166
+ # @return [Hash] Returns the object in the form of hash
167
+ def to_hash
168
+ hash = {}
169
+ self.class.attribute_map.each_pair do |attr, param|
170
+ value = self.send(attr)
171
+ if value.nil?
172
+ is_nullable = self.class.openapi_nullable.include?(attr)
173
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
174
+ end
175
+
176
+ hash[param] = _to_hash(value)
177
+ end
178
+ hash
179
+ end
180
+
181
+ end
182
+
183
+ end