docker-hub 2.pre.beta.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 (346) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +268 -0
  4. data/Rakefile +10 -0
  5. data/docker-hub.gemspec +39 -0
  6. data/docs/AccessToken.md +40 -0
  7. data/docs/AccessTokensApi.md +362 -0
  8. data/docs/AuditLog.md +30 -0
  9. data/docs/AuditLogAction.md +22 -0
  10. data/docs/AuditLogActions.md +20 -0
  11. data/docs/AuditLogsApi.md +163 -0
  12. data/docs/AuthCreateAccessTokenRequest.md +20 -0
  13. data/docs/AuthCreateTokenResponse.md +18 -0
  14. data/docs/AuthenticationApiApi.md +204 -0
  15. data/docs/BulkInvite.md +18 -0
  16. data/docs/BulkInviteInviteesInner.md +22 -0
  17. data/docs/Category.md +20 -0
  18. data/docs/CreateAccessTokenRequest.md +22 -0
  19. data/docs/CreateOrgAccessTokenRequest.md +24 -0
  20. data/docs/CreateOrgAccessTokenResponse.md +34 -0
  21. data/docs/EmailAddress.md +26 -0
  22. data/docs/EmailWithUsername.md +28 -0
  23. data/docs/Error.md +22 -0
  24. data/docs/GetAccessTokensResponse.md +26 -0
  25. data/docs/GetAuditActionsResponse.md +18 -0
  26. data/docs/GetAuditLogsResponse.md +18 -0
  27. data/docs/GetOrgAccessTokenResponse.md +32 -0
  28. data/docs/GetOrgAccessTokensResponse.md +24 -0
  29. data/docs/GroupMember.md +38 -0
  30. data/docs/GroupsApi.md +682 -0
  31. data/docs/Image.md +40 -0
  32. data/docs/ImmutableTagsSettings.md +20 -0
  33. data/docs/ImmutableTagsVerifyRequest.md +18 -0
  34. data/docs/ImmutableTagsVerifyResponse.md +18 -0
  35. data/docs/Invite.md +28 -0
  36. data/docs/InvitesApi.md +289 -0
  37. data/docs/Layer.md +22 -0
  38. data/docs/LegacyEmailAddress.md +28 -0
  39. data/docs/ListRepositoriesResponse.md +24 -0
  40. data/docs/OrgAccessToken.md +30 -0
  41. data/docs/OrgAccessTokenResource.md +22 -0
  42. data/docs/OrgAccessTokensApi.md +368 -0
  43. data/docs/OrgGroup.md +26 -0
  44. data/docs/OrgMember.md +52 -0
  45. data/docs/OrgMemberPaginated.md +24 -0
  46. data/docs/OrgSettings.md +18 -0
  47. data/docs/OrgSettingsApi.md +149 -0
  48. data/docs/OrgsApi.md +306 -0
  49. data/docs/Page.md +22 -0
  50. data/docs/PaginatedTags.md +24 -0
  51. data/docs/PatchAccessTokenRequest.md +20 -0
  52. data/docs/PostUsers2FALoginErrorResponse.md +18 -0
  53. data/docs/PostUsersLoginErrorResponse.md +20 -0
  54. data/docs/PostUsersLoginSuccessResponse.md +18 -0
  55. data/docs/ProtobufAny.md +20 -0
  56. data/docs/RepoCreationRequest.md +28 -0
  57. data/docs/RepoPermissions.md +22 -0
  58. data/docs/RepositoriesApi.md +806 -0
  59. data/docs/RepositoryGroup.md +22 -0
  60. data/docs/RepositoryGroupCreationRequest.md +20 -0
  61. data/docs/RepositoryInfo.md +68 -0
  62. data/docs/RepositoryListEntry.md +50 -0
  63. data/docs/RestrictedImages.md +22 -0
  64. data/docs/RpcStatus.md +22 -0
  65. data/docs/ScimApi.md +642 -0
  66. data/docs/ScimEmail.md +22 -0
  67. data/docs/ScimError.md +22 -0
  68. data/docs/ScimGroup.md +20 -0
  69. data/docs/ScimResourceType.md +28 -0
  70. data/docs/ScimSchema.md +26 -0
  71. data/docs/ScimSchemaAttribute.md +34 -0
  72. data/docs/ScimSchemaParentAttribute.md +36 -0
  73. data/docs/ScimServiceProviderConfig.md +34 -0
  74. data/docs/ScimServiceProviderConfigAuthenticationSchemes.md +24 -0
  75. data/docs/ScimServiceProviderConfigBulk.md +22 -0
  76. data/docs/ScimServiceProviderConfigChangePassword.md +18 -0
  77. data/docs/ScimServiceProviderConfigFilter.md +20 -0
  78. data/docs/ScimServiceProviderConfigPatch.md +18 -0
  79. data/docs/ScimServiceProviderConfigSort.md +18 -0
  80. data/docs/ScimUser.md +34 -0
  81. data/docs/ScimUserMeta.md +24 -0
  82. data/docs/ScimUserName.md +20 -0
  83. data/docs/Tag.md +42 -0
  84. data/docs/TeamRepo.md +20 -0
  85. data/docs/UpdateOrgAccessTokenRequest.md +24 -0
  86. data/docs/UpdateOrgAccessTokenResponse.md +32 -0
  87. data/docs/UpdateRepositoryImmutableTagsRequest.md +20 -0
  88. data/docs/User.md +36 -0
  89. data/docs/Users2FALoginRequest.md +20 -0
  90. data/docs/UsersLoginRequest.md +20 -0
  91. data/docs/V2AccessTokensUuidGet200Response.md +40 -0
  92. data/docs/V2InvitesBulkPost202Response.md +18 -0
  93. data/docs/V2InvitesBulkPostRequest.md +26 -0
  94. data/docs/V2OrgsNameSettingsPutRequest.md +18 -0
  95. data/docs/V2OrgsNameSettingsPutRequestRestrictedImages.md +22 -0
  96. data/docs/V2OrgsOrgNameGroupsGet200Response.md +24 -0
  97. data/docs/V2OrgsOrgNameGroupsGroupNameMembersGet200Response.md +24 -0
  98. data/docs/V2OrgsOrgNameGroupsGroupNameMembersPostRequest.md +18 -0
  99. data/docs/V2OrgsOrgNameGroupsGroupNamePatchRequest.md +20 -0
  100. data/docs/V2OrgsOrgNameGroupsPostRequest.md +20 -0
  101. data/docs/V2OrgsOrgNameInvitesGet200Response.md +18 -0
  102. data/docs/V2OrgsOrgNameMembersExportGet200ResponseInner.md +30 -0
  103. data/docs/V2OrgsOrgNameMembersUsernamePutRequest.md +18 -0
  104. data/docs/V2Scim20ResourceTypesGet200Response.md +22 -0
  105. data/docs/V2Scim20ResourceTypesNameGet404Response.md +22 -0
  106. data/docs/V2Scim20SchemasGet200Response.md +22 -0
  107. data/docs/V2Scim20ServiceProviderConfigGet401Response.md +22 -0
  108. data/docs/V2Scim20ServiceProviderConfigGet500Response.md +22 -0
  109. data/docs/V2Scim20UsersGet200Response.md +26 -0
  110. data/docs/V2Scim20UsersGet400Response.md +24 -0
  111. data/docs/V2Scim20UsersGet403Response.md +22 -0
  112. data/docs/V2Scim20UsersIdPutRequest.md +22 -0
  113. data/docs/V2Scim20UsersIdPutRequestName.md +20 -0
  114. data/docs/V2Scim20UsersPost409Response.md +22 -0
  115. data/docs/V2Scim20UsersPostRequest.md +22 -0
  116. data/docs/ValueError.md +20 -0
  117. data/git_push.sh +57 -0
  118. data/lib/docker-hub/api/access_tokens_api.rb +353 -0
  119. data/lib/docker-hub/api/audit_logs_api.rb +169 -0
  120. data/lib/docker-hub/api/authentication_api_api.rb +222 -0
  121. data/lib/docker-hub/api/groups_api.rb +690 -0
  122. data/lib/docker-hub/api/invites_api.rb +282 -0
  123. data/lib/docker-hub/api/org_access_tokens_api.rb +371 -0
  124. data/lib/docker-hub/api/org_settings_api.rb +159 -0
  125. data/lib/docker-hub/api/orgs_api.rb +323 -0
  126. data/lib/docker-hub/api/repositories_api.rb +849 -0
  127. data/lib/docker-hub/api/scim_api.rb +615 -0
  128. data/lib/docker-hub/api_client.rb +394 -0
  129. data/lib/docker-hub/api_error.rb +58 -0
  130. data/lib/docker-hub/configuration.rb +306 -0
  131. data/lib/docker-hub/models/access_token.rb +316 -0
  132. data/lib/docker-hub/models/audit_log.rb +271 -0
  133. data/lib/docker-hub/models/audit_log_action.rb +236 -0
  134. data/lib/docker-hub/models/audit_log_actions.rb +227 -0
  135. data/lib/docker-hub/models/auth_create_access_token_request.rb +240 -0
  136. data/lib/docker-hub/models/auth_create_token_response.rb +216 -0
  137. data/lib/docker-hub/models/bulk_invite.rb +217 -0
  138. data/lib/docker-hub/models/bulk_invite_invitees_inner.rb +234 -0
  139. data/lib/docker-hub/models/category.rb +289 -0
  140. data/lib/docker-hub/models/create_access_token_request.rb +279 -0
  141. data/lib/docker-hub/models/create_org_access_token_request.rb +248 -0
  142. data/lib/docker-hub/models/create_org_access_token_response.rb +298 -0
  143. data/lib/docker-hub/models/email_address.rb +250 -0
  144. data/lib/docker-hub/models/email_with_username.rb +266 -0
  145. data/lib/docker-hub/models/error.rb +234 -0
  146. data/lib/docker-hub/models/get_access_tokens_response.rb +252 -0
  147. data/lib/docker-hub/models/get_audit_actions_response.rb +218 -0
  148. data/lib/docker-hub/models/get_audit_logs_response.rb +218 -0
  149. data/lib/docker-hub/models/get_org_access_token_response.rb +289 -0
  150. data/lib/docker-hub/models/get_org_access_tokens_response.rb +243 -0
  151. data/lib/docker-hub/models/group_member.rb +339 -0
  152. data/lib/docker-hub/models/image.rb +363 -0
  153. data/lib/docker-hub/models/immutable_tags_settings.rb +241 -0
  154. data/lib/docker-hub/models/immutable_tags_verify_request.rb +243 -0
  155. data/lib/docker-hub/models/immutable_tags_verify_response.rb +224 -0
  156. data/lib/docker-hub/models/invite.rb +263 -0
  157. data/lib/docker-hub/models/layer.rb +236 -0
  158. data/lib/docker-hub/models/legacy_email_address.rb +266 -0
  159. data/lib/docker-hub/models/list_repositories_response.rb +255 -0
  160. data/lib/docker-hub/models/org_access_token.rb +270 -0
  161. data/lib/docker-hub/models/org_access_token_resource.rb +271 -0
  162. data/lib/docker-hub/models/org_group.rb +255 -0
  163. data/lib/docker-hub/models/org_member.rb +431 -0
  164. data/lib/docker-hub/models/org_member_paginated.rb +247 -0
  165. data/lib/docker-hub/models/org_settings.rb +214 -0
  166. data/lib/docker-hub/models/page.rb +237 -0
  167. data/lib/docker-hub/models/paginated_tags.rb +255 -0
  168. data/lib/docker-hub/models/patch_access_token_request.rb +251 -0
  169. data/lib/docker-hub/models/post_users2_fa_login_error_response.rb +216 -0
  170. data/lib/docker-hub/models/post_users_login_error_response.rb +234 -0
  171. data/lib/docker-hub/models/post_users_login_success_response.rb +216 -0
  172. data/lib/docker-hub/models/protobuf_any.rb +223 -0
  173. data/lib/docker-hub/models/repo_creation_request.rb +358 -0
  174. data/lib/docker-hub/models/repo_permissions.rb +256 -0
  175. data/lib/docker-hub/models/repository_group.rb +269 -0
  176. data/lib/docker-hub/models/repository_group_creation_request.rb +273 -0
  177. data/lib/docker-hub/models/repository_info.rb +609 -0
  178. data/lib/docker-hub/models/repository_list_entry.rb +488 -0
  179. data/lib/docker-hub/models/restricted_images.rb +235 -0
  180. data/lib/docker-hub/models/rpc_status.rb +234 -0
  181. data/lib/docker-hub/models/scim_email.rb +232 -0
  182. data/lib/docker-hub/models/scim_error.rb +236 -0
  183. data/lib/docker-hub/models/scim_group.rb +223 -0
  184. data/lib/docker-hub/models/scim_resource_type.rb +261 -0
  185. data/lib/docker-hub/models/scim_schema.rb +254 -0
  186. data/lib/docker-hub/models/scim_schema_attribute.rb +320 -0
  187. data/lib/docker-hub/models/scim_schema_parent_attribute.rb +338 -0
  188. data/lib/docker-hub/models/scim_service_provider_config.rb +288 -0
  189. data/lib/docker-hub/models/scim_service_provider_config_authentication_schemes.rb +241 -0
  190. data/lib/docker-hub/models/scim_service_provider_config_bulk.rb +232 -0
  191. data/lib/docker-hub/models/scim_service_provider_config_change_password.rb +214 -0
  192. data/lib/docker-hub/models/scim_service_provider_config_filter.rb +223 -0
  193. data/lib/docker-hub/models/scim_service_provider_config_patch.rb +214 -0
  194. data/lib/docker-hub/models/scim_service_provider_config_sort.rb +214 -0
  195. data/lib/docker-hub/models/scim_user.rb +295 -0
  196. data/lib/docker-hub/models/scim_user_meta.rb +243 -0
  197. data/lib/docker-hub/models/scim_user_name.rb +223 -0
  198. data/lib/docker-hub/models/tag.rb +371 -0
  199. data/lib/docker-hub/models/team_repo.rb +244 -0
  200. data/lib/docker-hub/models/update_org_access_token_request.rb +247 -0
  201. data/lib/docker-hub/models/update_org_access_token_response.rb +289 -0
  202. data/lib/docker-hub/models/update_repository_immutable_tags_request.rb +241 -0
  203. data/lib/docker-hub/models/user.rb +330 -0
  204. data/lib/docker-hub/models/users2_fa_login_request.rb +240 -0
  205. data/lib/docker-hub/models/users_login_request.rb +240 -0
  206. data/lib/docker-hub/models/v2_access_tokens_uuid_get200_response.rb +323 -0
  207. data/lib/docker-hub/models/v2_invites_bulk_post202_response.rb +214 -0
  208. data/lib/docker-hub/models/v2_invites_bulk_post_request.rb +271 -0
  209. data/lib/docker-hub/models/v2_orgs_name_settings_put_request.rb +221 -0
  210. data/lib/docker-hub/models/v2_orgs_name_settings_put_request_restricted_images.rb +263 -0
  211. data/lib/docker-hub/models/v2_orgs_org_name_groups_get200_response.rb +243 -0
  212. data/lib/docker-hub/models/v2_orgs_org_name_groups_group_name_members_get200_response.rb +243 -0
  213. data/lib/docker-hub/models/v2_orgs_org_name_groups_group_name_members_post_request.rb +221 -0
  214. data/lib/docker-hub/models/v2_orgs_org_name_groups_group_name_patch_request.rb +223 -0
  215. data/lib/docker-hub/models/v2_orgs_org_name_groups_post_request.rb +230 -0
  216. data/lib/docker-hub/models/v2_orgs_org_name_invites_get200_response.rb +216 -0
  217. data/lib/docker-hub/models/v2_orgs_org_name_members_export_get200_response_inner.rb +356 -0
  218. data/lib/docker-hub/models/v2_orgs_org_name_members_username_put_request.rb +256 -0
  219. data/lib/docker-hub/models/v2_scim20_resource_types_get200_response.rb +236 -0
  220. data/lib/docker-hub/models/v2_scim20_resource_types_name_get404_response.rb +243 -0
  221. data/lib/docker-hub/models/v2_scim20_schemas_get200_response.rb +236 -0
  222. data/lib/docker-hub/models/v2_scim20_service_provider_config_get401_response.rb +243 -0
  223. data/lib/docker-hub/models/v2_scim20_service_provider_config_get500_response.rb +243 -0
  224. data/lib/docker-hub/models/v2_scim20_users_get200_response.rb +254 -0
  225. data/lib/docker-hub/models/v2_scim20_users_get400_response.rb +253 -0
  226. data/lib/docker-hub/models/v2_scim20_users_get403_response.rb +243 -0
  227. data/lib/docker-hub/models/v2_scim20_users_id_put_request.rb +244 -0
  228. data/lib/docker-hub/models/v2_scim20_users_id_put_request_name.rb +230 -0
  229. data/lib/docker-hub/models/v2_scim20_users_post409_response.rb +243 -0
  230. data/lib/docker-hub/models/v2_scim20_users_post_request.rb +249 -0
  231. data/lib/docker-hub/models/value_error.rb +226 -0
  232. data/lib/docker-hub/version.rb +15 -0
  233. data/lib/docker-hub.rb +150 -0
  234. data/spec/api/access_tokens_api_spec.rb +97 -0
  235. data/spec/api/audit_logs_api_spec.rb +66 -0
  236. data/spec/api/authentication_api_api_spec.rb +71 -0
  237. data/spec/api/groups_api_spec.rb +162 -0
  238. data/spec/api/invites_api_spec.rb +84 -0
  239. data/spec/api/org_access_tokens_api_spec.rb +100 -0
  240. data/spec/api/org_settings_api_spec.rb +60 -0
  241. data/spec/api/orgs_api_spec.rb +92 -0
  242. data/spec/api/repositories_api_spec.rb +183 -0
  243. data/spec/api/scim_api_spec.rb +146 -0
  244. data/spec/models/access_token_spec.rb +102 -0
  245. data/spec/models/audit_log_action_spec.rb +48 -0
  246. data/spec/models/audit_log_actions_spec.rb +42 -0
  247. data/spec/models/audit_log_spec.rb +72 -0
  248. data/spec/models/auth_create_access_token_request_spec.rb +42 -0
  249. data/spec/models/auth_create_token_response_spec.rb +36 -0
  250. data/spec/models/bulk_invite_invitees_inner_spec.rb +48 -0
  251. data/spec/models/bulk_invite_spec.rb +36 -0
  252. data/spec/models/category_spec.rb +42 -0
  253. data/spec/models/create_access_token_request_spec.rb +48 -0
  254. data/spec/models/create_org_access_token_request_spec.rb +54 -0
  255. data/spec/models/create_org_access_token_response_spec.rb +84 -0
  256. data/spec/models/email_address_spec.rb +60 -0
  257. data/spec/models/email_with_username_spec.rb +66 -0
  258. data/spec/models/error_spec.rb +48 -0
  259. data/spec/models/get_access_tokens_response_spec.rb +60 -0
  260. data/spec/models/get_audit_actions_response_spec.rb +36 -0
  261. data/spec/models/get_audit_logs_response_spec.rb +36 -0
  262. data/spec/models/get_org_access_token_response_spec.rb +78 -0
  263. data/spec/models/get_org_access_tokens_response_spec.rb +54 -0
  264. data/spec/models/group_member_spec.rb +100 -0
  265. data/spec/models/image_spec.rb +106 -0
  266. data/spec/models/immutable_tags_settings_spec.rb +42 -0
  267. data/spec/models/immutable_tags_verify_request_spec.rb +36 -0
  268. data/spec/models/immutable_tags_verify_response_spec.rb +36 -0
  269. data/spec/models/invite_spec.rb +66 -0
  270. data/spec/models/layer_spec.rb +48 -0
  271. data/spec/models/legacy_email_address_spec.rb +66 -0
  272. data/spec/models/list_repositories_response_spec.rb +54 -0
  273. data/spec/models/org_access_token_resource_spec.rb +52 -0
  274. data/spec/models/org_access_token_spec.rb +72 -0
  275. data/spec/models/org_group_spec.rb +60 -0
  276. data/spec/models/org_member_paginated_spec.rb +54 -0
  277. data/spec/models/org_member_spec.rb +146 -0
  278. data/spec/models/org_settings_spec.rb +36 -0
  279. data/spec/models/page_spec.rb +48 -0
  280. data/spec/models/paginated_tags_spec.rb +54 -0
  281. data/spec/models/patch_access_token_request_spec.rb +42 -0
  282. data/spec/models/post_users2_fa_login_error_response_spec.rb +36 -0
  283. data/spec/models/post_users_login_error_response_spec.rb +42 -0
  284. data/spec/models/post_users_login_success_response_spec.rb +36 -0
  285. data/spec/models/protobuf_any_spec.rb +42 -0
  286. data/spec/models/repo_creation_request_spec.rb +66 -0
  287. data/spec/models/repo_permissions_spec.rb +48 -0
  288. data/spec/models/repository_group_creation_request_spec.rb +46 -0
  289. data/spec/models/repository_group_spec.rb +52 -0
  290. data/spec/models/repository_info_spec.rb +186 -0
  291. data/spec/models/repository_list_entry_spec.rb +140 -0
  292. data/spec/models/restricted_images_spec.rb +48 -0
  293. data/spec/models/rpc_status_spec.rb +48 -0
  294. data/spec/models/scim_email_spec.rb +48 -0
  295. data/spec/models/scim_error_spec.rb +48 -0
  296. data/spec/models/scim_group_spec.rb +42 -0
  297. data/spec/models/scim_resource_type_spec.rb +66 -0
  298. data/spec/models/scim_schema_attribute_spec.rb +88 -0
  299. data/spec/models/scim_schema_parent_attribute_spec.rb +94 -0
  300. data/spec/models/scim_schema_spec.rb +60 -0
  301. data/spec/models/scim_service_provider_config_authentication_schemes_spec.rb +54 -0
  302. data/spec/models/scim_service_provider_config_bulk_spec.rb +48 -0
  303. data/spec/models/scim_service_provider_config_change_password_spec.rb +36 -0
  304. data/spec/models/scim_service_provider_config_filter_spec.rb +42 -0
  305. data/spec/models/scim_service_provider_config_patch_spec.rb +36 -0
  306. data/spec/models/scim_service_provider_config_sort_spec.rb +36 -0
  307. data/spec/models/scim_service_provider_config_spec.rb +84 -0
  308. data/spec/models/scim_user_meta_spec.rb +54 -0
  309. data/spec/models/scim_user_name_spec.rb +42 -0
  310. data/spec/models/scim_user_spec.rb +84 -0
  311. data/spec/models/tag_spec.rb +112 -0
  312. data/spec/models/team_repo_spec.rb +46 -0
  313. data/spec/models/update_org_access_token_request_spec.rb +54 -0
  314. data/spec/models/update_org_access_token_response_spec.rb +78 -0
  315. data/spec/models/update_repository_immutable_tags_request_spec.rb +42 -0
  316. data/spec/models/user_spec.rb +94 -0
  317. data/spec/models/users2_fa_login_request_spec.rb +42 -0
  318. data/spec/models/users_login_request_spec.rb +42 -0
  319. data/spec/models/v2_access_tokens_uuid_get200_response_spec.rb +102 -0
  320. data/spec/models/v2_invites_bulk_post202_response_spec.rb +36 -0
  321. data/spec/models/v2_invites_bulk_post_request_spec.rb +60 -0
  322. data/spec/models/v2_orgs_name_settings_put_request_restricted_images_spec.rb +48 -0
  323. data/spec/models/v2_orgs_name_settings_put_request_spec.rb +36 -0
  324. data/spec/models/v2_orgs_org_name_groups_get200_response_spec.rb +54 -0
  325. data/spec/models/v2_orgs_org_name_groups_group_name_members_get200_response_spec.rb +54 -0
  326. data/spec/models/v2_orgs_org_name_groups_group_name_members_post_request_spec.rb +36 -0
  327. data/spec/models/v2_orgs_org_name_groups_group_name_patch_request_spec.rb +42 -0
  328. data/spec/models/v2_orgs_org_name_groups_post_request_spec.rb +42 -0
  329. data/spec/models/v2_orgs_org_name_invites_get200_response_spec.rb +36 -0
  330. data/spec/models/v2_orgs_org_name_members_export_get200_response_inner_spec.rb +80 -0
  331. data/spec/models/v2_orgs_org_name_members_username_put_request_spec.rb +40 -0
  332. data/spec/models/v2_scim20_resource_types_get200_response_spec.rb +48 -0
  333. data/spec/models/v2_scim20_resource_types_name_get404_response_spec.rb +48 -0
  334. data/spec/models/v2_scim20_schemas_get200_response_spec.rb +48 -0
  335. data/spec/models/v2_scim20_service_provider_config_get401_response_spec.rb +48 -0
  336. data/spec/models/v2_scim20_service_provider_config_get500_response_spec.rb +48 -0
  337. data/spec/models/v2_scim20_users_get200_response_spec.rb +60 -0
  338. data/spec/models/v2_scim20_users_get400_response_spec.rb +54 -0
  339. data/spec/models/v2_scim20_users_get403_response_spec.rb +48 -0
  340. data/spec/models/v2_scim20_users_id_put_request_name_spec.rb +42 -0
  341. data/spec/models/v2_scim20_users_id_put_request_spec.rb +48 -0
  342. data/spec/models/v2_scim20_users_post409_response_spec.rb +48 -0
  343. data/spec/models/v2_scim20_users_post_request_spec.rb +48 -0
  344. data/spec/models/value_error_spec.rb +42 -0
  345. data/spec/spec_helper.rb +111 -0
  346. metadata +539 -0
