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.
- checksums.yaml +7 -0
- data/Gemfile +7 -0
- data/README.md +186 -0
- data/Rakefile +8 -0
- data/docs/AdditionLink.md +9 -0
- data/docs/AdditionLinks.md +7 -0
- data/docs/Annotations.md +7 -0
- data/docs/Artifact.md +25 -0
- data/docs/ArtifactApi.md +694 -0
- data/docs/AuditLog.md +13 -0
- data/docs/AuditlogApi.md +69 -0
- data/docs/CVEAllowlist.md +13 -0
- data/docs/CVEAllowlistItem.md +8 -0
- data/docs/Error.md +9 -0
- data/docs/Errors.md +8 -0
- data/docs/Execution.md +17 -0
- data/docs/ExtraAttrs.md +7 -0
- data/docs/Icon.md +9 -0
- data/docs/IconApi.md +66 -0
- data/docs/Instance.md +19 -0
- data/docs/Label.md +15 -0
- data/docs/Metadata.md +13 -0
- data/docs/Metrics.md +14 -0
- data/docs/NativeReportSummary.md +15 -0
- data/docs/Platform.md +12 -0
- data/docs/PreheatApi.md +1176 -0
- data/docs/PreheatPolicy.md +18 -0
- data/docs/Project.md +22 -0
- data/docs/ProjectApi.md +542 -0
- data/docs/ProjectDeletable.md +9 -0
- data/docs/ProjectMetadata.md +14 -0
- data/docs/ProjectReq.md +13 -0
- data/docs/ProjectSummary.md +16 -0
- data/docs/ProjectSummaryQuota.md +9 -0
- data/docs/ProviderUnderProject.md +11 -0
- data/docs/Reference.md +13 -0
- data/docs/Registry.md +17 -0
- data/docs/RegistryCredential.md +10 -0
- data/docs/Repository.md +15 -0
- data/docs/RepositoryApi.md +256 -0
- data/docs/ResourceList.md +7 -0
- data/docs/ScanApi.md +138 -0
- data/docs/ScanOverview.md +7 -0
- data/docs/Tag.md +15 -0
- data/docs/Task.md +17 -0
- data/docs/VulnerabilitySummary.md +10 -0
- data/git_push.sh +55 -0
- data/harbor2_client.gemspec +46 -0
- data/lib/harbor2_client.rb +81 -0
- data/lib/harbor2_client/api/artifact_api.rb +848 -0
- data/lib/harbor2_client/api/auditlog_api.rb +91 -0
- data/lib/harbor2_client/api/icon_api.rb +84 -0
- data/lib/harbor2_client/api/preheat_api.rb +1327 -0
- data/lib/harbor2_client/api/project_api.rb +601 -0
- data/lib/harbor2_client/api/repository_api.rb +302 -0
- data/lib/harbor2_client/api/scan_api.rb +174 -0
- data/lib/harbor2_client/api_client.rb +391 -0
- data/lib/harbor2_client/api_error.rb +38 -0
- data/lib/harbor2_client/configuration.rb +209 -0
- data/lib/harbor2_client/models/addition_link.rb +195 -0
- data/lib/harbor2_client/models/addition_links.rb +175 -0
- data/lib/harbor2_client/models/annotations.rb +175 -0
- data/lib/harbor2_client/models/artifact.rb +355 -0
- data/lib/harbor2_client/models/audit_log.rb +235 -0
- data/lib/harbor2_client/models/cve_allowlist.rb +237 -0
- data/lib/harbor2_client/models/cve_allowlist_item.rb +186 -0
- data/lib/harbor2_client/models/error.rb +196 -0
- data/lib/harbor2_client/models/errors.rb +187 -0
- data/lib/harbor2_client/models/execution.rb +273 -0
- data/lib/harbor2_client/models/extra_attrs.rb +175 -0
- data/lib/harbor2_client/models/icon.rb +195 -0
- data/lib/harbor2_client/models/instance.rb +297 -0
- data/lib/harbor2_client/models/label.rb +255 -0
- data/lib/harbor2_client/models/metadata.rb +237 -0
- data/lib/harbor2_client/models/metrics.rb +245 -0
- data/lib/harbor2_client/models/native_report_summary.rb +255 -0
- data/lib/harbor2_client/models/platform.rb +227 -0
- data/lib/harbor2_client/models/preheat_policy.rb +285 -0
- data/lib/harbor2_client/models/project.rb +327 -0
- data/lib/harbor2_client/models/project_deletable.rb +195 -0
- data/lib/harbor2_client/models/project_metadata.rb +245 -0
- data/lib/harbor2_client/models/project_req.rb +235 -0
- data/lib/harbor2_client/models/project_summary.rb +263 -0
- data/lib/harbor2_client/models/project_summary_quota.rb +195 -0
- data/lib/harbor2_client/models/provider_under_project.rb +211 -0
- data/lib/harbor2_client/models/reference.rb +235 -0
- data/lib/harbor2_client/models/registry.rb +274 -0
- data/lib/harbor2_client/models/registry_credential.rb +205 -0
- data/lib/harbor2_client/models/repository.rb +255 -0
- data/lib/harbor2_client/models/resource_list.rb +175 -0
- data/lib/harbor2_client/models/scan_overview.rb +176 -0
- data/lib/harbor2_client/models/tag.rb +255 -0
- data/lib/harbor2_client/models/task.rb +274 -0
- data/lib/harbor2_client/models/vulnerability_summary.rb +208 -0
- data/lib/harbor2_client/version.rb +15 -0
- data/spec/api/artifact_api_spec.rb +209 -0
- data/spec/api/auditlog_api_spec.rb +50 -0
- data/spec/api/icon_api_spec.rb +48 -0
- data/spec/api/preheat_api_spec.rb +311 -0
- data/spec/api/project_api_spec.rb +160 -0
- data/spec/api/repository_api_spec.rb +94 -0
- data/spec/api/scan_api_spec.rb +66 -0
- data/spec/api_client_spec.rb +243 -0
- data/spec/configuration_spec.rb +42 -0
- data/spec/models/addition_link_spec.rb +47 -0
- data/spec/models/addition_links_spec.rb +35 -0
- data/spec/models/annotations_spec.rb +35 -0
- data/spec/models/artifact_spec.rb +143 -0
- data/spec/models/audit_log_spec.rb +71 -0
- data/spec/models/cve_allowlist_item_spec.rb +41 -0
- data/spec/models/cve_allowlist_spec.rb +71 -0
- data/spec/models/error_spec.rb +47 -0
- data/spec/models/errors_spec.rb +41 -0
- data/spec/models/execution_spec.rb +95 -0
- data/spec/models/extra_attrs_spec.rb +35 -0
- data/spec/models/icon_spec.rb +47 -0
- data/spec/models/instance_spec.rb +107 -0
- data/spec/models/label_spec.rb +83 -0
- data/spec/models/metadata_spec.rb +71 -0
- data/spec/models/metrics_spec.rb +77 -0
- data/spec/models/native_report_summary_spec.rb +83 -0
- data/spec/models/platform_spec.rb +65 -0
- data/spec/models/preheat_policy_spec.rb +101 -0
- data/spec/models/project_deletable_spec.rb +47 -0
- data/spec/models/project_metadata_spec.rb +77 -0
- data/spec/models/project_req_spec.rb +71 -0
- data/spec/models/project_spec.rb +125 -0
- data/spec/models/project_summary_quota_spec.rb +47 -0
- data/spec/models/project_summary_spec.rb +89 -0
- data/spec/models/provider_under_project_spec.rb +59 -0
- data/spec/models/reference_spec.rb +71 -0
- data/spec/models/registry_credential_spec.rb +53 -0
- data/spec/models/registry_spec.rb +95 -0
- data/spec/models/repository_spec.rb +83 -0
- data/spec/models/resource_list_spec.rb +35 -0
- data/spec/models/scan_overview_spec.rb +35 -0
- data/spec/models/tag_spec.rb +83 -0
- data/spec/models/task_spec.rb +95 -0
- data/spec/models/vulnerability_summary_spec.rb +53 -0
- data/spec/spec_helper.rb +111 -0
- metadata +428 -0
|
@@ -0,0 +1,601 @@
|
|
|
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.17
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'uri'
|
|
14
|
+
|
|
15
|
+
module Harbor2Client
|
|
16
|
+
class ProjectApi
|
|
17
|
+
attr_accessor :api_client
|
|
18
|
+
|
|
19
|
+
def initialize(api_client = ApiClient.default)
|
|
20
|
+
@api_client = api_client
|
|
21
|
+
end
|
|
22
|
+
# Create a new project.
|
|
23
|
+
# This endpoint is for user to create a new project.
|
|
24
|
+
# @param project New created project.
|
|
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_project(project, opts = {})
|
|
29
|
+
create_project_with_http_info(project, opts)
|
|
30
|
+
nil
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Create a new project.
|
|
34
|
+
# This endpoint is for user to create a new project.
|
|
35
|
+
# @param project New created project.
|
|
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_project_with_http_info(project, opts = {})
|
|
40
|
+
if @api_client.config.debugging
|
|
41
|
+
@api_client.config.logger.debug 'Calling API: ProjectApi.create_project ...'
|
|
42
|
+
end
|
|
43
|
+
# verify the required parameter 'project' is set
|
|
44
|
+
if @api_client.config.client_side_validation && project.nil?
|
|
45
|
+
fail ArgumentError, "Missing the required parameter 'project' when calling ProjectApi.create_project"
|
|
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 ProjectApi.create_project, the character length must be great than or equal to 1.'
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# resource path
|
|
52
|
+
local_var_path = '/projects'
|
|
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(project)
|
|
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: ProjectApi#create_project\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
79
|
+
end
|
|
80
|
+
return data, status_code, headers
|
|
81
|
+
end
|
|
82
|
+
# Delete project by projectID
|
|
83
|
+
# This endpoint is aimed to delete project by project ID.
|
|
84
|
+
# @param project_id The ID of the project
|
|
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_project(project_id, opts = {})
|
|
89
|
+
delete_project_with_http_info(project_id, opts)
|
|
90
|
+
nil
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
# Delete project by projectID
|
|
94
|
+
# This endpoint is aimed to delete project by project ID.
|
|
95
|
+
# @param project_id The ID of the project
|
|
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_project_with_http_info(project_id, opts = {})
|
|
100
|
+
if @api_client.config.debugging
|
|
101
|
+
@api_client.config.logger.debug 'Calling API: ProjectApi.delete_project ...'
|
|
102
|
+
end
|
|
103
|
+
# verify the required parameter 'project_id' is set
|
|
104
|
+
if @api_client.config.client_side_validation && project_id.nil?
|
|
105
|
+
fail ArgumentError, "Missing the required parameter 'project_id' when calling ProjectApi.delete_project"
|
|
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 ProjectApi.delete_project, the character length must be great than or equal to 1.'
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
# resource path
|
|
112
|
+
local_var_path = '/projects/{project_id}'.sub('{' + 'project_id' + '}', project_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: ProjectApi#delete_project\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
139
|
+
end
|
|
140
|
+
return data, status_code, headers
|
|
141
|
+
end
|
|
142
|
+
# Get recent logs of the projects
|
|
143
|
+
# Get recent logs of the projects
|
|
144
|
+
# @param project_name The name of the project
|
|
145
|
+
# @param [Hash] opts the optional parameters
|
|
146
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
147
|
+
# @option opts [String] :q 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]
|
|
148
|
+
# @option opts [Integer] :page The page number (default to 1)
|
|
149
|
+
# @option opts [Integer] :page_size The size of per page (default to 10)
|
|
150
|
+
# @return [Array<AuditLog>]
|
|
151
|
+
def get_logs(project_name, opts = {})
|
|
152
|
+
data, _status_code, _headers = get_logs_with_http_info(project_name, opts)
|
|
153
|
+
data
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
# Get recent logs of the projects
|
|
157
|
+
# Get recent logs of the projects
|
|
158
|
+
# @param project_name The name of the project
|
|
159
|
+
# @param [Hash] opts the optional parameters
|
|
160
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
161
|
+
# @option opts [String] :q 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]
|
|
162
|
+
# @option opts [Integer] :page The page number
|
|
163
|
+
# @option opts [Integer] :page_size The size of per page
|
|
164
|
+
# @return [Array<(Array<AuditLog>, Fixnum, Hash)>] Array<AuditLog> data, response status code and response headers
|
|
165
|
+
def get_logs_with_http_info(project_name, opts = {})
|
|
166
|
+
if @api_client.config.debugging
|
|
167
|
+
@api_client.config.logger.debug 'Calling API: ProjectApi.get_logs ...'
|
|
168
|
+
end
|
|
169
|
+
# verify the required parameter 'project_name' is set
|
|
170
|
+
if @api_client.config.client_side_validation && project_name.nil?
|
|
171
|
+
fail ArgumentError, "Missing the required parameter 'project_name' when calling ProjectApi.get_logs"
|
|
172
|
+
end
|
|
173
|
+
if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
|
|
174
|
+
fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling ProjectApi.get_logs, the character length must be great than or equal to 1.'
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 100
|
|
178
|
+
fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ProjectApi.get_logs, must be smaller than or equal to 100.'
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
# resource path
|
|
182
|
+
local_var_path = '/projects/{project_name}/logs'.sub('{' + 'project_name' + '}', project_name.to_s)
|
|
183
|
+
|
|
184
|
+
# query parameters
|
|
185
|
+
query_params = {}
|
|
186
|
+
query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil?
|
|
187
|
+
query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
|
|
188
|
+
query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
|
|
189
|
+
|
|
190
|
+
# header parameters
|
|
191
|
+
header_params = {}
|
|
192
|
+
# HTTP header 'Accept' (if needed)
|
|
193
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
194
|
+
# HTTP header 'Content-Type'
|
|
195
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
|
196
|
+
header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
|
|
197
|
+
|
|
198
|
+
# form parameters
|
|
199
|
+
form_params = {}
|
|
200
|
+
|
|
201
|
+
# http body (model)
|
|
202
|
+
post_body = nil
|
|
203
|
+
auth_names = ['basic']
|
|
204
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path,
|
|
205
|
+
:header_params => header_params,
|
|
206
|
+
:query_params => query_params,
|
|
207
|
+
:form_params => form_params,
|
|
208
|
+
:body => post_body,
|
|
209
|
+
:auth_names => auth_names,
|
|
210
|
+
:return_type => 'Array<AuditLog>')
|
|
211
|
+
if @api_client.config.debugging
|
|
212
|
+
@api_client.config.logger.debug "API called: ProjectApi#get_logs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
213
|
+
end
|
|
214
|
+
return data, status_code, headers
|
|
215
|
+
end
|
|
216
|
+
# Return specific project detail information
|
|
217
|
+
# This endpoint returns specific project information by project ID.
|
|
218
|
+
# @param project_id The ID of the project
|
|
219
|
+
# @param [Hash] opts the optional parameters
|
|
220
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
221
|
+
# @return [Project]
|
|
222
|
+
def get_project(project_id, opts = {})
|
|
223
|
+
data, _status_code, _headers = get_project_with_http_info(project_id, opts)
|
|
224
|
+
data
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
# Return specific project detail information
|
|
228
|
+
# This endpoint returns specific project information by project ID.
|
|
229
|
+
# @param project_id The ID of the project
|
|
230
|
+
# @param [Hash] opts the optional parameters
|
|
231
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
232
|
+
# @return [Array<(Project, Fixnum, Hash)>] Project data, response status code and response headers
|
|
233
|
+
def get_project_with_http_info(project_id, opts = {})
|
|
234
|
+
if @api_client.config.debugging
|
|
235
|
+
@api_client.config.logger.debug 'Calling API: ProjectApi.get_project ...'
|
|
236
|
+
end
|
|
237
|
+
# verify the required parameter 'project_id' is set
|
|
238
|
+
if @api_client.config.client_side_validation && project_id.nil?
|
|
239
|
+
fail ArgumentError, "Missing the required parameter 'project_id' when calling ProjectApi.get_project"
|
|
240
|
+
end
|
|
241
|
+
if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
|
|
242
|
+
fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling ProjectApi.get_project, the character length must be great than or equal to 1.'
|
|
243
|
+
end
|
|
244
|
+
|
|
245
|
+
# resource path
|
|
246
|
+
local_var_path = '/projects/{project_id}'.sub('{' + 'project_id' + '}', project_id.to_s)
|
|
247
|
+
|
|
248
|
+
# query parameters
|
|
249
|
+
query_params = {}
|
|
250
|
+
|
|
251
|
+
# header parameters
|
|
252
|
+
header_params = {}
|
|
253
|
+
# HTTP header 'Accept' (if needed)
|
|
254
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
255
|
+
# HTTP header 'Content-Type'
|
|
256
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
|
257
|
+
header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
|
|
258
|
+
|
|
259
|
+
# form parameters
|
|
260
|
+
form_params = {}
|
|
261
|
+
|
|
262
|
+
# http body (model)
|
|
263
|
+
post_body = nil
|
|
264
|
+
auth_names = ['basic']
|
|
265
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path,
|
|
266
|
+
:header_params => header_params,
|
|
267
|
+
:query_params => query_params,
|
|
268
|
+
:form_params => form_params,
|
|
269
|
+
:body => post_body,
|
|
270
|
+
:auth_names => auth_names,
|
|
271
|
+
:return_type => 'Project')
|
|
272
|
+
if @api_client.config.debugging
|
|
273
|
+
@api_client.config.logger.debug "API called: ProjectApi#get_project\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
274
|
+
end
|
|
275
|
+
return data, status_code, headers
|
|
276
|
+
end
|
|
277
|
+
# Get the deletable status of the project
|
|
278
|
+
# Get the deletable status of the project
|
|
279
|
+
# @param project_id The ID of the project
|
|
280
|
+
# @param [Hash] opts the optional parameters
|
|
281
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
282
|
+
# @return [ProjectDeletable]
|
|
283
|
+
def get_project_deletable(project_id, opts = {})
|
|
284
|
+
data, _status_code, _headers = get_project_deletable_with_http_info(project_id, opts)
|
|
285
|
+
data
|
|
286
|
+
end
|
|
287
|
+
|
|
288
|
+
# Get the deletable status of the project
|
|
289
|
+
# Get the deletable status of the project
|
|
290
|
+
# @param project_id The ID of the project
|
|
291
|
+
# @param [Hash] opts the optional parameters
|
|
292
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
293
|
+
# @return [Array<(ProjectDeletable, Fixnum, Hash)>] ProjectDeletable data, response status code and response headers
|
|
294
|
+
def get_project_deletable_with_http_info(project_id, opts = {})
|
|
295
|
+
if @api_client.config.debugging
|
|
296
|
+
@api_client.config.logger.debug 'Calling API: ProjectApi.get_project_deletable ...'
|
|
297
|
+
end
|
|
298
|
+
# verify the required parameter 'project_id' is set
|
|
299
|
+
if @api_client.config.client_side_validation && project_id.nil?
|
|
300
|
+
fail ArgumentError, "Missing the required parameter 'project_id' when calling ProjectApi.get_project_deletable"
|
|
301
|
+
end
|
|
302
|
+
if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
|
|
303
|
+
fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling ProjectApi.get_project_deletable, the character length must be great than or equal to 1.'
|
|
304
|
+
end
|
|
305
|
+
|
|
306
|
+
# resource path
|
|
307
|
+
local_var_path = '/projects/{project_id}/_deletable'.sub('{' + 'project_id' + '}', project_id.to_s)
|
|
308
|
+
|
|
309
|
+
# query parameters
|
|
310
|
+
query_params = {}
|
|
311
|
+
|
|
312
|
+
# header parameters
|
|
313
|
+
header_params = {}
|
|
314
|
+
# HTTP header 'Accept' (if needed)
|
|
315
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
316
|
+
# HTTP header 'Content-Type'
|
|
317
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
|
318
|
+
header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
|
|
319
|
+
|
|
320
|
+
# form parameters
|
|
321
|
+
form_params = {}
|
|
322
|
+
|
|
323
|
+
# http body (model)
|
|
324
|
+
post_body = nil
|
|
325
|
+
auth_names = ['basic']
|
|
326
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path,
|
|
327
|
+
:header_params => header_params,
|
|
328
|
+
:query_params => query_params,
|
|
329
|
+
:form_params => form_params,
|
|
330
|
+
:body => post_body,
|
|
331
|
+
:auth_names => auth_names,
|
|
332
|
+
:return_type => 'ProjectDeletable')
|
|
333
|
+
if @api_client.config.debugging
|
|
334
|
+
@api_client.config.logger.debug "API called: ProjectApi#get_project_deletable\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
335
|
+
end
|
|
336
|
+
return data, status_code, headers
|
|
337
|
+
end
|
|
338
|
+
# Get summary of the project.
|
|
339
|
+
# Get summary of the project.
|
|
340
|
+
# @param project_id The ID of the project
|
|
341
|
+
# @param [Hash] opts the optional parameters
|
|
342
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
343
|
+
# @return [ProjectSummary]
|
|
344
|
+
def get_project_summary(project_id, opts = {})
|
|
345
|
+
data, _status_code, _headers = get_project_summary_with_http_info(project_id, opts)
|
|
346
|
+
data
|
|
347
|
+
end
|
|
348
|
+
|
|
349
|
+
# Get summary of the project.
|
|
350
|
+
# Get summary of the project.
|
|
351
|
+
# @param project_id The ID of the project
|
|
352
|
+
# @param [Hash] opts the optional parameters
|
|
353
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
354
|
+
# @return [Array<(ProjectSummary, Fixnum, Hash)>] ProjectSummary data, response status code and response headers
|
|
355
|
+
def get_project_summary_with_http_info(project_id, opts = {})
|
|
356
|
+
if @api_client.config.debugging
|
|
357
|
+
@api_client.config.logger.debug 'Calling API: ProjectApi.get_project_summary ...'
|
|
358
|
+
end
|
|
359
|
+
# verify the required parameter 'project_id' is set
|
|
360
|
+
if @api_client.config.client_side_validation && project_id.nil?
|
|
361
|
+
fail ArgumentError, "Missing the required parameter 'project_id' when calling ProjectApi.get_project_summary"
|
|
362
|
+
end
|
|
363
|
+
if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
|
|
364
|
+
fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling ProjectApi.get_project_summary, the character length must be great than or equal to 1.'
|
|
365
|
+
end
|
|
366
|
+
|
|
367
|
+
# resource path
|
|
368
|
+
local_var_path = '/projects/{project_id}/summary'.sub('{' + 'project_id' + '}', project_id.to_s)
|
|
369
|
+
|
|
370
|
+
# query parameters
|
|
371
|
+
query_params = {}
|
|
372
|
+
|
|
373
|
+
# header parameters
|
|
374
|
+
header_params = {}
|
|
375
|
+
# HTTP header 'Accept' (if needed)
|
|
376
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
377
|
+
# HTTP header 'Content-Type'
|
|
378
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
|
379
|
+
header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
|
|
380
|
+
|
|
381
|
+
# form parameters
|
|
382
|
+
form_params = {}
|
|
383
|
+
|
|
384
|
+
# http body (model)
|
|
385
|
+
post_body = nil
|
|
386
|
+
auth_names = ['basic']
|
|
387
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path,
|
|
388
|
+
:header_params => header_params,
|
|
389
|
+
:query_params => query_params,
|
|
390
|
+
:form_params => form_params,
|
|
391
|
+
:body => post_body,
|
|
392
|
+
:auth_names => auth_names,
|
|
393
|
+
:return_type => 'ProjectSummary')
|
|
394
|
+
if @api_client.config.debugging
|
|
395
|
+
@api_client.config.logger.debug "API called: ProjectApi#get_project_summary\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
396
|
+
end
|
|
397
|
+
return data, status_code, headers
|
|
398
|
+
end
|
|
399
|
+
# Check if the project name user provided already exists.
|
|
400
|
+
# This endpoint is used to check if the project name provided already exist.
|
|
401
|
+
# @param project_name Project name for checking exists.
|
|
402
|
+
# @param [Hash] opts the optional parameters
|
|
403
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
404
|
+
# @return [nil]
|
|
405
|
+
def head_project(project_name, opts = {})
|
|
406
|
+
head_project_with_http_info(project_name, opts)
|
|
407
|
+
nil
|
|
408
|
+
end
|
|
409
|
+
|
|
410
|
+
# Check if the project name user provided already exists.
|
|
411
|
+
# This endpoint is used to check if the project name provided already exist.
|
|
412
|
+
# @param project_name Project name for checking exists.
|
|
413
|
+
# @param [Hash] opts the optional parameters
|
|
414
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
415
|
+
# @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
|
|
416
|
+
def head_project_with_http_info(project_name, opts = {})
|
|
417
|
+
if @api_client.config.debugging
|
|
418
|
+
@api_client.config.logger.debug 'Calling API: ProjectApi.head_project ...'
|
|
419
|
+
end
|
|
420
|
+
# verify the required parameter 'project_name' is set
|
|
421
|
+
if @api_client.config.client_side_validation && project_name.nil?
|
|
422
|
+
fail ArgumentError, "Missing the required parameter 'project_name' when calling ProjectApi.head_project"
|
|
423
|
+
end
|
|
424
|
+
if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
|
|
425
|
+
fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling ProjectApi.head_project, the character length must be great than or equal to 1.'
|
|
426
|
+
end
|
|
427
|
+
|
|
428
|
+
# resource path
|
|
429
|
+
local_var_path = '/projects'
|
|
430
|
+
|
|
431
|
+
# query parameters
|
|
432
|
+
query_params = {}
|
|
433
|
+
query_params[:'project_name'] = project_name
|
|
434
|
+
|
|
435
|
+
# header parameters
|
|
436
|
+
header_params = {}
|
|
437
|
+
# HTTP header 'Accept' (if needed)
|
|
438
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
439
|
+
# HTTP header 'Content-Type'
|
|
440
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
|
441
|
+
header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
|
|
442
|
+
|
|
443
|
+
# form parameters
|
|
444
|
+
form_params = {}
|
|
445
|
+
|
|
446
|
+
# http body (model)
|
|
447
|
+
post_body = nil
|
|
448
|
+
auth_names = ['basic']
|
|
449
|
+
data, status_code, headers = @api_client.call_api(:HEAD, local_var_path,
|
|
450
|
+
:header_params => header_params,
|
|
451
|
+
:query_params => query_params,
|
|
452
|
+
:form_params => form_params,
|
|
453
|
+
:body => post_body,
|
|
454
|
+
:auth_names => auth_names)
|
|
455
|
+
if @api_client.config.debugging
|
|
456
|
+
@api_client.config.logger.debug "API called: ProjectApi#head_project\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
457
|
+
end
|
|
458
|
+
return data, status_code, headers
|
|
459
|
+
end
|
|
460
|
+
# List projects
|
|
461
|
+
# This endpoint returns projects created by Harbor.
|
|
462
|
+
# @param [Hash] opts the optional parameters
|
|
463
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
464
|
+
# @option opts [Integer] :page The page number (default to 1)
|
|
465
|
+
# @option opts [Integer] :page_size The size of per page (default to 10)
|
|
466
|
+
# @option opts [String] :name The name of project.
|
|
467
|
+
# @option opts [BOOLEAN] :public The project is public or private.
|
|
468
|
+
# @option opts [String] :owner The name of project owner.
|
|
469
|
+
# @return [Array<Project>]
|
|
470
|
+
def list_projects(opts = {})
|
|
471
|
+
data, _status_code, _headers = list_projects_with_http_info(opts)
|
|
472
|
+
data
|
|
473
|
+
end
|
|
474
|
+
|
|
475
|
+
# List projects
|
|
476
|
+
# This endpoint returns projects created by Harbor.
|
|
477
|
+
# @param [Hash] opts the optional parameters
|
|
478
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
479
|
+
# @option opts [Integer] :page The page number
|
|
480
|
+
# @option opts [Integer] :page_size The size of per page
|
|
481
|
+
# @option opts [String] :name The name of project.
|
|
482
|
+
# @option opts [BOOLEAN] :public The project is public or private.
|
|
483
|
+
# @option opts [String] :owner The name of project owner.
|
|
484
|
+
# @return [Array<(Array<Project>, Fixnum, Hash)>] Array<Project> data, response status code and response headers
|
|
485
|
+
def list_projects_with_http_info(opts = {})
|
|
486
|
+
if @api_client.config.debugging
|
|
487
|
+
@api_client.config.logger.debug 'Calling API: ProjectApi.list_projects ...'
|
|
488
|
+
end
|
|
489
|
+
if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
|
|
490
|
+
fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling ProjectApi.list_projects, the character length must be great than or equal to 1.'
|
|
491
|
+
end
|
|
492
|
+
|
|
493
|
+
if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 100
|
|
494
|
+
fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ProjectApi.list_projects, must be smaller than or equal to 100.'
|
|
495
|
+
end
|
|
496
|
+
|
|
497
|
+
# resource path
|
|
498
|
+
local_var_path = '/projects'
|
|
499
|
+
|
|
500
|
+
# query parameters
|
|
501
|
+
query_params = {}
|
|
502
|
+
query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
|
|
503
|
+
query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
|
|
504
|
+
query_params[:'name'] = opts[:'name'] if !opts[:'name'].nil?
|
|
505
|
+
query_params[:'public'] = opts[:'public'] if !opts[:'public'].nil?
|
|
506
|
+
query_params[:'owner'] = opts[:'owner'] if !opts[:'owner'].nil?
|
|
507
|
+
|
|
508
|
+
# header parameters
|
|
509
|
+
header_params = {}
|
|
510
|
+
# HTTP header 'Accept' (if needed)
|
|
511
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
512
|
+
# HTTP header 'Content-Type'
|
|
513
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
|
514
|
+
header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
|
|
515
|
+
|
|
516
|
+
# form parameters
|
|
517
|
+
form_params = {}
|
|
518
|
+
|
|
519
|
+
# http body (model)
|
|
520
|
+
post_body = nil
|
|
521
|
+
auth_names = ['basic']
|
|
522
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path,
|
|
523
|
+
:header_params => header_params,
|
|
524
|
+
:query_params => query_params,
|
|
525
|
+
:form_params => form_params,
|
|
526
|
+
:body => post_body,
|
|
527
|
+
:auth_names => auth_names,
|
|
528
|
+
:return_type => 'Array<Project>')
|
|
529
|
+
if @api_client.config.debugging
|
|
530
|
+
@api_client.config.logger.debug "API called: ProjectApi#list_projects\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
531
|
+
end
|
|
532
|
+
return data, status_code, headers
|
|
533
|
+
end
|
|
534
|
+
# Update properties for a selected project.
|
|
535
|
+
# This endpoint is aimed to update the properties of a project.
|
|
536
|
+
# @param project_id The ID of the project
|
|
537
|
+
# @param project Updates of project.
|
|
538
|
+
# @param [Hash] opts the optional parameters
|
|
539
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
540
|
+
# @return [nil]
|
|
541
|
+
def update_project(project_id, project, opts = {})
|
|
542
|
+
update_project_with_http_info(project_id, project, opts)
|
|
543
|
+
nil
|
|
544
|
+
end
|
|
545
|
+
|
|
546
|
+
# Update properties for a selected project.
|
|
547
|
+
# This endpoint is aimed to update the properties of a project.
|
|
548
|
+
# @param project_id The ID of the project
|
|
549
|
+
# @param project Updates of project.
|
|
550
|
+
# @param [Hash] opts the optional parameters
|
|
551
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
552
|
+
# @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
|
|
553
|
+
def update_project_with_http_info(project_id, project, opts = {})
|
|
554
|
+
if @api_client.config.debugging
|
|
555
|
+
@api_client.config.logger.debug 'Calling API: ProjectApi.update_project ...'
|
|
556
|
+
end
|
|
557
|
+
# verify the required parameter 'project_id' is set
|
|
558
|
+
if @api_client.config.client_side_validation && project_id.nil?
|
|
559
|
+
fail ArgumentError, "Missing the required parameter 'project_id' when calling ProjectApi.update_project"
|
|
560
|
+
end
|
|
561
|
+
# verify the required parameter 'project' is set
|
|
562
|
+
if @api_client.config.client_side_validation && project.nil?
|
|
563
|
+
fail ArgumentError, "Missing the required parameter 'project' when calling ProjectApi.update_project"
|
|
564
|
+
end
|
|
565
|
+
if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
|
|
566
|
+
fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling ProjectApi.update_project, the character length must be great than or equal to 1.'
|
|
567
|
+
end
|
|
568
|
+
|
|
569
|
+
# resource path
|
|
570
|
+
local_var_path = '/projects/{project_id}'.sub('{' + 'project_id' + '}', project_id.to_s)
|
|
571
|
+
|
|
572
|
+
# query parameters
|
|
573
|
+
query_params = {}
|
|
574
|
+
|
|
575
|
+
# header parameters
|
|
576
|
+
header_params = {}
|
|
577
|
+
# HTTP header 'Accept' (if needed)
|
|
578
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
579
|
+
# HTTP header 'Content-Type'
|
|
580
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
|
581
|
+
header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
|
|
582
|
+
|
|
583
|
+
# form parameters
|
|
584
|
+
form_params = {}
|
|
585
|
+
|
|
586
|
+
# http body (model)
|
|
587
|
+
post_body = @api_client.object_to_http_body(project)
|
|
588
|
+
auth_names = ['basic']
|
|
589
|
+
data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
|
|
590
|
+
:header_params => header_params,
|
|
591
|
+
:query_params => query_params,
|
|
592
|
+
:form_params => form_params,
|
|
593
|
+
:body => post_body,
|
|
594
|
+
:auth_names => auth_names)
|
|
595
|
+
if @api_client.config.debugging
|
|
596
|
+
@api_client.config.logger.debug "API called: ProjectApi#update_project\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
597
|
+
end
|
|
598
|
+
return data, status_code, headers
|
|
599
|
+
end
|
|
600
|
+
end
|
|
601
|
+
end
|