nexus_api 1.4.0 → 2.0.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 +4 -4
- data/CHANGELOG.md +46 -0
- data/Gemfile.lock +4 -4
- data/README.md +157 -11
- data/bin/test +2 -1
- data/lib/endpoints/assets.rb +9 -0
- data/lib/endpoints/components.rb +9 -0
- data/lib/endpoints/privileges.rb +27 -0
- data/lib/endpoints/repositories.rb +131 -15
- data/lib/endpoints/roles.rb +22 -0
- data/lib/endpoints/search.rb +17 -0
- data/lib/endpoints/tags.rb +11 -2
- data/lib/endpoints/users.rb +21 -0
- data/lib/nexus_api/cli_commands/list.rb +15 -0
- data/lib/nexus_api/docker_manager.rb +2 -2
- data/lib/nexus_api/nexus_connection.rb +11 -2
- data/lib/nexus_api/version.rb +1 -1
- data/lib/utilities/parameter_builder.rb +386 -46
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8cef507212dc118ed642feb046f02507b8d3d1dd5f6ef82ea575debf5f9ec435
|
4
|
+
data.tar.gz: d2cc63846f5ad0957d06ff7a2d1f894aebc43cd02f1897bdd8781ca13d755cb3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b5ed7626a93a6c8da54c4147dc55d8dd1cf7daa85af4397866a8942489c1ac4374495a66450a26f4f3b54e2ff55eb2f9931252445fd40b610c4f2f2df9475e7
|
7
|
+
data.tar.gz: 6b1a560d2f14f54d481c97c776c53980acbd8a99c203aa27ea933a0f90fcabad05257553332804474bd22a2ed23507b8f5d0a2c39e1316c4147b86a59cda9824
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,52 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
5
5
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
6
6
|
|
7
7
|
|
8
|
+
## [2.0.0](https://github.com/Cisco-AMP/nexus_api/compare/v1.6.1...v2.0.0) - 2020-07-27
|
9
|
+
### Added
|
10
|
+
- Fully implemented create methods for group, hosted, and proxy type repository in the following formats:
|
11
|
+
- docker
|
12
|
+
- maven
|
13
|
+
- npm
|
14
|
+
- pypi
|
15
|
+
- raw
|
16
|
+
- rubygems
|
17
|
+
- yum
|
18
|
+
|
19
|
+
|
20
|
+
### Changed
|
21
|
+
- Method signature for `NexusAPI::API.create_repository_docker_hosted()`
|
22
|
+
- Method signature for `NexusAPI::API.create_repository_maven_hosted()`
|
23
|
+
- Method signature for `NexusAPI::API.create_repository_npm_hosted()`
|
24
|
+
- Method signature for `NexusAPI::API.create_repository_pypi_hosted()`
|
25
|
+
- Method signature for `NexusAPI::API.create_repository_raw_hosted()`
|
26
|
+
- Method signature for `NexusAPI::API.create_repository_rubygems_hosted()`
|
27
|
+
- Method signature for `NexusAPI::API.create_repository_yum_hosted()`
|
28
|
+
|
29
|
+
|
30
|
+
## [1.6.1](https://github.com/Cisco-AMP/nexus_api/compare/v1.6.0...v1.6.1) - 2020-07-20
|
31
|
+
### Fixed
|
32
|
+
- Parameters for tag creation were being JSON encoded twice resulting in data Nexus could not parse
|
33
|
+
|
34
|
+
|
35
|
+
## [1.6.0](https://github.com/Cisco-AMP/nexus_api/compare/v1.5.0...v1.6.0) - 2020-07-20
|
36
|
+
### Added
|
37
|
+
- `create_repository_raw_hosted()`
|
38
|
+
- `create_repository_rubygems_hosted()`
|
39
|
+
|
40
|
+
|
41
|
+
## [1.5.0](https://github.com/Cisco-AMP/nexus_api/compare/v1.4.1...v1.5.0) - 2020-06-10
|
42
|
+
### Added
|
43
|
+
- New methods around the `privileges` endpoint
|
44
|
+
- New methods around the `roles` endpoint
|
45
|
+
- New methods around the `users` endpoint
|
46
|
+
- New `list_all_*` methods for endpoints that paginate so the user doesn't have to page through results themselves if they just want all the raw data
|
47
|
+
|
48
|
+
|
49
|
+
## [1.4.1](https://github.com/Cisco-AMP/nexus_api/compare/v1.4.0...v1.4.1) - 2020-05-08
|
50
|
+
### Changed
|
51
|
+
- Error reporting to be more descriptive
|
52
|
+
|
53
|
+
|
8
54
|
## [1.4.0](https://github.com/Cisco-AMP/nexus_api/compare/v1.3.0...v1.4.0) - 2020-05-05
|
9
55
|
### Added
|
10
56
|
- Optional `tag` parameter to `associate_tag()` and `delete_associated_tag()` methods
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
nexus_api (
|
4
|
+
nexus_api (2.0.0)
|
5
5
|
bundler (~> 2)
|
6
6
|
docker-api (~> 1.34.2)
|
7
7
|
dotenv (~> 2.7.5)
|
@@ -15,7 +15,7 @@ GEM
|
|
15
15
|
specs:
|
16
16
|
addressable (2.7.0)
|
17
17
|
public_suffix (>= 2.0.2, < 5.0)
|
18
|
-
coderay (1.1.
|
18
|
+
coderay (1.1.3)
|
19
19
|
crack (0.4.3)
|
20
20
|
safe_yaml (~> 1.0.0)
|
21
21
|
diff-lcs (1.3)
|
@@ -34,7 +34,7 @@ GEM
|
|
34
34
|
method_source (0.9.2)
|
35
35
|
mime-types (3.3.1)
|
36
36
|
mime-types-data (~> 3.2015)
|
37
|
-
mime-types-data (3.2020.
|
37
|
+
mime-types-data (3.2020.0512)
|
38
38
|
multi_json (1.14.1)
|
39
39
|
netrc (0.11.0)
|
40
40
|
pry (0.12.2)
|
@@ -84,4 +84,4 @@ DEPENDENCIES
|
|
84
84
|
webmock (~> 3.8)
|
85
85
|
|
86
86
|
BUNDLED WITH
|
87
|
-
2.
|
87
|
+
2.1.4
|
data/README.md
CHANGED
@@ -5,10 +5,10 @@ A ruby gem that wraps the [Sonatype Nexus Repository Manager 3](https://help.son
|
|
5
5
|
## Latest Version Tested
|
6
6
|
Title | Value
|
7
7
|
---|---
|
8
|
-
**Version** | `3.
|
8
|
+
**Version** | `3.24.0-02`
|
9
9
|
**Edition** | `PRO`
|
10
|
-
**Build Revision** | `
|
11
|
-
**Build Timestamp** | `2020-03-
|
10
|
+
**Build Revision** | `302d6f23f1414581162efaf0fa7b4d81dbf9b251`
|
11
|
+
**Build Timestamp** | `2020-06-03-2332-51567`
|
12
12
|
|
13
13
|
|
14
14
|
## Installation
|
@@ -59,38 +59,177 @@ api = NexusAPI::API.new(
|
|
59
59
|
username: NEXUS_USERNAME,
|
60
60
|
password: NEXUS_PASSWORD,
|
61
61
|
hostname: NEXUS_HOSTNAME,
|
62
|
-
docker_pull_hostname:
|
63
|
-
docker_push_hostname:
|
62
|
+
docker_pull_hostname: DOCKER_PULL_HOSTNAME, # Optional
|
63
|
+
docker_push_hostname: DOCKER_PUSH_HOSTNAME, # Optional
|
64
64
|
config: "team_configs/#{CONFIG_NAME}", # Optional
|
65
65
|
)
|
66
66
|
# NOTE: All Docker commands will fail if the docker hostnames are not initialized
|
67
67
|
|
68
|
+
|
69
|
+
# You can create various types of repositories in different formats
|
70
|
+
api.create_repository_docker_group(
|
71
|
+
name: REPOSITORY_NAME,
|
72
|
+
members: REPOSITORY_MEMBERS,
|
73
|
+
options: HASH_OF_REPOSITORY_OPTIONS # Optional
|
74
|
+
)
|
75
|
+
api.create_repository_docker_hosted(
|
76
|
+
name: REPOSITORY_NAME,
|
77
|
+
options: HASH_OF_REPOSITORY_OPTIONS # Optional
|
78
|
+
)
|
79
|
+
api.create_repository_docker_proxy(
|
80
|
+
name: REPOSITORY_NAME,
|
81
|
+
remote_url: URL_TO_PROXY,
|
82
|
+
options: HASH_OF_REPOSITORY_OPTIONS # Optional
|
83
|
+
)
|
84
|
+
|
85
|
+
api.create_repository_maven_group(
|
86
|
+
name: REPOSITORY_NAME,
|
87
|
+
members: REPOSITORY_MEMBERS,
|
88
|
+
options: HASH_OF_REPOSITORY_OPTIONS # Optional
|
89
|
+
)
|
90
|
+
api.create_repository_maven_hosted(
|
91
|
+
name: REPOSITORY_NAME,
|
92
|
+
options: HASH_OF_REPOSITORY_OPTIONS # Optional
|
93
|
+
)
|
94
|
+
api.create_repository_maven_proxy(
|
95
|
+
name: REPOSITORY_NAME,
|
96
|
+
remote_url: URL_TO_PROXY,
|
97
|
+
options: HASH_OF_REPOSITORY_OPTIONS # Optional
|
98
|
+
)
|
99
|
+
|
100
|
+
api.create_repository_npm_group(
|
101
|
+
name: REPOSITORY_NAME,
|
102
|
+
members: REPOSITORY_MEMBERS,
|
103
|
+
options: HASH_OF_REPOSITORY_OPTIONS # Optional
|
104
|
+
)
|
105
|
+
api.create_repository_npm_hosted(
|
106
|
+
name: REPOSITORY_NAME,
|
107
|
+
options: HASH_OF_REPOSITORY_OPTIONS # Optional
|
108
|
+
)
|
109
|
+
api.create_repository_npm_proxy(
|
110
|
+
name: REPOSITORY_NAME,
|
111
|
+
remote_url: URL_TO_PROXY,
|
112
|
+
options: HASH_OF_REPOSITORY_OPTIONS # Optional
|
113
|
+
)
|
114
|
+
|
115
|
+
api.create_repository_pypi_group(
|
116
|
+
name: REPOSITORY_NAME,
|
117
|
+
members: REPOSITORY_MEMBERS,
|
118
|
+
options: HASH_OF_REPOSITORY_OPTIONS # Optional
|
119
|
+
)
|
120
|
+
api.create_repository_pypi_hosted(
|
121
|
+
name: REPOSITORY_NAME,
|
122
|
+
options: HASH_OF_REPOSITORY_OPTIONS # Optional
|
123
|
+
)
|
124
|
+
api.create_repository_pypi_proxy(
|
125
|
+
name: REPOSITORY_NAME,
|
126
|
+
remote_url: URL_TO_PROXY,
|
127
|
+
options: HASH_OF_REPOSITORY_OPTIONS # Optional
|
128
|
+
)
|
129
|
+
|
130
|
+
api.create_repository_raw_group(
|
131
|
+
name: REPOSITORY_NAME,
|
132
|
+
members: REPOSITORY_MEMBERS,
|
133
|
+
options: HASH_OF_REPOSITORY_OPTIONS # Optional
|
134
|
+
)
|
135
|
+
api.create_repository_raw_hosted(
|
136
|
+
name: REPOSITORY_NAME,
|
137
|
+
options: HASH_OF_REPOSITORY_OPTIONS # Optional
|
138
|
+
)
|
139
|
+
api.create_repository_raw_proxy(
|
140
|
+
name: REPOSITORY_NAME,
|
141
|
+
remote_url: URL_TO_PROXY,
|
142
|
+
options: HASH_OF_REPOSITORY_OPTIONS # Optional
|
143
|
+
)
|
144
|
+
|
145
|
+
api.create_repository_rubygems_group(
|
146
|
+
name: REPOSITORY_NAME,
|
147
|
+
members: REPOSITORY_MEMBERS,
|
148
|
+
options: HASH_OF_REPOSITORY_OPTIONS # Optional
|
149
|
+
)
|
150
|
+
api.create_repository_rubygems_hosted(
|
151
|
+
name: REPOSITORY_NAME,
|
152
|
+
options: HASH_OF_REPOSITORY_OPTIONS # Optional
|
153
|
+
)
|
154
|
+
api.create_repository_rubygems_proxy(
|
155
|
+
name: REPOSITORY_NAME,
|
156
|
+
remote_url: URL_TO_PROXY,
|
157
|
+
options: HASH_OF_REPOSITORY_OPTIONS # Optional
|
158
|
+
)
|
159
|
+
|
160
|
+
api.create_repository_yum_group(
|
161
|
+
name: REPOSITORY_NAME,
|
162
|
+
members: REPOSITORY_MEMBERS,
|
163
|
+
options: HASH_OF_REPOSITORY_OPTIONS # Optional
|
164
|
+
)
|
165
|
+
api.create_repository_yum_hosted(
|
166
|
+
name: REPOSITORY_NAME,
|
167
|
+
options: HASH_OF_REPOSITORY_OPTIONS # Optional
|
168
|
+
)
|
169
|
+
api.create_repository_yum_proxy(
|
170
|
+
name: REPOSITORY_NAME,
|
171
|
+
remote_url: URL_TO_PROXY,
|
172
|
+
options: HASH_OF_REPOSITORY_OPTIONS # Optional
|
173
|
+
)
|
174
|
+
|
175
|
+
|
68
176
|
# You can query information through the list methods
|
69
|
-
api.
|
70
|
-
api.
|
71
|
-
api.list_assets(repository: REPOSITORY_NAME)
|
177
|
+
api.list_all_assets(repository: REPOSITORY_NAME)
|
178
|
+
api.list_assets(repository: REPOSITORY_NAME, paginate: BOOLEAN)
|
72
179
|
api.list_asset(id: ASSET_ID)
|
73
|
-
|
180
|
+
|
181
|
+
api.list_all_components(repository: REPOSITORY_NAME)
|
182
|
+
api.list_components(repository: REPOSITORY_NAME, paginate: BOOLEAN)
|
74
183
|
api.list_component(id: ASSET_ID)
|
184
|
+
|
185
|
+
api.list_privileges
|
186
|
+
api.list_privilege(privilege_id: ID)
|
187
|
+
|
188
|
+
api.list_repositories
|
189
|
+
api.list_repository_names
|
190
|
+
|
191
|
+
api.list_roles
|
192
|
+
api.list_role(id: ROLE_ID)
|
193
|
+
|
75
194
|
api.list_scripts
|
76
|
-
|
195
|
+
|
196
|
+
api.list_all_tags
|
197
|
+
api.list_tags(paginate: BOOLEAN)
|
198
|
+
|
199
|
+
api.list_users
|
200
|
+
|
77
201
|
|
78
202
|
# You can search for an asset by its name
|
79
203
|
# Optionally, you can pass in additional fields to filter the results
|
204
|
+
api.search_all_assets(
|
205
|
+
name: ASSET_NAME,
|
206
|
+
format: REPOSITORY_FORMAT, # Optional
|
207
|
+
repository: REPOSITORY_NAME, # Optional
|
208
|
+
sha1: SHA1, # Optional
|
209
|
+
version: VERSION, # Optional
|
210
|
+
)
|
211
|
+
# You can also paginate through the results if you want to do some additional filtering
|
80
212
|
api.search_asset(
|
81
213
|
name: ASSET_NAME,
|
82
214
|
format: REPOSITORY_FORMAT, # Optional
|
83
215
|
repository: REPOSITORY_NAME, # Optional
|
84
216
|
sha1: SHA1, # Optional
|
85
217
|
version: VERSION, # Optional
|
218
|
+
paginate: BOOLEAN # Optional
|
86
219
|
)
|
87
220
|
|
221
|
+
|
88
222
|
# The following endpoints will paginate:
|
89
223
|
# - list_assets
|
90
224
|
# - list_components
|
91
225
|
# - list_tags
|
92
226
|
# - search_asset
|
93
|
-
#
|
227
|
+
# Or you can use the following methods to automatically gather data from all pages for you:
|
228
|
+
# - list_all_assets
|
229
|
+
# - list_all_components
|
230
|
+
# - list_all_tags
|
231
|
+
# - search_all_assets
|
232
|
+
# Or you can use the following pattern to page through if additional processing is desired:
|
94
233
|
set = Array.new.tap do |set|
|
95
234
|
loop do
|
96
235
|
set.concat(api.METHOD_YOU_WANT(ARGUMENTS, paginate: true))
|
@@ -98,9 +237,11 @@ set = Array.new.tap do |set|
|
|
98
237
|
end
|
99
238
|
end
|
100
239
|
|
240
|
+
|
101
241
|
# You can move all components that are tagged to a new destination
|
102
242
|
api.move_components_to(destination: DESTINATION, tag: TAG)
|
103
243
|
|
244
|
+
|
104
245
|
# You can download an asset by using its asset_id
|
105
246
|
# Optionally, you can rename the file on download
|
106
247
|
api.download(
|
@@ -108,6 +249,7 @@ api.download(
|
|
108
249
|
name: NEW_FILE_NAME, # Optional
|
109
250
|
)
|
110
251
|
|
252
|
+
|
111
253
|
# Different asset types require differing information to be uploaded
|
112
254
|
# Optionally, you can tag the component provided the tag already exists
|
113
255
|
api.upload_maven_component(
|
@@ -146,12 +288,14 @@ api.upload_yum_component(
|
|
146
288
|
tag: TAG, # Optional
|
147
289
|
)
|
148
290
|
|
291
|
+
|
149
292
|
# Docker is a special case and uses the local Docker daemon
|
150
293
|
# If this daemon is not installed and running these methods will fail
|
151
294
|
# NOTE: Docker login/logout is handled as part of the docker methods
|
152
295
|
api.download_docker_component(image: IMAGE_NAME, tag: DOCKER_TAG)
|
153
296
|
api.upload_docker_component(image: IMAGE_NAME, tag: DOCKER_TAG)
|
154
297
|
|
298
|
+
|
155
299
|
# You can create/delete tags and associate/disassociate them from components
|
156
300
|
# (we use the SHA1 rather than the file name because the Nexus search is inconsistent)
|
157
301
|
api.create_tag(name: TAG)
|
@@ -159,10 +303,12 @@ api.associate_tag(name: TAG, sha1: SHA1_SUM, repository: REPOSITORY_NAME)
|
|
159
303
|
api.delete_associated_tag(name: TAG, sha1: SHA1_SUM, repository: REPOSITORY_NAME)
|
160
304
|
api.delete_tag(name: TAG)
|
161
305
|
|
306
|
+
|
162
307
|
# You can query the Nexus status
|
163
308
|
api.status
|
164
309
|
api.status_writable
|
165
310
|
|
311
|
+
|
166
312
|
# Using an asset's URL you can gather its filesize as a String
|
167
313
|
api.get_asset_size(asset_url: URL)
|
168
314
|
```
|
data/bin/test
CHANGED
data/lib/endpoints/assets.rb
CHANGED
@@ -6,6 +6,15 @@ module NexusAPI
|
|
6
6
|
@connection.get_response(endpoint: "assets?repository=#{repository}", paginate: paginate)
|
7
7
|
end
|
8
8
|
|
9
|
+
def list_all_assets(repository: nil)
|
10
|
+
assets = Array.new.tap do |assets|
|
11
|
+
loop do
|
12
|
+
assets.concat(list_assets(repository: repository, paginate: true))
|
13
|
+
break unless paginate?
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
9
18
|
# GET /service/rest/v1/assets/{id}
|
10
19
|
def list_asset(id:)
|
11
20
|
@connection.get_response(endpoint: "assets/#{id}")
|
data/lib/endpoints/components.rb
CHANGED
@@ -6,6 +6,15 @@ module NexusAPI
|
|
6
6
|
@connection.get_response(endpoint: "components?repository=#{repository}", paginate: paginate)
|
7
7
|
end
|
8
8
|
|
9
|
+
def list_all_components(repository: nil)
|
10
|
+
components = Array.new.tap do |components|
|
11
|
+
loop do
|
12
|
+
components.concat(list_components(repository: repository, paginate: true))
|
13
|
+
break unless paginate?
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
9
18
|
# POST /service/rest/v1/components
|
10
19
|
def upload_maven_component(filename:, group_id:, artifact_id:, version:, repository: nil, tag: nil)
|
11
20
|
repository ||= @team_config.maven_repository
|
data/lib/endpoints/privileges.rb
CHANGED
@@ -1,8 +1,20 @@
|
|
1
1
|
module NexusAPI
|
2
2
|
class API
|
3
3
|
# GET /service/rest/beta/security/privileges
|
4
|
+
def list_privileges
|
5
|
+
@connection.get_response(endpoint: 'security/privileges', api_version: 'beta')
|
6
|
+
end
|
7
|
+
|
4
8
|
# GET /service/rest/beta/security/privileges/{privilegeId}
|
9
|
+
def list_privilege(privilege_id:)
|
10
|
+
@connection.get_response(endpoint: "security/privileges/#{privilege_id}", api_version: 'beta')
|
11
|
+
end
|
12
|
+
|
5
13
|
# DELETE /service/rest/beta/security/privileges/{privilegeId}
|
14
|
+
def delete_privilege(privilege_id:)
|
15
|
+
@connection.delete(endpoint: "security/privileges/#{privilege_id}", api_version: 'beta')
|
16
|
+
end
|
17
|
+
|
6
18
|
# POST /service/rest/beta/security/privileges/application
|
7
19
|
# PUT /service/rest/beta/security/privileges/application/{privilegeId}
|
8
20
|
# POST /service/rest/beta/security/privileges/repository-admin
|
@@ -10,6 +22,21 @@ module NexusAPI
|
|
10
22
|
# POST /service/rest/beta/security/privileges/repository-content-selector
|
11
23
|
# PUT /service/rest/beta/security/privileges/repository-content-selector/{privilegeId}
|
12
24
|
# POST /service/rest/beta/security/privileges/repository-view
|
25
|
+
def create_privilege_repository_view(name:, description: nil, actions: ['READ'], format: '*', repository: '*')
|
26
|
+
parameters = {
|
27
|
+
# The name is also used as the privilege_id
|
28
|
+
'name' => name,
|
29
|
+
'description' => description,
|
30
|
+
# READ, BROWSE, EDIT, ADD, DELETE, RUN, ASSOCIATE, DISASSOCIATE, ALL
|
31
|
+
'actions' => actions,
|
32
|
+
# The repository format (i.e 'nuget', 'npm') this privilege will grant access to (or * for all)
|
33
|
+
'format' => format,
|
34
|
+
# The name of the repository this privilege will grant access to (or * for all)
|
35
|
+
'repository' => repository
|
36
|
+
}
|
37
|
+
@connection.post(endpoint: 'security/privileges/repository-view', parameters: parameters, api_version: 'beta')
|
38
|
+
end
|
39
|
+
|
13
40
|
# PUT /service/rest/beta/security/privileges/repository-view/{privilegeId}
|
14
41
|
# POST /service/rest/beta/security/privileges/script
|
15
42
|
# PUT /service/rest/beta/security/privileges/script/{privilegeId}
|
@@ -31,18 +31,30 @@ module NexusAPI
|
|
31
31
|
# PUT /service/rest/beta/repositories/bower/hosted/{repositoryName}
|
32
32
|
# POST /service/rest/beta/repositories/bower/proxy
|
33
33
|
# PUT /service/rest/beta/repositories/bower/proxy/{repositoryName}
|
34
|
+
# POST /service/rest/beta/repositories/cocoapods/proxy
|
35
|
+
# PUT /service/rest/beta/repositories/cocoapods/proxy/{repositoryName}
|
34
36
|
# POST /service/rest/beta/repositories/conan/proxy
|
35
37
|
# PUT /service/rest/beta/repositories/conan/proxy/{repositoryName}
|
36
38
|
# POST /service/rest/beta/repositories/docker/group
|
39
|
+
def create_repository_docker_group(name:, members:, options: {})
|
40
|
+
parameters = ParameterBuilder.docker_group(name, members, options)
|
41
|
+
create('repositories/docker/group', parameters)
|
42
|
+
end
|
43
|
+
|
37
44
|
# PUT /service/rest/beta/repositories/docker/group/{repositoryName}
|
38
45
|
# POST /service/rest/beta/repositories/docker/hosted
|
39
|
-
def create_repository_docker_hosted(name:,
|
40
|
-
parameters = ParameterBuilder.docker_hosted(name,
|
41
|
-
|
46
|
+
def create_repository_docker_hosted(name:, options: {})
|
47
|
+
parameters = ParameterBuilder.docker_hosted(name, options)
|
48
|
+
create('repositories/docker/hosted', parameters)
|
42
49
|
end
|
43
50
|
|
44
51
|
# PUT /service/rest/beta/repositories/docker/hosted/{repositoryName}
|
45
52
|
# POST /service/rest/beta/repositories/docker/proxy
|
53
|
+
def create_repository_docker_proxy(name:, remote_url:, options: {})
|
54
|
+
parameters = ParameterBuilder.docker_proxy(name, remote_url, options)
|
55
|
+
create('repositories/docker/proxy', parameters)
|
56
|
+
end
|
57
|
+
|
46
58
|
# PUT /service/rest/beta/repositories/docker/proxy/{repositoryName}
|
47
59
|
# POST /service/rest/beta/repositories/gitlfs/hosted
|
48
60
|
# PUT /service/rest/beta/repositories/gitlfs/hosted/{repositoryName}
|
@@ -54,25 +66,47 @@ module NexusAPI
|
|
54
66
|
# PUT /service/rest/beta/repositories/helm/hosted/{repositoryName}
|
55
67
|
# POST /service/rest/beta/repositories/helm/proxy
|
56
68
|
# PUT /service/rest/beta/repositories/helm/proxy/{repositoryName}
|
69
|
+
# POST /service/rest/beta/repositories/maven/group
|
70
|
+
def create_repository_maven_group(name:, members:, options: {})
|
71
|
+
parameters = ParameterBuilder.maven_group(name, members, options)
|
72
|
+
create('repositories/maven/group', parameters)
|
73
|
+
end
|
74
|
+
|
75
|
+
# PUT /service/rest/beta/repositories/maven/group/{repositoryName}
|
57
76
|
# POST /service/rest/beta/repositories/maven/hosted
|
58
|
-
def create_repository_maven_hosted(name:)
|
59
|
-
parameters = ParameterBuilder.maven_hosted(name)
|
60
|
-
|
77
|
+
def create_repository_maven_hosted(name:, options: {})
|
78
|
+
parameters = ParameterBuilder.maven_hosted(name, options)
|
79
|
+
create('repositories/maven/hosted', parameters)
|
61
80
|
end
|
62
81
|
|
63
82
|
# PUT /service/rest/beta/repositories/maven/hosted/{repositoryName}
|
64
83
|
# POST /service/rest/beta/repositories/maven/proxy
|
84
|
+
def create_repository_maven_proxy(name:, remote_url:, options: {})
|
85
|
+
parameters = ParameterBuilder.maven_proxy(name, remote_url, options)
|
86
|
+
create('repositories/maven/proxy', parameters)
|
87
|
+
end
|
88
|
+
|
65
89
|
# PUT /service/rest/beta/repositories/maven/proxy/{repositoryName}
|
66
90
|
# POST /service/rest/beta/repositories/npm/group
|
91
|
+
def create_repository_npm_group(name:, members:, options: {})
|
92
|
+
parameters = ParameterBuilder.npm_group(name, members, options)
|
93
|
+
create('repositories/npm/group', parameters)
|
94
|
+
end
|
95
|
+
|
67
96
|
# PUT /service/rest/beta/repositories/npm/group/{repositoryName}
|
68
97
|
# POST /service/rest/beta/repositories/npm/hosted
|
69
|
-
def create_repository_npm_hosted(name:)
|
70
|
-
parameters = ParameterBuilder.npm_hosted(name)
|
71
|
-
|
98
|
+
def create_repository_npm_hosted(name:, options: {})
|
99
|
+
parameters = ParameterBuilder.npm_hosted(name, options)
|
100
|
+
create('repositories/npm/hosted', parameters)
|
72
101
|
end
|
73
102
|
|
74
103
|
# PUT /service/rest/beta/repositories/npm/hosted/{repositoryName}
|
75
104
|
# POST /service/rest/beta/repositories/npm/proxy
|
105
|
+
def create_repository_npm_proxy(name:, remote_url:, options: {})
|
106
|
+
parameters = ParameterBuilder.npm_proxy(name, remote_url, options)
|
107
|
+
create('repositories/npm/proxy', parameters)
|
108
|
+
end
|
109
|
+
|
76
110
|
# PUT /service/rest/beta/repositories/npm/proxy/{repositoryName}
|
77
111
|
# POST /service/rest/beta/repositories/nuget/group
|
78
112
|
# PUT /service/rest/beta/repositories/nuget/group/{repositoryName}
|
@@ -83,22 +117,104 @@ module NexusAPI
|
|
83
117
|
# POST /service/rest/beta/repositories/p2/proxy
|
84
118
|
# PUT /service/rest/beta/repositories/p2/proxy/{repositoryName}
|
85
119
|
# POST /service/rest/beta/repositories/pypi/group
|
120
|
+
def create_repository_pypi_group(name:, members:, options: {})
|
121
|
+
parameters = ParameterBuilder.pypi_group(name, members, options)
|
122
|
+
create('repositories/pypi/group', parameters)
|
123
|
+
end
|
124
|
+
|
86
125
|
# PUT /service/rest/beta/repositories/pypi/group/{repositoryName}
|
87
126
|
# POST /service/rest/beta/repositories/pypi/hosted
|
88
|
-
def create_repository_pypi_hosted(name:)
|
89
|
-
parameters = ParameterBuilder.pypi_hosted(name)
|
90
|
-
|
127
|
+
def create_repository_pypi_hosted(name:, options: {})
|
128
|
+
parameters = ParameterBuilder.pypi_hosted(name, options)
|
129
|
+
create('repositories/pypi/hosted', parameters)
|
91
130
|
end
|
92
131
|
|
93
132
|
# PUT /service/rest/beta/repositories/pypi/hosted/{repositoryName}
|
94
133
|
# POST /service/rest/beta/repositories/pypi/proxy
|
134
|
+
def create_repository_pypi_proxy(name:, remote_url:, options: {})
|
135
|
+
parameters = ParameterBuilder.pypi_proxy(name, remote_url, options)
|
136
|
+
create('repositories/pypi/proxy', parameters)
|
137
|
+
end
|
138
|
+
|
95
139
|
# PUT /service/rest/beta/repositories/pypi/proxy/{repositoryName}
|
140
|
+
# POST /service/rest/beta/repositories/r/group
|
141
|
+
# PUT /service/rest/beta/repositories/r/group/{repositoryName}
|
142
|
+
# POST /service/rest/beta/repositories/r/hosted
|
143
|
+
# PUT /service/rest/beta/repositories/r/hosted/{repositoryName}
|
144
|
+
# POST /service/rest/beta/repositories/r/proxy
|
145
|
+
# PUT /service/rest/beta/repositories/r/proxy/{repositoryName}
|
146
|
+
# POST /service/rest/beta/repositories/raw/group
|
147
|
+
def create_repository_raw_group(name:, members:, options: {})
|
148
|
+
parameters = ParameterBuilder.raw_group(name, members, options)
|
149
|
+
create('repositories/raw/group', parameters)
|
150
|
+
end
|
151
|
+
|
152
|
+
# PUT /service/rest/beta/repositories/raw/group/{repositoryName}
|
153
|
+
# POST /service/rest/beta/repositories/raw/hosted
|
154
|
+
def create_repository_raw_hosted(name:, options: {})
|
155
|
+
parameters = ParameterBuilder.raw_hosted(name, options)
|
156
|
+
create('repositories/raw/hosted', parameters)
|
157
|
+
end
|
158
|
+
|
159
|
+
# PUT /service/rest/beta/repositories/raw/hosted/{repositoryName}
|
160
|
+
# POST /service/rest/beta/repositories/raw/proxy
|
161
|
+
def create_repository_raw_proxy(name:, remote_url:, options: {})
|
162
|
+
parameters = ParameterBuilder.raw_proxy(name, remote_url, options)
|
163
|
+
create('repositories/raw/proxy', parameters)
|
164
|
+
end
|
165
|
+
|
166
|
+
# PUT /service/rest/beta/repositories/raw/proxy/{repositoryName}
|
167
|
+
# POST /service/rest/beta/repositories/rubygems/group
|
168
|
+
def create_repository_rubygems_group(name:, members:, options: {})
|
169
|
+
parameters = ParameterBuilder.rubygems_group(name, members, options)
|
170
|
+
create('repositories/rubygems/group', parameters)
|
171
|
+
end
|
172
|
+
|
173
|
+
# PUT /service/rest/beta/repositories/rubygems/group/{repositoryName}
|
174
|
+
# POST /service/rest/beta/repositories/rubygems/hosted
|
175
|
+
def create_repository_rubygems_hosted(name:, options: {})
|
176
|
+
parameters = ParameterBuilder.rubygems_hosted(name, options)
|
177
|
+
create('repositories/rubygems/hosted', parameters)
|
178
|
+
end
|
179
|
+
|
180
|
+
# PUT /service/rest/beta/repositories/rubygems/hosted/{repositoryName}
|
181
|
+
# POST /service/rest/beta/repositories/rubygems/proxy
|
182
|
+
def create_repository_rubygems_proxy(name:, remote_url:, options: {})
|
183
|
+
parameters = ParameterBuilder.rubygems_proxy(name, remote_url, options)
|
184
|
+
create('repositories/rubygems/proxy', parameters)
|
185
|
+
end
|
186
|
+
|
187
|
+
# PUT /service/rest/beta/repositories/rubygems/proxy/{repositoryName}
|
188
|
+
# POST /service/rest/beta/repositories/yum/group
|
189
|
+
def create_repository_yum_group(name:, members:, options: {})
|
190
|
+
parameters = ParameterBuilder.yum_group(name, members, options)
|
191
|
+
create('repositories/yum/group', parameters)
|
192
|
+
end
|
193
|
+
|
194
|
+
# PUT /service/rest/beta/repositories/yum/group/{repositoryName}
|
96
195
|
# POST /service/rest/beta/repositories/yum/hosted
|
97
|
-
def create_repository_yum_hosted(name:,
|
98
|
-
parameters = ParameterBuilder.yum_hosted(name,
|
99
|
-
|
196
|
+
def create_repository_yum_hosted(name:, options: {})
|
197
|
+
parameters = ParameterBuilder.yum_hosted(name, options)
|
198
|
+
create('repositories/yum/hosted', parameters)
|
100
199
|
end
|
101
200
|
|
102
201
|
# PUT /service/rest/beta/repositories/yum/hosted/{repositoryName}
|
202
|
+
# POST /service/rest/beta/repositories/yum/proxy
|
203
|
+
def create_repository_yum_proxy(name:, remote_url:, options: {})
|
204
|
+
parameters = ParameterBuilder.yum_proxy(name, remote_url, options)
|
205
|
+
create('repositories/yum/proxy', parameters)
|
206
|
+
end
|
207
|
+
|
208
|
+
# PUT /service/rest/beta/repositories/yum/proxy/{repositoryName}
|
209
|
+
|
210
|
+
private
|
211
|
+
|
212
|
+
def create(endpoint, parameters)
|
213
|
+
@connection.post(
|
214
|
+
endpoint: endpoint,
|
215
|
+
parameters: parameters,
|
216
|
+
api_version: 'beta'
|
217
|
+
)
|
218
|
+
end
|
103
219
|
end
|
104
220
|
end
|