harbor2_client 0.2.0 → 2.3.3.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 (485) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +241 -13
  3. data/build/generate.sh +8 -0
  4. data/build/swagger-codegen-cli-ruby-config.json +12 -0
  5. data/docs/Access.md +10 -0
  6. data/docs/ArtifactApi.md +76 -2
  7. data/docs/AuditlogApi.md +3 -1
  8. data/docs/AuthproxySetting.md +12 -0
  9. data/docs/Body.md +8 -0
  10. data/docs/Body1.md +8 -0
  11. data/docs/BoolConfigItem.md +9 -0
  12. data/docs/ChartMetadata.md +18 -0
  13. data/docs/ChartVersion.md +23 -0
  14. data/docs/ComponentHealthStatus.md +10 -0
  15. data/docs/Configurations.md +62 -0
  16. data/docs/ConfigurationsResponse.md +60 -0
  17. data/docs/ConfigurationsResponseScanAllPolicy.md +9 -0
  18. data/docs/ConfigurationsResponseScanAllPolicyParameter.md +8 -0
  19. data/docs/ConfigureApi.md +175 -0
  20. data/docs/Endpoint.md +9 -0
  21. data/docs/EventType.md +7 -0
  22. data/docs/FilterStyle.md +10 -0
  23. data/docs/GCHistory.md +16 -0
  24. data/docs/GcApi.md +356 -0
  25. data/docs/GeneralInfo.md +20 -0
  26. data/docs/HealthApi.md +63 -0
  27. data/docs/ImmutableApi.md +261 -0
  28. data/docs/ImmutableRule.md +15 -0
  29. data/docs/ImmutableSelector.md +11 -0
  30. data/docs/IntegerConfigItem.md +9 -0
  31. data/docs/InternalConfigurationsResponse.md +7 -0
  32. data/docs/IsDefault.md +8 -0
  33. data/docs/LabelApi.md +309 -0
  34. data/docs/LdapApi.md +238 -0
  35. data/docs/LdapConf.md +16 -0
  36. data/docs/LdapFailedImportUser.md +9 -0
  37. data/docs/LdapImportUsers.md +8 -0
  38. data/docs/LdapPingResult.md +9 -0
  39. data/docs/LdapUser.md +10 -0
  40. data/docs/MemberApi.md +322 -0
  41. data/docs/NativeReportSummary.md +1 -0
  42. data/docs/NotifyType.md +7 -0
  43. data/docs/OIDCCliSecretReq.md +8 -0
  44. data/docs/OIDCUserInfo.md +13 -0
  45. data/docs/OidcApi.md +65 -0
  46. data/docs/OverallHealthStatus.md +9 -0
  47. data/docs/PasswordReq.md +9 -0
  48. data/docs/Permission.md +9 -0
  49. data/docs/PingApi.md +63 -0
  50. data/docs/PreheatApi.md +12 -4
  51. data/docs/ProjectApi.md +237 -27
  52. data/docs/ProjectMember.md +10 -0
  53. data/docs/ProjectMemberEntity.md +14 -0
  54. data/docs/ProjectMetadataApi.md +318 -0
  55. data/docs/ProjectScanner.md +8 -0
  56. data/docs/Quota.md +13 -0
  57. data/docs/QuotaApi.md +191 -0
  58. data/docs/QuotaRefObject.md +7 -0
  59. data/docs/QuotaUpdateReq.md +8 -0
  60. data/docs/Registry.md +2 -2
  61. data/docs/RegistryApi.md +530 -0
  62. data/docs/RegistryEndpoint.md +9 -0
  63. data/docs/RegistryInfo.md +11 -0
  64. data/docs/RegistryPing.md +14 -0
  65. data/docs/RegistryProviderCredentialPattern.md +11 -0
  66. data/docs/RegistryProviderEndpointPattern.md +9 -0
  67. data/docs/RegistryProviderInfo.md +9 -0
  68. data/docs/RegistryUpdate.md +14 -0
  69. data/docs/ReplicationApi.md +673 -0
  70. data/docs/ReplicationExecution.md +19 -0
  71. data/docs/ReplicationFilter.md +9 -0
  72. data/docs/ReplicationPolicy.md +22 -0
  73. data/docs/ReplicationTask.md +17 -0
  74. data/docs/ReplicationTrigger.md +9 -0
  75. data/docs/ReplicationTriggerSettings.md +8 -0
  76. data/docs/RepositoryApi.md +66 -1
  77. data/docs/RetentionApi.md +609 -0
  78. data/docs/RetentionExecution.md +14 -0
  79. data/docs/RetentionExecutionTask.md +18 -0
  80. data/docs/RetentionMetadata.md +10 -0
  81. data/docs/RetentionPolicy.md +12 -0
  82. data/docs/RetentionPolicyScope.md +9 -0
  83. data/docs/RetentionRule.md +15 -0
  84. data/docs/RetentionRuleMetadata.md +11 -0
  85. data/docs/RetentionRuleParamMetadata.md +10 -0
  86. data/docs/RetentionRuleTrigger.md +10 -0
  87. data/docs/RetentionSelector.md +11 -0
  88. data/docs/RetentionSelectorMetadata.md +10 -0
  89. data/docs/Robot.md +19 -0
  90. data/docs/RobotApi.md +365 -0
  91. data/docs/RobotCreate.md +14 -0
  92. data/docs/RobotCreateV1.md +11 -0
  93. data/docs/RobotCreated.md +12 -0
  94. data/docs/RobotPermission.md +10 -0
  95. data/docs/RobotSec.md +8 -0
  96. data/docs/Robotv1Api.md +329 -0
  97. data/docs/RoleRequest.md +8 -0
  98. data/docs/ScanAllApi.md +287 -0
  99. data/docs/Scanner.md +10 -0
  100. data/docs/ScannerAdapterMetadata.md +10 -0
  101. data/docs/ScannerApi.md +479 -0
  102. data/docs/ScannerCapability.md +9 -0
  103. data/docs/ScannerRegistration.md +23 -0
  104. data/docs/ScannerRegistrationReq.md +15 -0
  105. data/docs/ScannerRegistrationSettings.md +11 -0
  106. data/docs/Schedule.md +13 -0
  107. data/docs/ScheduleObj.md +9 -0
  108. data/docs/Search.md +10 -0
  109. data/docs/SearchApi.md +66 -0
  110. data/docs/SearchRepository.md +13 -0
  111. data/docs/SearchResult.md +10 -0
  112. data/docs/StartReplicationExecution.md +8 -0
  113. data/docs/Statistic.md +14 -0
  114. data/docs/StatisticApi.md +63 -0
  115. data/docs/Stats.md +12 -0
  116. data/docs/Storage.md +9 -0
  117. data/docs/StringConfigItem.md +9 -0
  118. data/docs/SupportedWebhookEventTypes.md +9 -0
  119. data/docs/SystemCVEAllowlistApi.md +119 -0
  120. data/docs/SystemInfo.md +8 -0
  121. data/docs/SysteminfoApi.md +173 -0
  122. data/docs/UserApi.md +647 -0
  123. data/docs/UserCreationReq.md +12 -0
  124. data/docs/UserEntity.md +9 -0
  125. data/docs/UserGroup.md +11 -0
  126. data/docs/UserProfile.md +10 -0
  127. data/docs/UserResp.md +17 -0
  128. data/docs/UserSearch.md +9 -0
  129. data/docs/UserSearchRespItem.md +9 -0
  130. data/docs/UserSysAdminFlag.md +8 -0
  131. data/docs/UsergroupApi.md +293 -0
  132. data/docs/WebhookApi.md +448 -0
  133. data/docs/WebhookJob.md +15 -0
  134. data/docs/WebhookLastTrigger.md +12 -0
  135. data/docs/WebhookPolicy.md +17 -0
  136. data/docs/WebhookTargetObject.md +11 -0
  137. data/docs/WebhookjobApi.md +81 -0
  138. data/git_push.sh +3 -3
  139. data/harbor2_client.gemspec +7 -7
  140. data/lib/harbor2_client/api/artifact_api.rb +91 -3
  141. data/lib/harbor2_client/api/auditlog_api.rb +4 -1
  142. data/lib/harbor2_client/api/configure_api.rb +193 -0
  143. data/lib/harbor2_client/api/gc_api.rb +391 -0
  144. data/lib/harbor2_client/api/health_api.rb +78 -0
  145. data/lib/harbor2_client/api/icon_api.rb +1 -1
  146. data/lib/harbor2_client/api/immutable_api.rb +312 -0
  147. data/lib/harbor2_client/api/label_api.rb +350 -0
  148. data/lib/harbor2_client/api/ldap_api.rb +259 -0
  149. data/lib/harbor2_client/api/member_api.rb +373 -0
  150. data/lib/harbor2_client/api/oidc_api.rb +83 -0
  151. data/lib/harbor2_client/api/ping_api.rb +78 -0
  152. data/lib/harbor2_client/api/preheat_api.rb +13 -1
  153. data/lib/harbor2_client/api/project_api.rb +289 -46
  154. data/lib/harbor2_client/api/project_metadata_api.rb +362 -0
  155. data/lib/harbor2_client/api/quota_api.rb +224 -0
  156. data/lib/harbor2_client/api/registry_api.rb +575 -0
  157. data/lib/harbor2_client/api/replication_api.rb +749 -0
  158. data/lib/harbor2_client/api/repository_api.rb +75 -1
  159. data/lib/harbor2_client/api/retention_api.rb +676 -0
  160. data/lib/harbor2_client/api/robot_api.rb +409 -0
  161. data/lib/harbor2_client/api/robotv1_api.rb +387 -0
  162. data/lib/harbor2_client/api/scan_all_api.rb +308 -0
  163. data/lib/harbor2_client/api/scan_api.rb +1 -1
  164. data/lib/harbor2_client/api/scanner_api.rb +529 -0
  165. data/lib/harbor2_client/api/search_api.rb +85 -0
  166. data/lib/harbor2_client/api/statistic_api.rb +78 -0
  167. data/lib/harbor2_client/api/system_cve_allowlist_api.rb +134 -0
  168. data/lib/harbor2_client/api/systeminfo_api.rb +188 -0
  169. data/lib/harbor2_client/api/user_api.rb +715 -0
  170. data/lib/harbor2_client/api/usergroup_api.rb +317 -0
  171. data/lib/harbor2_client/api/webhook_api.rb +514 -0
  172. data/lib/harbor2_client/api/webhookjob_api.rb +113 -0
  173. data/lib/harbor2_client/api_client.rb +2 -2
  174. data/lib/harbor2_client/api_error.rb +1 -1
  175. data/lib/harbor2_client/configuration.rb +1 -1
  176. data/lib/harbor2_client/models/access.rb +205 -0
  177. data/lib/harbor2_client/models/addition_link.rb +1 -1
  178. data/lib/harbor2_client/models/addition_links.rb +1 -1
  179. data/lib/harbor2_client/models/annotations.rb +1 -1
  180. data/lib/harbor2_client/models/artifact.rb +1 -1
  181. data/lib/harbor2_client/models/audit_log.rb +1 -1
  182. data/lib/harbor2_client/models/authproxy_setting.rb +225 -0
  183. data/lib/harbor2_client/models/body.rb +184 -0
  184. data/lib/harbor2_client/models/body_1.rb +184 -0
  185. data/lib/harbor2_client/models/bool_config_item.rb +195 -0
  186. data/lib/harbor2_client/models/chart_metadata.rb +320 -0
  187. data/lib/harbor2_client/models/chart_version.rb +374 -0
  188. data/lib/harbor2_client/models/component_health_status.rb +206 -0
  189. data/lib/harbor2_client/models/configurations.rb +725 -0
  190. data/lib/harbor2_client/models/configurations_response.rb +704 -0
  191. data/lib/harbor2_client/models/configurations_response_scan_all_policy.rb +194 -0
  192. data/lib/harbor2_client/models/configurations_response_scan_all_policy_parameter.rb +186 -0
  193. data/lib/harbor2_client/models/cve_allowlist.rb +1 -1
  194. data/lib/harbor2_client/models/cve_allowlist_item.rb +1 -1
  195. data/lib/harbor2_client/models/endpoint.rb +195 -0
  196. data/lib/harbor2_client/models/error.rb +1 -1
  197. data/lib/harbor2_client/models/errors.rb +1 -1
  198. data/lib/harbor2_client/models/event_type.rb +176 -0
  199. data/lib/harbor2_client/models/execution.rb +1 -1
  200. data/lib/harbor2_client/models/extra_attrs.rb +1 -1
  201. data/lib/harbor2_client/models/filter_style.rb +208 -0
  202. data/lib/harbor2_client/models/gc_history.rb +264 -0
  203. data/lib/harbor2_client/models/general_info.rb +305 -0
  204. data/lib/harbor2_client/models/icon.rb +1 -1
  205. data/lib/harbor2_client/models/immutable_rule.rb +253 -0
  206. data/lib/harbor2_client/models/immutable_selector.rb +211 -0
  207. data/lib/harbor2_client/models/instance.rb +1 -1
  208. data/lib/harbor2_client/models/integer_config_item.rb +195 -0
  209. data/lib/harbor2_client/models/internal_configurations_response.rb +175 -0
  210. data/lib/harbor2_client/models/is_default.rb +185 -0
  211. data/lib/harbor2_client/models/label.rb +1 -1
  212. data/lib/harbor2_client/models/ldap_conf.rb +266 -0
  213. data/lib/harbor2_client/models/ldap_failed_import_user.rb +195 -0
  214. data/lib/harbor2_client/models/ldap_import_users.rb +187 -0
  215. data/lib/harbor2_client/models/ldap_ping_result.rb +196 -0
  216. data/lib/harbor2_client/models/ldap_user.rb +205 -0
  217. data/lib/harbor2_client/models/metadata.rb +1 -1
  218. data/lib/harbor2_client/models/metrics.rb +1 -1
  219. data/lib/harbor2_client/models/native_report_summary.rb +14 -5
  220. data/lib/harbor2_client/models/notify_type.rb +176 -0
  221. data/lib/harbor2_client/models/oidc_cli_secret_req.rb +185 -0
  222. data/lib/harbor2_client/models/oidc_user_info.rb +235 -0
  223. data/lib/harbor2_client/models/overall_health_status.rb +197 -0
  224. data/lib/harbor2_client/models/password_req.rb +195 -0
  225. data/lib/harbor2_client/models/permission.rb +195 -0
  226. data/lib/harbor2_client/models/platform.rb +7 -7
  227. data/lib/harbor2_client/models/preheat_policy.rb +1 -1
  228. data/lib/harbor2_client/models/project.rb +1 -1
  229. data/lib/harbor2_client/models/project_deletable.rb +1 -1
  230. data/lib/harbor2_client/models/project_member.rb +203 -0
  231. data/lib/harbor2_client/models/project_member_entity.rb +245 -0
  232. data/lib/harbor2_client/models/project_metadata.rb +1 -1
  233. data/lib/harbor2_client/models/project_req.rb +16 -1
  234. data/lib/harbor2_client/models/project_scanner.rb +190 -0
  235. data/lib/harbor2_client/models/project_summary.rb +1 -1
  236. data/lib/harbor2_client/models/project_summary_quota.rb +1 -1
  237. data/lib/harbor2_client/models/provider_under_project.rb +1 -1
  238. data/lib/harbor2_client/models/quota.rb +236 -0
  239. data/lib/harbor2_client/models/quota_ref_object.rb +175 -0
  240. data/lib/harbor2_client/models/quota_update_req.rb +185 -0
  241. data/lib/harbor2_client/models/reference.rb +1 -1
  242. data/lib/harbor2_client/models/registry.rb +3 -3
  243. data/lib/harbor2_client/models/registry_credential.rb +1 -1
  244. data/lib/harbor2_client/models/registry_endpoint.rb +196 -0
  245. data/lib/harbor2_client/models/registry_info.rb +220 -0
  246. data/lib/harbor2_client/models/registry_ping.rb +245 -0
  247. data/lib/harbor2_client/models/registry_provider_credential_pattern.rb +216 -0
  248. data/lib/harbor2_client/models/registry_provider_endpoint_pattern.rb +198 -0
  249. data/lib/harbor2_client/models/registry_provider_info.rb +196 -0
  250. data/lib/harbor2_client/models/registry_update.rb +245 -0
  251. data/lib/harbor2_client/models/replication_execution.rb +296 -0
  252. data/lib/harbor2_client/models/replication_filter.rb +195 -0
  253. data/lib/harbor2_client/models/replication_policy.rb +326 -0
  254. data/lib/harbor2_client/models/replication_task.rb +276 -0
  255. data/lib/harbor2_client/models/replication_trigger.rb +194 -0
  256. data/lib/harbor2_client/models/replication_trigger_settings.rb +185 -0
  257. data/lib/harbor2_client/models/repository.rb +1 -1
  258. data/lib/harbor2_client/models/resource_list.rb +1 -1
  259. data/lib/harbor2_client/models/retention_execution.rb +238 -0
  260. data/lib/harbor2_client/models/retention_execution_task.rb +274 -0
  261. data/lib/harbor2_client/models/retention_metadata.rb +212 -0
  262. data/lib/harbor2_client/models/retention_policy.rb +223 -0
  263. data/lib/harbor2_client/models/retention_policy_scope.rb +193 -0
  264. data/lib/harbor2_client/models/retention_rule.rb +253 -0
  265. data/lib/harbor2_client/models/retention_rule_metadata.rb +218 -0
  266. data/lib/harbor2_client/models/retention_rule_param_metadata.rb +203 -0
  267. data/lib/harbor2_client/models/retention_rule_trigger.rb +202 -0
  268. data/lib/harbor2_client/models/retention_selector.rb +211 -0
  269. data/lib/harbor2_client/models/retention_selector_metadata.rb +205 -0
  270. data/lib/harbor2_client/models/robot.rb +296 -0
  271. data/lib/harbor2_client/models/robot_create.rb +247 -0
  272. data/lib/harbor2_client/models/robot_create_v1.rb +217 -0
  273. data/lib/harbor2_client/models/robot_created.rb +226 -0
  274. data/lib/harbor2_client/models/robot_permission.rb +206 -0
  275. data/lib/harbor2_client/models/robot_sec.rb +186 -0
  276. data/lib/harbor2_client/models/role_request.rb +185 -0
  277. data/lib/harbor2_client/models/scan_overview.rb +1 -1
  278. data/lib/harbor2_client/models/scanner.rb +205 -0
  279. data/lib/harbor2_client/models/scanner_adapter_metadata.rb +207 -0
  280. data/lib/harbor2_client/models/scanner_capability.rb +197 -0
  281. data/lib/harbor2_client/models/scanner_registration.rb +348 -0
  282. data/lib/harbor2_client/models/scanner_registration_req.rb +271 -0
  283. data/lib/harbor2_client/models/scanner_registration_settings.rb +227 -0
  284. data/lib/harbor2_client/models/schedule.rb +236 -0
  285. data/lib/harbor2_client/models/schedule_obj.rb +229 -0
  286. data/lib/harbor2_client/models/search.rb +211 -0
  287. data/lib/harbor2_client/models/search_repository.rb +235 -0
  288. data/lib/harbor2_client/models/search_result.rb +205 -0
  289. data/lib/harbor2_client/models/start_replication_execution.rb +185 -0
  290. data/lib/harbor2_client/models/statistic.rb +245 -0
  291. data/lib/harbor2_client/models/stats.rb +262 -0
  292. data/lib/harbor2_client/models/storage.rb +195 -0
  293. data/lib/harbor2_client/models/string_config_item.rb +195 -0
  294. data/lib/harbor2_client/models/supported_webhook_event_types.rb +198 -0
  295. data/lib/harbor2_client/models/system_info.rb +187 -0
  296. data/lib/harbor2_client/models/tag.rb +1 -1
  297. data/lib/harbor2_client/models/task.rb +1 -1
  298. data/lib/harbor2_client/models/user_creation_req.rb +250 -0
  299. data/lib/harbor2_client/models/user_entity.rb +195 -0
  300. data/lib/harbor2_client/models/user_group.rb +215 -0
  301. data/lib/harbor2_client/models/user_profile.rb +202 -0
  302. data/lib/harbor2_client/models/user_resp.rb +268 -0
  303. data/lib/harbor2_client/models/user_search.rb +194 -0
  304. data/lib/harbor2_client/models/user_search_resp_item.rb +194 -0
  305. data/lib/harbor2_client/models/user_sys_admin_flag.rb +185 -0
  306. data/lib/harbor2_client/models/vulnerability_summary.rb +1 -1
  307. data/lib/harbor2_client/models/webhook_job.rb +256 -0
  308. data/lib/harbor2_client/models/webhook_last_trigger.rb +226 -0
  309. data/lib/harbor2_client/models/webhook_policy.rb +278 -0
  310. data/lib/harbor2_client/models/webhook_target_object.rb +216 -0
  311. data/lib/harbor2_client/version.rb +2 -2
  312. data/lib/harbor2_client.rb +127 -1
  313. data/spec/api/artifact_api_spec.rb +21 -1
  314. data/spec/api/auditlog_api_spec.rb +2 -1
  315. data/spec/api/configure_api_spec.rb +72 -0
  316. data/spec/api/gc_api_spec.rb +115 -0
  317. data/spec/api/health_api_spec.rb +47 -0
  318. data/spec/api/icon_api_spec.rb +1 -1
  319. data/spec/api/immutable_api_spec.rb +97 -0
  320. data/spec/api/label_api_spec.rb +107 -0
  321. data/spec/api/ldap_api_spec.rb +88 -0
  322. data/spec/api/member_api_spec.rb +112 -0
  323. data/spec/api/oidc_api_spec.rb +48 -0
  324. data/spec/api/ping_api_spec.rb +47 -0
  325. data/spec/api/preheat_api_spec.rb +5 -1
  326. data/spec/api/project_api_spec.rb +63 -6
  327. data/spec/api/project_metadata_api_spec.rb +110 -0
  328. data/spec/api/quota_api_spec.rb +79 -0
  329. data/spec/api/registry_api_spec.rb +155 -0
  330. data/spec/api/replication_api_spec.rb +194 -0
  331. data/spec/api/repository_api_spec.rb +18 -1
  332. data/spec/api/retention_api_spec.rb +175 -0
  333. data/spec/api/robot_api_spec.rb +118 -0
  334. data/spec/api/robotv1_api_spec.rb +114 -0
  335. data/spec/api/scan_all_api_spec.rb +97 -0
  336. data/spec/api/scan_api_spec.rb +1 -1
  337. data/spec/api/scanner_api_spec.rb +144 -0
  338. data/spec/api/search_api_spec.rb +48 -0
  339. data/spec/api/statistic_api_spec.rb +47 -0
  340. data/spec/api/system_cve_allowlist_api_spec.rb +60 -0
  341. data/spec/api/systeminfo_api_spec.rb +71 -0
  342. data/spec/api/user_api_spec.rb +181 -0
  343. data/spec/api/usergroup_api_spec.rb +100 -0
  344. data/spec/api/webhook_api_spec.rb +142 -0
  345. data/spec/api/webhookjob_api_spec.rb +55 -0
  346. data/spec/api_client_spec.rb +1 -1
  347. data/spec/configuration_spec.rb +1 -1
  348. data/spec/models/access_spec.rb +53 -0
  349. data/spec/models/addition_link_spec.rb +1 -1
  350. data/spec/models/addition_links_spec.rb +1 -1
  351. data/spec/models/annotations_spec.rb +1 -1
  352. data/spec/models/artifact_spec.rb +1 -1
  353. data/spec/models/audit_log_spec.rb +1 -1
  354. data/spec/models/authproxy_setting_spec.rb +65 -0
  355. data/spec/models/body_1_spec.rb +41 -0
  356. data/spec/models/body_spec.rb +41 -0
  357. data/spec/models/bool_config_item_spec.rb +47 -0
  358. data/spec/models/chart_metadata_spec.rb +101 -0
  359. data/spec/models/chart_version_spec.rb +131 -0
  360. data/spec/models/component_health_status_spec.rb +53 -0
  361. data/spec/models/configurations_response_scan_all_policy_parameter_spec.rb +41 -0
  362. data/spec/models/configurations_response_scan_all_policy_spec.rb +47 -0
  363. data/spec/models/configurations_response_spec.rb +353 -0
  364. data/spec/models/configurations_spec.rb +365 -0
  365. data/spec/models/cve_allowlist_item_spec.rb +1 -1
  366. data/spec/models/cve_allowlist_spec.rb +1 -1
  367. data/spec/models/endpoint_spec.rb +47 -0
  368. data/spec/models/error_spec.rb +1 -1
  369. data/spec/models/errors_spec.rb +1 -1
  370. data/spec/models/event_type_spec.rb +35 -0
  371. data/spec/models/execution_spec.rb +1 -1
  372. data/spec/models/extra_attrs_spec.rb +1 -1
  373. data/spec/models/filter_style_spec.rb +53 -0
  374. data/spec/models/gc_history_spec.rb +89 -0
  375. data/spec/models/general_info_spec.rb +113 -0
  376. data/spec/models/icon_spec.rb +1 -1
  377. data/spec/models/immutable_rule_spec.rb +83 -0
  378. data/spec/models/immutable_selector_spec.rb +59 -0
  379. data/spec/models/instance_spec.rb +1 -1
  380. data/spec/models/integer_config_item_spec.rb +47 -0
  381. data/spec/models/internal_configurations_response_spec.rb +35 -0
  382. data/spec/models/is_default_spec.rb +41 -0
  383. data/spec/models/label_spec.rb +1 -1
  384. data/spec/models/ldap_conf_spec.rb +89 -0
  385. data/spec/models/ldap_failed_import_user_spec.rb +47 -0
  386. data/spec/models/ldap_import_users_spec.rb +41 -0
  387. data/spec/models/ldap_ping_result_spec.rb +47 -0
  388. data/spec/models/ldap_user_spec.rb +53 -0
  389. data/spec/models/metadata_spec.rb +1 -1
  390. data/spec/models/metrics_spec.rb +1 -1
  391. data/spec/models/native_report_summary_spec.rb +7 -1
  392. data/spec/models/notify_type_spec.rb +35 -0
  393. data/spec/models/oidc_cli_secret_req_spec.rb +41 -0
  394. data/spec/models/oidc_user_info_spec.rb +71 -0
  395. data/spec/models/overall_health_status_spec.rb +47 -0
  396. data/spec/models/password_req_spec.rb +47 -0
  397. data/spec/models/permission_spec.rb +47 -0
  398. data/spec/models/platform_spec.rb +1 -1
  399. data/spec/models/preheat_policy_spec.rb +1 -1
  400. data/spec/models/project_deletable_spec.rb +1 -1
  401. data/spec/models/project_member_entity_spec.rb +77 -0
  402. data/spec/models/project_member_spec.rb +53 -0
  403. data/spec/models/project_metadata_spec.rb +1 -1
  404. data/spec/models/project_req_spec.rb +1 -1
  405. data/spec/models/project_scanner_spec.rb +41 -0
  406. data/spec/models/project_spec.rb +1 -1
  407. data/spec/models/project_summary_quota_spec.rb +1 -1
  408. data/spec/models/project_summary_spec.rb +1 -1
  409. data/spec/models/provider_under_project_spec.rb +1 -1
  410. data/spec/models/quota_ref_object_spec.rb +35 -0
  411. data/spec/models/quota_spec.rb +71 -0
  412. data/spec/models/quota_update_req_spec.rb +41 -0
  413. data/spec/models/reference_spec.rb +1 -1
  414. data/spec/models/registry_credential_spec.rb +1 -1
  415. data/spec/models/registry_endpoint_spec.rb +47 -0
  416. data/spec/models/registry_info_spec.rb +59 -0
  417. data/spec/models/registry_ping_spec.rb +77 -0
  418. data/spec/models/registry_provider_credential_pattern_spec.rb +59 -0
  419. data/spec/models/registry_provider_endpoint_pattern_spec.rb +47 -0
  420. data/spec/models/registry_provider_info_spec.rb +47 -0
  421. data/spec/models/registry_spec.rb +1 -1
  422. data/spec/models/registry_update_spec.rb +77 -0
  423. data/spec/models/replication_execution_spec.rb +107 -0
  424. data/spec/models/replication_filter_spec.rb +47 -0
  425. data/spec/models/replication_policy_spec.rb +125 -0
  426. data/spec/models/replication_task_spec.rb +95 -0
  427. data/spec/models/replication_trigger_settings_spec.rb +41 -0
  428. data/spec/models/replication_trigger_spec.rb +47 -0
  429. data/spec/models/repository_spec.rb +1 -1
  430. data/spec/models/resource_list_spec.rb +1 -1
  431. data/spec/models/retention_execution_spec.rb +77 -0
  432. data/spec/models/retention_execution_task_spec.rb +101 -0
  433. data/spec/models/retention_metadata_spec.rb +53 -0
  434. data/spec/models/retention_policy_scope_spec.rb +47 -0
  435. data/spec/models/retention_policy_spec.rb +65 -0
  436. data/spec/models/retention_rule_metadata_spec.rb +59 -0
  437. data/spec/models/retention_rule_param_metadata_spec.rb +53 -0
  438. data/spec/models/retention_rule_spec.rb +83 -0
  439. data/spec/models/retention_rule_trigger_spec.rb +53 -0
  440. data/spec/models/retention_selector_metadata_spec.rb +53 -0
  441. data/spec/models/retention_selector_spec.rb +59 -0
  442. data/spec/models/robot_create_spec.rb +77 -0
  443. data/spec/models/robot_create_v1_spec.rb +59 -0
  444. data/spec/models/robot_created_spec.rb +65 -0
  445. data/spec/models/robot_permission_spec.rb +53 -0
  446. data/spec/models/robot_sec_spec.rb +41 -0
  447. data/spec/models/robot_spec.rb +107 -0
  448. data/spec/models/role_request_spec.rb +41 -0
  449. data/spec/models/scan_overview_spec.rb +1 -1
  450. data/spec/models/scanner_adapter_metadata_spec.rb +53 -0
  451. data/spec/models/scanner_capability_spec.rb +47 -0
  452. data/spec/models/scanner_registration_req_spec.rb +83 -0
  453. data/spec/models/scanner_registration_settings_spec.rb +59 -0
  454. data/spec/models/scanner_registration_spec.rb +131 -0
  455. data/spec/models/scanner_spec.rb +53 -0
  456. data/spec/models/schedule_obj_spec.rb +51 -0
  457. data/spec/models/schedule_spec.rb +71 -0
  458. data/spec/models/search_repository_spec.rb +71 -0
  459. data/spec/models/search_result_spec.rb +53 -0
  460. data/spec/models/search_spec.rb +53 -0
  461. data/spec/models/start_replication_execution_spec.rb +41 -0
  462. data/spec/models/statistic_spec.rb +77 -0
  463. data/spec/models/stats_spec.rb +69 -0
  464. data/spec/models/storage_spec.rb +47 -0
  465. data/spec/models/string_config_item_spec.rb +47 -0
  466. data/spec/models/supported_webhook_event_types_spec.rb +47 -0
  467. data/spec/models/system_info_spec.rb +41 -0
  468. data/spec/models/tag_spec.rb +1 -1
  469. data/spec/models/task_spec.rb +1 -1
  470. data/spec/models/user_creation_req_spec.rb +65 -0
  471. data/spec/models/user_entity_spec.rb +47 -0
  472. data/spec/models/user_group_spec.rb +59 -0
  473. data/spec/models/user_profile_spec.rb +53 -0
  474. data/spec/models/user_resp_spec.rb +95 -0
  475. data/spec/models/user_search_resp_item_spec.rb +47 -0
  476. data/spec/models/user_search_spec.rb +47 -0
  477. data/spec/models/user_sys_admin_flag_spec.rb +41 -0
  478. data/spec/models/vulnerability_summary_spec.rb +1 -1
  479. data/spec/models/webhook_job_spec.rb +83 -0
  480. data/spec/models/webhook_last_trigger_spec.rb +65 -0
  481. data/spec/models/webhook_policy_spec.rb +95 -0
  482. data/spec/models/webhook_target_object_spec.rb +59 -0
  483. data/spec/spec_helper.rb +1 -1
  484. metadata +512 -8
  485. data/harbor2_client-0.1.0.gem +0 -0
