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,302 @@
|
|
|
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 RepositoryApi
|
|
17
|
+
attr_accessor :api_client
|
|
18
|
+
|
|
19
|
+
def initialize(api_client = ApiClient.default)
|
|
20
|
+
@api_client = api_client
|
|
21
|
+
end
|
|
22
|
+
# Delete repository
|
|
23
|
+
# Delete the repository specified by name
|
|
24
|
+
# @param project_name The name of the project
|
|
25
|
+
# @param repository_name The name of the repository. If it contains slash, encode it with URL encoding. e.g. a/b -> a%252Fb
|
|
26
|
+
# @param [Hash] opts the optional parameters
|
|
27
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
28
|
+
# @return [nil]
|
|
29
|
+
def delete_repository(project_name, repository_name, opts = {})
|
|
30
|
+
delete_repository_with_http_info(project_name, repository_name, opts)
|
|
31
|
+
nil
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Delete repository
|
|
35
|
+
# Delete the repository specified by name
|
|
36
|
+
# @param project_name The name of the project
|
|
37
|
+
# @param repository_name The name of the repository. If it contains slash, encode it with URL encoding. e.g. a/b -> a%252Fb
|
|
38
|
+
# @param [Hash] opts the optional parameters
|
|
39
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
40
|
+
# @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
|
|
41
|
+
def delete_repository_with_http_info(project_name, repository_name, opts = {})
|
|
42
|
+
if @api_client.config.debugging
|
|
43
|
+
@api_client.config.logger.debug 'Calling API: RepositoryApi.delete_repository ...'
|
|
44
|
+
end
|
|
45
|
+
# verify the required parameter 'project_name' is set
|
|
46
|
+
if @api_client.config.client_side_validation && project_name.nil?
|
|
47
|
+
fail ArgumentError, "Missing the required parameter 'project_name' when calling RepositoryApi.delete_repository"
|
|
48
|
+
end
|
|
49
|
+
# verify the required parameter 'repository_name' is set
|
|
50
|
+
if @api_client.config.client_side_validation && repository_name.nil?
|
|
51
|
+
fail ArgumentError, "Missing the required parameter 'repository_name' when calling RepositoryApi.delete_repository"
|
|
52
|
+
end
|
|
53
|
+
if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
|
|
54
|
+
fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling RepositoryApi.delete_repository, the character length must be great than or equal to 1.'
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# resource path
|
|
58
|
+
local_var_path = '/projects/{project_name}/repositories/{repository_name}'.sub('{' + 'project_name' + '}', project_name.to_s).sub('{' + 'repository_name' + '}', repository_name.to_s)
|
|
59
|
+
|
|
60
|
+
# query parameters
|
|
61
|
+
query_params = {}
|
|
62
|
+
|
|
63
|
+
# header parameters
|
|
64
|
+
header_params = {}
|
|
65
|
+
# HTTP header 'Accept' (if needed)
|
|
66
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
67
|
+
# HTTP header 'Content-Type'
|
|
68
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
|
69
|
+
header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
|
|
70
|
+
|
|
71
|
+
# form parameters
|
|
72
|
+
form_params = {}
|
|
73
|
+
|
|
74
|
+
# http body (model)
|
|
75
|
+
post_body = nil
|
|
76
|
+
auth_names = ['basic']
|
|
77
|
+
data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
|
|
78
|
+
:header_params => header_params,
|
|
79
|
+
:query_params => query_params,
|
|
80
|
+
:form_params => form_params,
|
|
81
|
+
:body => post_body,
|
|
82
|
+
:auth_names => auth_names)
|
|
83
|
+
if @api_client.config.debugging
|
|
84
|
+
@api_client.config.logger.debug "API called: RepositoryApi#delete_repository\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
85
|
+
end
|
|
86
|
+
return data, status_code, headers
|
|
87
|
+
end
|
|
88
|
+
# Get repository
|
|
89
|
+
# Get the repository specified by name
|
|
90
|
+
# @param project_name The name of the project
|
|
91
|
+
# @param repository_name The name of the repository. If it contains slash, encode it with URL encoding. e.g. a/b -> a%252Fb
|
|
92
|
+
# @param [Hash] opts the optional parameters
|
|
93
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
94
|
+
# @return [Repository]
|
|
95
|
+
def get_repository(project_name, repository_name, opts = {})
|
|
96
|
+
data, _status_code, _headers = get_repository_with_http_info(project_name, repository_name, opts)
|
|
97
|
+
data
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
# Get repository
|
|
101
|
+
# Get the repository specified by name
|
|
102
|
+
# @param project_name The name of the project
|
|
103
|
+
# @param repository_name The name of the repository. If it contains slash, encode it with URL encoding. e.g. a/b -> a%252Fb
|
|
104
|
+
# @param [Hash] opts the optional parameters
|
|
105
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
106
|
+
# @return [Array<(Repository, Fixnum, Hash)>] Repository data, response status code and response headers
|
|
107
|
+
def get_repository_with_http_info(project_name, repository_name, opts = {})
|
|
108
|
+
if @api_client.config.debugging
|
|
109
|
+
@api_client.config.logger.debug 'Calling API: RepositoryApi.get_repository ...'
|
|
110
|
+
end
|
|
111
|
+
# verify the required parameter 'project_name' is set
|
|
112
|
+
if @api_client.config.client_side_validation && project_name.nil?
|
|
113
|
+
fail ArgumentError, "Missing the required parameter 'project_name' when calling RepositoryApi.get_repository"
|
|
114
|
+
end
|
|
115
|
+
# verify the required parameter 'repository_name' is set
|
|
116
|
+
if @api_client.config.client_side_validation && repository_name.nil?
|
|
117
|
+
fail ArgumentError, "Missing the required parameter 'repository_name' when calling RepositoryApi.get_repository"
|
|
118
|
+
end
|
|
119
|
+
if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
|
|
120
|
+
fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling RepositoryApi.get_repository, the character length must be great than or equal to 1.'
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
# resource path
|
|
124
|
+
local_var_path = '/projects/{project_name}/repositories/{repository_name}'.sub('{' + 'project_name' + '}', project_name.to_s).sub('{' + 'repository_name' + '}', repository_name.to_s)
|
|
125
|
+
|
|
126
|
+
# query parameters
|
|
127
|
+
query_params = {}
|
|
128
|
+
|
|
129
|
+
# header parameters
|
|
130
|
+
header_params = {}
|
|
131
|
+
# HTTP header 'Accept' (if needed)
|
|
132
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
133
|
+
# HTTP header 'Content-Type'
|
|
134
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
|
135
|
+
header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].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(:GET, 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
|
+
:return_type => 'Repository')
|
|
150
|
+
if @api_client.config.debugging
|
|
151
|
+
@api_client.config.logger.debug "API called: RepositoryApi#get_repository\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
152
|
+
end
|
|
153
|
+
return data, status_code, headers
|
|
154
|
+
end
|
|
155
|
+
# List repositories
|
|
156
|
+
# List repositories of the specified project
|
|
157
|
+
# @param project_name The name of the project
|
|
158
|
+
# @param [Hash] opts the optional parameters
|
|
159
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
160
|
+
# @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]
|
|
161
|
+
# @option opts [Integer] :page The page number (default to 1)
|
|
162
|
+
# @option opts [Integer] :page_size The size of per page (default to 10)
|
|
163
|
+
# @return [Array<Repository>]
|
|
164
|
+
def list_repositories(project_name, opts = {})
|
|
165
|
+
data, _status_code, _headers = list_repositories_with_http_info(project_name, opts)
|
|
166
|
+
data
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
# List repositories
|
|
170
|
+
# List repositories of the specified project
|
|
171
|
+
# @param project_name The name of the project
|
|
172
|
+
# @param [Hash] opts the optional parameters
|
|
173
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
174
|
+
# @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]
|
|
175
|
+
# @option opts [Integer] :page The page number
|
|
176
|
+
# @option opts [Integer] :page_size The size of per page
|
|
177
|
+
# @return [Array<(Array<Repository>, Fixnum, Hash)>] Array<Repository> data, response status code and response headers
|
|
178
|
+
def list_repositories_with_http_info(project_name, opts = {})
|
|
179
|
+
if @api_client.config.debugging
|
|
180
|
+
@api_client.config.logger.debug 'Calling API: RepositoryApi.list_repositories ...'
|
|
181
|
+
end
|
|
182
|
+
# verify the required parameter 'project_name' is set
|
|
183
|
+
if @api_client.config.client_side_validation && project_name.nil?
|
|
184
|
+
fail ArgumentError, "Missing the required parameter 'project_name' when calling RepositoryApi.list_repositories"
|
|
185
|
+
end
|
|
186
|
+
if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
|
|
187
|
+
fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling RepositoryApi.list_repositories, the character length must be great than or equal to 1.'
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 100
|
|
191
|
+
fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling RepositoryApi.list_repositories, must be smaller than or equal to 100.'
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
# resource path
|
|
195
|
+
local_var_path = '/projects/{project_name}/repositories'.sub('{' + 'project_name' + '}', project_name.to_s)
|
|
196
|
+
|
|
197
|
+
# query parameters
|
|
198
|
+
query_params = {}
|
|
199
|
+
query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil?
|
|
200
|
+
query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
|
|
201
|
+
query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
|
|
202
|
+
|
|
203
|
+
# header parameters
|
|
204
|
+
header_params = {}
|
|
205
|
+
# HTTP header 'Accept' (if needed)
|
|
206
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
207
|
+
# HTTP header 'Content-Type'
|
|
208
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
|
209
|
+
header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
|
|
210
|
+
|
|
211
|
+
# form parameters
|
|
212
|
+
form_params = {}
|
|
213
|
+
|
|
214
|
+
# http body (model)
|
|
215
|
+
post_body = nil
|
|
216
|
+
auth_names = ['basic']
|
|
217
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path,
|
|
218
|
+
:header_params => header_params,
|
|
219
|
+
:query_params => query_params,
|
|
220
|
+
:form_params => form_params,
|
|
221
|
+
:body => post_body,
|
|
222
|
+
:auth_names => auth_names,
|
|
223
|
+
:return_type => 'Array<Repository>')
|
|
224
|
+
if @api_client.config.debugging
|
|
225
|
+
@api_client.config.logger.debug "API called: RepositoryApi#list_repositories\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
226
|
+
end
|
|
227
|
+
return data, status_code, headers
|
|
228
|
+
end
|
|
229
|
+
# Update repository
|
|
230
|
+
# Update the repository specified by name
|
|
231
|
+
# @param project_name The name of the project
|
|
232
|
+
# @param repository_name The name of the repository. If it contains slash, encode it with URL encoding. e.g. a/b -> a%252Fb
|
|
233
|
+
# @param repository The JSON object of repository.
|
|
234
|
+
# @param [Hash] opts the optional parameters
|
|
235
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
236
|
+
# @return [nil]
|
|
237
|
+
def update_repository(project_name, repository_name, repository, opts = {})
|
|
238
|
+
update_repository_with_http_info(project_name, repository_name, repository, opts)
|
|
239
|
+
nil
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
# Update repository
|
|
243
|
+
# Update the repository specified by name
|
|
244
|
+
# @param project_name The name of the project
|
|
245
|
+
# @param repository_name The name of the repository. If it contains slash, encode it with URL encoding. e.g. a/b -> a%252Fb
|
|
246
|
+
# @param repository The JSON object of repository.
|
|
247
|
+
# @param [Hash] opts the optional parameters
|
|
248
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
249
|
+
# @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
|
|
250
|
+
def update_repository_with_http_info(project_name, repository_name, repository, opts = {})
|
|
251
|
+
if @api_client.config.debugging
|
|
252
|
+
@api_client.config.logger.debug 'Calling API: RepositoryApi.update_repository ...'
|
|
253
|
+
end
|
|
254
|
+
# verify the required parameter 'project_name' is set
|
|
255
|
+
if @api_client.config.client_side_validation && project_name.nil?
|
|
256
|
+
fail ArgumentError, "Missing the required parameter 'project_name' when calling RepositoryApi.update_repository"
|
|
257
|
+
end
|
|
258
|
+
# verify the required parameter 'repository_name' is set
|
|
259
|
+
if @api_client.config.client_side_validation && repository_name.nil?
|
|
260
|
+
fail ArgumentError, "Missing the required parameter 'repository_name' when calling RepositoryApi.update_repository"
|
|
261
|
+
end
|
|
262
|
+
# verify the required parameter 'repository' is set
|
|
263
|
+
if @api_client.config.client_side_validation && repository.nil?
|
|
264
|
+
fail ArgumentError, "Missing the required parameter 'repository' when calling RepositoryApi.update_repository"
|
|
265
|
+
end
|
|
266
|
+
if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
|
|
267
|
+
fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling RepositoryApi.update_repository, the character length must be great than or equal to 1.'
|
|
268
|
+
end
|
|
269
|
+
|
|
270
|
+
# resource path
|
|
271
|
+
local_var_path = '/projects/{project_name}/repositories/{repository_name}'.sub('{' + 'project_name' + '}', project_name.to_s).sub('{' + 'repository_name' + '}', repository_name.to_s)
|
|
272
|
+
|
|
273
|
+
# query parameters
|
|
274
|
+
query_params = {}
|
|
275
|
+
|
|
276
|
+
# header parameters
|
|
277
|
+
header_params = {}
|
|
278
|
+
# HTTP header 'Accept' (if needed)
|
|
279
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
280
|
+
# HTTP header 'Content-Type'
|
|
281
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
|
282
|
+
header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
|
|
283
|
+
|
|
284
|
+
# form parameters
|
|
285
|
+
form_params = {}
|
|
286
|
+
|
|
287
|
+
# http body (model)
|
|
288
|
+
post_body = @api_client.object_to_http_body(repository)
|
|
289
|
+
auth_names = ['basic']
|
|
290
|
+
data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
|
|
291
|
+
:header_params => header_params,
|
|
292
|
+
:query_params => query_params,
|
|
293
|
+
:form_params => form_params,
|
|
294
|
+
:body => post_body,
|
|
295
|
+
:auth_names => auth_names)
|
|
296
|
+
if @api_client.config.debugging
|
|
297
|
+
@api_client.config.logger.debug "API called: RepositoryApi#update_repository\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
298
|
+
end
|
|
299
|
+
return data, status_code, headers
|
|
300
|
+
end
|
|
301
|
+
end
|
|
302
|
+
end
|
|
@@ -0,0 +1,174 @@
|
|
|
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 ScanApi
|
|
17
|
+
attr_accessor :api_client
|
|
18
|
+
|
|
19
|
+
def initialize(api_client = ApiClient.default)
|
|
20
|
+
@api_client = api_client
|
|
21
|
+
end
|
|
22
|
+
# Get the log of the scan report
|
|
23
|
+
# Get the log of the scan report
|
|
24
|
+
# @param project_name The name of the project
|
|
25
|
+
# @param repository_name The name of the repository. If it contains slash, encode it with URL encoding. e.g. a/b -> a%252Fb
|
|
26
|
+
# @param reference The reference of the artifact, can be digest or tag
|
|
27
|
+
# @param report_id The report id to get the log
|
|
28
|
+
# @param [Hash] opts the optional parameters
|
|
29
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
30
|
+
# @return [String]
|
|
31
|
+
def get_report_log(project_name, repository_name, reference, report_id, opts = {})
|
|
32
|
+
data, _status_code, _headers = get_report_log_with_http_info(project_name, repository_name, reference, report_id, opts)
|
|
33
|
+
data
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Get the log of the scan report
|
|
37
|
+
# Get the log of the scan report
|
|
38
|
+
# @param project_name The name of the project
|
|
39
|
+
# @param repository_name The name of the repository. If it contains slash, encode it with URL encoding. e.g. a/b -> a%252Fb
|
|
40
|
+
# @param reference The reference of the artifact, can be digest or tag
|
|
41
|
+
# @param report_id The report id to get the log
|
|
42
|
+
# @param [Hash] opts the optional parameters
|
|
43
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
44
|
+
# @return [Array<(String, Fixnum, Hash)>] String data, response status code and response headers
|
|
45
|
+
def get_report_log_with_http_info(project_name, repository_name, reference, report_id, opts = {})
|
|
46
|
+
if @api_client.config.debugging
|
|
47
|
+
@api_client.config.logger.debug 'Calling API: ScanApi.get_report_log ...'
|
|
48
|
+
end
|
|
49
|
+
# verify the required parameter 'project_name' is set
|
|
50
|
+
if @api_client.config.client_side_validation && project_name.nil?
|
|
51
|
+
fail ArgumentError, "Missing the required parameter 'project_name' when calling ScanApi.get_report_log"
|
|
52
|
+
end
|
|
53
|
+
# verify the required parameter 'repository_name' is set
|
|
54
|
+
if @api_client.config.client_side_validation && repository_name.nil?
|
|
55
|
+
fail ArgumentError, "Missing the required parameter 'repository_name' when calling ScanApi.get_report_log"
|
|
56
|
+
end
|
|
57
|
+
# verify the required parameter 'reference' is set
|
|
58
|
+
if @api_client.config.client_side_validation && reference.nil?
|
|
59
|
+
fail ArgumentError, "Missing the required parameter 'reference' when calling ScanApi.get_report_log"
|
|
60
|
+
end
|
|
61
|
+
# verify the required parameter 'report_id' is set
|
|
62
|
+
if @api_client.config.client_side_validation && report_id.nil?
|
|
63
|
+
fail ArgumentError, "Missing the required parameter 'report_id' when calling ScanApi.get_report_log"
|
|
64
|
+
end
|
|
65
|
+
if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
|
|
66
|
+
fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling ScanApi.get_report_log, the character length must be great than or equal to 1.'
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
# resource path
|
|
70
|
+
local_var_path = '/projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/scan/{report_id}/log'.sub('{' + 'project_name' + '}', project_name.to_s).sub('{' + 'repository_name' + '}', repository_name.to_s).sub('{' + 'reference' + '}', reference.to_s).sub('{' + 'report_id' + '}', report_id.to_s)
|
|
71
|
+
|
|
72
|
+
# query parameters
|
|
73
|
+
query_params = {}
|
|
74
|
+
|
|
75
|
+
# header parameters
|
|
76
|
+
header_params = {}
|
|
77
|
+
# HTTP header 'Accept' (if needed)
|
|
78
|
+
header_params['Accept'] = @api_client.select_header_accept(['text/plain'])
|
|
79
|
+
# HTTP header 'Content-Type'
|
|
80
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
|
81
|
+
header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
|
|
82
|
+
|
|
83
|
+
# form parameters
|
|
84
|
+
form_params = {}
|
|
85
|
+
|
|
86
|
+
# http body (model)
|
|
87
|
+
post_body = nil
|
|
88
|
+
auth_names = ['basic']
|
|
89
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path,
|
|
90
|
+
:header_params => header_params,
|
|
91
|
+
:query_params => query_params,
|
|
92
|
+
:form_params => form_params,
|
|
93
|
+
:body => post_body,
|
|
94
|
+
:auth_names => auth_names,
|
|
95
|
+
:return_type => 'String')
|
|
96
|
+
if @api_client.config.debugging
|
|
97
|
+
@api_client.config.logger.debug "API called: ScanApi#get_report_log\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
98
|
+
end
|
|
99
|
+
return data, status_code, headers
|
|
100
|
+
end
|
|
101
|
+
# Scan the artifact
|
|
102
|
+
# Scan the specified artifact
|
|
103
|
+
# @param project_name The name of the project
|
|
104
|
+
# @param repository_name The name of the repository. If it contains slash, encode it with URL encoding. e.g. a/b -> a%252Fb
|
|
105
|
+
# @param reference The reference of the artifact, can be digest or tag
|
|
106
|
+
# @param [Hash] opts the optional parameters
|
|
107
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
108
|
+
# @return [nil]
|
|
109
|
+
def scan_artifact(project_name, repository_name, reference, opts = {})
|
|
110
|
+
scan_artifact_with_http_info(project_name, repository_name, reference, opts)
|
|
111
|
+
nil
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
# Scan the artifact
|
|
115
|
+
# Scan the specified artifact
|
|
116
|
+
# @param project_name The name of the project
|
|
117
|
+
# @param repository_name The name of the repository. If it contains slash, encode it with URL encoding. e.g. a/b -> a%252Fb
|
|
118
|
+
# @param reference The reference of the artifact, can be digest or tag
|
|
119
|
+
# @param [Hash] opts the optional parameters
|
|
120
|
+
# @option opts [String] :x_request_id An unique ID for the request
|
|
121
|
+
# @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
|
|
122
|
+
def scan_artifact_with_http_info(project_name, repository_name, reference, opts = {})
|
|
123
|
+
if @api_client.config.debugging
|
|
124
|
+
@api_client.config.logger.debug 'Calling API: ScanApi.scan_artifact ...'
|
|
125
|
+
end
|
|
126
|
+
# verify the required parameter 'project_name' is set
|
|
127
|
+
if @api_client.config.client_side_validation && project_name.nil?
|
|
128
|
+
fail ArgumentError, "Missing the required parameter 'project_name' when calling ScanApi.scan_artifact"
|
|
129
|
+
end
|
|
130
|
+
# verify the required parameter 'repository_name' is set
|
|
131
|
+
if @api_client.config.client_side_validation && repository_name.nil?
|
|
132
|
+
fail ArgumentError, "Missing the required parameter 'repository_name' when calling ScanApi.scan_artifact"
|
|
133
|
+
end
|
|
134
|
+
# verify the required parameter 'reference' is set
|
|
135
|
+
if @api_client.config.client_side_validation && reference.nil?
|
|
136
|
+
fail ArgumentError, "Missing the required parameter 'reference' when calling ScanApi.scan_artifact"
|
|
137
|
+
end
|
|
138
|
+
if @api_client.config.client_side_validation && !opts[:'x_request_id'].nil? && opts[:'x_request_id'].to_s.length < 1
|
|
139
|
+
fail ArgumentError, 'invalid value for "opts[:"x_request_id"]" when calling ScanApi.scan_artifact, the character length must be great than or equal to 1.'
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
# resource path
|
|
143
|
+
local_var_path = '/projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/scan'.sub('{' + 'project_name' + '}', project_name.to_s).sub('{' + 'repository_name' + '}', repository_name.to_s).sub('{' + 'reference' + '}', reference.to_s)
|
|
144
|
+
|
|
145
|
+
# query parameters
|
|
146
|
+
query_params = {}
|
|
147
|
+
|
|
148
|
+
# header parameters
|
|
149
|
+
header_params = {}
|
|
150
|
+
# HTTP header 'Accept' (if needed)
|
|
151
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
152
|
+
# HTTP header 'Content-Type'
|
|
153
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
|
154
|
+
header_params[:'X-Request-Id'] = opts[:'x_request_id'] if !opts[:'x_request_id'].nil?
|
|
155
|
+
|
|
156
|
+
# form parameters
|
|
157
|
+
form_params = {}
|
|
158
|
+
|
|
159
|
+
# http body (model)
|
|
160
|
+
post_body = nil
|
|
161
|
+
auth_names = ['basic']
|
|
162
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path,
|
|
163
|
+
:header_params => header_params,
|
|
164
|
+
:query_params => query_params,
|
|
165
|
+
:form_params => form_params,
|
|
166
|
+
:body => post_body,
|
|
167
|
+
:auth_names => auth_names)
|
|
168
|
+
if @api_client.config.debugging
|
|
169
|
+
@api_client.config.logger.debug "API called: ScanApi#scan_artifact\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
170
|
+
end
|
|
171
|
+
return data, status_code, headers
|
|
172
|
+
end
|
|
173
|
+
end
|
|
174
|
+
end
|