harbor2_client 0.1.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 (141) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +7 -0
  3. data/README.md +186 -0
  4. data/Rakefile +8 -0
  5. data/docs/AdditionLink.md +9 -0
  6. data/docs/AdditionLinks.md +7 -0
  7. data/docs/Annotations.md +7 -0
  8. data/docs/Artifact.md +25 -0
  9. data/docs/ArtifactApi.md +694 -0
  10. data/docs/AuditLog.md +13 -0
  11. data/docs/AuditlogApi.md +69 -0
  12. data/docs/CVEAllowlist.md +13 -0
  13. data/docs/CVEAllowlistItem.md +8 -0
  14. data/docs/Error.md +9 -0
  15. data/docs/Errors.md +8 -0
  16. data/docs/Execution.md +17 -0
  17. data/docs/ExtraAttrs.md +7 -0
  18. data/docs/Icon.md +9 -0
  19. data/docs/IconApi.md +66 -0
  20. data/docs/Instance.md +19 -0
  21. data/docs/Label.md +15 -0
  22. data/docs/Metadata.md +13 -0
  23. data/docs/Metrics.md +14 -0
  24. data/docs/NativeReportSummary.md +15 -0
  25. data/docs/Platform.md +12 -0
  26. data/docs/PreheatApi.md +1176 -0
  27. data/docs/PreheatPolicy.md +18 -0
  28. data/docs/Project.md +22 -0
  29. data/docs/ProjectApi.md +542 -0
  30. data/docs/ProjectDeletable.md +9 -0
  31. data/docs/ProjectMetadata.md +14 -0
  32. data/docs/ProjectReq.md +13 -0
  33. data/docs/ProjectSummary.md +16 -0
  34. data/docs/ProjectSummaryQuota.md +9 -0
  35. data/docs/ProviderUnderProject.md +11 -0
  36. data/docs/Reference.md +13 -0
  37. data/docs/Registry.md +17 -0
  38. data/docs/RegistryCredential.md +10 -0
  39. data/docs/Repository.md +15 -0
  40. data/docs/RepositoryApi.md +256 -0
  41. data/docs/ResourceList.md +7 -0
  42. data/docs/ScanApi.md +138 -0
  43. data/docs/ScanOverview.md +7 -0
  44. data/docs/Tag.md +15 -0
  45. data/docs/Task.md +17 -0
  46. data/docs/VulnerabilitySummary.md +10 -0
  47. data/git_push.sh +55 -0
  48. data/harbor2_client.gemspec +46 -0
  49. data/lib/harbor2_client.rb +81 -0
  50. data/lib/harbor2_client/api/artifact_api.rb +848 -0
  51. data/lib/harbor2_client/api/auditlog_api.rb +91 -0
  52. data/lib/harbor2_client/api/icon_api.rb +84 -0
  53. data/lib/harbor2_client/api/preheat_api.rb +1327 -0
  54. data/lib/harbor2_client/api/project_api.rb +601 -0
  55. data/lib/harbor2_client/api/repository_api.rb +302 -0
  56. data/lib/harbor2_client/api/scan_api.rb +174 -0
  57. data/lib/harbor2_client/api_client.rb +391 -0
  58. data/lib/harbor2_client/api_error.rb +38 -0
  59. data/lib/harbor2_client/configuration.rb +209 -0
  60. data/lib/harbor2_client/models/addition_link.rb +195 -0
  61. data/lib/harbor2_client/models/addition_links.rb +175 -0
  62. data/lib/harbor2_client/models/annotations.rb +175 -0
  63. data/lib/harbor2_client/models/artifact.rb +355 -0
  64. data/lib/harbor2_client/models/audit_log.rb +235 -0
  65. data/lib/harbor2_client/models/cve_allowlist.rb +237 -0
  66. data/lib/harbor2_client/models/cve_allowlist_item.rb +186 -0
  67. data/lib/harbor2_client/models/error.rb +196 -0
  68. data/lib/harbor2_client/models/errors.rb +187 -0
  69. data/lib/harbor2_client/models/execution.rb +273 -0
  70. data/lib/harbor2_client/models/extra_attrs.rb +175 -0
  71. data/lib/harbor2_client/models/icon.rb +195 -0
  72. data/lib/harbor2_client/models/instance.rb +297 -0
  73. data/lib/harbor2_client/models/label.rb +255 -0
  74. data/lib/harbor2_client/models/metadata.rb +237 -0
  75. data/lib/harbor2_client/models/metrics.rb +245 -0
  76. data/lib/harbor2_client/models/native_report_summary.rb +255 -0
  77. data/lib/harbor2_client/models/platform.rb +227 -0
  78. data/lib/harbor2_client/models/preheat_policy.rb +285 -0
  79. data/lib/harbor2_client/models/project.rb +327 -0
  80. data/lib/harbor2_client/models/project_deletable.rb +195 -0
  81. data/lib/harbor2_client/models/project_metadata.rb +245 -0
  82. data/lib/harbor2_client/models/project_req.rb +235 -0
  83. data/lib/harbor2_client/models/project_summary.rb +263 -0
  84. data/lib/harbor2_client/models/project_summary_quota.rb +195 -0
  85. data/lib/harbor2_client/models/provider_under_project.rb +211 -0
  86. data/lib/harbor2_client/models/reference.rb +235 -0
  87. data/lib/harbor2_client/models/registry.rb +274 -0
  88. data/lib/harbor2_client/models/registry_credential.rb +205 -0
  89. data/lib/harbor2_client/models/repository.rb +255 -0
  90. data/lib/harbor2_client/models/resource_list.rb +175 -0
  91. data/lib/harbor2_client/models/scan_overview.rb +176 -0
  92. data/lib/harbor2_client/models/tag.rb +255 -0
  93. data/lib/harbor2_client/models/task.rb +274 -0
  94. data/lib/harbor2_client/models/vulnerability_summary.rb +208 -0
  95. data/lib/harbor2_client/version.rb +15 -0
  96. data/spec/api/artifact_api_spec.rb +209 -0
  97. data/spec/api/auditlog_api_spec.rb +50 -0
  98. data/spec/api/icon_api_spec.rb +48 -0
  99. data/spec/api/preheat_api_spec.rb +311 -0
  100. data/spec/api/project_api_spec.rb +160 -0
  101. data/spec/api/repository_api_spec.rb +94 -0
  102. data/spec/api/scan_api_spec.rb +66 -0
  103. data/spec/api_client_spec.rb +243 -0
  104. data/spec/configuration_spec.rb +42 -0
  105. data/spec/models/addition_link_spec.rb +47 -0
  106. data/spec/models/addition_links_spec.rb +35 -0
  107. data/spec/models/annotations_spec.rb +35 -0
  108. data/spec/models/artifact_spec.rb +143 -0
  109. data/spec/models/audit_log_spec.rb +71 -0
  110. data/spec/models/cve_allowlist_item_spec.rb +41 -0
  111. data/spec/models/cve_allowlist_spec.rb +71 -0
  112. data/spec/models/error_spec.rb +47 -0
  113. data/spec/models/errors_spec.rb +41 -0
  114. data/spec/models/execution_spec.rb +95 -0
  115. data/spec/models/extra_attrs_spec.rb +35 -0
  116. data/spec/models/icon_spec.rb +47 -0
  117. data/spec/models/instance_spec.rb +107 -0
  118. data/spec/models/label_spec.rb +83 -0
  119. data/spec/models/metadata_spec.rb +71 -0
  120. data/spec/models/metrics_spec.rb +77 -0
  121. data/spec/models/native_report_summary_spec.rb +83 -0
  122. data/spec/models/platform_spec.rb +65 -0
  123. data/spec/models/preheat_policy_spec.rb +101 -0
  124. data/spec/models/project_deletable_spec.rb +47 -0
  125. data/spec/models/project_metadata_spec.rb +77 -0
  126. data/spec/models/project_req_spec.rb +71 -0
  127. data/spec/models/project_spec.rb +125 -0
  128. data/spec/models/project_summary_quota_spec.rb +47 -0
  129. data/spec/models/project_summary_spec.rb +89 -0
  130. data/spec/models/provider_under_project_spec.rb +59 -0
  131. data/spec/models/reference_spec.rb +71 -0
  132. data/spec/models/registry_credential_spec.rb +53 -0
  133. data/spec/models/registry_spec.rb +95 -0
  134. data/spec/models/repository_spec.rb +83 -0
  135. data/spec/models/resource_list_spec.rb +35 -0
  136. data/spec/models/scan_overview_spec.rb +35 -0
  137. data/spec/models/tag_spec.rb +83 -0
  138. data/spec/models/task_spec.rb +95 -0
  139. data/spec/models/vulnerability_summary_spec.rb +53 -0
  140. data/spec/spec_helper.rb +111 -0
  141. metadata +428 -0
