harbor2_client 0.1.0 → 2.3.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (484) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +241 -13
  3. data/build_scripts/generate.sh +8 -0
  4. data/build_scripts/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 -7
@@ -0,0 +1,259 @@
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 LdapApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Import selected available ldap users.
23
+ # This endpoint adds the selected available ldap users to harbor based on related configuration parameters from the system. System will try to guess the user email address and realname, add to harbor user information. If have errors when import user, will return the list of importing failed uid and the failed reason.
24
+ # @param uid_list The uid listed for importing. This list will check users validity of ldap service based on configuration from the system.
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 import_ldap_user(uid_list, opts = {})
29
+ import_ldap_user_with_http_info(uid_list, opts)
30
+ nil
31
+ end
32
+
33
+ # Import selected available ldap users.
34
+ # This endpoint adds the selected available ldap users to harbor based on related configuration parameters from the system. System will try to guess the user email address and realname, add to harbor user information. If have errors when import user, will return the list of importing failed uid and the failed reason.
35
+ # @param uid_list The uid listed for importing. This list will check users validity of ldap service based on configuration from the system.
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 import_ldap_user_with_http_info(uid_list, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: LdapApi.import_ldap_user ...'
42
+ end
43
+ # verify the required parameter 'uid_list' is set
44
+ if @api_client.config.client_side_validation && uid_list.nil?
45
+ fail ArgumentError, "Missing the required parameter 'uid_list' when calling LdapApi.import_ldap_user"
46
+ end
47
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
48
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling LdapApi.import_ldap_user, the character length must be great than or equal to 1.'
49
+ end
50
+
51
+ # resource path
52
+ local_var_path = '/ldap/users/import'
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(uid_list)
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: LdapApi#import_ldap_user\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
79
+ end
80
+ return data, status_code, headers
81
+ end
82
+ # Ping available ldap service.
83
+ # This endpoint ping the available ldap service for test related configuration parameters.
84
+ # @param [Hash] opts the optional parameters
85
+ # @option opts [String] :x_request_id An unique ID for the request
86
+ # @option opts [LdapConf] :ldapconf ldap configuration. support input ldap service configuration. If it is a empty request, will load current configuration from the system.
87
+ # @return [LdapPingResult]
88
+ def ping_ldap(opts = {})
89
+ data, _status_code, _headers = ping_ldap_with_http_info(opts)
90
+ data
91
+ end
92
+
93
+ # Ping available ldap service.
94
+ # This endpoint ping the available ldap service for test related configuration parameters.
95
+ # @param [Hash] opts the optional parameters
96
+ # @option opts [String] :x_request_id An unique ID for the request
97
+ # @option opts [LdapConf] :ldapconf ldap configuration. support input ldap service configuration. If it is a empty request, will load current configuration from the system.
98
+ # @return [Array<(LdapPingResult, Fixnum, Hash)>] LdapPingResult data, response status code and response headers
99
+ def ping_ldap_with_http_info(opts = {})
100
+ if @api_client.config.debugging
101
+ @api_client.config.logger.debug 'Calling API: LdapApi.ping_ldap ...'
102
+ end
103
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
104
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling LdapApi.ping_ldap, the character length must be great than or equal to 1.'
105
+ end
106
+
107
+ # resource path
108
+ local_var_path = '/ldap/ping'
109
+
110
+ # query parameters
111
+ query_params = {}
112
+
113
+ # header parameters
114
+ header_params = {}
115
+ # HTTP header 'Accept' (if needed)
116
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
117
+ # HTTP header 'Content-Type'
118
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
119
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
120
+
121
+ # form parameters
122
+ form_params = {}
123
+
124
+ # http body (model)
125
+ post_body = @api_client.object_to_http_body(opts[:'ldapconf'])
126
+ auth_names = ['basic']
127
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
128
+ :header_params => header_params,
129
+ :query_params => query_params,
130
+ :form_params => form_params,
131
+ :body => post_body,
132
+ :auth_names => auth_names,
133
+ :return_type => 'LdapPingResult')
134
+ if @api_client.config.debugging
135
+ @api_client.config.logger.debug "API called: LdapApi#ping_ldap\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
136
+ end
137
+ return data, status_code, headers
138
+ end
139
+ # Search available ldap groups.
140
+ # This endpoint searches the available ldap groups based on related configuration parameters. support to search by groupname or groupdn.
141
+ # @param [Hash] opts the optional parameters
142
+ # @option opts [String] :x_request_id An unique ID for the request
143
+ # @option opts [String] :groupname Ldap group name
144
+ # @option opts [String] :groupdn The LDAP group DN
145
+ # @return [Array<UserGroup>]
146
+ def search_ldap_group(opts = {})
147
+ data, _status_code, _headers = search_ldap_group_with_http_info(opts)
148
+ data
149
+ end
150
+
151
+ # Search available ldap groups.
152
+ # This endpoint searches the available ldap groups based on related configuration parameters. support to search by groupname or groupdn.
153
+ # @param [Hash] opts the optional parameters
154
+ # @option opts [String] :x_request_id An unique ID for the request
155
+ # @option opts [String] :groupname Ldap group name
156
+ # @option opts [String] :groupdn The LDAP group DN
157
+ # @return [Array<(Array<UserGroup>, Fixnum, Hash)>] Array<UserGroup> data, response status code and response headers
158
+ def search_ldap_group_with_http_info(opts = {})
159
+ if @api_client.config.debugging
160
+ @api_client.config.logger.debug 'Calling API: LdapApi.search_ldap_group ...'
161
+ end
162
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
163
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling LdapApi.search_ldap_group, the character length must be great than or equal to 1.'
164
+ end
165
+
166
+ # resource path
167
+ local_var_path = '/ldap/groups/search'
168
+
169
+ # query parameters
170
+ query_params = {}
171
+ query_params[:'groupname'] = opts[:'groupname'] if !opts[:'groupname'].nil?
172
+ query_params[:'groupdn'] = opts[:'groupdn'] if !opts[:'groupdn'].nil?
173
+
174
+ # header parameters
175
+ header_params = {}
176
+ # HTTP header 'Accept' (if needed)
177
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
178
+ # HTTP header 'Content-Type'
179
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
180
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
181
+
182
+ # form parameters
183
+ form_params = {}
184
+
185
+ # http body (model)
186
+ post_body = nil
187
+ auth_names = ['basic']
188
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
189
+ :header_params => header_params,
190
+ :query_params => query_params,
191
+ :form_params => form_params,
192
+ :body => post_body,
193
+ :auth_names => auth_names,
194
+ :return_type => 'Array<UserGroup>')
195
+ if @api_client.config.debugging
196
+ @api_client.config.logger.debug "API called: LdapApi#search_ldap_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
197
+ end
198
+ return data, status_code, headers
199
+ end
200
+ # Search available ldap users.
201
+ # This endpoint searches the available ldap users based on related configuration parameters. Support searched by input ladp configuration, load configuration from the system and specific filter.
202
+ # @param [Hash] opts the optional parameters
203
+ # @option opts [String] :x_request_id An unique ID for the request
204
+ # @option opts [String] :username Registered user ID
205
+ # @return [Array<LdapUser>]
206
+ def search_ldap_user(opts = {})
207
+ data, _status_code, _headers = search_ldap_user_with_http_info(opts)
208
+ data
209
+ end
210
+
211
+ # Search available ldap users.
212
+ # This endpoint searches the available ldap users based on related configuration parameters. Support searched by input ladp configuration, load configuration from the system and specific filter.
213
+ # @param [Hash] opts the optional parameters
214
+ # @option opts [String] :x_request_id An unique ID for the request
215
+ # @option opts [String] :username Registered user ID
216
+ # @return [Array<(Array<LdapUser>, Fixnum, Hash)>] Array<LdapUser> data, response status code and response headers
217
+ def search_ldap_user_with_http_info(opts = {})
218
+ if @api_client.config.debugging
219
+ @api_client.config.logger.debug 'Calling API: LdapApi.search_ldap_user ...'
220
+ end
221
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
222
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling LdapApi.search_ldap_user, the character length must be great than or equal to 1.'
223
+ end
224
+
225
+ # resource path
226
+ local_var_path = '/ldap/users/search'
227
+
228
+ # query parameters
229
+ query_params = {}
230
+ query_params[:'username'] = opts[:'username'] if !opts[:'username'].nil?
231
+
232
+ # header parameters
233
+ header_params = {}
234
+ # HTTP header 'Accept' (if needed)
235
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
236
+ # HTTP header 'Content-Type'
237
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
238
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
239
+
240
+ # form parameters
241
+ form_params = {}
242
+
243
+ # http body (model)
244
+ post_body = nil
245
+ auth_names = ['basic']
246
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
247
+ :header_params => header_params,
248
+ :query_params => query_params,
249
+ :form_params => form_params,
250
+ :body => post_body,
251
+ :auth_names => auth_names,
252
+ :return_type => 'Array<LdapUser>')
253
+ if @api_client.config.debugging
254
+ @api_client.config.logger.debug "API called: LdapApi#search_ldap_user\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
255
+ end
256
+ return data, status_code, headers
257
+ end
258
+ end
259
+ end
@@ -0,0 +1,373 @@
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 MemberApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Create project member
23
+ # Create project member relationship, the member can be one of the user_member and group_member, The user_member need to specify user_id or username. If the user already exist in harbor DB, specify the user_id, If does not exist in harbor DB, it will SearchAndOnBoard the user. The group_member need to specify id or ldap_group_dn. If the group already exist in harbor DB. specify the user group's id, If does not exist, it will SearchAndOnBoard the group.
24
+ # @param project_name_or_id The name or id of the project
25
+ # @param [Hash] opts the optional parameters
26
+ # @option opts [String] :x_request_id An unique ID for the request
27
+ # @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)
28
+ # @option opts [ProjectMember] :project_member
29
+ # @return [nil]
30
+ def create_project_member(project_name_or_id, opts = {})
31
+ create_project_member_with_http_info(project_name_or_id, opts)
32
+ nil
33
+ end
34
+
35
+ # Create project member
36
+ # Create project member relationship, the member can be one of the user_member and group_member, The user_member need to specify user_id or username. If the user already exist in harbor DB, specify the user_id, If does not exist in harbor DB, it will SearchAndOnBoard the user. The group_member need to specify id or ldap_group_dn. If the group already exist in harbor DB. specify the user group&#39;s id, If does not exist, it will SearchAndOnBoard the group.
37
+ # @param project_name_or_id The name or id of the project
38
+ # @param [Hash] opts the optional parameters
39
+ # @option opts [String] :x_request_id An unique ID for the request
40
+ # @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.
41
+ # @option opts [ProjectMember] :project_member
42
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
43
+ def create_project_member_with_http_info(project_name_or_id, opts = {})
44
+ if @api_client.config.debugging
45
+ @api_client.config.logger.debug 'Calling API: MemberApi.create_project_member ...'
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 MemberApi.create_project_member"
50
+ end
51
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
52
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling MemberApi.create_project_member, the character length must be great than or equal to 1.'
53
+ end
54
+
55
+ # resource path
56
+ local_var_path = '/projects/{project_name_or_id}/members'.sub('{' + 'project_name_or_id' + '}', project_name_or_id.to_s)
57
+
58
+ # query parameters
59
+ query_params = {}
60
+
61
+ # header parameters
62
+ header_params = {}
63
+ # HTTP header 'Accept' (if needed)
64
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
65
+ # HTTP header 'Content-Type'
66
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
67
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
68
+ header_params[:'X-Is-Resource-Name'] = opts[:'x_is_resource_name'] if !opts[:'x_is_resource_name'].nil?
69
+
70
+ # form parameters
71
+ form_params = {}
72
+
73
+ # http body (model)
74
+ post_body = @api_client.object_to_http_body(opts[:'project_member'])
75
+ auth_names = ['basic']
76
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
77
+ :header_params => header_params,
78
+ :query_params => query_params,
79
+ :form_params => form_params,
80
+ :body => post_body,
81
+ :auth_names => auth_names)
82
+ if @api_client.config.debugging
83
+ @api_client.config.logger.debug "API called: MemberApi#create_project_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
84
+ end
85
+ return data, status_code, headers
86
+ end
87
+ # Delete project member
88
+ # @param project_name_or_id The name or id of the project
89
+ # @param mid Member ID.
90
+ # @param [Hash] opts the optional parameters
91
+ # @option opts [String] :x_request_id An unique ID for the request
92
+ # @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)
93
+ # @return [nil]
94
+ def delete_project_member(project_name_or_id, mid, opts = {})
95
+ delete_project_member_with_http_info(project_name_or_id, mid, opts)
96
+ nil
97
+ end
98
+
99
+ # Delete project member
100
+ # @param project_name_or_id The name or id of the project
101
+ # @param mid Member ID.
102
+ # @param [Hash] opts the optional parameters
103
+ # @option opts [String] :x_request_id An unique ID for the request
104
+ # @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.
105
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
106
+ def delete_project_member_with_http_info(project_name_or_id, mid, opts = {})
107
+ if @api_client.config.debugging
108
+ @api_client.config.logger.debug 'Calling API: MemberApi.delete_project_member ...'
109
+ end
110
+ # verify the required parameter 'project_name_or_id' is set
111
+ if @api_client.config.client_side_validation && project_name_or_id.nil?
112
+ fail ArgumentError, "Missing the required parameter 'project_name_or_id' when calling MemberApi.delete_project_member"
113
+ end
114
+ # verify the required parameter 'mid' is set
115
+ if @api_client.config.client_side_validation && mid.nil?
116
+ fail ArgumentError, "Missing the required parameter 'mid' when calling MemberApi.delete_project_member"
117
+ end
118
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
119
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling MemberApi.delete_project_member, the character length must be great than or equal to 1.'
120
+ end
121
+
122
+ # resource path
123
+ local_var_path = '/projects/{project_name_or_id}/members/{mid}'.sub('{' + 'project_name_or_id' + '}', project_name_or_id.to_s).sub('{' + 'mid' + '}', mid.to_s)
124
+
125
+ # query parameters
126
+ query_params = {}
127
+
128
+ # header parameters
129
+ header_params = {}
130
+ # HTTP header 'Accept' (if needed)
131
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
132
+ # HTTP header 'Content-Type'
133
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
134
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
135
+ header_params[:'X-Is-Resource-Name'] = opts[:'x_is_resource_name'] if !opts[:'x_is_resource_name'].nil?
136
+
137
+ # form parameters
138
+ form_params = {}
139
+
140
+ # http body (model)
141
+ post_body = nil
142
+ auth_names = ['basic']
143
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
144
+ :header_params => header_params,
145
+ :query_params => query_params,
146
+ :form_params => form_params,
147
+ :body => post_body,
148
+ :auth_names => auth_names)
149
+ if @api_client.config.debugging
150
+ @api_client.config.logger.debug "API called: MemberApi#delete_project_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
151
+ end
152
+ return data, status_code, headers
153
+ end
154
+ # Get the project member information
155
+ # Get the project member information
156
+ # @param project_name_or_id The name or id of the project
157
+ # @param mid The member ID
158
+ # @param [Hash] opts the optional parameters
159
+ # @option opts [String] :x_request_id An unique ID for the request
160
+ # @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)
161
+ # @return [ProjectMemberEntity]
162
+ def get_project_member(project_name_or_id, mid, opts = {})
163
+ data, _status_code, _headers = get_project_member_with_http_info(project_name_or_id, mid, opts)
164
+ data
165
+ end
166
+
167
+ # Get the project member information
168
+ # Get the project member information
169
+ # @param project_name_or_id The name or id of the project
170
+ # @param mid The member ID
171
+ # @param [Hash] opts the optional parameters
172
+ # @option opts [String] :x_request_id An unique ID for the request
173
+ # @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.
174
+ # @return [Array<(ProjectMemberEntity, Fixnum, Hash)>] ProjectMemberEntity data, response status code and response headers
175
+ def get_project_member_with_http_info(project_name_or_id, mid, opts = {})
176
+ if @api_client.config.debugging
177
+ @api_client.config.logger.debug 'Calling API: MemberApi.get_project_member ...'
178
+ end
179
+ # verify the required parameter 'project_name_or_id' is set
180
+ if @api_client.config.client_side_validation && project_name_or_id.nil?
181
+ fail ArgumentError, "Missing the required parameter 'project_name_or_id' when calling MemberApi.get_project_member"
182
+ end
183
+ # verify the required parameter 'mid' is set
184
+ if @api_client.config.client_side_validation && mid.nil?
185
+ fail ArgumentError, "Missing the required parameter 'mid' when calling MemberApi.get_project_member"
186
+ end
187
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
188
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling MemberApi.get_project_member, the character length must be great than or equal to 1.'
189
+ end
190
+
191
+ # resource path
192
+ local_var_path = '/projects/{project_name_or_id}/members/{mid}'.sub('{' + 'project_name_or_id' + '}', project_name_or_id.to_s).sub('{' + 'mid' + '}', mid.to_s)
193
+
194
+ # query parameters
195
+ query_params = {}
196
+
197
+ # header parameters
198
+ header_params = {}
199
+ # HTTP header 'Accept' (if needed)
200
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
201
+ # HTTP header 'Content-Type'
202
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
203
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
204
+ header_params[:'X-Is-Resource-Name'] = opts[:'x_is_resource_name'] if !opts[:'x_is_resource_name'].nil?
205
+
206
+ # form parameters
207
+ form_params = {}
208
+
209
+ # http body (model)
210
+ post_body = nil
211
+ auth_names = ['basic']
212
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
213
+ :header_params => header_params,
214
+ :query_params => query_params,
215
+ :form_params => form_params,
216
+ :body => post_body,
217
+ :auth_names => auth_names,
218
+ :return_type => 'ProjectMemberEntity')
219
+ if @api_client.config.debugging
220
+ @api_client.config.logger.debug "API called: MemberApi#get_project_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
221
+ end
222
+ return data, status_code, headers
223
+ end
224
+ # Get all project member information
225
+ # Get all project member information
226
+ # @param project_name_or_id The name or id of the project
227
+ # @param [Hash] opts the optional parameters
228
+ # @option opts [String] :x_request_id An unique ID for the request
229
+ # @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)
230
+ # @option opts [Integer] :page The page number (default to 1)
231
+ # @option opts [Integer] :page_size The size of per page (default to 10)
232
+ # @option opts [String] :entityname The entity name to search.
233
+ # @return [Array<ProjectMemberEntity>]
234
+ def list_project_members(project_name_or_id, opts = {})
235
+ data, _status_code, _headers = list_project_members_with_http_info(project_name_or_id, opts)
236
+ data
237
+ end
238
+
239
+ # Get all project member information
240
+ # Get all project member information
241
+ # @param project_name_or_id The name or id of the project
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.
245
+ # @option opts [Integer] :page The page number
246
+ # @option opts [Integer] :page_size The size of per page
247
+ # @option opts [String] :entityname The entity name to search.
248
+ # @return [Array<(Array<ProjectMemberEntity>, Fixnum, Hash)>] Array<ProjectMemberEntity> data, response status code and response headers
249
+ def list_project_members_with_http_info(project_name_or_id, opts = {})
250
+ if @api_client.config.debugging
251
+ @api_client.config.logger.debug 'Calling API: MemberApi.list_project_members ...'
252
+ end
253
+ # verify the required parameter 'project_name_or_id' is set
254
+ if @api_client.config.client_side_validation && project_name_or_id.nil?
255
+ fail ArgumentError, "Missing the required parameter 'project_name_or_id' when calling MemberApi.list_project_members"
256
+ end
257
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
258
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling MemberApi.list_project_members, the character length must be great than or equal to 1.'
259
+ end
260
+
261
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 100
262
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling MemberApi.list_project_members, must be smaller than or equal to 100.'
263
+ end
264
+
265
+ # resource path
266
+ local_var_path = '/projects/{project_name_or_id}/members'.sub('{' + 'project_name_or_id' + '}', project_name_or_id.to_s)
267
+
268
+ # query parameters
269
+ query_params = {}
270
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
271
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
272
+ query_params[:'entityname'] = opts[:'entityname'] if !opts[:'entityname'].nil?
273
+
274
+ # header parameters
275
+ header_params = {}
276
+ # HTTP header 'Accept' (if needed)
277
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
278
+ # HTTP header 'Content-Type'
279
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
280
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
281
+ header_params[:'X-Is-Resource-Name'] = opts[:'x_is_resource_name'] if !opts[:'x_is_resource_name'].nil?
282
+
283
+ # form parameters
284
+ form_params = {}
285
+
286
+ # http body (model)
287
+ post_body = nil
288
+ auth_names = ['basic']
289
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
290
+ :header_params => header_params,
291
+ :query_params => query_params,
292
+ :form_params => form_params,
293
+ :body => post_body,
294
+ :auth_names => auth_names,
295
+ :return_type => 'Array<ProjectMemberEntity>')
296
+ if @api_client.config.debugging
297
+ @api_client.config.logger.debug "API called: MemberApi#list_project_members\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
298
+ end
299
+ return data, status_code, headers
300
+ end
301
+ # Update project member
302
+ # Update project member relationship
303
+ # @param project_name_or_id The name or id of the project
304
+ # @param mid Member ID.
305
+ # @param [Hash] opts the optional parameters
306
+ # @option opts [String] :x_request_id An unique ID for the request
307
+ # @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)
308
+ # @option opts [RoleRequest] :role
309
+ # @return [nil]
310
+ def update_project_member(project_name_or_id, mid, opts = {})
311
+ update_project_member_with_http_info(project_name_or_id, mid, opts)
312
+ nil
313
+ end
314
+
315
+ # Update project member
316
+ # Update project member relationship
317
+ # @param project_name_or_id The name or id of the project
318
+ # @param mid Member ID.
319
+ # @param [Hash] opts the optional parameters
320
+ # @option opts [String] :x_request_id An unique ID for the request
321
+ # @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.
322
+ # @option opts [RoleRequest] :role
323
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
324
+ def update_project_member_with_http_info(project_name_or_id, mid, opts = {})
325
+ if @api_client.config.debugging
326
+ @api_client.config.logger.debug 'Calling API: MemberApi.update_project_member ...'
327
+ end
328
+ # verify the required parameter 'project_name_or_id' is set
329
+ if @api_client.config.client_side_validation && project_name_or_id.nil?
330
+ fail ArgumentError, "Missing the required parameter 'project_name_or_id' when calling MemberApi.update_project_member"
331
+ end
332
+ # verify the required parameter 'mid' is set
333
+ if @api_client.config.client_side_validation && mid.nil?
334
+ fail ArgumentError, "Missing the required parameter 'mid' when calling MemberApi.update_project_member"
335
+ end
336
+ if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
337
+ fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling MemberApi.update_project_member, the character length must be great than or equal to 1.'
338
+ end
339
+
340
+ # resource path
341
+ local_var_path = '/projects/{project_name_or_id}/members/{mid}'.sub('{' + 'project_name_or_id' + '}', project_name_or_id.to_s).sub('{' + 'mid' + '}', mid.to_s)
342
+
343
+ # query parameters
344
+ query_params = {}
345
+
346
+ # header parameters
347
+ header_params = {}
348
+ # HTTP header 'Accept' (if needed)
349
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
350
+ # HTTP header 'Content-Type'
351
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
352
+ header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
353
+ header_params[:'X-Is-Resource-Name'] = opts[:'x_is_resource_name'] if !opts[:'x_is_resource_name'].nil?
354
+
355
+ # form parameters
356
+ form_params = {}
357
+
358
+ # http body (model)
359
+ post_body = @api_client.object_to_http_body(opts[:'role'])
360
+ auth_names = ['basic']
361
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
362
+ :header_params => header_params,
363
+ :query_params => query_params,
364
+ :form_params => form_params,
365
+ :body => post_body,
366
+ :auth_names => auth_names)
367
+ if @api_client.config.debugging
368
+ @api_client.config.logger.debug "API called: MemberApi#update_project_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
369
+ end
370
+ return data, status_code, headers
371
+ end
372
+ end
373
+ end