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,704 @@
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
+ class ConfigurationsResponse
17
+ # The auth mode of current system, such as \"db_auth\", \"ldap_auth\", \"oidc_auth\"
18
+ attr_accessor :auth_mode
19
+
20
+ # The sender name for Email notification.
21
+ attr_accessor :email_from
22
+
23
+ # The hostname of SMTP server that sends Email notification.
24
+ attr_accessor :email_host
25
+
26
+ # By default it's empty so the email_username is picked
27
+ attr_accessor :email_identity
28
+
29
+ # Whether or not the certificate will be verified when Harbor tries to access the email server.
30
+ attr_accessor :email_insecure
31
+
32
+ # The port of SMTP server
33
+ attr_accessor :email_port
34
+
35
+ # When it''s set to true the system will access Email server via TLS by default. If it''s set to false, it still will handle \"STARTTLS\" from server side.
36
+ attr_accessor :email_ssl
37
+
38
+ # The username for authenticate against SMTP server
39
+ attr_accessor :email_username
40
+
41
+ # The Base DN for LDAP binding.
42
+ attr_accessor :ldap_base_dn
43
+
44
+ # The filter for LDAP search
45
+ attr_accessor :ldap_filter
46
+
47
+ # The base DN to search LDAP group.
48
+ attr_accessor :ldap_group_base_dn
49
+
50
+ # Specify the ldap group which have the same privilege with Harbor admin
51
+ attr_accessor :ldap_group_admin_dn
52
+
53
+ # The attribute which is used as identity of the LDAP group, default is cn.'
54
+ attr_accessor :ldap_group_attribute_name
55
+
56
+ # The filter to search the ldap group
57
+ attr_accessor :ldap_group_search_filter
58
+
59
+ # The scope to search ldap group. ''0-LDAP_SCOPE_BASE, 1-LDAP_SCOPE_ONELEVEL, 2-LDAP_SCOPE_SUBTREE''
60
+ attr_accessor :ldap_group_search_scope
61
+
62
+ # The scope to search ldap users,'0-LDAP_SCOPE_BASE, 1-LDAP_SCOPE_ONELEVEL, 2-LDAP_SCOPE_SUBTREE'
63
+ attr_accessor :ldap_scope
64
+
65
+ # The DN of the user to do the search.
66
+ attr_accessor :ldap_search_dn
67
+
68
+ # Timeout in seconds for connection to LDAP server
69
+ attr_accessor :ldap_timeout
70
+
71
+ # The attribute which is used as identity for the LDAP binding, such as \"CN\" or \"SAMAccountname\"
72
+ attr_accessor :ldap_uid
73
+
74
+ # The URL of LDAP server
75
+ attr_accessor :ldap_url
76
+
77
+ # Whether verify your OIDC server certificate, disable it if your OIDC server is hosted via self-hosted certificate.
78
+ attr_accessor :ldap_verify_cert
79
+
80
+ # The user attribute to identify the group membership
81
+ attr_accessor :ldap_group_membership_attribute
82
+
83
+ # Indicate who can create projects, it could be ''adminonly'' or ''everyone''.
84
+ attr_accessor :project_creation_restriction
85
+
86
+ # The flag to indicate whether Harbor is in readonly mode.
87
+ attr_accessor :read_only
88
+
89
+ # Whether the Harbor instance supports self-registration. If it''s set to false, admin need to add user to the instance.
90
+ attr_accessor :self_registration
91
+
92
+ # The expiration time of the token for internal Registry, in minutes.
93
+ attr_accessor :token_expiration
94
+
95
+ # The client id of UAA
96
+ attr_accessor :uaa_client_id
97
+
98
+ # The client secret of the UAA
99
+ attr_accessor :uaa_client_secret
100
+
101
+ # The endpoint of the UAA
102
+ attr_accessor :uaa_endpoint
103
+
104
+ # Verify the certificate in UAA server
105
+ attr_accessor :uaa_verify_cert
106
+
107
+ # The endpoint of the HTTP auth
108
+ attr_accessor :http_authproxy_endpoint
109
+
110
+ # The token review endpoint
111
+ attr_accessor :http_authproxy_tokenreview_endpoint
112
+
113
+ # The group which has the harbor admin privileges
114
+ attr_accessor :http_authproxy_admin_groups
115
+
116
+ # The usernames which has the harbor admin privileges
117
+ attr_accessor :http_authproxy_admin_usernames
118
+
119
+ # Verify the HTTP auth provider's certificate
120
+ attr_accessor :http_authproxy_verify_cert
121
+
122
+ # Search user before onboard
123
+ attr_accessor :http_authproxy_skip_search
124
+
125
+ # The certificate of the HTTP auth provider
126
+ attr_accessor :http_authproxy_server_certificate
127
+
128
+ # The OIDC provider name
129
+ attr_accessor :oidc_name
130
+
131
+ # The endpoint of the OIDC provider
132
+ attr_accessor :oidc_endpoint
133
+
134
+ # The client ID of the OIDC provider
135
+ attr_accessor :oidc_client_id
136
+
137
+ # The attribute claims the group name
138
+ attr_accessor :oidc_groups_claim
139
+
140
+ # The OIDC group which has the harbor admin privileges
141
+ attr_accessor :oidc_admin_group
142
+
143
+ # The scope of the OIDC provider
144
+ attr_accessor :oidc_scope
145
+
146
+ # The attribute claims the username
147
+ attr_accessor :oidc_user_claim
148
+
149
+ # Verify the OIDC provider's certificate'
150
+ attr_accessor :oidc_verify_cert
151
+
152
+ # Auto onboard the OIDC user
153
+ attr_accessor :oidc_auto_onboard
154
+
155
+ # Extra parameters to add when redirect request to OIDC provider
156
+ attr_accessor :oidc_extra_redirect_parms
157
+
158
+ # The robot account token duration in days
159
+ attr_accessor :robot_token_duration
160
+
161
+ # The rebot account name prefix
162
+ attr_accessor :robot_name_prefix
163
+
164
+ # Enable notification
165
+ attr_accessor :notification_enable
166
+
167
+ # Enable quota per project
168
+ attr_accessor :quota_per_project_enable
169
+
170
+ # The storage quota per project
171
+ attr_accessor :storage_per_project
172
+
173
+ attr_accessor :scan_all_policy
174
+
175
+ # Attribute mapping from ruby-style variable name to JSON key.
176
+ def self.attribute_map
177
+ {
178
+ :'auth_mode' => :'auth_mode',
179
+ :'email_from' => :'email_from',
180
+ :'email_host' => :'email_host',
181
+ :'email_identity' => :'email_identity',
182
+ :'email_insecure' => :'email_insecure',
183
+ :'email_port' => :'email_port',
184
+ :'email_ssl' => :'email_ssl',
185
+ :'email_username' => :'email_username',
186
+ :'ldap_base_dn' => :'ldap_base_dn',
187
+ :'ldap_filter' => :'ldap_filter',
188
+ :'ldap_group_base_dn' => :'ldap_group_base_dn',
189
+ :'ldap_group_admin_dn' => :'ldap_group_admin_dn',
190
+ :'ldap_group_attribute_name' => :'ldap_group_attribute_name',
191
+ :'ldap_group_search_filter' => :'ldap_group_search_filter',
192
+ :'ldap_group_search_scope' => :'ldap_group_search_scope',
193
+ :'ldap_scope' => :'ldap_scope',
194
+ :'ldap_search_dn' => :'ldap_search_dn',
195
+ :'ldap_timeout' => :'ldap_timeout',
196
+ :'ldap_uid' => :'ldap_uid',
197
+ :'ldap_url' => :'ldap_url',
198
+ :'ldap_verify_cert' => :'ldap_verify_cert',
199
+ :'ldap_group_membership_attribute' => :'ldap_group_membership_attribute',
200
+ :'project_creation_restriction' => :'project_creation_restriction',
201
+ :'read_only' => :'read_only',
202
+ :'self_registration' => :'self_registration',
203
+ :'token_expiration' => :'token_expiration',
204
+ :'uaa_client_id' => :'uaa_client_id',
205
+ :'uaa_client_secret' => :'uaa_client_secret',
206
+ :'uaa_endpoint' => :'uaa_endpoint',
207
+ :'uaa_verify_cert' => :'uaa_verify_cert',
208
+ :'http_authproxy_endpoint' => :'http_authproxy_endpoint',
209
+ :'http_authproxy_tokenreview_endpoint' => :'http_authproxy_tokenreview_endpoint',
210
+ :'http_authproxy_admin_groups' => :'http_authproxy_admin_groups',
211
+ :'http_authproxy_admin_usernames' => :'http_authproxy_admin_usernames',
212
+ :'http_authproxy_verify_cert' => :'http_authproxy_verify_cert',
213
+ :'http_authproxy_skip_search' => :'http_authproxy_skip_search',
214
+ :'http_authproxy_server_certificate' => :'http_authproxy_server_certificate',
215
+ :'oidc_name' => :'oidc_name',
216
+ :'oidc_endpoint' => :'oidc_endpoint',
217
+ :'oidc_client_id' => :'oidc_client_id',
218
+ :'oidc_groups_claim' => :'oidc_groups_claim',
219
+ :'oidc_admin_group' => :'oidc_admin_group',
220
+ :'oidc_scope' => :'oidc_scope',
221
+ :'oidc_user_claim' => :'oidc_user_claim',
222
+ :'oidc_verify_cert' => :'oidc_verify_cert',
223
+ :'oidc_auto_onboard' => :'oidc_auto_onboard',
224
+ :'oidc_extra_redirect_parms' => :'oidc_extra_redirect_parms',
225
+ :'robot_token_duration' => :'robot_token_duration',
226
+ :'robot_name_prefix' => :'robot_name_prefix',
227
+ :'notification_enable' => :'notification_enable',
228
+ :'quota_per_project_enable' => :'quota_per_project_enable',
229
+ :'storage_per_project' => :'storage_per_project',
230
+ :'scan_all_policy' => :'scan_all_policy'
231
+ }
232
+ end
233
+
234
+ # Attribute type mapping.
235
+ def self.swagger_types
236
+ {
237
+ :'auth_mode' => :'StringConfigItem',
238
+ :'email_from' => :'StringConfigItem',
239
+ :'email_host' => :'StringConfigItem',
240
+ :'email_identity' => :'StringConfigItem',
241
+ :'email_insecure' => :'BoolConfigItem',
242
+ :'email_port' => :'IntegerConfigItem',
243
+ :'email_ssl' => :'BoolConfigItem',
244
+ :'email_username' => :'StringConfigItem',
245
+ :'ldap_base_dn' => :'StringConfigItem',
246
+ :'ldap_filter' => :'StringConfigItem',
247
+ :'ldap_group_base_dn' => :'StringConfigItem',
248
+ :'ldap_group_admin_dn' => :'StringConfigItem',
249
+ :'ldap_group_attribute_name' => :'StringConfigItem',
250
+ :'ldap_group_search_filter' => :'StringConfigItem',
251
+ :'ldap_group_search_scope' => :'IntegerConfigItem',
252
+ :'ldap_scope' => :'IntegerConfigItem',
253
+ :'ldap_search_dn' => :'StringConfigItem',
254
+ :'ldap_timeout' => :'IntegerConfigItem',
255
+ :'ldap_uid' => :'StringConfigItem',
256
+ :'ldap_url' => :'StringConfigItem',
257
+ :'ldap_verify_cert' => :'BoolConfigItem',
258
+ :'ldap_group_membership_attribute' => :'StringConfigItem',
259
+ :'project_creation_restriction' => :'StringConfigItem',
260
+ :'read_only' => :'BoolConfigItem',
261
+ :'self_registration' => :'BoolConfigItem',
262
+ :'token_expiration' => :'IntegerConfigItem',
263
+ :'uaa_client_id' => :'StringConfigItem',
264
+ :'uaa_client_secret' => :'StringConfigItem',
265
+ :'uaa_endpoint' => :'StringConfigItem',
266
+ :'uaa_verify_cert' => :'BoolConfigItem',
267
+ :'http_authproxy_endpoint' => :'StringConfigItem',
268
+ :'http_authproxy_tokenreview_endpoint' => :'StringConfigItem',
269
+ :'http_authproxy_admin_groups' => :'StringConfigItem',
270
+ :'http_authproxy_admin_usernames' => :'StringConfigItem',
271
+ :'http_authproxy_verify_cert' => :'BoolConfigItem',
272
+ :'http_authproxy_skip_search' => :'BoolConfigItem',
273
+ :'http_authproxy_server_certificate' => :'StringConfigItem',
274
+ :'oidc_name' => :'StringConfigItem',
275
+ :'oidc_endpoint' => :'StringConfigItem',
276
+ :'oidc_client_id' => :'StringConfigItem',
277
+ :'oidc_groups_claim' => :'StringConfigItem',
278
+ :'oidc_admin_group' => :'StringConfigItem',
279
+ :'oidc_scope' => :'StringConfigItem',
280
+ :'oidc_user_claim' => :'StringConfigItem',
281
+ :'oidc_verify_cert' => :'BoolConfigItem',
282
+ :'oidc_auto_onboard' => :'BoolConfigItem',
283
+ :'oidc_extra_redirect_parms' => :'StringConfigItem',
284
+ :'robot_token_duration' => :'IntegerConfigItem',
285
+ :'robot_name_prefix' => :'StringConfigItem',
286
+ :'notification_enable' => :'BoolConfigItem',
287
+ :'quota_per_project_enable' => :'BoolConfigItem',
288
+ :'storage_per_project' => :'IntegerConfigItem',
289
+ :'scan_all_policy' => :'ConfigurationsResponseScanAllPolicy'
290
+ }
291
+ end
292
+
293
+ # Initializes the object
294
+ # @param [Hash] attributes Model attributes in the form of hash
295
+ def initialize(attributes = {})
296
+ return unless attributes.is_a?(Hash)
297
+
298
+ # convert string to symbol for hash key
299
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
300
+
301
+ if attributes.has_key?(:'auth_mode')
302
+ self.auth_mode = attributes[:'auth_mode']
303
+ end
304
+
305
+ if attributes.has_key?(:'email_from')
306
+ self.email_from = attributes[:'email_from']
307
+ end
308
+
309
+ if attributes.has_key?(:'email_host')
310
+ self.email_host = attributes[:'email_host']
311
+ end
312
+
313
+ if attributes.has_key?(:'email_identity')
314
+ self.email_identity = attributes[:'email_identity']
315
+ end
316
+
317
+ if attributes.has_key?(:'email_insecure')
318
+ self.email_insecure = attributes[:'email_insecure']
319
+ end
320
+
321
+ if attributes.has_key?(:'email_port')
322
+ self.email_port = attributes[:'email_port']
323
+ end
324
+
325
+ if attributes.has_key?(:'email_ssl')
326
+ self.email_ssl = attributes[:'email_ssl']
327
+ end
328
+
329
+ if attributes.has_key?(:'email_username')
330
+ self.email_username = attributes[:'email_username']
331
+ end
332
+
333
+ if attributes.has_key?(:'ldap_base_dn')
334
+ self.ldap_base_dn = attributes[:'ldap_base_dn']
335
+ end
336
+
337
+ if attributes.has_key?(:'ldap_filter')
338
+ self.ldap_filter = attributes[:'ldap_filter']
339
+ end
340
+
341
+ if attributes.has_key?(:'ldap_group_base_dn')
342
+ self.ldap_group_base_dn = attributes[:'ldap_group_base_dn']
343
+ end
344
+
345
+ if attributes.has_key?(:'ldap_group_admin_dn')
346
+ self.ldap_group_admin_dn = attributes[:'ldap_group_admin_dn']
347
+ end
348
+
349
+ if attributes.has_key?(:'ldap_group_attribute_name')
350
+ self.ldap_group_attribute_name = attributes[:'ldap_group_attribute_name']
351
+ end
352
+
353
+ if attributes.has_key?(:'ldap_group_search_filter')
354
+ self.ldap_group_search_filter = attributes[:'ldap_group_search_filter']
355
+ end
356
+
357
+ if attributes.has_key?(:'ldap_group_search_scope')
358
+ self.ldap_group_search_scope = attributes[:'ldap_group_search_scope']
359
+ end
360
+
361
+ if attributes.has_key?(:'ldap_scope')
362
+ self.ldap_scope = attributes[:'ldap_scope']
363
+ end
364
+
365
+ if attributes.has_key?(:'ldap_search_dn')
366
+ self.ldap_search_dn = attributes[:'ldap_search_dn']
367
+ end
368
+
369
+ if attributes.has_key?(:'ldap_timeout')
370
+ self.ldap_timeout = attributes[:'ldap_timeout']
371
+ end
372
+
373
+ if attributes.has_key?(:'ldap_uid')
374
+ self.ldap_uid = attributes[:'ldap_uid']
375
+ end
376
+
377
+ if attributes.has_key?(:'ldap_url')
378
+ self.ldap_url = attributes[:'ldap_url']
379
+ end
380
+
381
+ if attributes.has_key?(:'ldap_verify_cert')
382
+ self.ldap_verify_cert = attributes[:'ldap_verify_cert']
383
+ end
384
+
385
+ if attributes.has_key?(:'ldap_group_membership_attribute')
386
+ self.ldap_group_membership_attribute = attributes[:'ldap_group_membership_attribute']
387
+ end
388
+
389
+ if attributes.has_key?(:'project_creation_restriction')
390
+ self.project_creation_restriction = attributes[:'project_creation_restriction']
391
+ end
392
+
393
+ if attributes.has_key?(:'read_only')
394
+ self.read_only = attributes[:'read_only']
395
+ end
396
+
397
+ if attributes.has_key?(:'self_registration')
398
+ self.self_registration = attributes[:'self_registration']
399
+ end
400
+
401
+ if attributes.has_key?(:'token_expiration')
402
+ self.token_expiration = attributes[:'token_expiration']
403
+ end
404
+
405
+ if attributes.has_key?(:'uaa_client_id')
406
+ self.uaa_client_id = attributes[:'uaa_client_id']
407
+ end
408
+
409
+ if attributes.has_key?(:'uaa_client_secret')
410
+ self.uaa_client_secret = attributes[:'uaa_client_secret']
411
+ end
412
+
413
+ if attributes.has_key?(:'uaa_endpoint')
414
+ self.uaa_endpoint = attributes[:'uaa_endpoint']
415
+ end
416
+
417
+ if attributes.has_key?(:'uaa_verify_cert')
418
+ self.uaa_verify_cert = attributes[:'uaa_verify_cert']
419
+ end
420
+
421
+ if attributes.has_key?(:'http_authproxy_endpoint')
422
+ self.http_authproxy_endpoint = attributes[:'http_authproxy_endpoint']
423
+ end
424
+
425
+ if attributes.has_key?(:'http_authproxy_tokenreview_endpoint')
426
+ self.http_authproxy_tokenreview_endpoint = attributes[:'http_authproxy_tokenreview_endpoint']
427
+ end
428
+
429
+ if attributes.has_key?(:'http_authproxy_admin_groups')
430
+ self.http_authproxy_admin_groups = attributes[:'http_authproxy_admin_groups']
431
+ end
432
+
433
+ if attributes.has_key?(:'http_authproxy_admin_usernames')
434
+ self.http_authproxy_admin_usernames = attributes[:'http_authproxy_admin_usernames']
435
+ end
436
+
437
+ if attributes.has_key?(:'http_authproxy_verify_cert')
438
+ self.http_authproxy_verify_cert = attributes[:'http_authproxy_verify_cert']
439
+ end
440
+
441
+ if attributes.has_key?(:'http_authproxy_skip_search')
442
+ self.http_authproxy_skip_search = attributes[:'http_authproxy_skip_search']
443
+ end
444
+
445
+ if attributes.has_key?(:'http_authproxy_server_certificate')
446
+ self.http_authproxy_server_certificate = attributes[:'http_authproxy_server_certificate']
447
+ end
448
+
449
+ if attributes.has_key?(:'oidc_name')
450
+ self.oidc_name = attributes[:'oidc_name']
451
+ end
452
+
453
+ if attributes.has_key?(:'oidc_endpoint')
454
+ self.oidc_endpoint = attributes[:'oidc_endpoint']
455
+ end
456
+
457
+ if attributes.has_key?(:'oidc_client_id')
458
+ self.oidc_client_id = attributes[:'oidc_client_id']
459
+ end
460
+
461
+ if attributes.has_key?(:'oidc_groups_claim')
462
+ self.oidc_groups_claim = attributes[:'oidc_groups_claim']
463
+ end
464
+
465
+ if attributes.has_key?(:'oidc_admin_group')
466
+ self.oidc_admin_group = attributes[:'oidc_admin_group']
467
+ end
468
+
469
+ if attributes.has_key?(:'oidc_scope')
470
+ self.oidc_scope = attributes[:'oidc_scope']
471
+ end
472
+
473
+ if attributes.has_key?(:'oidc_user_claim')
474
+ self.oidc_user_claim = attributes[:'oidc_user_claim']
475
+ end
476
+
477
+ if attributes.has_key?(:'oidc_verify_cert')
478
+ self.oidc_verify_cert = attributes[:'oidc_verify_cert']
479
+ end
480
+
481
+ if attributes.has_key?(:'oidc_auto_onboard')
482
+ self.oidc_auto_onboard = attributes[:'oidc_auto_onboard']
483
+ end
484
+
485
+ if attributes.has_key?(:'oidc_extra_redirect_parms')
486
+ self.oidc_extra_redirect_parms = attributes[:'oidc_extra_redirect_parms']
487
+ end
488
+
489
+ if attributes.has_key?(:'robot_token_duration')
490
+ self.robot_token_duration = attributes[:'robot_token_duration']
491
+ end
492
+
493
+ if attributes.has_key?(:'robot_name_prefix')
494
+ self.robot_name_prefix = attributes[:'robot_name_prefix']
495
+ end
496
+
497
+ if attributes.has_key?(:'notification_enable')
498
+ self.notification_enable = attributes[:'notification_enable']
499
+ end
500
+
501
+ if attributes.has_key?(:'quota_per_project_enable')
502
+ self.quota_per_project_enable = attributes[:'quota_per_project_enable']
503
+ end
504
+
505
+ if attributes.has_key?(:'storage_per_project')
506
+ self.storage_per_project = attributes[:'storage_per_project']
507
+ end
508
+
509
+ if attributes.has_key?(:'scan_all_policy')
510
+ self.scan_all_policy = attributes[:'scan_all_policy']
511
+ end
512
+ end
513
+
514
+ # Show invalid properties with the reasons. Usually used together with valid?
515
+ # @return Array for valid properties with the reasons
516
+ def list_invalid_properties
517
+ invalid_properties = Array.new
518
+ invalid_properties
519
+ end
520
+
521
+ # Check to see if the all the properties in the model are valid
522
+ # @return true if the model is valid
523
+ def valid?
524
+ true
525
+ end
526
+
527
+ # Checks equality by comparing each attribute.
528
+ # @param [Object] Object to be compared
529
+ def ==(o)
530
+ return true if self.equal?(o)
531
+ self.class == o.class &&
532
+ auth_mode == o.auth_mode &&
533
+ email_from == o.email_from &&
534
+ email_host == o.email_host &&
535
+ email_identity == o.email_identity &&
536
+ email_insecure == o.email_insecure &&
537
+ email_port == o.email_port &&
538
+ email_ssl == o.email_ssl &&
539
+ email_username == o.email_username &&
540
+ ldap_base_dn == o.ldap_base_dn &&
541
+ ldap_filter == o.ldap_filter &&
542
+ ldap_group_base_dn == o.ldap_group_base_dn &&
543
+ ldap_group_admin_dn == o.ldap_group_admin_dn &&
544
+ ldap_group_attribute_name == o.ldap_group_attribute_name &&
545
+ ldap_group_search_filter == o.ldap_group_search_filter &&
546
+ ldap_group_search_scope == o.ldap_group_search_scope &&
547
+ ldap_scope == o.ldap_scope &&
548
+ ldap_search_dn == o.ldap_search_dn &&
549
+ ldap_timeout == o.ldap_timeout &&
550
+ ldap_uid == o.ldap_uid &&
551
+ ldap_url == o.ldap_url &&
552
+ ldap_verify_cert == o.ldap_verify_cert &&
553
+ ldap_group_membership_attribute == o.ldap_group_membership_attribute &&
554
+ project_creation_restriction == o.project_creation_restriction &&
555
+ read_only == o.read_only &&
556
+ self_registration == o.self_registration &&
557
+ token_expiration == o.token_expiration &&
558
+ uaa_client_id == o.uaa_client_id &&
559
+ uaa_client_secret == o.uaa_client_secret &&
560
+ uaa_endpoint == o.uaa_endpoint &&
561
+ uaa_verify_cert == o.uaa_verify_cert &&
562
+ http_authproxy_endpoint == o.http_authproxy_endpoint &&
563
+ http_authproxy_tokenreview_endpoint == o.http_authproxy_tokenreview_endpoint &&
564
+ http_authproxy_admin_groups == o.http_authproxy_admin_groups &&
565
+ http_authproxy_admin_usernames == o.http_authproxy_admin_usernames &&
566
+ http_authproxy_verify_cert == o.http_authproxy_verify_cert &&
567
+ http_authproxy_skip_search == o.http_authproxy_skip_search &&
568
+ http_authproxy_server_certificate == o.http_authproxy_server_certificate &&
569
+ oidc_name == o.oidc_name &&
570
+ oidc_endpoint == o.oidc_endpoint &&
571
+ oidc_client_id == o.oidc_client_id &&
572
+ oidc_groups_claim == o.oidc_groups_claim &&
573
+ oidc_admin_group == o.oidc_admin_group &&
574
+ oidc_scope == o.oidc_scope &&
575
+ oidc_user_claim == o.oidc_user_claim &&
576
+ oidc_verify_cert == o.oidc_verify_cert &&
577
+ oidc_auto_onboard == o.oidc_auto_onboard &&
578
+ oidc_extra_redirect_parms == o.oidc_extra_redirect_parms &&
579
+ robot_token_duration == o.robot_token_duration &&
580
+ robot_name_prefix == o.robot_name_prefix &&
581
+ notification_enable == o.notification_enable &&
582
+ quota_per_project_enable == o.quota_per_project_enable &&
583
+ storage_per_project == o.storage_per_project &&
584
+ scan_all_policy == o.scan_all_policy
585
+ end
586
+
587
+ # @see the `==` method
588
+ # @param [Object] Object to be compared
589
+ def eql?(o)
590
+ self == o
591
+ end
592
+
593
+ # Calculates hash code according to all attributes.
594
+ # @return [Fixnum] Hash code
595
+ def hash
596
+ [auth_mode, email_from, email_host, email_identity, email_insecure, email_port, email_ssl, email_username, ldap_base_dn, ldap_filter, ldap_group_base_dn, ldap_group_admin_dn, ldap_group_attribute_name, ldap_group_search_filter, ldap_group_search_scope, ldap_scope, ldap_search_dn, ldap_timeout, ldap_uid, ldap_url, ldap_verify_cert, ldap_group_membership_attribute, project_creation_restriction, read_only, self_registration, token_expiration, uaa_client_id, uaa_client_secret, uaa_endpoint, uaa_verify_cert, http_authproxy_endpoint, http_authproxy_tokenreview_endpoint, http_authproxy_admin_groups, http_authproxy_admin_usernames, http_authproxy_verify_cert, http_authproxy_skip_search, http_authproxy_server_certificate, oidc_name, oidc_endpoint, oidc_client_id, oidc_groups_claim, oidc_admin_group, oidc_scope, oidc_user_claim, oidc_verify_cert, oidc_auto_onboard, oidc_extra_redirect_parms, robot_token_duration, robot_name_prefix, notification_enable, quota_per_project_enable, storage_per_project, scan_all_policy].hash
597
+ end
598
+
599
+ # Builds the object from hash
600
+ # @param [Hash] attributes Model attributes in the form of hash
601
+ # @return [Object] Returns the model itself
602
+ def build_from_hash(attributes)
603
+ return nil unless attributes.is_a?(Hash)
604
+ self.class.swagger_types.each_pair do |key, type|
605
+ if type =~ /\AArray<(.*)>/i
606
+ # check to ensure the input is an array given that the attribute
607
+ # is documented as an array but the input is not
608
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
609
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
610
+ end
611
+ elsif !attributes[self.class.attribute_map[key]].nil?
612
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
613
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
614
+ end
615
+
616
+ self
617
+ end
618
+
619
+ # Deserializes the data based on type
620
+ # @param string type Data type
621
+ # @param string value Value to be deserialized
622
+ # @return [Object] Deserialized data
623
+ def _deserialize(type, value)
624
+ case type.to_sym
625
+ when :DateTime
626
+ DateTime.parse(value)
627
+ when :Date
628
+ Date.parse(value)
629
+ when :String
630
+ value.to_s
631
+ when :Integer
632
+ value.to_i
633
+ when :Float
634
+ value.to_f
635
+ when :BOOLEAN
636
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
637
+ true
638
+ else
639
+ false
640
+ end
641
+ when :Object
642
+ # generic object (usually a Hash), return directly
643
+ value
644
+ when /\AArray<(?<inner_type>.+)>\z/
645
+ inner_type = Regexp.last_match[:inner_type]
646
+ value.map { |v| _deserialize(inner_type, v) }
647
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
648
+ k_type = Regexp.last_match[:k_type]
649
+ v_type = Regexp.last_match[:v_type]
650
+ {}.tap do |hash|
651
+ value.each do |k, v|
652
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
653
+ end
654
+ end
655
+ else # model
656
+ temp_model = Harbor2Client.const_get(type).new
657
+ temp_model.build_from_hash(value)
658
+ end
659
+ end
660
+
661
+ # Returns the string representation of the object
662
+ # @return [String] String presentation of the object
663
+ def to_s
664
+ to_hash.to_s
665
+ end
666
+
667
+ # to_body is an alias to to_hash (backward compatibility)
668
+ # @return [Hash] Returns the object in the form of hash
669
+ def to_body
670
+ to_hash
671
+ end
672
+
673
+ # Returns the object in the form of hash
674
+ # @return [Hash] Returns the object in the form of hash
675
+ def to_hash
676
+ hash = {}
677
+ self.class.attribute_map.each_pair do |attr, param|
678
+ value = self.send(attr)
679
+ next if value.nil?
680
+ hash[param] = _to_hash(value)
681
+ end
682
+ hash
683
+ end
684
+
685
+ # Outputs non-array value in the form of hash
686
+ # For object, use to_hash. Otherwise, just return the value
687
+ # @param [Object] value Any valid value
688
+ # @return [Hash] Returns the value in the form of hash
689
+ def _to_hash(value)
690
+ if value.is_a?(Array)
691
+ value.compact.map { |v| _to_hash(v) }
692
+ elsif value.is_a?(Hash)
693
+ {}.tap do |hash|
694
+ value.each { |k, v| hash[k] = _to_hash(v) }
695
+ end
696
+ elsif value.respond_to? :to_hash
697
+ value.to_hash
698
+ else
699
+ value
700
+ end
701
+ end
702
+
703
+ end
704
+ end