@@ -0,0 +1,255 @@
1
+ =begin
2
+ #Docker HUB API
3
+
4
+ #Docker Hub is a service provided by Docker for finding and sharing container images with your team. It is the world's largest library and community for container images. In addition to the [Docker Hub UI](https://docs.docker.com/docker-hub/) and [Docker Hub CLI tool](https://github.com/docker/hub-tool#readme) (currently experimental), Docker provides an API that allows you to interact with Docker Hub. Browse through the Docker Hub API documentation to explore the supported endpoints.
5
+
6
+ The version of the OpenAPI document: 2-beta
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.2.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module DockerHub
17
+ class OrgGroup
18
+ # Group ID
19
+ attr_accessor :id
20
+
21
+ # UUID for the group
22
+ attr_accessor :uuid
23
+
24
+ # Name of the group
25
+ attr_accessor :name
26
+
27
+ # Description of the group
28
+ attr_accessor :description
29
+
30
+ # Member count of the group
31
+ attr_accessor :member_count
32
+
33
+ # Attribute mapping from ruby-style variable name to JSON key.
34
+ def self.attribute_map
35
+ {
36
+ :'id' => :'id',
37
+ :'uuid' => :'uuid',
38
+ :'name' => :'name',
39
+ :'description' => :'description',
40
+ :'member_count' => :'member_count'
41
+ }
42
+ end
43
+
44
+ # Returns all the JSON keys this model knows about
45
+ def self.acceptable_attributes
46
+ attribute_map.values
47
+ end
48
+
49
+ # Attribute type mapping.
50
+ def self.openapi_types
51
+ {
52
+ :'id' => :'Float',
53
+ :'uuid' => :'String',
54
+ :'name' => :'String',
55
+ :'description' => :'String',
56
+ :'member_count' => :'Float'
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 `DockerHub::OrgGroup` initialize method"
71
+ end
72
+
73
+ # check to see if the attribute exists and convert string to symbol for hash key
74
+ attributes = attributes.each_with_object({}) { |(k, v), h|
75
+ if (!self.class.attribute_map.key?(k.to_sym))
76
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DockerHub::OrgGroup`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
77
+ end
78
+ h[k.to_sym] = v
79
+ }
80
+
81
+ if attributes.key?(:'id')
82
+ self.id = attributes[:'id']
83
+ end
84
+
85
+ if attributes.key?(:'uuid')
86
+ self.uuid = attributes[:'uuid']
87
+ end
88
+
89
+ if attributes.key?(:'name')
90
+ self.name = attributes[:'name']
91
+ end
92
+
93
+ if attributes.key?(:'description')
94
+ self.description = attributes[:'description']
95
+ end
96
+
97
+ if attributes.key?(:'member_count')
98
+ self.member_count = attributes[:'member_count']
99
+ end
100
+ end
101
+
102
+ # Show invalid properties with the reasons. Usually used together with valid?
103
+ # @return Array for valid properties with the reasons
104
+ def list_invalid_properties
105
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
106
+ invalid_properties = Array.new
107
+ invalid_properties
108
+ end
109
+
110
+ # Check to see if the all the properties in the model are valid
111
+ # @return true if the model is valid
112
+ def valid?
113
+ warn '[DEPRECATED] the `valid?` method is obsolete'
114
+ true
115
+ end
116
+
117
+ # Checks equality by comparing each attribute.
118
+ # @param [Object] Object to be compared
119
+ def ==(o)
120
+ return true if self.equal?(o)
121
+ self.class == o.class &&
122
+ id == o.id &&
123
+ uuid == o.uuid &&
124
+ name == o.name &&
125
+ description == o.description &&
126
+ member_count == o.member_count
127
+ end
128
+
129
+ # @see the `==` method
130
+ # @param [Object] Object to be compared
131
+ def eql?(o)
132
+ self == o
133
+ end
134
+
135
+ # Calculates hash code according to all attributes.
136
+ # @return [Integer] Hash code
137
+ def hash
138
+ [id, uuid, name, description, member_count].hash
139
+ end
140
+
141
+ # Builds the object from hash
142
+ # @param [Hash] attributes Model attributes in the form of hash
143
+ # @return [Object] Returns the model itself
144
+ def self.build_from_hash(attributes)
145
+ return nil unless attributes.is_a?(Hash)
146
+ attributes = attributes.transform_keys(&:to_sym)
147
+ transformed_hash = {}
148
+ openapi_types.each_pair do |key, type|
149
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
150
+ transformed_hash["#{key}"] = nil
151
+ elsif type =~ /\AArray<(.*)>/i
152
+ # check to ensure the input is an array given that the attribute
153
+ # is documented as an array but the input is not
154
+ if attributes[attribute_map[key]].is_a?(Array)
155
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
156
+ end
157
+ elsif !attributes[attribute_map[key]].nil?
158
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
159
+ end
160
+ end
161
+ new(transformed_hash)
162
+ end
163
+
164
+ # Deserializes the data based on type
165
+ # @param string type Data type
166
+ # @param string value Value to be deserialized
167
+ # @return [Object] Deserialized data
168
+ def self._deserialize(type, value)
169
+ case type.to_sym
170
+ when :Time
171
+ Time.parse(value)
172
+ when :Date
173
+ Date.parse(value)
174
+ when :String
175
+ value.to_s
176
+ when :Integer
177
+ value.to_i
178
+ when :Float
179
+ value.to_f
180
+ when :Boolean
181
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
182
+ true
183
+ else
184
+ false
185
+ end
186
+ when :Object
187
+ # generic object (usually a Hash), return directly
188
+ value
189
+ when /\AArray<(?<inner_type>.+)>\z/
190
+ inner_type = Regexp.last_match[:inner_type]
191
+ value.map { |v| _deserialize(inner_type, v) }
192
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
193
+ k_type = Regexp.last_match[:k_type]
194
+ v_type = Regexp.last_match[:v_type]
195
+ {}.tap do |hash|
196
+ value.each do |k, v|
197
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
198
+ end
199
+ end
200
+ else # model
201
+ # models (e.g. Pet) or oneOf
202
+ klass = DockerHub.const_get(type)
203
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
204
+ end
205
+ end
206
+
207
+ # Returns the string representation of the object
208
+ # @return [String] String presentation of the object
209
+ def to_s
210
+ to_hash.to_s
211
+ end
212
+
213
+ # to_body is an alias to to_hash (backward compatibility)
214
+ # @return [Hash] Returns the object in the form of hash
215
+ def to_body
216
+ to_hash
217
+ end
218
+
219
+ # Returns the object in the form of hash
220
+ # @return [Hash] Returns the object in the form of hash
221
+ def to_hash
222
+ hash = {}
223
+ self.class.attribute_map.each_pair do |attr, param|
224
+ value = self.send(attr)
225
+ if value.nil?
226
+ is_nullable = self.class.openapi_nullable.include?(attr)
227
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
228
+ end
229
+
230
+ hash[param] = _to_hash(value)
231
+ end
232
+ hash
233
+ end
234
+
235
+ # Outputs non-array value in the form of hash
236
+ # For object, use to_hash. Otherwise, just return the value
237
+ # @param [Object] value Any valid value
238
+ # @return [Hash] Returns the value in the form of hash
239
+ def _to_hash(value)
240
+ if value.is_a?(Array)
241
+ value.compact.map { |v| _to_hash(v) }
242
+ elsif value.is_a?(Hash)
243
+ {}.tap do |hash|
244
+ value.each { |k, v| hash[k] = _to_hash(v) }
245
+ end
246
+ elsif value.respond_to? :to_hash
247
+ value.to_hash
248
+ else
249
+ value
250
+ end
251
+ end
252
+
253
+ end
254
+
255
+ end
@@ -0,0 +1,431 @@
1
+ =begin
2
+ #Docker HUB API
3
+
4
+ #Docker Hub is a service provided by Docker for finding and sharing container images with your team. It is the world's largest library and community for container images. In addition to the [Docker Hub UI](https://docs.docker.com/docker-hub/) and [Docker Hub CLI tool](https://github.com/docker/hub-tool#readme) (currently experimental), Docker provides an API that allows you to interact with Docker Hub. Browse through the Docker Hub API documentation to explore the supported endpoints.
5
+
6
+ The version of the OpenAPI document: 2-beta
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.2.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module DockerHub
17
+ class OrgMember
18
+ # User's email address
19
+ attr_accessor :email
20
+
21
+ # User's role in the Organization
22
+ attr_accessor :role
23
+
24
+ # Groups (Teams) that the user is member of
25
+ attr_accessor :groups
26
+
27
+ # If the organization has verified domains, members that have email addresses outside of those domains will be flagged as guests.
28
+ attr_accessor :is_guest
29
+
30
+ # The user's email primary address.
31
+ attr_accessor :primary_email
32
+
33
+ # Last time the user logged in. To access this field, you must have insights visible for your organization. See [Insights](https://docs.docker.com/admin/organization/insights/#view-insights-for-organization-users).
34
+ attr_accessor :last_logged_in_at
35
+
36
+ # Last time the user was seen. To access this field, you must have insights visible for your organization. See [Insights](https://docs.docker.com/admin/organization/insights/#view-insights-for-organization-users).
37
+ attr_accessor :last_seen_at
38
+
39
+ # Last desktop version the user used. To access this field, you must have insights visible for your organization. See [Insights](https://docs.docker.com/admin/organization/insights/#view-insights-for-organization-users).
40
+ attr_accessor :last_desktop_version
41
+
42
+ # The UUID trimmed
43
+ attr_accessor :id
44
+
45
+ attr_accessor :company
46
+
47
+ attr_accessor :date_joined
48
+
49
+ attr_accessor :full_name
50
+
51
+ attr_accessor :gravatar_email
52
+
53
+ attr_accessor :gravatar_url
54
+
55
+ attr_accessor :location
56
+
57
+ attr_accessor :profile_url
58
+
59
+ attr_accessor :type
60
+
61
+ attr_accessor :username
62
+
63
+ class EnumAttributeValidator
64
+ attr_reader :datatype
65
+ attr_reader :allowable_values
66
+
67
+ def initialize(datatype, allowable_values)
68
+ @allowable_values = allowable_values.map do |value|
69
+ case datatype.to_s
70
+ when /Integer/i
71
+ value.to_i
72
+ when /Float/i
73
+ value.to_f
74
+ else
75
+ value
76
+ end
77
+ end
78
+ end
79
+
80
+ def valid?(value)
81
+ !value || allowable_values.include?(value)
82
+ end
83
+ end
84
+
85
+ # Attribute mapping from ruby-style variable name to JSON key.
86
+ def self.attribute_map
87
+ {
88
+ :'email' => :'email',
89
+ :'role' => :'role',
90
+ :'groups' => :'groups',
91
+ :'is_guest' => :'is_guest',
92
+ :'primary_email' => :'primary_email',
93
+ :'last_logged_in_at' => :'last_logged_in_at',
94
+ :'last_seen_at' => :'last_seen_at',
95
+ :'last_desktop_version' => :'last_desktop_version',
96
+ :'id' => :'id',
97
+ :'company' => :'company',
98
+ :'date_joined' => :'date_joined',
99
+ :'full_name' => :'full_name',
100
+ :'gravatar_email' => :'gravatar_email',
101
+ :'gravatar_url' => :'gravatar_url',
102
+ :'location' => :'location',
103
+ :'profile_url' => :'profile_url',
104
+ :'type' => :'type',
105
+ :'username' => :'username'
106
+ }
107
+ end
108
+
109
+ # Returns all the JSON keys this model knows about
110
+ def self.acceptable_attributes
111
+ attribute_map.values
112
+ end
113
+
114
+ # Attribute type mapping.
115
+ def self.openapi_types
116
+ {
117
+ :'email' => :'String',
118
+ :'role' => :'String',
119
+ :'groups' => :'Array<String>',
120
+ :'is_guest' => :'Boolean',
121
+ :'primary_email' => :'String',
122
+ :'last_logged_in_at' => :'Time',
123
+ :'last_seen_at' => :'Time',
124
+ :'last_desktop_version' => :'String',
125
+ :'id' => :'String',
126
+ :'company' => :'String',
127
+ :'date_joined' => :'String',
128
+ :'full_name' => :'String',
129
+ :'gravatar_email' => :'String',
130
+ :'gravatar_url' => :'String',
131
+ :'location' => :'String',
132
+ :'profile_url' => :'String',
133
+ :'type' => :'String',
134
+ :'username' => :'String'
135
+ }
136
+ end
137
+
138
+ # List of attributes with nullable: true
139
+ def self.openapi_nullable
140
+ Set.new([
141
+ ])
142
+ end
143
+
144
+ # List of class defined in allOf (OpenAPI v3)
145
+ def self.openapi_all_of
146
+ [
147
+ :'User'
148
+ ]
149
+ end
150
+
151
+ # Initializes the object
152
+ # @param [Hash] attributes Model attributes in the form of hash
153
+ def initialize(attributes = {})
154
+ if (!attributes.is_a?(Hash))
155
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DockerHub::OrgMember` initialize method"
156
+ end
157
+
158
+ # check to see if the attribute exists and convert string to symbol for hash key
159
+ attributes = attributes.each_with_object({}) { |(k, v), h|
160
+ if (!self.class.attribute_map.key?(k.to_sym))
161
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DockerHub::OrgMember`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
162
+ end
163
+ h[k.to_sym] = v
164
+ }
165
+
166
+ if attributes.key?(:'email')
167
+ self.email = attributes[:'email']
168
+ end
169
+
170
+ if attributes.key?(:'role')
171
+ self.role = attributes[:'role']
172
+ end
173
+
174
+ if attributes.key?(:'groups')
175
+ if (value = attributes[:'groups']).is_a?(Array)
176
+ self.groups = value
177
+ end
178
+ end
179
+
180
+ if attributes.key?(:'is_guest')
181
+ self.is_guest = attributes[:'is_guest']
182
+ end
183
+
184
+ if attributes.key?(:'primary_email')
185
+ self.primary_email = attributes[:'primary_email']
186
+ end
187
+
188
+ if attributes.key?(:'last_logged_in_at')
189
+ self.last_logged_in_at = attributes[:'last_logged_in_at']
190
+ end
191
+
192
+ if attributes.key?(:'last_seen_at')
193
+ self.last_seen_at = attributes[:'last_seen_at']
194
+ end
195
+
196
+ if attributes.key?(:'last_desktop_version')
197
+ self.last_desktop_version = attributes[:'last_desktop_version']
198
+ end
199
+
200
+ if attributes.key?(:'id')
201
+ self.id = attributes[:'id']
202
+ end
203
+
204
+ if attributes.key?(:'company')
205
+ self.company = attributes[:'company']
206
+ end
207
+
208
+ if attributes.key?(:'date_joined')
209
+ self.date_joined = attributes[:'date_joined']
210
+ end
211
+
212
+ if attributes.key?(:'full_name')
213
+ self.full_name = attributes[:'full_name']
214
+ end
215
+
216
+ if attributes.key?(:'gravatar_email')
217
+ self.gravatar_email = attributes[:'gravatar_email']
218
+ end
219
+
220
+ if attributes.key?(:'gravatar_url')
221
+ self.gravatar_url = attributes[:'gravatar_url']
222
+ end
223
+
224
+ if attributes.key?(:'location')
225
+ self.location = attributes[:'location']
226
+ end
227
+
228
+ if attributes.key?(:'profile_url')
229
+ self.profile_url = attributes[:'profile_url']
230
+ end
231
+
232
+ if attributes.key?(:'type')
233
+ self.type = attributes[:'type']
234
+ end
235
+
236
+ if attributes.key?(:'username')
237
+ self.username = attributes[:'username']
238
+ end
239
+ end
240
+
241
+ # Show invalid properties with the reasons. Usually used together with valid?
242
+ # @return Array for valid properties with the reasons
243
+ def list_invalid_properties
244
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
245
+ invalid_properties = Array.new
246
+ invalid_properties
247
+ end
248
+
249
+ # Check to see if the all the properties in the model are valid
250
+ # @return true if the model is valid
251
+ def valid?
252
+ warn '[DEPRECATED] the `valid?` method is obsolete'
253
+ role_validator = EnumAttributeValidator.new('String', ["Owner", "Member", "Invitee"])
254
+ return false unless role_validator.valid?(@role)
255
+ type_validator = EnumAttributeValidator.new('String', ["User", "Org"])
256
+ return false unless type_validator.valid?(@type)
257
+ true
258
+ end
259
+
260
+ # Custom attribute writer method checking allowed values (enum).
261
+ # @param [Object] role Object to be assigned
262
+ def role=(role)
263
+ validator = EnumAttributeValidator.new('String', ["Owner", "Member", "Invitee"])
264
+ unless validator.valid?(role)
265
+ fail ArgumentError, "invalid value for \"role\", must be one of #{validator.allowable_values}."
266
+ end
267
+ @role = role
268
+ end
269
+
270
+ # Custom attribute writer method checking allowed values (enum).
271
+ # @param [Object] type Object to be assigned
272
+ def type=(type)
273
+ validator = EnumAttributeValidator.new('String', ["User", "Org"])
274
+ unless validator.valid?(type)
275
+ fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
276
+ end
277
+ @type = type
278
+ end
279
+
280
+ # Checks equality by comparing each attribute.
281
+ # @param [Object] Object to be compared
282
+ def ==(o)
283
+ return true if self.equal?(o)
284
+ self.class == o.class &&
285
+ email == o.email &&
286
+ role == o.role &&
287
+ groups == o.groups &&
288
+ is_guest == o.is_guest &&
289
+ primary_email == o.primary_email &&
290
+ last_logged_in_at == o.last_logged_in_at &&
291
+ last_seen_at == o.last_seen_at &&
292
+ last_desktop_version == o.last_desktop_version &&
293
+ id == o.id &&
294
+ company == o.company &&
295
+ date_joined == o.date_joined &&
296
+ full_name == o.full_name &&
297
+ gravatar_email == o.gravatar_email &&
298
+ gravatar_url == o.gravatar_url &&
299
+ location == o.location &&
300
+ profile_url == o.profile_url &&
301
+ type == o.type &&
302
+ username == o.username
303
+ end
304
+
305
+ # @see the `==` method
306
+ # @param [Object] Object to be compared
307
+ def eql?(o)
308
+ self == o
309
+ end
310
+
311
+ # Calculates hash code according to all attributes.
312
+ # @return [Integer] Hash code
313
+ def hash
314
+ [email, role, groups, is_guest, primary_email, last_logged_in_at, last_seen_at, last_desktop_version, id, company, date_joined, full_name, gravatar_email, gravatar_url, location, profile_url, type, username].hash
315
+ end
316
+
317
+ # Builds the object from hash
318
+ # @param [Hash] attributes Model attributes in the form of hash
319
+ # @return [Object] Returns the model itself
320
+ def self.build_from_hash(attributes)
321
+ return nil unless attributes.is_a?(Hash)
322
+ attributes = attributes.transform_keys(&:to_sym)
323
+ transformed_hash = {}
324
+ openapi_types.each_pair do |key, type|
325
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
326
+ transformed_hash["#{key}"] = nil
327
+ elsif type =~ /\AArray<(.*)>/i
328
+ # check to ensure the input is an array given that the attribute
329
+ # is documented as an array but the input is not
330
+ if attributes[attribute_map[key]].is_a?(Array)
331
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
332
+ end
333
+ elsif !attributes[attribute_map[key]].nil?
334
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
335
+ end
336
+ end
337
+ new(transformed_hash)
338
+ end
339
+
340
+ # Deserializes the data based on type
341
+ # @param string type Data type
342
+ # @param string value Value to be deserialized
343
+ # @return [Object] Deserialized data
344
+ def self._deserialize(type, value)
345
+ case type.to_sym
346
+ when :Time
347
+ Time.parse(value)
348
+ when :Date
349
+ Date.parse(value)
350
+ when :String
351
+ value.to_s
352
+ when :Integer
353
+ value.to_i
354
+ when :Float
355
+ value.to_f
356
+ when :Boolean
357
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
358
+ true
359
+ else
360
+ false
361
+ end
362
+ when :Object
363
+ # generic object (usually a Hash), return directly
364
+ value
365
+ when /\AArray<(?<inner_type>.+)>\z/
366
+ inner_type = Regexp.last_match[:inner_type]
367
+ value.map { |v| _deserialize(inner_type, v) }
368
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
369
+ k_type = Regexp.last_match[:k_type]
370
+ v_type = Regexp.last_match[:v_type]
371
+ {}.tap do |hash|
372
+ value.each do |k, v|
373
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
374
+ end
375
+ end
376
+ else # model
377
+ # models (e.g. Pet) or oneOf
378
+ klass = DockerHub.const_get(type)
379
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
380
+ end
381
+ end
382
+
383
+ # Returns the string representation of the object
384
+ # @return [String] String presentation of the object
385
+ def to_s
386
+ to_hash.to_s
387
+ end
388
+
389
+ # to_body is an alias to to_hash (backward compatibility)
390
+ # @return [Hash] Returns the object in the form of hash
391
+ def to_body
392
+ to_hash
393
+ end
394
+
395
+ # Returns the object in the form of hash
396
+ # @return [Hash] Returns the object in the form of hash
397
+ def to_hash
398
+ hash = {}
399
+ self.class.attribute_map.each_pair do |attr, param|
400
+ value = self.send(attr)
401
+ if value.nil?
402
+ is_nullable = self.class.openapi_nullable.include?(attr)
403
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
404
+ end
405
+
406
+ hash[param] = _to_hash(value)
407
+ end
408
+ hash
409
+ end
410
+
411
+ # Outputs non-array value in the form of hash
412
+ # For object, use to_hash. Otherwise, just return the value
413
+ # @param [Object] value Any valid value
414
+ # @return [Hash] Returns the value in the form of hash
415
+ def _to_hash(value)
416
+ if value.is_a?(Array)
417
+ value.compact.map { |v| _to_hash(v) }
418
+ elsif value.is_a?(Hash)
419
+ {}.tap do |hash|
420
+ value.each { |k, v| hash[k] = _to_hash(v) }
421
+ end
422
+ elsif value.respond_to? :to_hash
423
+ value.to_hash
424
+ else
425
+ value
426
+ end
427
+ end
428
+
429
+ end
430
+
431
+ end