harbor2_client 0.2.0 → 2.3.3.0

Sign up to get free protection for your applications and to get access to all the features.
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,715 @@
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 'uri'
14
+
15
+ module Harbor2Client
16
+ class UserApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Create a local user.
23
+ # This API can be used only when the authentication mode is for local DB. When self registration is disabled.
24
+ # @param user_req The new user
25
+ # @param [Hash] opts the optional parameters
26
+ # @option opts [String] :x_request_id An unique ID for the request
27
+ # @return [nil]
28
+ def create_user(user_req, opts = {})
29
+ create_user_with_http_info(user_req, opts)
30
+ nil
31
+ end
32
+
33
+ # Create a local user.
34
+ # This API can be used only when the authentication mode is for local DB. When self registration is disabled.
35
+ # @param user_req The new user
36
+ # @param [Hash] opts the optional parameters
37
+ # @option opts [String] :x_request_id An unique ID for the request
38
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
39
+ def create_user_with_http_info(user_req, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: UserApi.create_user ...'
42
+ end
43
+ # verify the required parameter 'user_req' is set
44
+ if @api_client.config.client_side_validation && user_req.nil?
45
+ fail ArgumentError, "Missing the required parameter 'user_req' when calling UserApi.create_user"
46
+ end
47
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
48
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling UserApi.create_user, the character length must be great than or equal to 1.'
49
+ end
50
+
51
+ # resource path
52
+ local_var_path = '/users'
53
+
54
+ # query parameters
55
+ query_params = {}
56
+
57
+ # header parameters
58
+ header_params = {}
59
+ # HTTP header 'Accept' (if needed)
60
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
61
+ # HTTP header 'Content-Type'
62
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
63
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
64
+
65
+ # form parameters
66
+ form_params = {}
67
+
68
+ # http body (model)
69
+ post_body = @api_client.object_to_http_body(user_req)
70
+ auth_names = ['basic']
71
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
72
+ :header_params => header_params,
73
+ :query_params => query_params,
74
+ :form_params => form_params,
75
+ :body => post_body,
76
+ :auth_names => auth_names)
77
+ if @api_client.config.debugging
78
+ @api_client.config.logger.debug "API called: UserApi#create_user\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
79
+ end
80
+ return data, status_code, headers
81
+ end
82
+ # Mark a registered user as be removed.
83
+ # This endpoint let administrator of Harbor mark a registered user as removed.It actually won't be deleted from DB.
84
+ # @param user_id User ID for marking as to be removed.
85
+ # @param [Hash] opts the optional parameters
86
+ # @option opts [String] :x_request_id An unique ID for the request
87
+ # @return [nil]
88
+ def delete_user(user_id, opts = {})
89
+ delete_user_with_http_info(user_id, opts)
90
+ nil
91
+ end
92
+
93
+ # Mark a registered user as be removed.
94
+ # This endpoint let administrator of Harbor mark a registered user as removed.It actually won&#39;t be deleted from DB.
95
+ # @param user_id User ID for marking as to be removed.
96
+ # @param [Hash] opts the optional parameters
97
+ # @option opts [String] :x_request_id An unique ID for the request
98
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
99
+ def delete_user_with_http_info(user_id, opts = {})
100
+ if @api_client.config.debugging
101
+ @api_client.config.logger.debug 'Calling API: UserApi.delete_user ...'
102
+ end
103
+ # verify the required parameter 'user_id' is set
104
+ if @api_client.config.client_side_validation && user_id.nil?
105
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling UserApi.delete_user"
106
+ end
107
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
108
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling UserApi.delete_user, the character length must be great than or equal to 1.'
109
+ end
110
+
111
+ # resource path
112
+ local_var_path = '/users/{user_id}'.sub('{' + 'user_id' + '}', user_id.to_s)
113
+
114
+ # query parameters
115
+ query_params = {}
116
+
117
+ # header parameters
118
+ header_params = {}
119
+ # HTTP header 'Accept' (if needed)
120
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
121
+ # HTTP header 'Content-Type'
122
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
123
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
124
+
125
+ # form parameters
126
+ form_params = {}
127
+
128
+ # http body (model)
129
+ post_body = nil
130
+ auth_names = ['basic']
131
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
132
+ :header_params => header_params,
133
+ :query_params => query_params,
134
+ :form_params => form_params,
135
+ :body => post_body,
136
+ :auth_names => auth_names)
137
+ if @api_client.config.debugging
138
+ @api_client.config.logger.debug "API called: UserApi#delete_user\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
139
+ end
140
+ return data, status_code, headers
141
+ end
142
+ # Get current user info.
143
+ # @param [Hash] opts the optional parameters
144
+ # @option opts [String] :x_request_id An unique ID for the request
145
+ # @return [UserResp]
146
+ def get_current_user_info(opts = {})
147
+ data, _status_code, _headers = get_current_user_info_with_http_info(opts)
148
+ data
149
+ end
150
+
151
+ # Get current user info.
152
+ # @param [Hash] opts the optional parameters
153
+ # @option opts [String] :x_request_id An unique ID for the request
154
+ # @return [Array<(UserResp, Fixnum, Hash)>] UserResp data, response status code and response headers
155
+ def get_current_user_info_with_http_info(opts = {})
156
+ if @api_client.config.debugging
157
+ @api_client.config.logger.debug 'Calling API: UserApi.get_current_user_info ...'
158
+ end
159
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
160
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling UserApi.get_current_user_info, the character length must be great than or equal to 1.'
161
+ end
162
+
163
+ # resource path
164
+ local_var_path = '/users/current'
165
+
166
+ # query parameters
167
+ query_params = {}
168
+
169
+ # header parameters
170
+ header_params = {}
171
+ # HTTP header 'Accept' (if needed)
172
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
173
+ # HTTP header 'Content-Type'
174
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
175
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
176
+
177
+ # form parameters
178
+ form_params = {}
179
+
180
+ # http body (model)
181
+ post_body = nil
182
+ auth_names = ['basic']
183
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
184
+ :header_params => header_params,
185
+ :query_params => query_params,
186
+ :form_params => form_params,
187
+ :body => post_body,
188
+ :auth_names => auth_names,
189
+ :return_type => 'UserResp')
190
+ if @api_client.config.debugging
191
+ @api_client.config.logger.debug "API called: UserApi#get_current_user_info\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
192
+ end
193
+ return data, status_code, headers
194
+ end
195
+ # Get current user permissions.
196
+ # @param [Hash] opts the optional parameters
197
+ # @option opts [String] :x_request_id An unique ID for the request
198
+ # @option opts [String] :scope The scope for the permission
199
+ # @option opts [BOOLEAN] :relative If true, the resources in the response are relative to the scope, eg for resource &#39;/project/1/repository&#39; if relative is &#39;true&#39; then the resource in response will be &#39;repository&#39;.
200
+ # @return [Array<Permission>]
201
+ def get_current_user_permissions(opts = {})
202
+ data, _status_code, _headers = get_current_user_permissions_with_http_info(opts)
203
+ data
204
+ end
205
+
206
+ # Get current user permissions.
207
+ # @param [Hash] opts the optional parameters
208
+ # @option opts [String] :x_request_id An unique ID for the request
209
+ # @option opts [String] :scope The scope for the permission
210
+ # @option opts [BOOLEAN] :relative If true, the resources in the response are relative to the scope, eg for resource &#39;/project/1/repository&#39; if relative is &#39;true&#39; then the resource in response will be &#39;repository&#39;.
211
+ # @return [Array<(Array<Permission>, Fixnum, Hash)>] Array<Permission> data, response status code and response headers
212
+ def get_current_user_permissions_with_http_info(opts = {})
213
+ if @api_client.config.debugging
214
+ @api_client.config.logger.debug 'Calling API: UserApi.get_current_user_permissions ...'
215
+ end
216
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
217
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling UserApi.get_current_user_permissions, the character length must be great than or equal to 1.'
218
+ end
219
+
220
+ # resource path
221
+ local_var_path = '/users/current/permissions'
222
+
223
+ # query parameters
224
+ query_params = {}
225
+ query_params[:'scope'] = opts[:'scope'] if !opts[:'scope'].nil?
226
+ query_params[:'relative'] = opts[:'relative'] if !opts[:'relative'].nil?
227
+
228
+ # header parameters
229
+ header_params = {}
230
+ # HTTP header 'Accept' (if needed)
231
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
232
+ # HTTP header 'Content-Type'
233
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
234
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
235
+
236
+ # form parameters
237
+ form_params = {}
238
+
239
+ # http body (model)
240
+ post_body = nil
241
+ auth_names = ['basic']
242
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
243
+ :header_params => header_params,
244
+ :query_params => query_params,
245
+ :form_params => form_params,
246
+ :body => post_body,
247
+ :auth_names => auth_names,
248
+ :return_type => 'Array<Permission>')
249
+ if @api_client.config.debugging
250
+ @api_client.config.logger.debug "API called: UserApi#get_current_user_permissions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
251
+ end
252
+ return data, status_code, headers
253
+ end
254
+ # Get a user's profile.
255
+ # @param user_id
256
+ # @param [Hash] opts the optional parameters
257
+ # @option opts [String] :x_request_id An unique ID for the request
258
+ # @return [UserResp]
259
+ def get_user(user_id, opts = {})
260
+ data, _status_code, _headers = get_user_with_http_info(user_id, opts)
261
+ data
262
+ end
263
+
264
+ # Get a user&#39;s profile.
265
+ # @param user_id
266
+ # @param [Hash] opts the optional parameters
267
+ # @option opts [String] :x_request_id An unique ID for the request
268
+ # @return [Array<(UserResp, Fixnum, Hash)>] UserResp data, response status code and response headers
269
+ def get_user_with_http_info(user_id, opts = {})
270
+ if @api_client.config.debugging
271
+ @api_client.config.logger.debug 'Calling API: UserApi.get_user ...'
272
+ end
273
+ # verify the required parameter 'user_id' is set
274
+ if @api_client.config.client_side_validation && user_id.nil?
275
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling UserApi.get_user"
276
+ end
277
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
278
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling UserApi.get_user, the character length must be great than or equal to 1.'
279
+ end
280
+
281
+ # resource path
282
+ local_var_path = '/users/{user_id}'.sub('{' + 'user_id' + '}', user_id.to_s)
283
+
284
+ # query parameters
285
+ query_params = {}
286
+
287
+ # header parameters
288
+ header_params = {}
289
+ # HTTP header 'Accept' (if needed)
290
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
291
+ # HTTP header 'Content-Type'
292
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
293
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
294
+
295
+ # form parameters
296
+ form_params = {}
297
+
298
+ # http body (model)
299
+ post_body = nil
300
+ auth_names = ['basic']
301
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
302
+ :header_params => header_params,
303
+ :query_params => query_params,
304
+ :form_params => form_params,
305
+ :body => post_body,
306
+ :auth_names => auth_names,
307
+ :return_type => 'UserResp')
308
+ if @api_client.config.debugging
309
+ @api_client.config.logger.debug "API called: UserApi#get_user\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
310
+ end
311
+ return data, status_code, headers
312
+ end
313
+ # List users
314
+ # @param [Hash] opts the optional parameters
315
+ # @option opts [String] :x_request_id An unique ID for the request
316
+ # @option opts [String] :q Query string to query resources. Supported query patterns are \&quot;exact match(k&#x3D;v)\&quot;, \&quot;fuzzy match(k&#x3D;~v)\&quot;, \&quot;range(k&#x3D;[min~max])\&quot;, \&quot;list with union releationship(k&#x3D;{v1 v2 v3})\&quot; and \&quot;list with intersetion relationship(k&#x3D;(v1 v2 v3))\&quot;. The value of range and list can be string(enclosed by \&quot; or &#39;), integer or time(in format \&quot;2020-04-09 02:36:00\&quot;). All of these query patterns should be put in the query string \&quot;q&#x3D;xxx\&quot; and splitted by \&quot;,\&quot;. e.g. q&#x3D;k1&#x3D;v1,k2&#x3D;~v2,k3&#x3D;[min~max]
317
+ # @option opts [String] :sort Sort the resource list in ascending or descending order. e.g. sort by field1 in ascending orderr and field2 in descending order with \&quot;sort&#x3D;field1,-field2\&quot;
318
+ # @option opts [Integer] :page The page number (default to 1)
319
+ # @option opts [Integer] :page_size The size of per page (default to 10)
320
+ # @return [Array<UserResp>]
321
+ def list_users(opts = {})
322
+ data, _status_code, _headers = list_users_with_http_info(opts)
323
+ data
324
+ end
325
+
326
+ # List users
327
+ # @param [Hash] opts the optional parameters
328
+ # @option opts [String] :x_request_id An unique ID for the request
329
+ # @option opts [String] :q Query string to query resources. Supported query patterns are \&quot;exact match(k&#x3D;v)\&quot;, \&quot;fuzzy match(k&#x3D;~v)\&quot;, \&quot;range(k&#x3D;[min~max])\&quot;, \&quot;list with union releationship(k&#x3D;{v1 v2 v3})\&quot; and \&quot;list with intersetion relationship(k&#x3D;(v1 v2 v3))\&quot;. The value of range and list can be string(enclosed by \&quot; or &#39;), integer or time(in format \&quot;2020-04-09 02:36:00\&quot;). All of these query patterns should be put in the query string \&quot;q&#x3D;xxx\&quot; and splitted by \&quot;,\&quot;. e.g. q&#x3D;k1&#x3D;v1,k2&#x3D;~v2,k3&#x3D;[min~max]
330
+ # @option opts [String] :sort Sort the resource list in ascending or descending order. e.g. sort by field1 in ascending orderr and field2 in descending order with \&quot;sort&#x3D;field1,-field2\&quot;
331
+ # @option opts [Integer] :page The page number
332
+ # @option opts [Integer] :page_size The size of per page
333
+ # @return [Array<(Array<UserResp>, Fixnum, Hash)>] Array<UserResp> data, response status code and response headers
334
+ def list_users_with_http_info(opts = {})
335
+ if @api_client.config.debugging
336
+ @api_client.config.logger.debug 'Calling API: UserApi.list_users ...'
337
+ end
338
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
339
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling UserApi.list_users, the character length must be great than or equal to 1.'
340
+ end
341
+
342
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 100
343
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UserApi.list_users, must be smaller than or equal to 100.'
344
+ end
345
+
346
+ # resource path
347
+ local_var_path = '/users'
348
+
349
+ # query parameters
350
+ query_params = {}
351
+ query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil?
352
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
353
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
354
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
355
+
356
+ # header parameters
357
+ header_params = {}
358
+ # HTTP header 'Accept' (if needed)
359
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
360
+ # HTTP header 'Content-Type'
361
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
362
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
363
+
364
+ # form parameters
365
+ form_params = {}
366
+
367
+ # http body (model)
368
+ post_body = nil
369
+ auth_names = ['basic']
370
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
371
+ :header_params => header_params,
372
+ :query_params => query_params,
373
+ :form_params => form_params,
374
+ :body => post_body,
375
+ :auth_names => auth_names,
376
+ :return_type => 'Array<UserResp>')
377
+ if @api_client.config.debugging
378
+ @api_client.config.logger.debug "API called: UserApi#list_users\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
379
+ end
380
+ return data, status_code, headers
381
+ end
382
+ # Search users by username
383
+ # This endpoint is to search the users by username. It's open for all authenticated requests.
384
+ # @param username Username for filtering results.
385
+ # @param [Hash] opts the optional parameters
386
+ # @option opts [String] :x_request_id An unique ID for the request
387
+ # @option opts [Integer] :page The page number (default to 1)
388
+ # @option opts [Integer] :page_size The size of per page (default to 10)
389
+ # @return [Array<UserSearchRespItem>]
390
+ def search_users(username, opts = {})
391
+ data, _status_code, _headers = search_users_with_http_info(username, opts)
392
+ data
393
+ end
394
+
395
+ # Search users by username
396
+ # This endpoint is to search the users by username. It&#39;s open for all authenticated requests.
397
+ # @param username Username for filtering results.
398
+ # @param [Hash] opts the optional parameters
399
+ # @option opts [String] :x_request_id An unique ID for the request
400
+ # @option opts [Integer] :page The page number
401
+ # @option opts [Integer] :page_size The size of per page
402
+ # @return [Array<(Array<UserSearchRespItem>, Fixnum, Hash)>] Array<UserSearchRespItem> data, response status code and response headers
403
+ def search_users_with_http_info(username, opts = {})
404
+ if @api_client.config.debugging
405
+ @api_client.config.logger.debug 'Calling API: UserApi.search_users ...'
406
+ end
407
+ # verify the required parameter 'username' is set
408
+ if @api_client.config.client_side_validation && username.nil?
409
+ fail ArgumentError, "Missing the required parameter 'username' when calling UserApi.search_users"
410
+ end
411
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
412
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling UserApi.search_users, the character length must be great than or equal to 1.'
413
+ end
414
+
415
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 100
416
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UserApi.search_users, must be smaller than or equal to 100.'
417
+ end
418
+
419
+ # resource path
420
+ local_var_path = '/users/search'
421
+
422
+ # query parameters
423
+ query_params = {}
424
+ query_params[:'username'] = username
425
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
426
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
427
+
428
+ # header parameters
429
+ header_params = {}
430
+ # HTTP header 'Accept' (if needed)
431
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
432
+ # HTTP header 'Content-Type'
433
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
434
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
435
+
436
+ # form parameters
437
+ form_params = {}
438
+
439
+ # http body (model)
440
+ post_body = nil
441
+ auth_names = ['basic']
442
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
443
+ :header_params => header_params,
444
+ :query_params => query_params,
445
+ :form_params => form_params,
446
+ :body => post_body,
447
+ :auth_names => auth_names,
448
+ :return_type => 'Array<UserSearchRespItem>')
449
+ if @api_client.config.debugging
450
+ @api_client.config.logger.debug "API called: UserApi#search_users\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
451
+ end
452
+ return data, status_code, headers
453
+ end
454
+ # Set CLI secret for a user.
455
+ # This endpoint let user generate a new CLI secret for himself. This API only works when auth mode is set to 'OIDC'. Once this API returns with successful status, the old secret will be invalid, as there will be only one CLI secret for a user.
456
+ # @param user_id User ID
457
+ # @param secret
458
+ # @param [Hash] opts the optional parameters
459
+ # @option opts [String] :x_request_id An unique ID for the request
460
+ # @return [nil]
461
+ def set_cli_secret(user_id, secret, opts = {})
462
+ set_cli_secret_with_http_info(user_id, secret, opts)
463
+ nil
464
+ end
465
+
466
+ # Set CLI secret for a user.
467
+ # This endpoint let user generate a new CLI secret for himself. This API only works when auth mode is set to &#39;OIDC&#39;. Once this API returns with successful status, the old secret will be invalid, as there will be only one CLI secret for a user.
468
+ # @param user_id User ID
469
+ # @param secret
470
+ # @param [Hash] opts the optional parameters
471
+ # @option opts [String] :x_request_id An unique ID for the request
472
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
473
+ def set_cli_secret_with_http_info(user_id, secret, opts = {})
474
+ if @api_client.config.debugging
475
+ @api_client.config.logger.debug 'Calling API: UserApi.set_cli_secret ...'
476
+ end
477
+ # verify the required parameter 'user_id' is set
478
+ if @api_client.config.client_side_validation && user_id.nil?
479
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling UserApi.set_cli_secret"
480
+ end
481
+ # verify the required parameter 'secret' is set
482
+ if @api_client.config.client_side_validation && secret.nil?
483
+ fail ArgumentError, "Missing the required parameter 'secret' when calling UserApi.set_cli_secret"
484
+ end
485
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
486
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling UserApi.set_cli_secret, the character length must be great than or equal to 1.'
487
+ end
488
+
489
+ # resource path
490
+ local_var_path = '/users/{user_id}/cli_secret'.sub('{' + 'user_id' + '}', user_id.to_s)
491
+
492
+ # query parameters
493
+ query_params = {}
494
+
495
+ # header parameters
496
+ header_params = {}
497
+ # HTTP header 'Accept' (if needed)
498
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
499
+ # HTTP header 'Content-Type'
500
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
501
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
502
+
503
+ # form parameters
504
+ form_params = {}
505
+
506
+ # http body (model)
507
+ post_body = @api_client.object_to_http_body(secret)
508
+ auth_names = ['basic']
509
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
510
+ :header_params => header_params,
511
+ :query_params => query_params,
512
+ :form_params => form_params,
513
+ :body => post_body,
514
+ :auth_names => auth_names)
515
+ if @api_client.config.debugging
516
+ @api_client.config.logger.debug "API called: UserApi#set_cli_secret\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
517
+ end
518
+ return data, status_code, headers
519
+ end
520
+ # Update a registered user to change to be an administrator of Harbor.
521
+ # @param user_id
522
+ # @param sysadmin_flag Toggle a user to admin or not.
523
+ # @param [Hash] opts the optional parameters
524
+ # @option opts [String] :x_request_id An unique ID for the request
525
+ # @return [nil]
526
+ def set_user_sys_admin(user_id, sysadmin_flag, opts = {})
527
+ set_user_sys_admin_with_http_info(user_id, sysadmin_flag, opts)
528
+ nil
529
+ end
530
+
531
+ # Update a registered user to change to be an administrator of Harbor.
532
+ # @param user_id
533
+ # @param sysadmin_flag Toggle a user to admin or not.
534
+ # @param [Hash] opts the optional parameters
535
+ # @option opts [String] :x_request_id An unique ID for the request
536
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
537
+ def set_user_sys_admin_with_http_info(user_id, sysadmin_flag, opts = {})
538
+ if @api_client.config.debugging
539
+ @api_client.config.logger.debug 'Calling API: UserApi.set_user_sys_admin ...'
540
+ end
541
+ # verify the required parameter 'user_id' is set
542
+ if @api_client.config.client_side_validation && user_id.nil?
543
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling UserApi.set_user_sys_admin"
544
+ end
545
+ # verify the required parameter 'sysadmin_flag' is set
546
+ if @api_client.config.client_side_validation && sysadmin_flag.nil?
547
+ fail ArgumentError, "Missing the required parameter 'sysadmin_flag' when calling UserApi.set_user_sys_admin"
548
+ end
549
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
550
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling UserApi.set_user_sys_admin, the character length must be great than or equal to 1.'
551
+ end
552
+
553
+ # resource path
554
+ local_var_path = '/users/{user_id}/sysadmin'.sub('{' + 'user_id' + '}', user_id.to_s)
555
+
556
+ # query parameters
557
+ query_params = {}
558
+
559
+ # header parameters
560
+ header_params = {}
561
+ # HTTP header 'Accept' (if needed)
562
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
563
+ # HTTP header 'Content-Type'
564
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
565
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
566
+
567
+ # form parameters
568
+ form_params = {}
569
+
570
+ # http body (model)
571
+ post_body = @api_client.object_to_http_body(sysadmin_flag)
572
+ auth_names = ['basic']
573
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
574
+ :header_params => header_params,
575
+ :query_params => query_params,
576
+ :form_params => form_params,
577
+ :body => post_body,
578
+ :auth_names => auth_names)
579
+ if @api_client.config.debugging
580
+ @api_client.config.logger.debug "API called: UserApi#set_user_sys_admin\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
581
+ end
582
+ return data, status_code, headers
583
+ end
584
+ # Change the password on a user that already exists.
585
+ # This endpoint is for user to update password. Users with the admin role can change any user's password. Regular users can change only their own password.
586
+ # @param user_id
587
+ # @param password Password to be updated, the attribute &#39;old_password&#39; is optional when the API is called by the system administrator.
588
+ # @param [Hash] opts the optional parameters
589
+ # @option opts [String] :x_request_id An unique ID for the request
590
+ # @return [nil]
591
+ def update_user_password(user_id, password, opts = {})
592
+ update_user_password_with_http_info(user_id, password, opts)
593
+ nil
594
+ end
595
+
596
+ # Change the password on a user that already exists.
597
+ # This endpoint is for user to update password. Users with the admin role can change any user&#39;s password. Regular users can change only their own password.
598
+ # @param user_id
599
+ # @param password Password to be updated, the attribute &#39;old_password&#39; is optional when the API is called by the system administrator.
600
+ # @param [Hash] opts the optional parameters
601
+ # @option opts [String] :x_request_id An unique ID for the request
602
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
603
+ def update_user_password_with_http_info(user_id, password, opts = {})
604
+ if @api_client.config.debugging
605
+ @api_client.config.logger.debug 'Calling API: UserApi.update_user_password ...'
606
+ end
607
+ # verify the required parameter 'user_id' is set
608
+ if @api_client.config.client_side_validation && user_id.nil?
609
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling UserApi.update_user_password"
610
+ end
611
+ # verify the required parameter 'password' is set
612
+ if @api_client.config.client_side_validation && password.nil?
613
+ fail ArgumentError, "Missing the required parameter 'password' when calling UserApi.update_user_password"
614
+ end
615
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
616
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling UserApi.update_user_password, the character length must be great than or equal to 1.'
617
+ end
618
+
619
+ # resource path
620
+ local_var_path = '/users/{user_id}/password'.sub('{' + 'user_id' + '}', user_id.to_s)
621
+
622
+ # query parameters
623
+ query_params = {}
624
+
625
+ # header parameters
626
+ header_params = {}
627
+ # HTTP header 'Accept' (if needed)
628
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
629
+ # HTTP header 'Content-Type'
630
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
631
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
632
+
633
+ # form parameters
634
+ form_params = {}
635
+
636
+ # http body (model)
637
+ post_body = @api_client.object_to_http_body(password)
638
+ auth_names = ['basic']
639
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
640
+ :header_params => header_params,
641
+ :query_params => query_params,
642
+ :form_params => form_params,
643
+ :body => post_body,
644
+ :auth_names => auth_names)
645
+ if @api_client.config.debugging
646
+ @api_client.config.logger.debug "API called: UserApi#update_user_password\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
647
+ end
648
+ return data, status_code, headers
649
+ end
650
+ # Update user's profile.
651
+ # @param user_id Registered user ID
652
+ # @param profile Only email, realname and comment can be modified.
653
+ # @param [Hash] opts the optional parameters
654
+ # @option opts [String] :x_request_id An unique ID for the request
655
+ # @return [nil]
656
+ def update_user_profile(user_id, profile, opts = {})
657
+ update_user_profile_with_http_info(user_id, profile, opts)
658
+ nil
659
+ end
660
+
661
+ # Update user&#39;s profile.
662
+ # @param user_id Registered user ID
663
+ # @param profile Only email, realname and comment can be modified.
664
+ # @param [Hash] opts the optional parameters
665
+ # @option opts [String] :x_request_id An unique ID for the request
666
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
667
+ def update_user_profile_with_http_info(user_id, profile, opts = {})
668
+ if @api_client.config.debugging
669
+ @api_client.config.logger.debug 'Calling API: UserApi.update_user_profile ...'
670
+ end
671
+ # verify the required parameter 'user_id' is set
672
+ if @api_client.config.client_side_validation && user_id.nil?
673
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling UserApi.update_user_profile"
674
+ end
675
+ # verify the required parameter 'profile' is set
676
+ if @api_client.config.client_side_validation && profile.nil?
677
+ fail ArgumentError, "Missing the required parameter 'profile' when calling UserApi.update_user_profile"
678
+ end
679
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
680
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling UserApi.update_user_profile, the character length must be great than or equal to 1.'
681
+ end
682
+
683
+ # resource path
684
+ local_var_path = '/users/{user_id}'.sub('{' + 'user_id' + '}', user_id.to_s)
685
+
686
+ # query parameters
687
+ query_params = {}
688
+
689
+ # header parameters
690
+ header_params = {}
691
+ # HTTP header 'Accept' (if needed)
692
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
693
+ # HTTP header 'Content-Type'
694
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
695
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
696
+
697
+ # form parameters
698
+ form_params = {}
699
+
700
+ # http body (model)
701
+ post_body = @api_client.object_to_http_body(profile)
702
+ auth_names = ['basic']
703
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
704
+ :header_params => header_params,
705
+ :query_params => query_params,
706
+ :form_params => form_params,
707
+ :body => post_body,
708
+ :auth_names => auth_names)
709
+ if @api_client.config.debugging
710
+ @api_client.config.logger.debug "API called: UserApi#update_user_profile\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
711
+ end
712
+ return data, status_code, headers
713
+ end
714
+ end
715
+ end