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,312 @@
1
+ =begin
2
+ #Harbor API
3
+
4
+ #These APIs provide services for manipulating Harbor project.
5
+
6
+ OpenAPI spec version: 2.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.22
10
+
11
+ =end
12
+
13
+ require 'uri'
14
+
15
+ module Harbor2Client
16
+ class ImmutableApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Add an immutable tag rule to current project
23
+ # This endpoint add an immutable tag rule to the project
24
+ # @param project_name_or_id The name or id of the project
25
+ # @param immutable_rule
26
+ # @param [Hash] opts the optional parameters
27
+ # @option opts [String] :x_request_id An unique ID for the request
28
+ # @option opts [BOOLEAN] :x_is_resource_name The flag to indicate whether the parameter which supports both name and id in the path is the name of the resource. When the X-Is-Resource-Name is false and the parameter can be converted to an integer, the parameter will be as an id, otherwise, it will be as a name. (default to false)
29
+ # @return [nil]
30
+ def create_immu_rule(project_name_or_id, immutable_rule, opts = {})
31
+ create_immu_rule_with_http_info(project_name_or_id, immutable_rule, opts)
32
+ nil
33
+ end
34
+
35
+ # Add an immutable tag rule to current project
36
+ # This endpoint add an immutable tag rule to the project
37
+ # @param project_name_or_id The name or id of the project
38
+ # @param immutable_rule
39
+ # @param [Hash] opts the optional parameters
40
+ # @option opts [String] :x_request_id An unique ID for the request
41
+ # @option opts [BOOLEAN] :x_is_resource_name The flag to indicate whether the parameter which supports both name and id in the path is the name of the resource. When the X-Is-Resource-Name is false and the parameter can be converted to an integer, the parameter will be as an id, otherwise, it will be as a name.
42
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
43
+ def create_immu_rule_with_http_info(project_name_or_id, immutable_rule, opts = {})
44
+ if @api_client.config.debugging
45
+ @api_client.config.logger.debug 'Calling API: ImmutableApi.create_immu_rule ...'
46
+ end
47
+ # verify the required parameter 'project_name_or_id' is set
48
+ if @api_client.config.client_side_validation && project_name_or_id.nil?
49
+ fail ArgumentError, "Missing the required parameter 'project_name_or_id' when calling ImmutableApi.create_immu_rule"
50
+ end
51
+ # verify the required parameter 'immutable_rule' is set
52
+ if @api_client.config.client_side_validation && immutable_rule.nil?
53
+ fail ArgumentError, "Missing the required parameter 'immutable_rule' when calling ImmutableApi.create_immu_rule"
54
+ end
55
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
56
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling ImmutableApi.create_immu_rule, the character length must be great than or equal to 1.'
57
+ end
58
+
59
+ # resource path
60
+ local_var_path = '/projects/{project_name_or_id}/immutabletagrules'.sub('{' + 'project_name_or_id' + '}', project_name_or_id.to_s)
61
+
62
+ # query parameters
63
+ query_params = {}
64
+
65
+ # header parameters
66
+ header_params = {}
67
+ # HTTP header 'Accept' (if needed)
68
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
69
+ # HTTP header 'Content-Type'
70
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
71
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
72
+ header_params[:'X-Is-Resource-Name'] = opts[:'x_is_resource_name'] if !opts[:'x_is_resource_name'].nil?
73
+
74
+ # form parameters
75
+ form_params = {}
76
+
77
+ # http body (model)
78
+ post_body = @api_client.object_to_http_body(immutable_rule)
79
+ auth_names = ['basic']
80
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
81
+ :header_params => header_params,
82
+ :query_params => query_params,
83
+ :form_params => form_params,
84
+ :body => post_body,
85
+ :auth_names => auth_names)
86
+ if @api_client.config.debugging
87
+ @api_client.config.logger.debug "API called: ImmutableApi#create_immu_rule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
88
+ end
89
+ return data, status_code, headers
90
+ end
91
+ # Delete the immutable tag rule.
92
+ # @param project_name_or_id The name or id of the project
93
+ # @param immutable_rule_id The ID of the immutable rule
94
+ # @param [Hash] opts the optional parameters
95
+ # @option opts [String] :x_request_id An unique ID for the request
96
+ # @option opts [BOOLEAN] :x_is_resource_name The flag to indicate whether the parameter which supports both name and id in the path is the name of the resource. When the X-Is-Resource-Name is false and the parameter can be converted to an integer, the parameter will be as an id, otherwise, it will be as a name. (default to false)
97
+ # @return [nil]
98
+ def delete_immu_rule(project_name_or_id, immutable_rule_id, opts = {})
99
+ delete_immu_rule_with_http_info(project_name_or_id, immutable_rule_id, opts)
100
+ nil
101
+ end
102
+
103
+ # Delete the immutable tag rule.
104
+ # @param project_name_or_id The name or id of the project
105
+ # @param immutable_rule_id The ID of the immutable rule
106
+ # @param [Hash] opts the optional parameters
107
+ # @option opts [String] :x_request_id An unique ID for the request
108
+ # @option opts [BOOLEAN] :x_is_resource_name The flag to indicate whether the parameter which supports both name and id in the path is the name of the resource. When the X-Is-Resource-Name is false and the parameter can be converted to an integer, the parameter will be as an id, otherwise, it will be as a name.
109
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
110
+ def delete_immu_rule_with_http_info(project_name_or_id, immutable_rule_id, opts = {})
111
+ if @api_client.config.debugging
112
+ @api_client.config.logger.debug 'Calling API: ImmutableApi.delete_immu_rule ...'
113
+ end
114
+ # verify the required parameter 'project_name_or_id' is set
115
+ if @api_client.config.client_side_validation && project_name_or_id.nil?
116
+ fail ArgumentError, "Missing the required parameter 'project_name_or_id' when calling ImmutableApi.delete_immu_rule"
117
+ end
118
+ # verify the required parameter 'immutable_rule_id' is set
119
+ if @api_client.config.client_side_validation && immutable_rule_id.nil?
120
+ fail ArgumentError, "Missing the required parameter 'immutable_rule_id' when calling ImmutableApi.delete_immu_rule"
121
+ end
122
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
123
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling ImmutableApi.delete_immu_rule, the character length must be great than or equal to 1.'
124
+ end
125
+
126
+ # resource path
127
+ local_var_path = '/projects/{project_name_or_id}/immutabletagrules/{immutable_rule_id}'.sub('{' + 'project_name_or_id' + '}', project_name_or_id.to_s).sub('{' + 'immutable_rule_id' + '}', immutable_rule_id.to_s)
128
+
129
+ # query parameters
130
+ query_params = {}
131
+
132
+ # header parameters
133
+ header_params = {}
134
+ # HTTP header 'Accept' (if needed)
135
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
136
+ # HTTP header 'Content-Type'
137
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
138
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
139
+ header_params[:'X-Is-Resource-Name'] = opts[:'x_is_resource_name'] if !opts[:'x_is_resource_name'].nil?
140
+
141
+ # form parameters
142
+ form_params = {}
143
+
144
+ # http body (model)
145
+ post_body = nil
146
+ auth_names = ['basic']
147
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
148
+ :header_params => header_params,
149
+ :query_params => query_params,
150
+ :form_params => form_params,
151
+ :body => post_body,
152
+ :auth_names => auth_names)
153
+ if @api_client.config.debugging
154
+ @api_client.config.logger.debug "API called: ImmutableApi#delete_immu_rule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
155
+ end
156
+ return data, status_code, headers
157
+ end
158
+ # List all immutable tag rules of current project
159
+ # This endpoint returns the immutable tag rules of a project
160
+ # @param project_name_or_id The name or id of the project
161
+ # @param [Hash] opts the optional parameters
162
+ # @option opts [String] :x_request_id An unique ID for the request
163
+ # @option opts [BOOLEAN] :x_is_resource_name The flag to indicate whether the parameter which supports both name and id in the path is the name of the resource. When the X-Is-Resource-Name is false and the parameter can be converted to an integer, the parameter will be as an id, otherwise, it will be as a name. (default to false)
164
+ # @option opts [Integer] :page The page number (default to 1)
165
+ # @option opts [Integer] :page_size The size of per page (default to 10)
166
+ # @option opts [String] :q Query string to query resources. Supported query patterns are \&quot;exact match(k&#x3D;v)\&quot;, \&quot;fuzzy match(k&#x3D;~v)\&quot;, \&quot;range(k&#x3D;[min~max])\&quot;, \&quot;list with union releationship(k&#x3D;{v1 v2 v3})\&quot; and \&quot;list with intersetion relationship(k&#x3D;(v1 v2 v3))\&quot;. The value of range and list can be string(enclosed by \&quot; or &#39;), integer or time(in format \&quot;2020-04-09 02:36:00\&quot;). All of these query patterns should be put in the query string \&quot;q&#x3D;xxx\&quot; and splitted by \&quot;,\&quot;. e.g. q&#x3D;k1&#x3D;v1,k2&#x3D;~v2,k3&#x3D;[min~max]
167
+ # @option opts [String] :sort Sort the resource list in ascending or descending order. e.g. sort by field1 in ascending orderr and field2 in descending order with \&quot;sort&#x3D;field1,-field2\&quot;
168
+ # @return [Array<ImmutableRule>]
169
+ def list_immu_rules(project_name_or_id, opts = {})
170
+ data, _status_code, _headers = list_immu_rules_with_http_info(project_name_or_id, opts)
171
+ data
172
+ end
173
+
174
+ # List all immutable tag rules of current project
175
+ # This endpoint returns the immutable tag rules of a project
176
+ # @param project_name_or_id The name or id of the project
177
+ # @param [Hash] opts the optional parameters
178
+ # @option opts [String] :x_request_id An unique ID for the request
179
+ # @option opts [BOOLEAN] :x_is_resource_name The flag to indicate whether the parameter which supports both name and id in the path is the name of the resource. When the X-Is-Resource-Name is false and the parameter can be converted to an integer, the parameter will be as an id, otherwise, it will be as a name.
180
+ # @option opts [Integer] :page The page number
181
+ # @option opts [Integer] :page_size The size of per page
182
+ # @option opts [String] :q Query string to query resources. Supported query patterns are \&quot;exact match(k&#x3D;v)\&quot;, \&quot;fuzzy match(k&#x3D;~v)\&quot;, \&quot;range(k&#x3D;[min~max])\&quot;, \&quot;list with union releationship(k&#x3D;{v1 v2 v3})\&quot; and \&quot;list with intersetion relationship(k&#x3D;(v1 v2 v3))\&quot;. The value of range and list can be string(enclosed by \&quot; or &#39;), integer or time(in format \&quot;2020-04-09 02:36:00\&quot;). All of these query patterns should be put in the query string \&quot;q&#x3D;xxx\&quot; and splitted by \&quot;,\&quot;. e.g. q&#x3D;k1&#x3D;v1,k2&#x3D;~v2,k3&#x3D;[min~max]
183
+ # @option opts [String] :sort Sort the resource list in ascending or descending order. e.g. sort by field1 in ascending orderr and field2 in descending order with \&quot;sort&#x3D;field1,-field2\&quot;
184
+ # @return [Array<(Array<ImmutableRule>, Fixnum, Hash)>] Array<ImmutableRule> data, response status code and response headers
185
+ def list_immu_rules_with_http_info(project_name_or_id, opts = {})
186
+ if @api_client.config.debugging
187
+ @api_client.config.logger.debug 'Calling API: ImmutableApi.list_immu_rules ...'
188
+ end
189
+ # verify the required parameter 'project_name_or_id' is set
190
+ if @api_client.config.client_side_validation && project_name_or_id.nil?
191
+ fail ArgumentError, "Missing the required parameter 'project_name_or_id' when calling ImmutableApi.list_immu_rules"
192
+ end
193
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
194
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling ImmutableApi.list_immu_rules, the character length must be great than or equal to 1.'
195
+ end
196
+
197
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 100
198
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ImmutableApi.list_immu_rules, must be smaller than or equal to 100.'
199
+ end
200
+
201
+ # resource path
202
+ local_var_path = '/projects/{project_name_or_id}/immutabletagrules'.sub('{' + 'project_name_or_id' + '}', project_name_or_id.to_s)
203
+
204
+ # query parameters
205
+ query_params = {}
206
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
207
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
208
+ query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil?
209
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
210
+
211
+ # header parameters
212
+ header_params = {}
213
+ # HTTP header 'Accept' (if needed)
214
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
215
+ # HTTP header 'Content-Type'
216
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
217
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
218
+ header_params[:'X-Is-Resource-Name'] = opts[:'x_is_resource_name'] if !opts[:'x_is_resource_name'].nil?
219
+
220
+ # form parameters
221
+ form_params = {}
222
+
223
+ # http body (model)
224
+ post_body = nil
225
+ auth_names = ['basic']
226
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
227
+ :header_params => header_params,
228
+ :query_params => query_params,
229
+ :form_params => form_params,
230
+ :body => post_body,
231
+ :auth_names => auth_names,
232
+ :return_type => 'Array<ImmutableRule>')
233
+ if @api_client.config.debugging
234
+ @api_client.config.logger.debug "API called: ImmutableApi#list_immu_rules\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
235
+ end
236
+ return data, status_code, headers
237
+ end
238
+ # Update the immutable tag rule or enable or disable the rule
239
+ # @param project_name_or_id The name or id of the project
240
+ # @param immutable_rule_id The ID of the immutable rule
241
+ # @param immutable_rule
242
+ # @param [Hash] opts the optional parameters
243
+ # @option opts [String] :x_request_id An unique ID for the request
244
+ # @option opts [BOOLEAN] :x_is_resource_name The flag to indicate whether the parameter which supports both name and id in the path is the name of the resource. When the X-Is-Resource-Name is false and the parameter can be converted to an integer, the parameter will be as an id, otherwise, it will be as a name. (default to false)
245
+ # @return [nil]
246
+ def update_immu_rule(project_name_or_id, immutable_rule_id, immutable_rule, opts = {})
247
+ update_immu_rule_with_http_info(project_name_or_id, immutable_rule_id, immutable_rule, opts)
248
+ nil
249
+ end
250
+
251
+ # Update the immutable tag rule or enable or disable the rule
252
+ # @param project_name_or_id The name or id of the project
253
+ # @param immutable_rule_id The ID of the immutable rule
254
+ # @param immutable_rule
255
+ # @param [Hash] opts the optional parameters
256
+ # @option opts [String] :x_request_id An unique ID for the request
257
+ # @option opts [BOOLEAN] :x_is_resource_name The flag to indicate whether the parameter which supports both name and id in the path is the name of the resource. When the X-Is-Resource-Name is false and the parameter can be converted to an integer, the parameter will be as an id, otherwise, it will be as a name.
258
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
259
+ def update_immu_rule_with_http_info(project_name_or_id, immutable_rule_id, immutable_rule, opts = {})
260
+ if @api_client.config.debugging
261
+ @api_client.config.logger.debug 'Calling API: ImmutableApi.update_immu_rule ...'
262
+ end
263
+ # verify the required parameter 'project_name_or_id' is set
264
+ if @api_client.config.client_side_validation && project_name_or_id.nil?
265
+ fail ArgumentError, "Missing the required parameter 'project_name_or_id' when calling ImmutableApi.update_immu_rule"
266
+ end
267
+ # verify the required parameter 'immutable_rule_id' is set
268
+ if @api_client.config.client_side_validation && immutable_rule_id.nil?
269
+ fail ArgumentError, "Missing the required parameter 'immutable_rule_id' when calling ImmutableApi.update_immu_rule"
270
+ end
271
+ # verify the required parameter 'immutable_rule' is set
272
+ if @api_client.config.client_side_validation && immutable_rule.nil?
273
+ fail ArgumentError, "Missing the required parameter 'immutable_rule' when calling ImmutableApi.update_immu_rule"
274
+ end
275
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
276
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling ImmutableApi.update_immu_rule, the character length must be great than or equal to 1.'
277
+ end
278
+
279
+ # resource path
280
+ local_var_path = '/projects/{project_name_or_id}/immutabletagrules/{immutable_rule_id}'.sub('{' + 'project_name_or_id' + '}', project_name_or_id.to_s).sub('{' + 'immutable_rule_id' + '}', immutable_rule_id.to_s)
281
+
282
+ # query parameters
283
+ query_params = {}
284
+
285
+ # header parameters
286
+ header_params = {}
287
+ # HTTP header 'Accept' (if needed)
288
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
289
+ # HTTP header 'Content-Type'
290
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
291
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
292
+ header_params[:'X-Is-Resource-Name'] = opts[:'x_is_resource_name'] if !opts[:'x_is_resource_name'].nil?
293
+
294
+ # form parameters
295
+ form_params = {}
296
+
297
+ # http body (model)
298
+ post_body = @api_client.object_to_http_body(immutable_rule)
299
+ auth_names = ['basic']
300
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
301
+ :header_params => header_params,
302
+ :query_params => query_params,
303
+ :form_params => form_params,
304
+ :body => post_body,
305
+ :auth_names => auth_names)
306
+ if @api_client.config.debugging
307
+ @api_client.config.logger.debug "API called: ImmutableApi#update_immu_rule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
308
+ end
309
+ return data, status_code, headers
310
+ end
311
+ end
312
+ end
@@ -0,0 +1,350 @@
1
+ =begin
2
+ #Harbor API
3
+
4
+ #These APIs provide services for manipulating Harbor project.
5
+
6
+ OpenAPI spec version: 2.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.22
10
+
11
+ =end
12
+
13
+ require 'uri'
14
+
15
+ module Harbor2Client
16
+ class LabelApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Post creates a label
23
+ # This endpoint let user creates a label.
24
+ # @param label The json object of label.
25
+ # @param [Hash] opts the optional parameters
26
+ # @option opts [String] :x_request_id An unique ID for the request
27
+ # @return [nil]
28
+ def create_label(label, opts = {})
29
+ create_label_with_http_info(label, opts)
30
+ nil
31
+ end
32
+
33
+ # Post creates a label
34
+ # This endpoint let user creates a label.
35
+ # @param label The json object of label.
36
+ # @param [Hash] opts the optional parameters
37
+ # @option opts [String] :x_request_id An unique ID for the request
38
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
39
+ def create_label_with_http_info(label, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: LabelApi.create_label ...'
42
+ end
43
+ # verify the required parameter 'label' is set
44
+ if @api_client.config.client_side_validation && label.nil?
45
+ fail ArgumentError, "Missing the required parameter 'label' when calling LabelApi.create_label"
46
+ end
47
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
48
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling LabelApi.create_label, the character length must be great than or equal to 1.'
49
+ end
50
+
51
+ # resource path
52
+ local_var_path = '/labels'
53
+
54
+ # query parameters
55
+ query_params = {}
56
+
57
+ # header parameters
58
+ header_params = {}
59
+ # HTTP header 'Accept' (if needed)
60
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
61
+ # HTTP header 'Content-Type'
62
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
63
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
64
+
65
+ # form parameters
66
+ form_params = {}
67
+
68
+ # http body (model)
69
+ post_body = @api_client.object_to_http_body(label)
70
+ auth_names = ['basic']
71
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
72
+ :header_params => header_params,
73
+ :query_params => query_params,
74
+ :form_params => form_params,
75
+ :body => post_body,
76
+ :auth_names => auth_names)
77
+ if @api_client.config.debugging
78
+ @api_client.config.logger.debug "API called: LabelApi#create_label\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
79
+ end
80
+ return data, status_code, headers
81
+ end
82
+ # Delete the label specified by ID.
83
+ # Delete the label specified by ID.
84
+ # @param label_id Label ID
85
+ # @param [Hash] opts the optional parameters
86
+ # @option opts [String] :x_request_id An unique ID for the request
87
+ # @return [nil]
88
+ def delete_label(label_id, opts = {})
89
+ delete_label_with_http_info(label_id, opts)
90
+ nil
91
+ end
92
+
93
+ # Delete the label specified by ID.
94
+ # Delete the label specified by ID.
95
+ # @param label_id Label ID
96
+ # @param [Hash] opts the optional parameters
97
+ # @option opts [String] :x_request_id An unique ID for the request
98
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
99
+ def delete_label_with_http_info(label_id, opts = {})
100
+ if @api_client.config.debugging
101
+ @api_client.config.logger.debug 'Calling API: LabelApi.delete_label ...'
102
+ end
103
+ # verify the required parameter 'label_id' is set
104
+ if @api_client.config.client_side_validation && label_id.nil?
105
+ fail ArgumentError, "Missing the required parameter 'label_id' when calling LabelApi.delete_label"
106
+ end
107
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
108
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling LabelApi.delete_label, the character length must be great than or equal to 1.'
109
+ end
110
+
111
+ # resource path
112
+ local_var_path = '/labels/{label_id}'.sub('{' + 'label_id' + '}', label_id.to_s)
113
+
114
+ # query parameters
115
+ query_params = {}
116
+
117
+ # header parameters
118
+ header_params = {}
119
+ # HTTP header 'Accept' (if needed)
120
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
121
+ # HTTP header 'Content-Type'
122
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
123
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
124
+
125
+ # form parameters
126
+ form_params = {}
127
+
128
+ # http body (model)
129
+ post_body = nil
130
+ auth_names = ['basic']
131
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
132
+ :header_params => header_params,
133
+ :query_params => query_params,
134
+ :form_params => form_params,
135
+ :body => post_body,
136
+ :auth_names => auth_names)
137
+ if @api_client.config.debugging
138
+ @api_client.config.logger.debug "API called: LabelApi#delete_label\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
139
+ end
140
+ return data, status_code, headers
141
+ end
142
+ # Get the label specified by ID.
143
+ # This endpoint let user get the label by specific ID.
144
+ # @param label_id Label ID
145
+ # @param [Hash] opts the optional parameters
146
+ # @option opts [String] :x_request_id An unique ID for the request
147
+ # @return [Label]
148
+ def get_label_by_id(label_id, opts = {})
149
+ data, _status_code, _headers = get_label_by_id_with_http_info(label_id, opts)
150
+ data
151
+ end
152
+
153
+ # Get the label specified by ID.
154
+ # This endpoint let user get the label by specific ID.
155
+ # @param label_id Label ID
156
+ # @param [Hash] opts the optional parameters
157
+ # @option opts [String] :x_request_id An unique ID for the request
158
+ # @return [Array<(Label, Fixnum, Hash)>] Label data, response status code and response headers
159
+ def get_label_by_id_with_http_info(label_id, opts = {})
160
+ if @api_client.config.debugging
161
+ @api_client.config.logger.debug 'Calling API: LabelApi.get_label_by_id ...'
162
+ end
163
+ # verify the required parameter 'label_id' is set
164
+ if @api_client.config.client_side_validation && label_id.nil?
165
+ fail ArgumentError, "Missing the required parameter 'label_id' when calling LabelApi.get_label_by_id"
166
+ end
167
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
168
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling LabelApi.get_label_by_id, the character length must be great than or equal to 1.'
169
+ end
170
+
171
+ # resource path
172
+ local_var_path = '/labels/{label_id}'.sub('{' + 'label_id' + '}', label_id.to_s)
173
+
174
+ # query parameters
175
+ query_params = {}
176
+
177
+ # header parameters
178
+ header_params = {}
179
+ # HTTP header 'Accept' (if needed)
180
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
181
+ # HTTP header 'Content-Type'
182
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
183
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
184
+
185
+ # form parameters
186
+ form_params = {}
187
+
188
+ # http body (model)
189
+ post_body = nil
190
+ auth_names = ['basic']
191
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
192
+ :header_params => header_params,
193
+ :query_params => query_params,
194
+ :form_params => form_params,
195
+ :body => post_body,
196
+ :auth_names => auth_names,
197
+ :return_type => 'Label')
198
+ if @api_client.config.debugging
199
+ @api_client.config.logger.debug "API called: LabelApi#get_label_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
200
+ end
201
+ return data, status_code, headers
202
+ end
203
+ # List labels according to the query strings.
204
+ # This endpoint let user list labels by name, scope and project_id
205
+ # @param [Hash] opts the optional parameters
206
+ # @option opts [String] :x_request_id An unique ID for the request
207
+ # @option opts [String] :q Query string to query resources. Supported query patterns are \&quot;exact match(k&#x3D;v)\&quot;, \&quot;fuzzy match(k&#x3D;~v)\&quot;, \&quot;range(k&#x3D;[min~max])\&quot;, \&quot;list with union releationship(k&#x3D;{v1 v2 v3})\&quot; and \&quot;list with intersetion relationship(k&#x3D;(v1 v2 v3))\&quot;. The value of range and list can be string(enclosed by \&quot; or &#39;), integer or time(in format \&quot;2020-04-09 02:36:00\&quot;). All of these query patterns should be put in the query string \&quot;q&#x3D;xxx\&quot; and splitted by \&quot;,\&quot;. e.g. q&#x3D;k1&#x3D;v1,k2&#x3D;~v2,k3&#x3D;[min~max]
208
+ # @option opts [String] :sort Sort the resource list in ascending or descending order. e.g. sort by field1 in ascending orderr and field2 in descending order with \&quot;sort&#x3D;field1,-field2\&quot;
209
+ # @option opts [Integer] :page The page number (default to 1)
210
+ # @option opts [Integer] :page_size The size of per page (default to 10)
211
+ # @option opts [String] :name The label name.
212
+ # @option opts [String] :scope The label scope. Valid values are g and p. g for global labels and p for project labels.
213
+ # @option opts [Integer] :project_id Relevant project ID, required when scope is p.
214
+ # @return [Array<Label>]
215
+ def list_labels(opts = {})
216
+ data, _status_code, _headers = list_labels_with_http_info(opts)
217
+ data
218
+ end
219
+
220
+ # List labels according to the query strings.
221
+ # This endpoint let user list labels by name, scope and project_id
222
+ # @param [Hash] opts the optional parameters
223
+ # @option opts [String] :x_request_id An unique ID for the request
224
+ # @option opts [String] :q Query string to query resources. Supported query patterns are \&quot;exact match(k&#x3D;v)\&quot;, \&quot;fuzzy match(k&#x3D;~v)\&quot;, \&quot;range(k&#x3D;[min~max])\&quot;, \&quot;list with union releationship(k&#x3D;{v1 v2 v3})\&quot; and \&quot;list with intersetion relationship(k&#x3D;(v1 v2 v3))\&quot;. The value of range and list can be string(enclosed by \&quot; or &#39;), integer or time(in format \&quot;2020-04-09 02:36:00\&quot;). All of these query patterns should be put in the query string \&quot;q&#x3D;xxx\&quot; and splitted by \&quot;,\&quot;. e.g. q&#x3D;k1&#x3D;v1,k2&#x3D;~v2,k3&#x3D;[min~max]
225
+ # @option opts [String] :sort Sort the resource list in ascending or descending order. e.g. sort by field1 in ascending orderr and field2 in descending order with \&quot;sort&#x3D;field1,-field2\&quot;
226
+ # @option opts [Integer] :page The page number
227
+ # @option opts [Integer] :page_size The size of per page
228
+ # @option opts [String] :name The label name.
229
+ # @option opts [String] :scope The label scope. Valid values are g and p. g for global labels and p for project labels.
230
+ # @option opts [Integer] :project_id Relevant project ID, required when scope is p.
231
+ # @return [Array<(Array<Label>, Fixnum, Hash)>] Array<Label> data, response status code and response headers
232
+ def list_labels_with_http_info(opts = {})
233
+ if @api_client.config.debugging
234
+ @api_client.config.logger.debug 'Calling API: LabelApi.list_labels ...'
235
+ end
236
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
237
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling LabelApi.list_labels, the character length must be great than or equal to 1.'
238
+ end
239
+
240
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 100
241
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling LabelApi.list_labels, must be smaller than or equal to 100.'
242
+ end
243
+
244
+ # resource path
245
+ local_var_path = '/labels'
246
+
247
+ # query parameters
248
+ query_params = {}
249
+ query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil?
250
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
251
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
252
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
253
+ query_params[:'name'] = opts[:'name'] if !opts[:'name'].nil?
254
+ query_params[:'scope'] = opts[:'scope'] if !opts[:'scope'].nil?
255
+ query_params[:'project_id'] = opts[:'project_id'] if !opts[:'project_id'].nil?
256
+
257
+ # header parameters
258
+ header_params = {}
259
+ # HTTP header 'Accept' (if needed)
260
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
261
+ # HTTP header 'Content-Type'
262
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
263
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
264
+
265
+ # form parameters
266
+ form_params = {}
267
+
268
+ # http body (model)
269
+ post_body = nil
270
+ auth_names = ['basic']
271
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
272
+ :header_params => header_params,
273
+ :query_params => query_params,
274
+ :form_params => form_params,
275
+ :body => post_body,
276
+ :auth_names => auth_names,
277
+ :return_type => 'Array<Label>')
278
+ if @api_client.config.debugging
279
+ @api_client.config.logger.debug "API called: LabelApi#list_labels\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
280
+ end
281
+ return data, status_code, headers
282
+ end
283
+ # Update the label properties.
284
+ # This endpoint let user update label properties.
285
+ # @param label_id Label ID
286
+ # @param label The updated label json object.
287
+ # @param [Hash] opts the optional parameters
288
+ # @option opts [String] :x_request_id An unique ID for the request
289
+ # @return [nil]
290
+ def update_label(label_id, label, opts = {})
291
+ update_label_with_http_info(label_id, label, opts)
292
+ nil
293
+ end
294
+
295
+ # Update the label properties.
296
+ # This endpoint let user update label properties.
297
+ # @param label_id Label ID
298
+ # @param label The updated label json object.
299
+ # @param [Hash] opts the optional parameters
300
+ # @option opts [String] :x_request_id An unique ID for the request
301
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
302
+ def update_label_with_http_info(label_id, label, opts = {})
303
+ if @api_client.config.debugging
304
+ @api_client.config.logger.debug 'Calling API: LabelApi.update_label ...'
305
+ end
306
+ # verify the required parameter 'label_id' is set
307
+ if @api_client.config.client_side_validation && label_id.nil?
308
+ fail ArgumentError, "Missing the required parameter 'label_id' when calling LabelApi.update_label"
309
+ end
310
+ # verify the required parameter 'label' is set
311
+ if @api_client.config.client_side_validation && label.nil?
312
+ fail ArgumentError, "Missing the required parameter 'label' when calling LabelApi.update_label"
313
+ end
314
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
315
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling LabelApi.update_label, the character length must be great than or equal to 1.'
316
+ end
317
+
318
+ # resource path
319
+ local_var_path = '/labels/{label_id}'.sub('{' + 'label_id' + '}', label_id.to_s)
320
+
321
+ # query parameters
322
+ query_params = {}
323
+
324
+ # header parameters
325
+ header_params = {}
326
+ # HTTP header 'Accept' (if needed)
327
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
328
+ # HTTP header 'Content-Type'
329
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
330
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
331
+
332
+ # form parameters
333
+ form_params = {}
334
+
335
+ # http body (model)
336
+ post_body = @api_client.object_to_http_body(label)
337
+ auth_names = ['basic']
338
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
339
+ :header_params => header_params,
340
+ :query_params => query_params,
341
+ :form_params => form_params,
342
+ :body => post_body,
343
+ :auth_names => auth_names)
344
+ if @api_client.config.debugging
345
+ @api_client.config.logger.debug "API called: LabelApi#update_label\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
346
+ end
347
+ return data, status_code, headers
348
+ end
349
+ end
350
+ end