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,524 @@
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 Configurations
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 client secret of the OIDC.
84
+ attr_accessor :oidc_client_secret
85
+
86
+ # The URL of an OIDC-complaint server, must start with 'https://'.
87
+ attr_accessor :oidc_endpoint
88
+
89
+ # The name of the OIDC provider.
90
+ attr_accessor :oidc_name
91
+
92
+ # 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.
93
+ attr_accessor :oidc_scope
94
+
95
+ # Whether verify your OIDC server certificate, disable it if your OIDC server is hosted via self-hosted certificate.
96
+ attr_accessor :oidc_verify_cert
97
+
98
+ # This attribute restricts what users have the permission to create project. It can be \"everyone\" or \"adminonly\".
99
+ attr_accessor :project_creation_restriction
100
+
101
+ # This attribute indicates whether quota per project enabled in harbor
102
+ attr_accessor :quota_per_project_enable
103
+
104
+ # 'docker push' is prohibited by Harbor if you set it to true.
105
+ attr_accessor :read_only
106
+
107
+ # Whether the Harbor instance supports self-registration. If it's set to false, admin need to add user to the instance.
108
+ attr_accessor :self_registration
109
+
110
+ # The default storage quota for the new created projects.
111
+ attr_accessor :storage_per_project
112
+
113
+ # The expiration time of the token for internal Registry, in minutes.
114
+ attr_accessor :token_expiration
115
+
116
+ # Whether or not the certificate will be verified when Harbor tries to access a remote Harbor instance for replication.
117
+ attr_accessor :verify_remote_cert
118
+
119
+ attr_accessor :scan_all_policy
120
+
121
+ # Attribute mapping from ruby-style variable name to JSON key.
122
+ def self.attribute_map
123
+ {
124
+ :'auth_mode' => :'auth_mode',
125
+ :'count_per_project' => :'count_per_project',
126
+ :'email_from' => :'email_from',
127
+ :'email_host' => :'email_host',
128
+ :'email_port' => :'email_port',
129
+ :'email_identity' => :'email_identity',
130
+ :'email_username' => :'email_username',
131
+ :'email_ssl' => :'email_ssl',
132
+ :'email_insecure' => :'email_insecure',
133
+ :'ldap_url' => :'ldap_url',
134
+ :'ldap_base_dn' => :'ldap_base_dn',
135
+ :'ldap_filter' => :'ldap_filter',
136
+ :'ldap_scope' => :'ldap_scope',
137
+ :'ldap_uid' => :'ldap_uid',
138
+ :'ldap_search_dn' => :'ldap_search_dn',
139
+ :'ldap_timeout' => :'ldap_timeout',
140
+ :'ldap_group_attribute_name' => :'ldap_group_attribute_name',
141
+ :'ldap_group_base_dn' => :'ldap_group_base_dn',
142
+ :'ldap_group_search_filter' => :'ldap_group_search_filter',
143
+ :'ldap_group_search_scope' => :'ldap_group_search_scope',
144
+ :'ldap_group_admin_dn' => :'ldap_group_admin_dn',
145
+ :'oidc_client_id' => :'oidc_client_id',
146
+ :'oidc_client_secret' => :'oidc_client_secret',
147
+ :'oidc_endpoint' => :'oidc_endpoint',
148
+ :'oidc_name' => :'oidc_name',
149
+ :'oidc_scope' => :'oidc_scope',
150
+ :'oidc_verify_cert' => :'oidc_verify_cert',
151
+ :'project_creation_restriction' => :'project_creation_restriction',
152
+ :'quota_per_project_enable' => :'quota_per_project_enable',
153
+ :'read_only' => :'read_only',
154
+ :'self_registration' => :'self_registration',
155
+ :'storage_per_project' => :'storage_per_project',
156
+ :'token_expiration' => :'token_expiration',
157
+ :'verify_remote_cert' => :'verify_remote_cert',
158
+ :'scan_all_policy' => :'scan_all_policy'
159
+ }
160
+ end
161
+
162
+ # Attribute type mapping.
163
+ def self.swagger_types
164
+ {
165
+ :'auth_mode' => :'String',
166
+ :'count_per_project' => :'String',
167
+ :'email_from' => :'String',
168
+ :'email_host' => :'String',
169
+ :'email_port' => :'Integer',
170
+ :'email_identity' => :'String',
171
+ :'email_username' => :'String',
172
+ :'email_ssl' => :'BOOLEAN',
173
+ :'email_insecure' => :'BOOLEAN',
174
+ :'ldap_url' => :'String',
175
+ :'ldap_base_dn' => :'String',
176
+ :'ldap_filter' => :'String',
177
+ :'ldap_scope' => :'Integer',
178
+ :'ldap_uid' => :'String',
179
+ :'ldap_search_dn' => :'String',
180
+ :'ldap_timeout' => :'Integer',
181
+ :'ldap_group_attribute_name' => :'String',
182
+ :'ldap_group_base_dn' => :'String',
183
+ :'ldap_group_search_filter' => :'String',
184
+ :'ldap_group_search_scope' => :'Integer',
185
+ :'ldap_group_admin_dn' => :'String',
186
+ :'oidc_client_id' => :'String',
187
+ :'oidc_client_secret' => :'String',
188
+ :'oidc_endpoint' => :'String',
189
+ :'oidc_name' => :'String',
190
+ :'oidc_scope' => :'String',
191
+ :'oidc_verify_cert' => :'BOOLEAN',
192
+ :'project_creation_restriction' => :'String',
193
+ :'quota_per_project_enable' => :'BOOLEAN',
194
+ :'read_only' => :'BOOLEAN',
195
+ :'self_registration' => :'BOOLEAN',
196
+ :'storage_per_project' => :'String',
197
+ :'token_expiration' => :'Integer',
198
+ :'verify_remote_cert' => :'BOOLEAN',
199
+ :'scan_all_policy' => :'ConfigurationsScanAllPolicy'
200
+ }
201
+ end
202
+
203
+ # Initializes the object
204
+ # @param [Hash] attributes Model attributes in the form of hash
205
+ def initialize(attributes = {})
206
+ return unless attributes.is_a?(Hash)
207
+
208
+ # convert string to symbol for hash key
209
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
210
+
211
+ if attributes.has_key?(:'auth_mode')
212
+ self.auth_mode = attributes[:'auth_mode']
213
+ end
214
+
215
+ if attributes.has_key?(:'count_per_project')
216
+ self.count_per_project = attributes[:'count_per_project']
217
+ end
218
+
219
+ if attributes.has_key?(:'email_from')
220
+ self.email_from = attributes[:'email_from']
221
+ end
222
+
223
+ if attributes.has_key?(:'email_host')
224
+ self.email_host = attributes[:'email_host']
225
+ end
226
+
227
+ if attributes.has_key?(:'email_port')
228
+ self.email_port = attributes[:'email_port']
229
+ end
230
+
231
+ if attributes.has_key?(:'email_identity')
232
+ self.email_identity = attributes[:'email_identity']
233
+ end
234
+
235
+ if attributes.has_key?(:'email_username')
236
+ self.email_username = attributes[:'email_username']
237
+ end
238
+
239
+ if attributes.has_key?(:'email_ssl')
240
+ self.email_ssl = attributes[:'email_ssl']
241
+ end
242
+
243
+ if attributes.has_key?(:'email_insecure')
244
+ self.email_insecure = attributes[:'email_insecure']
245
+ end
246
+
247
+ if attributes.has_key?(:'ldap_url')
248
+ self.ldap_url = attributes[:'ldap_url']
249
+ end
250
+
251
+ if attributes.has_key?(:'ldap_base_dn')
252
+ self.ldap_base_dn = attributes[:'ldap_base_dn']
253
+ end
254
+
255
+ if attributes.has_key?(:'ldap_filter')
256
+ self.ldap_filter = attributes[:'ldap_filter']
257
+ end
258
+
259
+ if attributes.has_key?(:'ldap_scope')
260
+ self.ldap_scope = attributes[:'ldap_scope']
261
+ end
262
+
263
+ if attributes.has_key?(:'ldap_uid')
264
+ self.ldap_uid = attributes[:'ldap_uid']
265
+ end
266
+
267
+ if attributes.has_key?(:'ldap_search_dn')
268
+ self.ldap_search_dn = attributes[:'ldap_search_dn']
269
+ end
270
+
271
+ if attributes.has_key?(:'ldap_timeout')
272
+ self.ldap_timeout = attributes[:'ldap_timeout']
273
+ end
274
+
275
+ if attributes.has_key?(:'ldap_group_attribute_name')
276
+ self.ldap_group_attribute_name = attributes[:'ldap_group_attribute_name']
277
+ end
278
+
279
+ if attributes.has_key?(:'ldap_group_base_dn')
280
+ self.ldap_group_base_dn = attributes[:'ldap_group_base_dn']
281
+ end
282
+
283
+ if attributes.has_key?(:'ldap_group_search_filter')
284
+ self.ldap_group_search_filter = attributes[:'ldap_group_search_filter']
285
+ end
286
+
287
+ if attributes.has_key?(:'ldap_group_search_scope')
288
+ self.ldap_group_search_scope = attributes[:'ldap_group_search_scope']
289
+ end
290
+
291
+ if attributes.has_key?(:'ldap_group_admin_dn')
292
+ self.ldap_group_admin_dn = attributes[:'ldap_group_admin_dn']
293
+ end
294
+
295
+ if attributes.has_key?(:'oidc_client_id')
296
+ self.oidc_client_id = attributes[:'oidc_client_id']
297
+ end
298
+
299
+ if attributes.has_key?(:'oidc_client_secret')
300
+ self.oidc_client_secret = attributes[:'oidc_client_secret']
301
+ end
302
+
303
+ if attributes.has_key?(:'oidc_endpoint')
304
+ self.oidc_endpoint = attributes[:'oidc_endpoint']
305
+ end
306
+
307
+ if attributes.has_key?(:'oidc_name')
308
+ self.oidc_name = attributes[:'oidc_name']
309
+ end
310
+
311
+ if attributes.has_key?(:'oidc_scope')
312
+ self.oidc_scope = attributes[:'oidc_scope']
313
+ end
314
+
315
+ if attributes.has_key?(:'oidc_verify_cert')
316
+ self.oidc_verify_cert = attributes[:'oidc_verify_cert']
317
+ end
318
+
319
+ if attributes.has_key?(:'project_creation_restriction')
320
+ self.project_creation_restriction = attributes[:'project_creation_restriction']
321
+ end
322
+
323
+ if attributes.has_key?(:'quota_per_project_enable')
324
+ self.quota_per_project_enable = attributes[:'quota_per_project_enable']
325
+ end
326
+
327
+ if attributes.has_key?(:'read_only')
328
+ self.read_only = attributes[:'read_only']
329
+ end
330
+
331
+ if attributes.has_key?(:'self_registration')
332
+ self.self_registration = attributes[:'self_registration']
333
+ end
334
+
335
+ if attributes.has_key?(:'storage_per_project')
336
+ self.storage_per_project = attributes[:'storage_per_project']
337
+ end
338
+
339
+ if attributes.has_key?(:'token_expiration')
340
+ self.token_expiration = attributes[:'token_expiration']
341
+ end
342
+
343
+ if attributes.has_key?(:'verify_remote_cert')
344
+ self.verify_remote_cert = attributes[:'verify_remote_cert']
345
+ end
346
+
347
+ if attributes.has_key?(:'scan_all_policy')
348
+ self.scan_all_policy = attributes[:'scan_all_policy']
349
+ end
350
+ end
351
+
352
+ # Show invalid properties with the reasons. Usually used together with valid?
353
+ # @return Array for valid properties with the reasons
354
+ def list_invalid_properties
355
+ invalid_properties = Array.new
356
+ invalid_properties
357
+ end
358
+
359
+ # Check to see if the all the properties in the model are valid
360
+ # @return true if the model is valid
361
+ def valid?
362
+ true
363
+ end
364
+
365
+ # Checks equality by comparing each attribute.
366
+ # @param [Object] Object to be compared
367
+ def ==(o)
368
+ return true if self.equal?(o)
369
+ self.class == o.class &&
370
+ auth_mode == o.auth_mode &&
371
+ count_per_project == o.count_per_project &&
372
+ email_from == o.email_from &&
373
+ email_host == o.email_host &&
374
+ email_port == o.email_port &&
375
+ email_identity == o.email_identity &&
376
+ email_username == o.email_username &&
377
+ email_ssl == o.email_ssl &&
378
+ email_insecure == o.email_insecure &&
379
+ ldap_url == o.ldap_url &&
380
+ ldap_base_dn == o.ldap_base_dn &&
381
+ ldap_filter == o.ldap_filter &&
382
+ ldap_scope == o.ldap_scope &&
383
+ ldap_uid == o.ldap_uid &&
384
+ ldap_search_dn == o.ldap_search_dn &&
385
+ ldap_timeout == o.ldap_timeout &&
386
+ ldap_group_attribute_name == o.ldap_group_attribute_name &&
387
+ ldap_group_base_dn == o.ldap_group_base_dn &&
388
+ ldap_group_search_filter == o.ldap_group_search_filter &&
389
+ ldap_group_search_scope == o.ldap_group_search_scope &&
390
+ ldap_group_admin_dn == o.ldap_group_admin_dn &&
391
+ oidc_client_id == o.oidc_client_id &&
392
+ oidc_client_secret == o.oidc_client_secret &&
393
+ oidc_endpoint == o.oidc_endpoint &&
394
+ oidc_name == o.oidc_name &&
395
+ oidc_scope == o.oidc_scope &&
396
+ oidc_verify_cert == o.oidc_verify_cert &&
397
+ project_creation_restriction == o.project_creation_restriction &&
398
+ quota_per_project_enable == o.quota_per_project_enable &&
399
+ read_only == o.read_only &&
400
+ self_registration == o.self_registration &&
401
+ storage_per_project == o.storage_per_project &&
402
+ token_expiration == o.token_expiration &&
403
+ verify_remote_cert == o.verify_remote_cert &&
404
+ scan_all_policy == o.scan_all_policy
405
+ end
406
+
407
+ # @see the `==` method
408
+ # @param [Object] Object to be compared
409
+ def eql?(o)
410
+ self == o
411
+ end
412
+
413
+ # Calculates hash code according to all attributes.
414
+ # @return [Fixnum] Hash code
415
+ def hash
416
+ [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_client_secret, 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
417
+ end
418
+
419
+ # Builds the object from hash
420
+ # @param [Hash] attributes Model attributes in the form of hash
421
+ # @return [Object] Returns the model itself
422
+ def build_from_hash(attributes)
423
+ return nil unless attributes.is_a?(Hash)
424
+ self.class.swagger_types.each_pair do |key, type|
425
+ if type =~ /\AArray<(.*)>/i
426
+ # check to ensure the input is an array given that the attribute
427
+ # is documented as an array but the input is not
428
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
429
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
430
+ end
431
+ elsif !attributes[self.class.attribute_map[key]].nil?
432
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
433
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
434
+ end
435
+
436
+ self
437
+ end
438
+
439
+ # Deserializes the data based on type
440
+ # @param string type Data type
441
+ # @param string value Value to be deserialized
442
+ # @return [Object] Deserialized data
443
+ def _deserialize(type, value)
444
+ case type.to_sym
445
+ when :DateTime
446
+ DateTime.parse(value)
447
+ when :Date
448
+ Date.parse(value)
449
+ when :String
450
+ value.to_s
451
+ when :Integer
452
+ value.to_i
453
+ when :Float
454
+ value.to_f
455
+ when :BOOLEAN
456
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
457
+ true
458
+ else
459
+ false
460
+ end
461
+ when :Object
462
+ # generic object (usually a Hash), return directly
463
+ value
464
+ when /\AArray<(?<inner_type>.+)>\z/
465
+ inner_type = Regexp.last_match[:inner_type]
466
+ value.map { |v| _deserialize(inner_type, v) }
467
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
468
+ k_type = Regexp.last_match[:k_type]
469
+ v_type = Regexp.last_match[:v_type]
470
+ {}.tap do |hash|
471
+ value.each do |k, v|
472
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
473
+ end
474
+ end
475
+ else # model
476
+ temp_model = Harbor1Client.const_get(type).new
477
+ temp_model.build_from_hash(value)
478
+ end
479
+ end
480
+
481
+ # Returns the string representation of the object
482
+ # @return [String] String presentation of the object
483
+ def to_s
484
+ to_hash.to_s
485
+ end
486
+
487
+ # to_body is an alias to to_hash (backward compatibility)
488
+ # @return [Hash] Returns the object in the form of hash
489
+ def to_body
490
+ to_hash
491
+ end
492
+
493
+ # Returns the object in the form of hash
494
+ # @return [Hash] Returns the object in the form of hash
495
+ def to_hash
496
+ hash = {}
497
+ self.class.attribute_map.each_pair do |attr, param|
498
+ value = self.send(attr)
499
+ next if value.nil?
500
+ hash[param] = _to_hash(value)
501
+ end
502
+ hash
503
+ end
504
+
505
+ # Outputs non-array value in the form of hash
506
+ # For object, use to_hash. Otherwise, just return the value
507
+ # @param [Object] value Any valid value
508
+ # @return [Hash] Returns the value in the form of hash
509
+ def _to_hash(value)
510
+ if value.is_a?(Array)
511
+ value.compact.map { |v| _to_hash(v) }
512
+ elsif value.is_a?(Hash)
513
+ {}.tap do |hash|
514
+ value.each { |k, v| hash[k] = _to_hash(v) }
515
+ end
516
+ elsif value.respond_to? :to_hash
517
+ value.to_hash
518
+ else
519
+ value
520
+ end
521
+ end
522
+
523
+ end
524
+ end