harbor1_client 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 (444) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +7 -0
  3. data/README.md +438 -0
  4. data/Rakefile +8 -0
  5. data/docs/AccessLog.md +13 -0
  6. data/docs/Action.md +8 -0
  7. data/docs/Action1.md +8 -0
  8. data/docs/AdminJobSchedule.md +8 -0
  9. data/docs/AdminJobScheduleObj.md +9 -0
  10. data/docs/BadRequestFormatedError.md +8 -0
  11. data/docs/BoolConfigItem.md +9 -0
  12. data/docs/CVEWhitelist.md +11 -0
  13. data/docs/CVEWhitelistItem.md +8 -0
  14. data/docs/ChartAPIError.md +8 -0
  15. data/docs/ChartInfoEntry.md +15 -0
  16. data/docs/ChartInfoList.md +7 -0
  17. data/docs/ChartMetadata.md +18 -0
  18. data/docs/ChartRepositoryApi.md +698 -0
  19. data/docs/ChartVersion.md +23 -0
  20. data/docs/ChartVersionDetails.md +13 -0
  21. data/docs/ChartVersions.md +7 -0
  22. data/docs/ComponentHealthStatus.md +10 -0
  23. data/docs/ComponentOverviewEntry.md +9 -0
  24. data/docs/Configurations.md +42 -0
  25. data/docs/ConfigurationsResponse.md +41 -0
  26. data/docs/ConfigurationsScanAllPolicy.md +9 -0
  27. data/docs/ConfigurationsScanAllPolicyParameter.md +8 -0
  28. data/docs/ConflictFormatedError.md +8 -0
  29. data/docs/Dependency.md +10 -0
  30. data/docs/DetailedTag.md +18 -0
  31. data/docs/DigitalSignature.md +9 -0
  32. data/docs/EmailServerSetting.md +13 -0
  33. data/docs/Endpoint.md +9 -0
  34. data/docs/FilterStyle.md +10 -0
  35. data/docs/ForbiddenChartAPIError.md +8 -0
  36. data/docs/GCResult.md +15 -0
  37. data/docs/GeneralInfo.md +20 -0
  38. data/docs/GeneralInfoClairVulnerabilityStatus.md +9 -0
  39. data/docs/HasAdminRole.md +8 -0
  40. data/docs/ImmutableTagRule.md +11 -0
  41. data/docs/InlineResponse200.md +8 -0
  42. data/docs/InputSecret.md +8 -0
  43. data/docs/InsufficientStorageChartAPIError.md +8 -0
  44. data/docs/IntegerConfigItem.md +9 -0
  45. data/docs/InternalChartAPIError.md +8 -0
  46. data/docs/IsDefault.md +8 -0
  47. data/docs/JobStatus.md +15 -0
  48. data/docs/Label.md +16 -0
  49. data/docs/LabelApi.md +191 -0
  50. data/docs/Labels.md +7 -0
  51. data/docs/LdapConf.md +15 -0
  52. data/docs/LdapFailedImportUsers.md +9 -0
  53. data/docs/LdapImportUsers.md +8 -0
  54. data/docs/LdapUsers.md +10 -0
  55. data/docs/Manifest.md +9 -0
  56. data/docs/Namespace.md +9 -0
  57. data/docs/NativeReportSummary.md +14 -0
  58. data/docs/NotFoundChartAPIError.md +8 -0
  59. data/docs/OverallHealthStatus.md +9 -0
  60. data/docs/Password.md +9 -0
  61. data/docs/Permission.md +9 -0
  62. data/docs/PingRegistry.md +14 -0
  63. data/docs/ProductsApi.md +8594 -0
  64. data/docs/Project.md +21 -0
  65. data/docs/ProjectMember.md +10 -0
  66. data/docs/ProjectMemberEntity.md +14 -0
  67. data/docs/ProjectMetadata.md +13 -0
  68. data/docs/ProjectReq.md +12 -0
  69. data/docs/ProjectScanner.md +8 -0
  70. data/docs/ProjectSummary.md +14 -0
  71. data/docs/ProjectSummaryQuota.md +9 -0
  72. data/docs/PutRegistry.md +14 -0
  73. data/docs/Quota.md +13 -0
  74. data/docs/QuotaApi.md +118 -0
  75. data/docs/QuotaRefObject.md +7 -0
  76. data/docs/QuotaSwitcher.md +8 -0
  77. data/docs/QuotaUpdateReq.md +8 -0
  78. data/docs/Registry.md +17 -0
  79. data/docs/RegistryCredential.md +10 -0
  80. data/docs/RegistryInfo.md +11 -0
  81. data/docs/ReplicationExecution.md +19 -0
  82. data/docs/ReplicationFilter.md +9 -0
  83. data/docs/ReplicationPolicy.md +20 -0
  84. data/docs/ReplicationTask.md +16 -0
  85. data/docs/ReplicationTrigger.md +9 -0
  86. data/docs/RepoSignature.md +9 -0
  87. data/docs/Report.md +11 -0
  88. data/docs/Repository.md +17 -0
  89. data/docs/RepositoryDescription.md +8 -0
  90. data/docs/Resource.md +8 -0
  91. data/docs/ResourceList.md +7 -0
  92. data/docs/RetagReq.md +10 -0
  93. data/docs/RetentionApi.md +449 -0
  94. data/docs/RetentionExecution.md +14 -0
  95. data/docs/RetentionExecutionTask.md +18 -0
  96. data/docs/RetentionMetadata.md +10 -0
  97. data/docs/RetentionPolicy.md +12 -0
  98. data/docs/RetentionPolicyScope.md +9 -0
  99. data/docs/RetentionRule.md +15 -0
  100. data/docs/RetentionRuleMetadata.md +11 -0
  101. data/docs/RetentionRuleParamMetadata.md +10 -0
  102. data/docs/RetentionRuleTrigger.md +10 -0
  103. data/docs/RetentionSelector.md +10 -0
  104. data/docs/RetentionSelectorMetadata.md +10 -0
  105. data/docs/RobotAccount.md +15 -0
  106. data/docs/RobotAccountAccess.md +9 -0
  107. data/docs/RobotAccountApi.md +291 -0
  108. data/docs/RobotAccountCreate.md +10 -0
  109. data/docs/RobotAccountPostRep.md +9 -0
  110. data/docs/RobotAccountUpdate.md +8 -0
  111. data/docs/Role.md +11 -0
  112. data/docs/RoleParam.md +9 -0
  113. data/docs/RoleRequest.md +8 -0
  114. data/docs/ScanApi.md +281 -0
  115. data/docs/ScanOverview.md +7 -0
  116. data/docs/Scanner.md +10 -0
  117. data/docs/ScannerAdapterMetadata.md +10 -0
  118. data/docs/ScannerCapability.md +9 -0
  119. data/docs/ScannerRegistration.md +21 -0
  120. data/docs/ScannerRegistrationReq.md +15 -0
  121. data/docs/ScannerRegistrationSettings.md +11 -0
  122. data/docs/ScannersApi.md +600 -0
  123. data/docs/Search.md +10 -0
  124. data/docs/SearchRepository.md +13 -0
  125. data/docs/SearchResult.md +10 -0
  126. data/docs/SecurityReport.md +8 -0
  127. data/docs/StatisticMap.md +13 -0
  128. data/docs/Stats.md +11 -0
  129. data/docs/Storage.md +9 -0
  130. data/docs/StringConfigItem.md +9 -0
  131. data/docs/SystemApi.md +163 -0
  132. data/docs/SystemInfo.md +8 -0
  133. data/docs/Tags.md +8 -0
  134. data/docs/TriggerSettings.md +8 -0
  135. data/docs/UnauthorizedChartAPIError.md +8 -0
  136. data/docs/User.md +21 -0
  137. data/docs/UserEntity.md +9 -0
  138. data/docs/UserGroup.md +11 -0
  139. data/docs/UserProfile.md +10 -0
  140. data/docs/UserSearch.md +9 -0
  141. data/docs/VulnNamespaceTimestamp.md +9 -0
  142. data/docs/VulnerabilityItem.md +14 -0
  143. data/docs/VulnerabilitySummary.md +10 -0
  144. data/docs/WebhookJob.md +15 -0
  145. data/docs/WebhookLastTrigger.md +11 -0
  146. data/docs/WebhookPolicy.md +17 -0
  147. data/docs/WebhookTargetObject.md +11 -0
  148. data/git_push.sh +55 -0
  149. data/harbor1_client.gemspec +46 -0
  150. data/lib/harbor1_client.rb +182 -0
  151. data/lib/harbor1_client/api/chart_repository_api.rb +762 -0
  152. data/lib/harbor1_client/api/label_api.rb +230 -0
  153. data/lib/harbor1_client/api/products_api.rb +8783 -0
  154. data/lib/harbor1_client/api/quota_api.rb +136 -0
  155. data/lib/harbor1_client/api/retention_api.rb +482 -0
  156. data/lib/harbor1_client/api/robot_account_api.rb +321 -0
  157. data/lib/harbor1_client/api/scan_api.rb +307 -0
  158. data/lib/harbor1_client/api/scanners_api.rb +624 -0
  159. data/lib/harbor1_client/api/system_api.rb +173 -0
  160. data/lib/harbor1_client/api_client.rb +391 -0
  161. data/lib/harbor1_client/api_error.rb +38 -0
  162. data/lib/harbor1_client/configuration.rb +209 -0
  163. data/lib/harbor1_client/models/access_log.rb +235 -0
  164. data/lib/harbor1_client/models/action.rb +184 -0
  165. data/lib/harbor1_client/models/action_1.rb +184 -0
  166. data/lib/harbor1_client/models/admin_job_schedule.rb +184 -0
  167. data/lib/harbor1_client/models/admin_job_schedule_obj.rb +195 -0
  168. data/lib/harbor1_client/models/bad_request_formated_error.rb +191 -0
  169. data/lib/harbor1_client/models/bool_config_item.rb +195 -0
  170. data/lib/harbor1_client/models/chart_api_error.rb +191 -0
  171. data/lib/harbor1_client/models/chart_info_entry.rb +271 -0
  172. data/lib/harbor1_client/models/chart_info_list.rb +176 -0
  173. data/lib/harbor1_client/models/chart_metadata.rb +320 -0
  174. data/lib/harbor1_client/models/chart_version.rb +371 -0
  175. data/lib/harbor1_client/models/chart_version_details.rb +236 -0
  176. data/lib/harbor1_client/models/chart_versions.rb +176 -0
  177. data/lib/harbor1_client/models/component_health_status.rb +206 -0
  178. data/lib/harbor1_client/models/component_overview_entry.rb +195 -0
  179. data/lib/harbor1_client/models/configurations.rb +524 -0
  180. data/lib/harbor1_client/models/configurations_response.rb +514 -0
  181. data/lib/harbor1_client/models/configurations_scan_all_policy.rb +194 -0
  182. data/lib/harbor1_client/models/configurations_scan_all_policy_parameter.rb +186 -0
  183. data/lib/harbor1_client/models/conflict_formated_error.rb +191 -0
  184. data/lib/harbor1_client/models/cve_whitelist.rb +217 -0
  185. data/lib/harbor1_client/models/cve_whitelist_item.rb +186 -0
  186. data/lib/harbor1_client/models/dependency.rb +216 -0
  187. data/lib/harbor1_client/models/detailed_tag.rb +287 -0
  188. data/lib/harbor1_client/models/digital_signature.rb +196 -0
  189. data/lib/harbor1_client/models/email_server_setting.rb +235 -0
  190. data/lib/harbor1_client/models/endpoint.rb +195 -0
  191. data/lib/harbor1_client/models/filter_style.rb +208 -0
  192. data/lib/harbor1_client/models/forbidden_chart_api_error.rb +191 -0
  193. data/lib/harbor1_client/models/gc_result.rb +254 -0
  194. data/lib/harbor1_client/models/general_info.rb +304 -0
  195. data/lib/harbor1_client/models/general_info_clair_vulnerability_status.rb +198 -0
  196. data/lib/harbor1_client/models/has_admin_role.rb +185 -0
  197. data/lib/harbor1_client/models/immutable_tag_rule.rb +211 -0
  198. data/lib/harbor1_client/models/inline_response_200.rb +184 -0
  199. data/lib/harbor1_client/models/input_secret.rb +185 -0
  200. data/lib/harbor1_client/models/insufficient_storage_chart_api_error.rb +191 -0
  201. data/lib/harbor1_client/models/integer_config_item.rb +195 -0
  202. data/lib/harbor1_client/models/internal_chart_api_error.rb +191 -0
  203. data/lib/harbor1_client/models/is_default.rb +185 -0
  204. data/lib/harbor1_client/models/job_status.rb +257 -0
  205. data/lib/harbor1_client/models/label.rb +265 -0
  206. data/lib/harbor1_client/models/labels.rb +176 -0
  207. data/lib/harbor1_client/models/ldap_conf.rb +255 -0
  208. data/lib/harbor1_client/models/ldap_failed_import_users.rb +195 -0
  209. data/lib/harbor1_client/models/ldap_import_users.rb +187 -0
  210. data/lib/harbor1_client/models/ldap_users.rb +205 -0
  211. data/lib/harbor1_client/models/manifest.rb +195 -0
  212. data/lib/harbor1_client/models/namespace.rb +196 -0
  213. data/lib/harbor1_client/models/native_report_summary.rb +245 -0
  214. data/lib/harbor1_client/models/not_found_chart_api_error.rb +191 -0
  215. data/lib/harbor1_client/models/overall_health_status.rb +197 -0
  216. data/lib/harbor1_client/models/password.rb +195 -0
  217. data/lib/harbor1_client/models/permission.rb +196 -0
  218. data/lib/harbor1_client/models/ping_registry.rb +245 -0
  219. data/lib/harbor1_client/models/project.rb +317 -0
  220. data/lib/harbor1_client/models/project_member.rb +203 -0
  221. data/lib/harbor1_client/models/project_member_entity.rb +245 -0
  222. data/lib/harbor1_client/models/project_metadata.rb +235 -0
  223. data/lib/harbor1_client/models/project_req.rb +225 -0
  224. data/lib/harbor1_client/models/project_scanner.rb +185 -0
  225. data/lib/harbor1_client/models/project_summary.rb +244 -0
  226. data/lib/harbor1_client/models/project_summary_quota.rb +195 -0
  227. data/lib/harbor1_client/models/put_registry.rb +245 -0
  228. data/lib/harbor1_client/models/quota.rb +236 -0
  229. data/lib/harbor1_client/models/quota_ref_object.rb +175 -0
  230. data/lib/harbor1_client/models/quota_switcher.rb +185 -0
  231. data/lib/harbor1_client/models/quota_update_req.rb +185 -0
  232. data/lib/harbor1_client/models/registry.rb +274 -0
  233. data/lib/harbor1_client/models/registry_credential.rb +205 -0
  234. data/lib/harbor1_client/models/registry_info.rb +220 -0
  235. data/lib/harbor1_client/models/replication_execution.rb +296 -0
  236. data/lib/harbor1_client/models/replication_filter.rb +195 -0
  237. data/lib/harbor1_client/models/replication_policy.rb +306 -0
  238. data/lib/harbor1_client/models/replication_task.rb +266 -0
  239. data/lib/harbor1_client/models/replication_trigger.rb +194 -0
  240. data/lib/harbor1_client/models/repo_signature.rb +195 -0
  241. data/lib/harbor1_client/models/report.rb +216 -0
  242. data/lib/harbor1_client/models/repository.rb +277 -0
  243. data/lib/harbor1_client/models/repository_description.rb +185 -0
  244. data/lib/harbor1_client/models/resource.rb +187 -0
  245. data/lib/harbor1_client/models/resource_list.rb +175 -0
  246. data/lib/harbor1_client/models/retag_req.rb +205 -0
  247. data/lib/harbor1_client/models/retention_execution.rb +238 -0
  248. data/lib/harbor1_client/models/retention_execution_task.rb +274 -0
  249. data/lib/harbor1_client/models/retention_metadata.rb +212 -0
  250. data/lib/harbor1_client/models/retention_policy.rb +223 -0
  251. data/lib/harbor1_client/models/retention_policy_scope.rb +193 -0
  252. data/lib/harbor1_client/models/retention_rule.rb +253 -0
  253. data/lib/harbor1_client/models/retention_rule_metadata.rb +218 -0
  254. data/lib/harbor1_client/models/retention_rule_param_metadata.rb +203 -0
  255. data/lib/harbor1_client/models/retention_rule_trigger.rb +202 -0
  256. data/lib/harbor1_client/models/retention_selector.rb +202 -0
  257. data/lib/harbor1_client/models/retention_selector_metadata.rb +205 -0
  258. data/lib/harbor1_client/models/robot_account.rb +256 -0
  259. data/lib/harbor1_client/models/robot_account_access.rb +195 -0
  260. data/lib/harbor1_client/models/robot_account_create.rb +207 -0
  261. data/lib/harbor1_client/models/robot_account_post_rep.rb +195 -0
  262. data/lib/harbor1_client/models/robot_account_update.rb +185 -0
  263. data/lib/harbor1_client/models/role.rb +214 -0
  264. data/lib/harbor1_client/models/role_param.rb +197 -0
  265. data/lib/harbor1_client/models/role_request.rb +185 -0
  266. data/lib/harbor1_client/models/scan_overview.rb +176 -0
  267. data/lib/harbor1_client/models/scanner.rb +205 -0
  268. data/lib/harbor1_client/models/scanner_adapter_metadata.rb +207 -0
  269. data/lib/harbor1_client/models/scanner_capability.rb +197 -0
  270. data/lib/harbor1_client/models/scanner_registration.rb +328 -0
  271. data/lib/harbor1_client/models/scanner_registration_req.rb +263 -0
  272. data/lib/harbor1_client/models/scanner_registration_settings.rb +217 -0
  273. data/lib/harbor1_client/models/search.rb +211 -0
  274. data/lib/harbor1_client/models/search_repository.rb +235 -0
  275. data/lib/harbor1_client/models/search_result.rb +205 -0
  276. data/lib/harbor1_client/models/security_report.rb +185 -0
  277. data/lib/harbor1_client/models/statistic_map.rb +235 -0
  278. data/lib/harbor1_client/models/stats.rb +218 -0
  279. data/lib/harbor1_client/models/storage.rb +195 -0
  280. data/lib/harbor1_client/models/string_config_item.rb +195 -0
  281. data/lib/harbor1_client/models/system_info.rb +187 -0
  282. data/lib/harbor1_client/models/tags.rb +185 -0
  283. data/lib/harbor1_client/models/trigger_settings.rb +185 -0
  284. data/lib/harbor1_client/models/unauthorized_chart_api_error.rb +191 -0
  285. data/lib/harbor1_client/models/user.rb +302 -0
  286. data/lib/harbor1_client/models/user_entity.rb +195 -0
  287. data/lib/harbor1_client/models/user_group.rb +215 -0
  288. data/lib/harbor1_client/models/user_profile.rb +205 -0
  289. data/lib/harbor1_client/models/user_search.rb +194 -0
  290. data/lib/harbor1_client/models/vuln_namespace_timestamp.rb +195 -0
  291. data/lib/harbor1_client/models/vulnerability_item.rb +247 -0
  292. data/lib/harbor1_client/models/vulnerability_summary.rb +208 -0
  293. data/lib/harbor1_client/models/webhook_job.rb +256 -0
  294. data/lib/harbor1_client/models/webhook_last_trigger.rb +216 -0
  295. data/lib/harbor1_client/models/webhook_policy.rb +278 -0
  296. data/lib/harbor1_client/models/webhook_target_object.rb +216 -0
  297. data/lib/harbor1_client/version.rb +15 -0
  298. data/spec/api/chart_repository_api_spec.rb +196 -0
  299. data/spec/api/label_api_spec.rb +79 -0
  300. data/spec/api/products_api_spec.rb +2010 -0
  301. data/spec/api/quota_api_spec.rb +60 -0
  302. data/spec/api/retention_api_spec.rb +136 -0
  303. data/spec/api/robot_account_api_spec.rb +100 -0
  304. data/spec/api/scan_api_spec.rb +98 -0
  305. data/spec/api/scanners_api_spec.rb +169 -0
  306. data/spec/api/system_api_spec.rb +70 -0
  307. data/spec/api_client_spec.rb +243 -0
  308. data/spec/configuration_spec.rb +42 -0
  309. data/spec/models/access_log_spec.rb +71 -0
  310. data/spec/models/action_1_spec.rb +41 -0
  311. data/spec/models/action_spec.rb +41 -0
  312. data/spec/models/admin_job_schedule_obj_spec.rb +47 -0
  313. data/spec/models/admin_job_schedule_spec.rb +41 -0
  314. data/spec/models/bad_request_formated_error_spec.rb +41 -0
  315. data/spec/models/bool_config_item_spec.rb +47 -0
  316. data/spec/models/chart_api_error_spec.rb +41 -0
  317. data/spec/models/chart_info_entry_spec.rb +83 -0
  318. data/spec/models/chart_info_list_spec.rb +35 -0
  319. data/spec/models/chart_metadata_spec.rb +101 -0
  320. data/spec/models/chart_version_details_spec.rb +71 -0
  321. data/spec/models/chart_version_spec.rb +131 -0
  322. data/spec/models/chart_versions_spec.rb +35 -0
  323. data/spec/models/component_health_status_spec.rb +53 -0
  324. data/spec/models/component_overview_entry_spec.rb +47 -0
  325. data/spec/models/configurations_response_spec.rb +239 -0
  326. data/spec/models/configurations_scan_all_policy_parameter_spec.rb +41 -0
  327. data/spec/models/configurations_scan_all_policy_spec.rb +47 -0
  328. data/spec/models/configurations_spec.rb +245 -0
  329. data/spec/models/conflict_formated_error_spec.rb +41 -0
  330. data/spec/models/cve_whitelist_item_spec.rb +41 -0
  331. data/spec/models/cve_whitelist_spec.rb +59 -0
  332. data/spec/models/dependency_spec.rb +53 -0
  333. data/spec/models/detailed_tag_spec.rb +101 -0
  334. data/spec/models/digital_signature_spec.rb +47 -0
  335. data/spec/models/email_server_setting_spec.rb +71 -0
  336. data/spec/models/endpoint_spec.rb +47 -0
  337. data/spec/models/filter_style_spec.rb +53 -0
  338. data/spec/models/forbidden_chart_api_error_spec.rb +41 -0
  339. data/spec/models/gc_result_spec.rb +83 -0
  340. data/spec/models/general_info_clair_vulnerability_status_spec.rb +47 -0
  341. data/spec/models/general_info_spec.rb +113 -0
  342. data/spec/models/has_admin_role_spec.rb +41 -0
  343. data/spec/models/immutable_tag_rule_spec.rb +59 -0
  344. data/spec/models/inline_response_200_spec.rb +41 -0
  345. data/spec/models/input_secret_spec.rb +41 -0
  346. data/spec/models/insufficient_storage_chart_api_error_spec.rb +41 -0
  347. data/spec/models/integer_config_item_spec.rb +47 -0
  348. data/spec/models/internal_chart_api_error_spec.rb +41 -0
  349. data/spec/models/is_default_spec.rb +41 -0
  350. data/spec/models/job_status_spec.rb +83 -0
  351. data/spec/models/label_spec.rb +89 -0
  352. data/spec/models/labels_spec.rb +35 -0
  353. data/spec/models/ldap_conf_spec.rb +83 -0
  354. data/spec/models/ldap_failed_import_users_spec.rb +47 -0
  355. data/spec/models/ldap_import_users_spec.rb +41 -0
  356. data/spec/models/ldap_users_spec.rb +53 -0
  357. data/spec/models/manifest_spec.rb +47 -0
  358. data/spec/models/namespace_spec.rb +47 -0
  359. data/spec/models/native_report_summary_spec.rb +77 -0
  360. data/spec/models/not_found_chart_api_error_spec.rb +41 -0
  361. data/spec/models/overall_health_status_spec.rb +47 -0
  362. data/spec/models/password_spec.rb +47 -0
  363. data/spec/models/permission_spec.rb +47 -0
  364. data/spec/models/ping_registry_spec.rb +77 -0
  365. data/spec/models/project_member_entity_spec.rb +77 -0
  366. data/spec/models/project_member_spec.rb +53 -0
  367. data/spec/models/project_metadata_spec.rb +71 -0
  368. data/spec/models/project_req_spec.rb +65 -0
  369. data/spec/models/project_scanner_spec.rb +41 -0
  370. data/spec/models/project_spec.rb +119 -0
  371. data/spec/models/project_summary_quota_spec.rb +47 -0
  372. data/spec/models/project_summary_spec.rb +77 -0
  373. data/spec/models/put_registry_spec.rb +77 -0
  374. data/spec/models/quota_ref_object_spec.rb +35 -0
  375. data/spec/models/quota_spec.rb +71 -0
  376. data/spec/models/quota_switcher_spec.rb +41 -0
  377. data/spec/models/quota_update_req_spec.rb +41 -0
  378. data/spec/models/registry_credential_spec.rb +53 -0
  379. data/spec/models/registry_info_spec.rb +59 -0
  380. data/spec/models/registry_spec.rb +95 -0
  381. data/spec/models/replication_execution_spec.rb +107 -0
  382. data/spec/models/replication_filter_spec.rb +47 -0
  383. data/spec/models/replication_policy_spec.rb +113 -0
  384. data/spec/models/replication_task_spec.rb +89 -0
  385. data/spec/models/replication_trigger_spec.rb +47 -0
  386. data/spec/models/repo_signature_spec.rb +47 -0
  387. data/spec/models/report_spec.rb +59 -0
  388. data/spec/models/repository_description_spec.rb +41 -0
  389. data/spec/models/repository_spec.rb +95 -0
  390. data/spec/models/resource_list_spec.rb +35 -0
  391. data/spec/models/resource_spec.rb +41 -0
  392. data/spec/models/retag_req_spec.rb +53 -0
  393. data/spec/models/retention_execution_spec.rb +77 -0
  394. data/spec/models/retention_execution_task_spec.rb +101 -0
  395. data/spec/models/retention_metadata_spec.rb +53 -0
  396. data/spec/models/retention_policy_scope_spec.rb +47 -0
  397. data/spec/models/retention_policy_spec.rb +65 -0
  398. data/spec/models/retention_rule_metadata_spec.rb +59 -0
  399. data/spec/models/retention_rule_param_metadata_spec.rb +53 -0
  400. data/spec/models/retention_rule_spec.rb +83 -0
  401. data/spec/models/retention_rule_trigger_spec.rb +53 -0
  402. data/spec/models/retention_selector_metadata_spec.rb +53 -0
  403. data/spec/models/retention_selector_spec.rb +53 -0
  404. data/spec/models/robot_account_access_spec.rb +47 -0
  405. data/spec/models/robot_account_create_spec.rb +53 -0
  406. data/spec/models/robot_account_post_rep_spec.rb +47 -0
  407. data/spec/models/robot_account_spec.rb +83 -0
  408. data/spec/models/robot_account_update_spec.rb +41 -0
  409. data/spec/models/role_param_spec.rb +47 -0
  410. data/spec/models/role_request_spec.rb +41 -0
  411. data/spec/models/role_spec.rb +59 -0
  412. data/spec/models/scan_overview_spec.rb +35 -0
  413. data/spec/models/scanner_adapter_metadata_spec.rb +53 -0
  414. data/spec/models/scanner_capability_spec.rb +47 -0
  415. data/spec/models/scanner_registration_req_spec.rb +83 -0
  416. data/spec/models/scanner_registration_settings_spec.rb +59 -0
  417. data/spec/models/scanner_registration_spec.rb +119 -0
  418. data/spec/models/scanner_spec.rb +53 -0
  419. data/spec/models/search_repository_spec.rb +71 -0
  420. data/spec/models/search_result_spec.rb +53 -0
  421. data/spec/models/search_spec.rb +53 -0
  422. data/spec/models/security_report_spec.rb +41 -0
  423. data/spec/models/statistic_map_spec.rb +71 -0
  424. data/spec/models/stats_spec.rb +59 -0
  425. data/spec/models/storage_spec.rb +47 -0
  426. data/spec/models/string_config_item_spec.rb +47 -0
  427. data/spec/models/system_info_spec.rb +41 -0
  428. data/spec/models/tags_spec.rb +41 -0
  429. data/spec/models/trigger_settings_spec.rb +41 -0
  430. data/spec/models/unauthorized_chart_api_error_spec.rb +41 -0
  431. data/spec/models/user_entity_spec.rb +47 -0
  432. data/spec/models/user_group_spec.rb +59 -0
  433. data/spec/models/user_profile_spec.rb +53 -0
  434. data/spec/models/user_search_spec.rb +47 -0
  435. data/spec/models/user_spec.rb +119 -0
  436. data/spec/models/vuln_namespace_timestamp_spec.rb +47 -0
  437. data/spec/models/vulnerability_item_spec.rb +77 -0
  438. data/spec/models/vulnerability_summary_spec.rb +53 -0
  439. data/spec/models/webhook_job_spec.rb +83 -0
  440. data/spec/models/webhook_last_trigger_spec.rb +59 -0
  441. data/spec/models/webhook_policy_spec.rb +95 -0
  442. data/spec/models/webhook_target_object_spec.rb +59 -0
  443. data/spec/spec_helper.rb +111 -0
  444. metadata +832 -0