@@ -0,0 +1,18 @@
1
+ # Harbor2Client::PreheatPolicy
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **id** | **Integer** | The ID of preheat policy | [optional]
7
+ **name** | **String** | The Name of preheat policy | [optional]
8
+ **description** | **String** | The Description of preheat policy | [optional]
9
+ **project_id** | **Integer** | The ID of preheat policy project | [optional]
10
+ **provider_id** | **Integer** | The ID of preheat policy provider | [optional]
11
+ **provider_name** | **String** | The Name of preheat policy provider | [optional]
12
+ **filters** | **String** | The Filters of preheat policy | [optional]
13
+ **trigger** | **String** | The Trigger of preheat policy | [optional]
14
+ **enabled** | **BOOLEAN** | Whether the preheat policy enabled | [optional]
15
+ **creation_time** | **DateTime** | The Create Time of preheat policy | [optional]
16
+ **update_time** | **DateTime** | The Update Time of preheat policy | [optional]
17
+
18
+
@@ -0,0 +1,22 @@
1
+ # Harbor2Client::Project
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **project_id** | **Integer** | Project ID | [optional]
7
+ **owner_id** | **Integer** | The owner ID of the project always means the creator of the project. | [optional]
8
+ **name** | **String** | The name of the project. | [optional]
9
+ **registry_id** | **Integer** | The ID of referenced registry when the project is a proxy cache project. | [optional]
10
+ **creation_time** | **DateTime** | The creation time of the project. | [optional]
11
+ **update_time** | **DateTime** | The update time of the project. | [optional]
12
+ **deleted** | **BOOLEAN** | A deletion mark of the project. | [optional]
13
+ **owner_name** | **String** | The owner name of the project. | [optional]
14
+ **togglable** | **BOOLEAN** | Correspond to the UI about whether the project's publicity is updatable (for UI) | [optional]
15
+ **current_user_role_id** | **Integer** | The role ID with highest permission of the current user who triggered the API (for UI). This attribute is deprecated and will be removed in future versions. | [optional]
16
+ **current_user_role_ids** | **Array<Integer>** | The list of role ID of the current user who triggered the API (for UI) | [optional]
17
+ **repo_count** | **Integer** | The number of the repositories under this project. | [optional]
18
+ **chart_count** | **Integer** | The total number of charts under this project. | [optional]
19
+ **metadata** | [**ProjectMetadata**](ProjectMetadata.md) | The metadata of the project. | [optional]
20
+ **cve_allowlist** | [**CVEAllowlist**](CVEAllowlist.md) | The CVE allowlist of this project. | [optional]
21
+
22
+
@@ -0,0 +1,542 @@
1
+ # Harbor2Client::ProjectApi
2
+
3
+ All URIs are relative to *http://localhost/api/v2.0*
4
+
5
+ Method | HTTP request | Description
6
+ ------------- | ------------- | -------------
7
+ [**create_project**](ProjectApi.md#create_project) | **POST** /projects | Create a new project.
8
+ [**delete_project**](ProjectApi.md#delete_project) | **DELETE** /projects/{project_id} | Delete project by projectID
9
+ [**get_logs**](ProjectApi.md#get_logs) | **GET** /projects/{project_name}/logs | Get recent logs of the projects
10
+ [**get_project**](ProjectApi.md#get_project) | **GET** /projects/{project_id} | Return specific project detail information
11
+ [**get_project_deletable**](ProjectApi.md#get_project_deletable) | **GET** /projects/{project_id}/_deletable | Get the deletable status of the project
12
+ [**get_project_summary**](ProjectApi.md#get_project_summary) | **GET** /projects/{project_id}/summary | Get summary of the project.
13
+ [**head_project**](ProjectApi.md#head_project) | **HEAD** /projects | Check if the project name user provided already exists.
14
+ [**list_projects**](ProjectApi.md#list_projects) | **GET** /projects | List projects
15
+ [**update_project**](ProjectApi.md#update_project) | **PUT** /projects/{project_id} | Update properties for a selected project.
16
+
17
+
18
+ # **create_project**
19
+ > create_project(project, opts)
20
+
21
+ Create a new project.
22
+
23
+ This endpoint is for user to create a new project.
24
+
25
+ ### Example
26
+ ```ruby
27
+ # load the gem
28
+ require 'harbor2_client'
29
+ # setup authorization
30
+ Harbor2Client.configure do |config|
31
+ # Configure HTTP basic authorization: basic
32
+ config.username = 'YOUR USERNAME'
33
+ config.password = 'YOUR PASSWORD'
34
+ end
35
+
36
+ api_instance = Harbor2Client::ProjectApi.new
37
+
38
+ project = Harbor2Client::ProjectReq.new # ProjectReq | New created project.
39
+
40
+ opts = {
41
+ x_request_id: 'x_request_id_example' # String | An unique ID for the request
42
+ }
43
+
44
+ begin
45
+ #Create a new project.
46
+ api_instance.create_project(project, opts)
47
+ rescue Harbor2Client::ApiError => e
48
+ puts "Exception when calling ProjectApi->create_project: #{e}"
49
+ end
50
+ ```
51
+
52
+ ### Parameters
53
+
54
+ Name | Type | Description | Notes
55
+ ------------- | ------------- | ------------- | -------------
56
+ **project** | [**ProjectReq**](ProjectReq.md)| New created project. |
57
+ **x_request_id** | **String**| An unique ID for the request | [optional]
58
+
59
+ ### Return type
60
+
61
+ nil (empty response body)
62
+
63
+ ### Authorization
64
+
65
+ [basic](../README.md#basic)
66
+
67
+ ### HTTP request headers
68
+
69
+ - **Content-Type**: application/json
70
+ - **Accept**: application/json
71
+
72
+
73
+
74
+ # **delete_project**
75
+ > delete_project(project_id, opts)
76
+
77
+ Delete project by projectID
78
+
79
+ This endpoint is aimed to delete project by project ID.
80
+
81
+ ### Example
82
+ ```ruby
83
+ # load the gem
84
+ require 'harbor2_client'
85
+ # setup authorization
86
+ Harbor2Client.configure do |config|
87
+ # Configure HTTP basic authorization: basic
88
+ config.username = 'YOUR USERNAME'
89
+ config.password = 'YOUR PASSWORD'
90
+ end
91
+
92
+ api_instance = Harbor2Client::ProjectApi.new
93
+
94
+ project_id = 789 # Integer | The ID of the project
95
+
96
+ opts = {
97
+ x_request_id: 'x_request_id_example' # String | An unique ID for the request
98
+ }
99
+
100
+ begin
101
+ #Delete project by projectID
102
+ api_instance.delete_project(project_id, opts)
103
+ rescue Harbor2Client::ApiError => e
104
+ puts "Exception when calling ProjectApi->delete_project: #{e}"
105
+ end
106
+ ```
107
+
108
+ ### Parameters
109
+
110
+ Name | Type | Description | Notes
111
+ ------------- | ------------- | ------------- | -------------
112
+ **project_id** | **Integer**| The ID of the project |
113
+ **x_request_id** | **String**| An unique ID for the request | [optional]
114
+
115
+ ### Return type
116
+
117
+ nil (empty response body)
118
+
119
+ ### Authorization
120
+
121
+ [basic](../README.md#basic)
122
+
123
+ ### HTTP request headers
124
+
125
+ - **Content-Type**: application/json
126
+ - **Accept**: application/json
127
+
128
+
129
+
130
+ # **get_logs**
131
+ > Array<AuditLog> get_logs(project_name, opts)
132
+
133
+ Get recent logs of the projects
134
+
135
+ Get recent logs of the projects
136
+
137
+ ### Example
138
+ ```ruby
139
+ # load the gem
140
+ require 'harbor2_client'
141
+ # setup authorization
142
+ Harbor2Client.configure do |config|
143
+ # Configure HTTP basic authorization: basic
144
+ config.username = 'YOUR USERNAME'
145
+ config.password = 'YOUR PASSWORD'
146
+ end
147
+
148
+ api_instance = Harbor2Client::ProjectApi.new
149
+
150
+ project_name = 'project_name_example' # String | The name of the project
151
+
152
+ opts = {
153
+ x_request_id: 'x_request_id_example' # String | An unique ID for the request
154
+ q: 'q_example' # String | Query string to query resources. Supported query patterns are \"exact match(k=v)\", \"fuzzy match(k=~v)\", \"range(k=[min~max])\", \"list with union releationship(k={v1 v2 v3})\" and \"list with intersetion relationship(k=(v1 v2 v3))\". The value of range and list can be string(enclosed by \" or '), integer or time(in format \"2020-04-09 02:36:00\"). All of these query patterns should be put in the query string \"q=xxx\" and splitted by \",\". e.g. q=k1=v1,k2=~v2,k3=[min~max]
155
+ page: 1, # Integer | The page number
156
+ page_size: 10, # Integer | The size of per page
157
+ }
158
+
159
+ begin
160
+ #Get recent logs of the projects
161
+ result = api_instance.get_logs(project_name, opts)
162
+ p result
163
+ rescue Harbor2Client::ApiError => e
164
+ puts "Exception when calling ProjectApi->get_logs: #{e}"
165
+ end
166
+ ```
167
+
168
+ ### Parameters
169
+
170
+ Name | Type | Description | Notes
171
+ ------------- | ------------- | ------------- | -------------
172
+ **project_name** | **String**| The name of the project |
173
+ **x_request_id** | **String**| An unique ID for the request | [optional]
174
+ **q** | **String**| Query string to query resources. Supported query patterns are \"exact match(k=v)\", \"fuzzy match(k=~v)\", \"range(k=[min~max])\", \"list with union releationship(k={v1 v2 v3})\" and \"list with intersetion relationship(k=(v1 v2 v3))\". The value of range and list can be string(enclosed by \" or '), integer or time(in format \"2020-04-09 02:36:00\"). All of these query patterns should be put in the query string \"q=xxx\" and splitted by \",\". e.g. q=k1=v1,k2=~v2,k3=[min~max] | [optional]
175
+ **page** | **Integer**| The page number | [optional] [default to 1]
176
+ **page_size** | **Integer**| The size of per page | [optional] [default to 10]
177
+
178
+ ### Return type
179
+
180
+ [**Array<AuditLog>**](AuditLog.md)
181
+
182
+ ### Authorization
183
+
184
+ [basic](../README.md#basic)
185
+
186
+ ### HTTP request headers
187
+
188
+ - **Content-Type**: application/json
189
+ - **Accept**: application/json
190
+
191
+
192
+
193
+ # **get_project**
194
+ > Project get_project(project_id, opts)
195
+
196
+ Return specific project detail information
197
+
198
+ This endpoint returns specific project information by project ID.
199
+
200
+ ### Example
201
+ ```ruby
202
+ # load the gem
203
+ require 'harbor2_client'
204
+ # setup authorization
205
+ Harbor2Client.configure do |config|
206
+ # Configure HTTP basic authorization: basic
207
+ config.username = 'YOUR USERNAME'
208
+ config.password = 'YOUR PASSWORD'
209
+ end
210
+
211
+ api_instance = Harbor2Client::ProjectApi.new
212
+
213
+ project_id = 789 # Integer | The ID of the project
214
+
215
+ opts = {
216
+ x_request_id: 'x_request_id_example' # String | An unique ID for the request
217
+ }
218
+
219
+ begin
220
+ #Return specific project detail information
221
+ result = api_instance.get_project(project_id, opts)
222
+ p result
223
+ rescue Harbor2Client::ApiError => e
224
+ puts "Exception when calling ProjectApi->get_project: #{e}"
225
+ end
226
+ ```
227
+
228
+ ### Parameters
229
+
230
+ Name | Type | Description | Notes
231
+ ------------- | ------------- | ------------- | -------------
232
+ **project_id** | **Integer**| The ID of the project |
233
+ **x_request_id** | **String**| An unique ID for the request | [optional]
234
+
235
+ ### Return type
236
+
237
+ [**Project**](Project.md)
238
+
239
+ ### Authorization
240
+
241
+ [basic](../README.md#basic)
242
+
243
+ ### HTTP request headers
244
+
245
+ - **Content-Type**: application/json
246
+ - **Accept**: application/json
247
+
248
+
249
+
250
+ # **get_project_deletable**
251
+ > ProjectDeletable get_project_deletable(project_id, opts)
252
+
253
+ Get the deletable status of the project
254
+
255
+ Get the deletable status of the project
256
+
257
+ ### Example
258
+ ```ruby
259
+ # load the gem
260
+ require 'harbor2_client'
261
+ # setup authorization
262
+ Harbor2Client.configure do |config|
263
+ # Configure HTTP basic authorization: basic
264
+ config.username = 'YOUR USERNAME'
265
+ config.password = 'YOUR PASSWORD'
266
+ end
267
+
268
+ api_instance = Harbor2Client::ProjectApi.new
269
+
270
+ project_id = 789 # Integer | The ID of the project
271
+
272
+ opts = {
273
+ x_request_id: 'x_request_id_example' # String | An unique ID for the request
274
+ }
275
+
276
+ begin
277
+ #Get the deletable status of the project
278
+ result = api_instance.get_project_deletable(project_id, opts)
279
+ p result
280
+ rescue Harbor2Client::ApiError => e
281
+ puts "Exception when calling ProjectApi->get_project_deletable: #{e}"
282
+ end
283
+ ```
284
+
285
+ ### Parameters
286
+
287
+ Name | Type | Description | Notes
288
+ ------------- | ------------- | ------------- | -------------
289
+ **project_id** | **Integer**| The ID of the project |
290
+ **x_request_id** | **String**| An unique ID for the request | [optional]
291
+
292
+ ### Return type
293
+
294
+ [**ProjectDeletable**](ProjectDeletable.md)
295
+
296
+ ### Authorization
297
+
298
+ [basic](../README.md#basic)
299
+
300
+ ### HTTP request headers
301
+
302
+ - **Content-Type**: application/json
303
+ - **Accept**: application/json
304
+
305
+
306
+
307
+ # **get_project_summary**
308
+ > ProjectSummary get_project_summary(project_id, opts)
309
+
310
+ Get summary of the project.
311
+
312
+ Get summary of the project.
313
+
314
+ ### Example
315
+ ```ruby
316
+ # load the gem
317
+ require 'harbor2_client'
318
+ # setup authorization
319
+ Harbor2Client.configure do |config|
320
+ # Configure HTTP basic authorization: basic
321
+ config.username = 'YOUR USERNAME'
322
+ config.password = 'YOUR PASSWORD'
323
+ end
324
+
325
+ api_instance = Harbor2Client::ProjectApi.new
326
+
327
+ project_id = 789 # Integer | The ID of the project
328
+
329
+ opts = {
330
+ x_request_id: 'x_request_id_example' # String | An unique ID for the request
331
+ }
332
+
333
+ begin
334
+ #Get summary of the project.
335
+ result = api_instance.get_project_summary(project_id, opts)
336
+ p result
337
+ rescue Harbor2Client::ApiError => e
338
+ puts "Exception when calling ProjectApi->get_project_summary: #{e}"
339
+ end
340
+ ```
341
+
342
+ ### Parameters
343
+
344
+ Name | Type | Description | Notes
345
+ ------------- | ------------- | ------------- | -------------
346
+ **project_id** | **Integer**| The ID of the project |
347
+ **x_request_id** | **String**| An unique ID for the request | [optional]
348
+
349
+ ### Return type
350
+
351
+ [**ProjectSummary**](ProjectSummary.md)
352
+
353
+ ### Authorization
354
+
355
+ [basic](../README.md#basic)
356
+
357
+ ### HTTP request headers
358
+
359
+ - **Content-Type**: application/json
360
+ - **Accept**: application/json
361
+
362
+
363
+
364
+ # **head_project**
365
+ > head_project(project_name, opts)
366
+
367
+ Check if the project name user provided already exists.
368
+
369
+ This endpoint is used to check if the project name provided already exist.
370
+
371
+ ### Example
372
+ ```ruby
373
+ # load the gem
374
+ require 'harbor2_client'
375
+ # setup authorization
376
+ Harbor2Client.configure do |config|
377
+ # Configure HTTP basic authorization: basic
378
+ config.username = 'YOUR USERNAME'
379
+ config.password = 'YOUR PASSWORD'
380
+ end
381
+
382
+ api_instance = Harbor2Client::ProjectApi.new
383
+
384
+ project_name = 'project_name_example' # String | Project name for checking exists.
385
+
386
+ opts = {
387
+ x_request_id: 'x_request_id_example' # String | An unique ID for the request
388
+ }
389
+
390
+ begin
391
+ #Check if the project name user provided already exists.
392
+ api_instance.head_project(project_name, opts)
393
+ rescue Harbor2Client::ApiError => e
394
+ puts "Exception when calling ProjectApi->head_project: #{e}"
395
+ end
396
+ ```
397
+
398
+ ### Parameters
399
+
400
+ Name | Type | Description | Notes
401
+ ------------- | ------------- | ------------- | -------------
402
+ **project_name** | **String**| Project name for checking exists. |
403
+ **x_request_id** | **String**| An unique ID for the request | [optional]
404
+
405
+ ### Return type
406
+
407
+ nil (empty response body)
408
+
409
+ ### Authorization
410
+
411
+ [basic](../README.md#basic)
412
+
413
+ ### HTTP request headers
414
+
415
+ - **Content-Type**: application/json
416
+ - **Accept**: application/json
417
+
418
+
419
+
420
+ # **list_projects**
421
+ > Array<Project> list_projects(opts)
422
+
423
+ List projects
424
+
425
+ This endpoint returns projects created by Harbor.
426
+
427
+ ### Example
428
+ ```ruby
429
+ # load the gem
430
+ require 'harbor2_client'
431
+ # setup authorization
432
+ Harbor2Client.configure do |config|
433
+ # Configure HTTP basic authorization: basic
434
+ config.username = 'YOUR USERNAME'
435
+ config.password = 'YOUR PASSWORD'
436
+ end
437
+
438
+ api_instance = Harbor2Client::ProjectApi.new
439
+
440
+ opts = {
441
+ x_request_id: 'x_request_id_example' # String | An unique ID for the request
442
+ page: 1, # Integer | The page number
443
+ page_size: 10, # Integer | The size of per page
444
+ name: 'name_example', # String | The name of project.
445
+ public: true, # BOOLEAN | The project is public or private.
446
+ owner: 'owner_example' # String | The name of project owner.
447
+ }
448
+
449
+ begin
450
+ #List projects
451
+ result = api_instance.list_projects(opts)
452
+ p result
453
+ rescue Harbor2Client::ApiError => e
454
+ puts "Exception when calling ProjectApi->list_projects: #{e}"
455
+ end
456
+ ```
457
+
458
+ ### Parameters
459
+
460
+ Name | Type | Description | Notes
461
+ ------------- | ------------- | ------------- | -------------
462
+ **x_request_id** | **String**| An unique ID for the request | [optional]
463
+ **page** | **Integer**| The page number | [optional] [default to 1]
464
+ **page_size** | **Integer**| The size of per page | [optional] [default to 10]
465
+ **name** | **String**| The name of project. | [optional]
466
+ **public** | **BOOLEAN**| The project is public or private. | [optional]
467
+ **owner** | **String**| The name of project owner. | [optional]
468
+
469
+ ### Return type
470
+
471
+ [**Array<Project>**](Project.md)
472
+
473
+ ### Authorization
474
+
475
+ [basic](../README.md#basic)
476
+
477
+ ### HTTP request headers
478
+
479
+ - **Content-Type**: application/json
480
+ - **Accept**: application/json
481
+
482
+
483
+
484
+ # **update_project**
485
+ > update_project(project_idproject, opts)
486
+
487
+ Update properties for a selected project.
488
+
489
+ This endpoint is aimed to update the properties of a project.
490
+
491
+ ### Example
492
+ ```ruby
493
+ # load the gem
494
+ require 'harbor2_client'
495
+ # setup authorization
496
+ Harbor2Client.configure do |config|
497
+ # Configure HTTP basic authorization: basic
498
+ config.username = 'YOUR USERNAME'
499
+ config.password = 'YOUR PASSWORD'
500
+ end
501
+
502
+ api_instance = Harbor2Client::ProjectApi.new
503
+
504
+ project_id = 789 # Integer | The ID of the project
505
+
506
+ project = Harbor2Client::ProjectReq.new # ProjectReq | Updates of project.
507
+
508
+ opts = {
509
+ x_request_id: 'x_request_id_example' # String | An unique ID for the request
510
+ }
511
+
512
+ begin
513
+ #Update properties for a selected project.
514
+ api_instance.update_project(project_idproject, opts)
515
+ rescue Harbor2Client::ApiError => e
516
+ puts "Exception when calling ProjectApi->update_project: #{e}"
517
+ end
518
+ ```
519
+
520
+ ### Parameters
521
+
522
+ Name | Type | Description | Notes
523
+ ------------- | ------------- | ------------- | -------------
524
+ **project_id** | **Integer**| The ID of the project |
525
+ **project** | [**ProjectReq**](ProjectReq.md)| Updates of project. |
526
+ **x_request_id** | **String**| An unique ID for the request | [optional]
527
+
528
+ ### Return type
529
+
530
+ nil (empty response body)
531
+
532
+ ### Authorization
533
+
534
+ [basic](../README.md#basic)
535
+
536
+ ### HTTP request headers
537
+
538
+ - **Content-Type**: application/json
539
+ - **Accept**: application/json
540
+
541
+
542
+