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