@@ -0,0 +1,514 @@
1
+ =begin
2
+ #Harbor API
3
+
4
+ #These APIs provide services for manipulating Harbor project.
5
+
6
+ OpenAPI spec version: 1.10.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.17
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module Harbor1Client
16
+ class ConfigurationsResponse
17
+ # The auth mode of current system, such as \"db_auth\", \"ldap_auth\"
18
+ attr_accessor :auth_mode
19
+
20
+ # The default count quota for the new created projects.
21
+ attr_accessor :count_per_project
22
+
23
+ # The sender name for Email notification.
24
+ attr_accessor :email_from
25
+
26
+ # The hostname of SMTP server that sends Email notification.
27
+ attr_accessor :email_host
28
+
29
+ # The port of SMTP server.
30
+ attr_accessor :email_port
31
+
32
+ # By default it's empty so the email_username is picked.
33
+ attr_accessor :email_identity
34
+
35
+ # The username for authenticate against SMTP server.
36
+ attr_accessor :email_username
37
+
38
+ # When it's set to true the system will access Email server via TLS by default. If it's set to false, it still will handle \"STARTTLS\" from server side.
39
+ attr_accessor :email_ssl
40
+
41
+ # Whether or not the certificate will be verified when Harbor tries to access the email server.
42
+ attr_accessor :email_insecure
43
+
44
+ # The URL of LDAP server.
45
+ attr_accessor :ldap_url
46
+
47
+ # The Base DN for LDAP binding.
48
+ attr_accessor :ldap_base_dn
49
+
50
+ # The filter for LDAP binding.
51
+ attr_accessor :ldap_filter
52
+
53
+ # 0-LDAP_SCOPE_BASE, 1-LDAP_SCOPE_ONELEVEL, 2-LDAP_SCOPE_SUBTREE
54
+ attr_accessor :ldap_scope
55
+
56
+ # The attribute which is used as identity for the LDAP binding, such as \"CN\" or \"SAMAccountname\"
57
+ attr_accessor :ldap_uid
58
+
59
+ # The DN of the user to do the search.
60
+ attr_accessor :ldap_search_dn
61
+
62
+ # timeout in seconds for connection to LDAP server.
63
+ attr_accessor :ldap_timeout
64
+
65
+ # The attribute which is used as identity of the LDAP group, default is cn.
66
+ attr_accessor :ldap_group_attribute_name
67
+
68
+ # The base DN to search LDAP group.
69
+ attr_accessor :ldap_group_base_dn
70
+
71
+ # The filter to search the ldap group.
72
+ attr_accessor :ldap_group_search_filter
73
+
74
+ # The scope to search ldap. '0-LDAP_SCOPE_BASE, 1-LDAP_SCOPE_ONELEVEL, 2-LDAP_SCOPE_SUBTREE'
75
+ attr_accessor :ldap_group_search_scope
76
+
77
+ # Specify the ldap group which have the same privilege with Harbor admin.
78
+ attr_accessor :ldap_group_admin_dn
79
+
80
+ # The client id of the OIDC.
81
+ attr_accessor :oidc_client_id
82
+
83
+ # The URL of an OIDC-complaint server, must start with 'https://'.
84
+ attr_accessor :oidc_endpoint
85
+
86
+ # The name of the OIDC provider.
87
+ attr_accessor :oidc_name
88
+
89
+ # The scope sent to OIDC server during authentication, should be separated by comma. It has to contain “openid”, and “offline_access”. If you are using google, please remove “offline_access” from this field.
90
+ attr_accessor :oidc_scope
91
+
92
+ # Whether verify your OIDC server certificate, disable it if your OIDC server is hosted via self-hosted certificate.
93
+ attr_accessor :oidc_verify_cert
94
+
95
+ # This attribute restricts what users have the permission to create project. It can be \"everyone\" or \"adminonly\".
96
+ attr_accessor :project_creation_restriction
97
+
98
+ # This attribute indicates whether quota per project enabled in harbor
99
+ attr_accessor :quota_per_project_enable
100
+
101
+ # 'docker push' is prohibited by Harbor if you set it to true.
102
+ attr_accessor :read_only
103
+
104
+ # Whether the Harbor instance supports self-registration. If it's set to false, admin need to add user to the instance.
105
+ attr_accessor :self_registration
106
+
107
+ # The default storage quota for the new created projects.
108
+ attr_accessor :storage_per_project
109
+
110
+ # The expiration time of the token for internal Registry, in minutes.
111
+ attr_accessor :token_expiration
112
+
113
+ # Whether or not the certificate will be verified when Harbor tries to access a remote Harbor instance for replication.
114
+ attr_accessor :verify_remote_cert
115
+
116
+ attr_accessor :scan_all_policy
117
+
118
+ # Attribute mapping from ruby-style variable name to JSON key.
119
+ def self.attribute_map
120
+ {
121
+ :'auth_mode' => :'auth_mode',
122
+ :'count_per_project' => :'count_per_project',
123
+ :'email_from' => :'email_from',
124
+ :'email_host' => :'email_host',
125
+ :'email_port' => :'email_port',
126
+ :'email_identity' => :'email_identity',
127
+ :'email_username' => :'email_username',
128
+ :'email_ssl' => :'email_ssl',
129
+ :'email_insecure' => :'email_insecure',
130
+ :'ldap_url' => :'ldap_url',
131
+ :'ldap_base_dn' => :'ldap_base_dn',
132
+ :'ldap_filter' => :'ldap_filter',
133
+ :'ldap_scope' => :'ldap_scope',
134
+ :'ldap_uid' => :'ldap_uid',
135
+ :'ldap_search_dn' => :'ldap_search_dn',
136
+ :'ldap_timeout' => :'ldap_timeout',
137
+ :'ldap_group_attribute_name' => :'ldap_group_attribute_name',
138
+ :'ldap_group_base_dn' => :'ldap_group_base_dn',
139
+ :'ldap_group_search_filter' => :'ldap_group_search_filter',
140
+ :'ldap_group_search_scope' => :'ldap_group_search_scope',
141
+ :'ldap_group_admin_dn' => :'ldap_group_admin_dn',
142
+ :'oidc_client_id' => :'oidc_client_id',
143
+ :'oidc_endpoint' => :'oidc_endpoint',
144
+ :'oidc_name' => :'oidc_name',
145
+ :'oidc_scope' => :'oidc_scope',
146
+ :'oidc_verify_cert' => :'oidc_verify_cert',
147
+ :'project_creation_restriction' => :'project_creation_restriction',
148
+ :'quota_per_project_enable' => :'quota_per_project_enable',
149
+ :'read_only' => :'read_only',
150
+ :'self_registration' => :'self_registration',
151
+ :'storage_per_project' => :'storage_per_project',
152
+ :'token_expiration' => :'token_expiration',
153
+ :'verify_remote_cert' => :'verify_remote_cert',
154
+ :'scan_all_policy' => :'scan_all_policy'
155
+ }
156
+ end
157
+
158
+ # Attribute type mapping.
159
+ def self.swagger_types
160
+ {
161
+ :'auth_mode' => :'StringConfigItem',
162
+ :'count_per_project' => :'IntegerConfigItem',
163
+ :'email_from' => :'StringConfigItem',
164
+ :'email_host' => :'StringConfigItem',
165
+ :'email_port' => :'IntegerConfigItem',
166
+ :'email_identity' => :'StringConfigItem',
167
+ :'email_username' => :'StringConfigItem',
168
+ :'email_ssl' => :'BoolConfigItem',
169
+ :'email_insecure' => :'BoolConfigItem',
170
+ :'ldap_url' => :'StringConfigItem',
171
+ :'ldap_base_dn' => :'StringConfigItem',
172
+ :'ldap_filter' => :'StringConfigItem',
173
+ :'ldap_scope' => :'Integer',
174
+ :'ldap_uid' => :'StringConfigItem',
175
+ :'ldap_search_dn' => :'String',
176
+ :'ldap_timeout' => :'IntegerConfigItem',
177
+ :'ldap_group_attribute_name' => :'StringConfigItem',
178
+ :'ldap_group_base_dn' => :'StringConfigItem',
179
+ :'ldap_group_search_filter' => :'StringConfigItem',
180
+ :'ldap_group_search_scope' => :'IntegerConfigItem',
181
+ :'ldap_group_admin_dn' => :'StringConfigItem',
182
+ :'oidc_client_id' => :'StringConfigItem',
183
+ :'oidc_endpoint' => :'StringConfigItem',
184
+ :'oidc_name' => :'StringConfigItem',
185
+ :'oidc_scope' => :'StringConfigItem',
186
+ :'oidc_verify_cert' => :'BoolConfigItem',
187
+ :'project_creation_restriction' => :'StringConfigItem',
188
+ :'quota_per_project_enable' => :'BoolConfigItem',
189
+ :'read_only' => :'BoolConfigItem',
190
+ :'self_registration' => :'BoolConfigItem',
191
+ :'storage_per_project' => :'IntegerConfigItem',
192
+ :'token_expiration' => :'IntegerConfigItem',
193
+ :'verify_remote_cert' => :'BoolConfigItem',
194
+ :'scan_all_policy' => :'ConfigurationsScanAllPolicy'
195
+ }
196
+ end
197
+
198
+ # Initializes the object
199
+ # @param [Hash] attributes Model attributes in the form of hash
200
+ def initialize(attributes = {})
201
+ return unless attributes.is_a?(Hash)
202
+
203
+ # convert string to symbol for hash key
204
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
205
+
206
+ if attributes.has_key?(:'auth_mode')
207
+ self.auth_mode = attributes[:'auth_mode']
208
+ end
209
+
210
+ if attributes.has_key?(:'count_per_project')
211
+ self.count_per_project = attributes[:'count_per_project']
212
+ end
213
+
214
+ if attributes.has_key?(:'email_from')
215
+ self.email_from = attributes[:'email_from']
216
+ end
217
+
218
+ if attributes.has_key?(:'email_host')
219
+ self.email_host = attributes[:'email_host']
220
+ end
221
+
222
+ if attributes.has_key?(:'email_port')
223
+ self.email_port = attributes[:'email_port']
224
+ end
225
+
226
+ if attributes.has_key?(:'email_identity')
227
+ self.email_identity = attributes[:'email_identity']
228
+ end
229
+
230
+ if attributes.has_key?(:'email_username')
231
+ self.email_username = attributes[:'email_username']
232
+ end
233
+
234
+ if attributes.has_key?(:'email_ssl')
235
+ self.email_ssl = attributes[:'email_ssl']
236
+ end
237
+
238
+ if attributes.has_key?(:'email_insecure')
239
+ self.email_insecure = attributes[:'email_insecure']
240
+ end
241
+
242
+ if attributes.has_key?(:'ldap_url')
243
+ self.ldap_url = attributes[:'ldap_url']
244
+ end
245
+
246
+ if attributes.has_key?(:'ldap_base_dn')
247
+ self.ldap_base_dn = attributes[:'ldap_base_dn']
248
+ end
249
+
250
+ if attributes.has_key?(:'ldap_filter')
251
+ self.ldap_filter = attributes[:'ldap_filter']
252
+ end
253
+
254
+ if attributes.has_key?(:'ldap_scope')
255
+ self.ldap_scope = attributes[:'ldap_scope']
256
+ end
257
+
258
+ if attributes.has_key?(:'ldap_uid')
259
+ self.ldap_uid = attributes[:'ldap_uid']
260
+ end
261
+
262
+ if attributes.has_key?(:'ldap_search_dn')
263
+ self.ldap_search_dn = attributes[:'ldap_search_dn']
264
+ end
265
+
266
+ if attributes.has_key?(:'ldap_timeout')
267
+ self.ldap_timeout = attributes[:'ldap_timeout']
268
+ end
269
+
270
+ if attributes.has_key?(:'ldap_group_attribute_name')
271
+ self.ldap_group_attribute_name = attributes[:'ldap_group_attribute_name']
272
+ end
273
+
274
+ if attributes.has_key?(:'ldap_group_base_dn')
275
+ self.ldap_group_base_dn = attributes[:'ldap_group_base_dn']
276
+ end
277
+
278
+ if attributes.has_key?(:'ldap_group_search_filter')
279
+ self.ldap_group_search_filter = attributes[:'ldap_group_search_filter']
280
+ end
281
+
282
+ if attributes.has_key?(:'ldap_group_search_scope')
283
+ self.ldap_group_search_scope = attributes[:'ldap_group_search_scope']
284
+ end
285
+
286
+ if attributes.has_key?(:'ldap_group_admin_dn')
287
+ self.ldap_group_admin_dn = attributes[:'ldap_group_admin_dn']
288
+ end
289
+
290
+ if attributes.has_key?(:'oidc_client_id')
291
+ self.oidc_client_id = attributes[:'oidc_client_id']
292
+ end
293
+
294
+ if attributes.has_key?(:'oidc_endpoint')
295
+ self.oidc_endpoint = attributes[:'oidc_endpoint']
296
+ end
297
+
298
+ if attributes.has_key?(:'oidc_name')
299
+ self.oidc_name = attributes[:'oidc_name']
300
+ end
301
+
302
+ if attributes.has_key?(:'oidc_scope')
303
+ self.oidc_scope = attributes[:'oidc_scope']
304
+ end
305
+
306
+ if attributes.has_key?(:'oidc_verify_cert')
307
+ self.oidc_verify_cert = attributes[:'oidc_verify_cert']
308
+ end
309
+
310
+ if attributes.has_key?(:'project_creation_restriction')
311
+ self.project_creation_restriction = attributes[:'project_creation_restriction']
312
+ end
313
+
314
+ if attributes.has_key?(:'quota_per_project_enable')
315
+ self.quota_per_project_enable = attributes[:'quota_per_project_enable']
316
+ end
317
+
318
+ if attributes.has_key?(:'read_only')
319
+ self.read_only = attributes[:'read_only']
320
+ end
321
+
322
+ if attributes.has_key?(:'self_registration')
323
+ self.self_registration = attributes[:'self_registration']
324
+ end
325
+
326
+ if attributes.has_key?(:'storage_per_project')
327
+ self.storage_per_project = attributes[:'storage_per_project']
328
+ end
329
+
330
+ if attributes.has_key?(:'token_expiration')
331
+ self.token_expiration = attributes[:'token_expiration']
332
+ end
333
+
334
+ if attributes.has_key?(:'verify_remote_cert')
335
+ self.verify_remote_cert = attributes[:'verify_remote_cert']
336
+ end
337
+
338
+ if attributes.has_key?(:'scan_all_policy')
339
+ self.scan_all_policy = attributes[:'scan_all_policy']
340
+ end
341
+ end
342
+
343
+ # Show invalid properties with the reasons. Usually used together with valid?
344
+ # @return Array for valid properties with the reasons
345
+ def list_invalid_properties
346
+ invalid_properties = Array.new
347
+ invalid_properties
348
+ end
349
+
350
+ # Check to see if the all the properties in the model are valid
351
+ # @return true if the model is valid
352
+ def valid?
353
+ true
354
+ end
355
+
356
+ # Checks equality by comparing each attribute.
357
+ # @param [Object] Object to be compared
358
+ def ==(o)
359
+ return true if self.equal?(o)
360
+ self.class == o.class &&
361
+ auth_mode == o.auth_mode &&
362
+ count_per_project == o.count_per_project &&
363
+ email_from == o.email_from &&
364
+ email_host == o.email_host &&
365
+ email_port == o.email_port &&
366
+ email_identity == o.email_identity &&
367
+ email_username == o.email_username &&
368
+ email_ssl == o.email_ssl &&
369
+ email_insecure == o.email_insecure &&
370
+ ldap_url == o.ldap_url &&
371
+ ldap_base_dn == o.ldap_base_dn &&
372
+ ldap_filter == o.ldap_filter &&
373
+ ldap_scope == o.ldap_scope &&
374
+ ldap_uid == o.ldap_uid &&
375
+ ldap_search_dn == o.ldap_search_dn &&
376
+ ldap_timeout == o.ldap_timeout &&
377
+ ldap_group_attribute_name == o.ldap_group_attribute_name &&
378
+ ldap_group_base_dn == o.ldap_group_base_dn &&
379
+ ldap_group_search_filter == o.ldap_group_search_filter &&
380
+ ldap_group_search_scope == o.ldap_group_search_scope &&
381
+ ldap_group_admin_dn == o.ldap_group_admin_dn &&
382
+ oidc_client_id == o.oidc_client_id &&
383
+ oidc_endpoint == o.oidc_endpoint &&
384
+ oidc_name == o.oidc_name &&
385
+ oidc_scope == o.oidc_scope &&
386
+ oidc_verify_cert == o.oidc_verify_cert &&
387
+ project_creation_restriction == o.project_creation_restriction &&
388
+ quota_per_project_enable == o.quota_per_project_enable &&
389
+ read_only == o.read_only &&
390
+ self_registration == o.self_registration &&
391
+ storage_per_project == o.storage_per_project &&
392
+ token_expiration == o.token_expiration &&
393
+ verify_remote_cert == o.verify_remote_cert &&
394
+ scan_all_policy == o.scan_all_policy
395
+ end
396
+
397
+ # @see the `==` method
398
+ # @param [Object] Object to be compared
399
+ def eql?(o)
400
+ self == o
401
+ end
402
+
403
+ # Calculates hash code according to all attributes.
404
+ # @return [Fixnum] Hash code
405
+ def hash
406
+ [auth_mode, count_per_project, email_from, email_host, email_port, email_identity, email_username, email_ssl, email_insecure, ldap_url, ldap_base_dn, ldap_filter, ldap_scope, ldap_uid, ldap_search_dn, ldap_timeout, ldap_group_attribute_name, ldap_group_base_dn, ldap_group_search_filter, ldap_group_search_scope, ldap_group_admin_dn, oidc_client_id, oidc_endpoint, oidc_name, oidc_scope, oidc_verify_cert, project_creation_restriction, quota_per_project_enable, read_only, self_registration, storage_per_project, token_expiration, verify_remote_cert, scan_all_policy].hash
407
+ end
408
+
409
+ # Builds the object from hash
410
+ # @param [Hash] attributes Model attributes in the form of hash
411
+ # @return [Object] Returns the model itself
412
+ def build_from_hash(attributes)
413
+ return nil unless attributes.is_a?(Hash)
414
+ self.class.swagger_types.each_pair do |key, type|
415
+ if type =~ /\AArray<(.*)>/i
416
+ # check to ensure the input is an array given that the attribute
417
+ # is documented as an array but the input is not
418
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
419
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
420
+ end
421
+ elsif !attributes[self.class.attribute_map[key]].nil?
422
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
423
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
424
+ end
425
+
426
+ self
427
+ end
428
+
429
+ # Deserializes the data based on type
430
+ # @param string type Data type
431
+ # @param string value Value to be deserialized
432
+ # @return [Object] Deserialized data
433
+ def _deserialize(type, value)
434
+ case type.to_sym
435
+ when :DateTime
436
+ DateTime.parse(value)
437
+ when :Date
438
+ Date.parse(value)
439
+ when :String
440
+ value.to_s
441
+ when :Integer
442
+ value.to_i
443
+ when :Float
444
+ value.to_f
445
+ when :BOOLEAN
446
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
447
+ true
448
+ else
449
+ false
450
+ end
451
+ when :Object
452
+ # generic object (usually a Hash), return directly
453
+ value
454
+ when /\AArray<(?<inner_type>.+)>\z/
455
+ inner_type = Regexp.last_match[:inner_type]
456
+ value.map { |v| _deserialize(inner_type, v) }
457
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
458
+ k_type = Regexp.last_match[:k_type]
459
+ v_type = Regexp.last_match[:v_type]
460
+ {}.tap do |hash|
461
+ value.each do |k, v|
462
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
463
+ end
464
+ end
465
+ else # model
466
+ temp_model = Harbor1Client.const_get(type).new
467
+ temp_model.build_from_hash(value)
468
+ end
469
+ end
470
+
471
+ # Returns the string representation of the object
472
+ # @return [String] String presentation of the object
473
+ def to_s
474
+ to_hash.to_s
475
+ end
476
+
477
+ # to_body is an alias to to_hash (backward compatibility)
478
+ # @return [Hash] Returns the object in the form of hash
479
+ def to_body
480
+ to_hash
481
+ end
482
+
483
+ # Returns the object in the form of hash
484
+ # @return [Hash] Returns the object in the form of hash
485
+ def to_hash
486
+ hash = {}
487
+ self.class.attribute_map.each_pair do |attr, param|
488
+ value = self.send(attr)
489
+ next if value.nil?
490
+ hash[param] = _to_hash(value)
491
+ end
492
+ hash
493
+ end
494
+
495
+ # Outputs non-array value in the form of hash
496
+ # For object, use to_hash. Otherwise, just return the value
497
+ # @param [Object] value Any valid value
498
+ # @return [Hash] Returns the value in the form of hash
499
+ def _to_hash(value)
500
+ if value.is_a?(Array)
501
+ value.compact.map { |v| _to_hash(v) }
502
+ elsif value.is_a?(Hash)
503
+ {}.tap do |hash|
504
+ value.each { |k, v| hash[k] = _to_hash(v) }
505
+ end
506
+ elsif value.respond_to? :to_hash
507
+ value.to_hash
508
+ else
509
+ value
510
+ end
511
+ end
512
+
513
+ end
514
+ end