@@ -0,0 +1,374 @@
1
+ =begin
2
+ #Harbor API
3
+
4
+ #These APIs provide services for manipulating Harbor project.
5
+
6
+ OpenAPI spec version: 2.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.22
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module Harbor2Client
16
+ # A specified chart entry
17
+ class ChartVersion
18
+ # The name of the chart
19
+ attr_accessor :name
20
+
21
+ # The URL to the relevant project page
22
+ attr_accessor :home
23
+
24
+ # The URL to the source code of chart
25
+ attr_accessor :sources
26
+
27
+ # A SemVer 2 version of chart
28
+ attr_accessor :version
29
+
30
+ # A one-sentence description of chart
31
+ attr_accessor :description
32
+
33
+ # A list of string keywords
34
+ attr_accessor :keywords
35
+
36
+ # The name of template engine
37
+ attr_accessor :engine
38
+
39
+ # The URL to an icon file
40
+ attr_accessor :icon
41
+
42
+ # The API version of this chart
43
+ attr_accessor :api_version
44
+
45
+ # The version of the application enclosed in the chart
46
+ attr_accessor :app_version
47
+
48
+ # Whether or not this chart is deprecated
49
+ attr_accessor :deprecated
50
+
51
+ # A list of label
52
+ attr_accessor :labels
53
+
54
+ # The created time of the chart entry
55
+ attr_accessor :created
56
+
57
+ # A flag to indicate if the chart entry is removed
58
+ attr_accessor :removed
59
+
60
+ # The digest value of the chart entry
61
+ attr_accessor :digest
62
+
63
+ # The urls of the chart entry
64
+ attr_accessor :urls
65
+
66
+ # Attribute mapping from ruby-style variable name to JSON key.
67
+ def self.attribute_map
68
+ {
69
+ :'name' => :'name',
70
+ :'home' => :'home',
71
+ :'sources' => :'sources',
72
+ :'version' => :'version',
73
+ :'description' => :'description',
74
+ :'keywords' => :'keywords',
75
+ :'engine' => :'engine',
76
+ :'icon' => :'icon',
77
+ :'api_version' => :'apiVersion',
78
+ :'app_version' => :'appVersion',
79
+ :'deprecated' => :'deprecated',
80
+ :'labels' => :'labels',
81
+ :'created' => :'created',
82
+ :'removed' => :'removed',
83
+ :'digest' => :'digest',
84
+ :'urls' => :'urls'
85
+ }
86
+ end
87
+
88
+ # Attribute type mapping.
89
+ def self.swagger_types
90
+ {
91
+ :'name' => :'String',
92
+ :'home' => :'String',
93
+ :'sources' => :'Array<String>',
94
+ :'version' => :'String',
95
+ :'description' => :'String',
96
+ :'keywords' => :'Array<String>',
97
+ :'engine' => :'String',
98
+ :'icon' => :'String',
99
+ :'api_version' => :'String',
100
+ :'app_version' => :'String',
101
+ :'deprecated' => :'BOOLEAN',
102
+ :'labels' => :'Array<Label>',
103
+ :'created' => :'String',
104
+ :'removed' => :'BOOLEAN',
105
+ :'digest' => :'String',
106
+ :'urls' => :'Array<String>'
107
+ }
108
+ end
109
+
110
+ # Initializes the object
111
+ # @param [Hash] attributes Model attributes in the form of hash
112
+ def initialize(attributes = {})
113
+ return unless attributes.is_a?(Hash)
114
+
115
+ # convert string to symbol for hash key
116
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
117
+
118
+ if attributes.has_key?(:'name')
119
+ self.name = attributes[:'name']
120
+ end
121
+
122
+ if attributes.has_key?(:'home')
123
+ self.home = attributes[:'home']
124
+ end
125
+
126
+ if attributes.has_key?(:'sources')
127
+ if (value = attributes[:'sources']).is_a?(Array)
128
+ self.sources = value
129
+ end
130
+ end
131
+
132
+ if attributes.has_key?(:'version')
133
+ self.version = attributes[:'version']
134
+ end
135
+
136
+ if attributes.has_key?(:'description')
137
+ self.description = attributes[:'description']
138
+ end
139
+
140
+ if attributes.has_key?(:'keywords')
141
+ if (value = attributes[:'keywords']).is_a?(Array)
142
+ self.keywords = value
143
+ end
144
+ end
145
+
146
+ if attributes.has_key?(:'engine')
147
+ self.engine = attributes[:'engine']
148
+ end
149
+
150
+ if attributes.has_key?(:'icon')
151
+ self.icon = attributes[:'icon']
152
+ end
153
+
154
+ if attributes.has_key?(:'apiVersion')
155
+ self.api_version = attributes[:'apiVersion']
156
+ end
157
+
158
+ if attributes.has_key?(:'appVersion')
159
+ self.app_version = attributes[:'appVersion']
160
+ end
161
+
162
+ if attributes.has_key?(:'deprecated')
163
+ self.deprecated = attributes[:'deprecated']
164
+ end
165
+
166
+ if attributes.has_key?(:'labels')
167
+ if (value = attributes[:'labels']).is_a?(Array)
168
+ self.labels = value
169
+ end
170
+ end
171
+
172
+ if attributes.has_key?(:'created')
173
+ self.created = attributes[:'created']
174
+ end
175
+
176
+ if attributes.has_key?(:'removed')
177
+ self.removed = attributes[:'removed']
178
+ end
179
+
180
+ if attributes.has_key?(:'digest')
181
+ self.digest = attributes[:'digest']
182
+ end
183
+
184
+ if attributes.has_key?(:'urls')
185
+ if (value = attributes[:'urls']).is_a?(Array)
186
+ self.urls = value
187
+ end
188
+ end
189
+ end
190
+
191
+ # Show invalid properties with the reasons. Usually used together with valid?
192
+ # @return Array for valid properties with the reasons
193
+ def list_invalid_properties
194
+ invalid_properties = Array.new
195
+ if @name.nil?
196
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
197
+ end
198
+
199
+ if @version.nil?
200
+ invalid_properties.push('invalid value for "version", version cannot be nil.')
201
+ end
202
+
203
+ if @engine.nil?
204
+ invalid_properties.push('invalid value for "engine", engine cannot be nil.')
205
+ end
206
+
207
+ if @icon.nil?
208
+ invalid_properties.push('invalid value for "icon", icon cannot be nil.')
209
+ end
210
+
211
+ if @api_version.nil?
212
+ invalid_properties.push('invalid value for "api_version", api_version cannot be nil.')
213
+ end
214
+
215
+ if @app_version.nil?
216
+ invalid_properties.push('invalid value for "app_version", app_version cannot be nil.')
217
+ end
218
+
219
+ invalid_properties
220
+ end
221
+
222
+ # Check to see if the all the properties in the model are valid
223
+ # @return true if the model is valid
224
+ def valid?
225
+ return false if @name.nil?
226
+ return false if @version.nil?
227
+ return false if @engine.nil?
228
+ return false if @icon.nil?
229
+ return false if @api_version.nil?
230
+ return false if @app_version.nil?
231
+ true
232
+ end
233
+
234
+ # Checks equality by comparing each attribute.
235
+ # @param [Object] Object to be compared
236
+ def ==(o)
237
+ return true if self.equal?(o)
238
+ self.class == o.class &&
239
+ name == o.name &&
240
+ home == o.home &&
241
+ sources == o.sources &&
242
+ version == o.version &&
243
+ description == o.description &&
244
+ keywords == o.keywords &&
245
+ engine == o.engine &&
246
+ icon == o.icon &&
247
+ api_version == o.api_version &&
248
+ app_version == o.app_version &&
249
+ deprecated == o.deprecated &&
250
+ labels == o.labels &&
251
+ created == o.created &&
252
+ removed == o.removed &&
253
+ digest == o.digest &&
254
+ urls == o.urls
255
+ end
256
+
257
+ # @see the `==` method
258
+ # @param [Object] Object to be compared
259
+ def eql?(o)
260
+ self == o
261
+ end
262
+
263
+ # Calculates hash code according to all attributes.
264
+ # @return [Fixnum] Hash code
265
+ def hash
266
+ [name, home, sources, version, description, keywords, engine, icon, api_version, app_version, deprecated, labels, created, removed, digest, urls].hash
267
+ end
268
+
269
+ # Builds the object from hash
270
+ # @param [Hash] attributes Model attributes in the form of hash
271
+ # @return [Object] Returns the model itself
272
+ def build_from_hash(attributes)
273
+ return nil unless attributes.is_a?(Hash)
274
+ self.class.swagger_types.each_pair do |key, type|
275
+ if type =~ /\AArray<(.*)>/i
276
+ # check to ensure the input is an array given that the attribute
277
+ # is documented as an array but the input is not
278
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
279
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
280
+ end
281
+ elsif !attributes[self.class.attribute_map[key]].nil?
282
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
283
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
284
+ end
285
+
286
+ self
287
+ end
288
+
289
+ # Deserializes the data based on type
290
+ # @param string type Data type
291
+ # @param string value Value to be deserialized
292
+ # @return [Object] Deserialized data
293
+ def _deserialize(type, value)
294
+ case type.to_sym
295
+ when :DateTime
296
+ DateTime.parse(value)
297
+ when :Date
298
+ Date.parse(value)
299
+ when :String
300
+ value.to_s
301
+ when :Integer
302
+ value.to_i
303
+ when :Float
304
+ value.to_f
305
+ when :BOOLEAN
306
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
307
+ true
308
+ else
309
+ false
310
+ end
311
+ when :Object
312
+ # generic object (usually a Hash), return directly
313
+ value
314
+ when /\AArray<(?<inner_type>.+)>\z/
315
+ inner_type = Regexp.last_match[:inner_type]
316
+ value.map { |v| _deserialize(inner_type, v) }
317
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
318
+ k_type = Regexp.last_match[:k_type]
319
+ v_type = Regexp.last_match[:v_type]
320
+ {}.tap do |hash|
321
+ value.each do |k, v|
322
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
323
+ end
324
+ end
325
+ else # model
326
+ temp_model = Harbor2Client.const_get(type).new
327
+ temp_model.build_from_hash(value)
328
+ end
329
+ end
330
+
331
+ # Returns the string representation of the object
332
+ # @return [String] String presentation of the object
333
+ def to_s
334
+ to_hash.to_s
335
+ end
336
+
337
+ # to_body is an alias to to_hash (backward compatibility)
338
+ # @return [Hash] Returns the object in the form of hash
339
+ def to_body
340
+ to_hash
341
+ end
342
+
343
+ # Returns the object in the form of hash
344
+ # @return [Hash] Returns the object in the form of hash
345
+ def to_hash
346
+ hash = {}
347
+ self.class.attribute_map.each_pair do |attr, param|
348
+ value = self.send(attr)
349
+ next if value.nil?
350
+ hash[param] = _to_hash(value)
351
+ end
352
+ hash
353
+ end
354
+
355
+ # Outputs non-array value in the form of hash
356
+ # For object, use to_hash. Otherwise, just return the value
357
+ # @param [Object] value Any valid value
358
+ # @return [Hash] Returns the value in the form of hash
359
+ def _to_hash(value)
360
+ if value.is_a?(Array)
361
+ value.compact.map { |v| _to_hash(v) }
362
+ elsif value.is_a?(Hash)
363
+ {}.tap do |hash|
364
+ value.each { |k, v| hash[k] = _to_hash(v) }
365
+ end
366
+ elsif value.respond_to? :to_hash
367
+ value.to_hash
368
+ else
369
+ value
370
+ end
371
+ end
372
+
373
+ end
374
+ end
@@ -0,0 +1,206 @@
1
+ =begin
2
+ #Harbor API
3
+
4
+ #These APIs provide services for manipulating Harbor project.
5
+
6
+ OpenAPI spec version: 2.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.22
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module Harbor2Client
16
+ # The health status of component
17
+ class ComponentHealthStatus
18
+ # The component name
19
+ attr_accessor :name
20
+
21
+ # The health status of component
22
+ attr_accessor :status
23
+
24
+ # (optional) The error message when the status is \"unhealthy\"
25
+ attr_accessor :error
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ def self.attribute_map
29
+ {
30
+ :'name' => :'name',
31
+ :'status' => :'status',
32
+ :'error' => :'error'
33
+ }
34
+ end
35
+
36
+ # Attribute type mapping.
37
+ def self.swagger_types
38
+ {
39
+ :'name' => :'String',
40
+ :'status' => :'String',
41
+ :'error' => :'String'
42
+ }
43
+ end
44
+
45
+ # Initializes the object
46
+ # @param [Hash] attributes Model attributes in the form of hash
47
+ def initialize(attributes = {})
48
+ return unless attributes.is_a?(Hash)
49
+
50
+ # convert string to symbol for hash key
51
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
52
+
53
+ if attributes.has_key?(:'name')
54
+ self.name = attributes[:'name']
55
+ end
56
+
57
+ if attributes.has_key?(:'status')
58
+ self.status = attributes[:'status']
59
+ end
60
+
61
+ if attributes.has_key?(:'error')
62
+ self.error = attributes[:'error']
63
+ end
64
+ end
65
+
66
+ # Show invalid properties with the reasons. Usually used together with valid?
67
+ # @return Array for valid properties with the reasons
68
+ def list_invalid_properties
69
+ invalid_properties = Array.new
70
+ invalid_properties
71
+ end
72
+
73
+ # Check to see if the all the properties in the model are valid
74
+ # @return true if the model is valid
75
+ def valid?
76
+ true
77
+ end
78
+
79
+ # Checks equality by comparing each attribute.
80
+ # @param [Object] Object to be compared
81
+ def ==(o)
82
+ return true if self.equal?(o)
83
+ self.class == o.class &&
84
+ name == o.name &&
85
+ status == o.status &&
86
+ error == o.error
87
+ end
88
+
89
+ # @see the `==` method
90
+ # @param [Object] Object to be compared
91
+ def eql?(o)
92
+ self == o
93
+ end
94
+
95
+ # Calculates hash code according to all attributes.
96
+ # @return [Fixnum] Hash code
97
+ def hash
98
+ [name, status, error].hash
99
+ end
100
+
101
+ # Builds the object from hash
102
+ # @param [Hash] attributes Model attributes in the form of hash
103
+ # @return [Object] Returns the model itself
104
+ def build_from_hash(attributes)
105
+ return nil unless attributes.is_a?(Hash)
106
+ self.class.swagger_types.each_pair do |key, type|
107
+ if type =~ /\AArray<(.*)>/i
108
+ # check to ensure the input is an array given that the attribute
109
+ # is documented as an array but the input is not
110
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
111
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
112
+ end
113
+ elsif !attributes[self.class.attribute_map[key]].nil?
114
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
115
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
116
+ end
117
+
118
+ self
119
+ end
120
+
121
+ # Deserializes the data based on type
122
+ # @param string type Data type
123
+ # @param string value Value to be deserialized
124
+ # @return [Object] Deserialized data
125
+ def _deserialize(type, value)
126
+ case type.to_sym
127
+ when :DateTime
128
+ DateTime.parse(value)
129
+ when :Date
130
+ Date.parse(value)
131
+ when :String
132
+ value.to_s
133
+ when :Integer
134
+ value.to_i
135
+ when :Float
136
+ value.to_f
137
+ when :BOOLEAN
138
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
139
+ true
140
+ else
141
+ false
142
+ end
143
+ when :Object
144
+ # generic object (usually a Hash), return directly
145
+ value
146
+ when /\AArray<(?<inner_type>.+)>\z/
147
+ inner_type = Regexp.last_match[:inner_type]
148
+ value.map { |v| _deserialize(inner_type, v) }
149
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
150
+ k_type = Regexp.last_match[:k_type]
151
+ v_type = Regexp.last_match[:v_type]
152
+ {}.tap do |hash|
153
+ value.each do |k, v|
154
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
155
+ end
156
+ end
157
+ else # model
158
+ temp_model = Harbor2Client.const_get(type).new
159
+ temp_model.build_from_hash(value)
160
+ end
161
+ end
162
+
163
+ # Returns the string representation of the object
164
+ # @return [String] String presentation of the object
165
+ def to_s
166
+ to_hash.to_s
167
+ end
168
+
169
+ # to_body is an alias to to_hash (backward compatibility)
170
+ # @return [Hash] Returns the object in the form of hash
171
+ def to_body
172
+ to_hash
173
+ end
174
+
175
+ # Returns the object in the form of hash
176
+ # @return [Hash] Returns the object in the form of hash
177
+ def to_hash
178
+ hash = {}
179
+ self.class.attribute_map.each_pair do |attr, param|
180
+ value = self.send(attr)
181
+ next if value.nil?
182
+ hash[param] = _to_hash(value)
183
+ end
184
+ hash
185
+ end
186
+
187
+ # Outputs non-array value in the form of hash
188
+ # For object, use to_hash. Otherwise, just return the value
189
+ # @param [Object] value Any valid value
190
+ # @return [Hash] Returns the value in the form of hash
191
+ def _to_hash(value)
192
+ if value.is_a?(Array)
193
+ value.compact.map { |v| _to_hash(v) }
194
+ elsif value.is_a?(Hash)
195
+ {}.tap do |hash|
196
+ value.each { |k, v| hash[k] = _to_hash(v) }
197
+ end
198
+ elsif value.respond_to? :to_hash
199
+ value.to_hash
200
+ else
201
+ value
202
+ end
203
+ end
204
+
205
+ end
206
+ end