cloudsmith-api 2.0.38 → 2.0.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +14 -4
  4. data/build.json +1 -1
  5. data/docs/OrganizationApiKeyRule.md +1 -1
  6. data/docs/ReposApi.md +401 -0
  7. data/docs/Service.md +1 -1
  8. data/docs/SkillsUpstream.md +34 -0
  9. data/docs/SkillsUpstreamRequest.md +22 -0
  10. data/docs/SkillsUpstreamRequestPatch.md +22 -0
  11. data/docs/SkillsUpstreamSelection.md +10 -0
  12. data/lib/cloudsmith-api/api/repos_api.rb +395 -0
  13. data/lib/cloudsmith-api/models/huggingface_upstream.rb +2 -2
  14. data/lib/cloudsmith-api/models/huggingface_upstream_request.rb +2 -2
  15. data/lib/cloudsmith-api/models/huggingface_upstream_request_patch.rb +2 -2
  16. data/lib/cloudsmith-api/models/organization_api_key_rule.rb +1 -1
  17. data/lib/cloudsmith-api/models/service.rb +1 -1
  18. data/lib/cloudsmith-api/models/skills_upstream.rb +532 -0
  19. data/lib/cloudsmith-api/models/skills_upstream_request.rb +401 -0
  20. data/lib/cloudsmith-api/models/skills_upstream_request_patch.rb +391 -0
  21. data/lib/cloudsmith-api/models/skills_upstream_selection.rb +220 -0
  22. data/lib/cloudsmith-api/version.rb +1 -1
  23. data/lib/cloudsmith-api.rb +4 -0
  24. data/spec/api/repos_api_spec.rb +87 -0
  25. data/spec/models/huggingface_upstream_request_patch_spec.rb +1 -1
  26. data/spec/models/huggingface_upstream_request_spec.rb +1 -1
  27. data/spec/models/huggingface_upstream_spec.rb +1 -1
  28. data/spec/models/skills_upstream_request_patch_spec.rb +137 -0
  29. data/spec/models/skills_upstream_request_spec.rb +137 -0
  30. data/spec/models/skills_upstream_selection_spec.rb +53 -0
  31. data/spec/models/skills_upstream_spec.rb +213 -0
  32. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/autotest-fsevent-0.3.2/gem_make.out +1 -1
  33. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.1.3/gem_make.out +2 -2
  34. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.1.3/mkmf.log +4 -4
  35. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.17.4/gem_make.out +2 -2
  36. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.17.4/mkmf.log +1 -1
  37. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-2.7.6/gem_make.out +2 -2
  38. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-2.7.6/mkmf.log +1 -1
  39. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.3/ext/bigdecimal/Makefile +2 -2
  40. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/Makefile +2 -2
  41. data/vendor/bundle/ruby/2.6.0/gems/json-2.7.6/ext/json/ext/generator/Makefile +2 -2
  42. data/vendor/bundle/ruby/2.6.0/gems/json-2.7.6/ext/json/ext/parser/Makefile +2 -2
  43. metadata +18 -2
@@ -0,0 +1,401 @@
1
+ =begin
2
+ #Cloudsmith API (v1)
3
+
4
+ #The API to the Cloudsmith Service
5
+
6
+ OpenAPI spec version: v1
7
+ Contact: support@cloudsmith.io
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.52
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module CloudsmithApi
16
+ class SkillsUpstreamRequest
17
+ # The authentication mode to use when accessing this upstream.
18
+ attr_accessor :auth_mode
19
+
20
+ # Secret to provide with requests to upstream.
21
+ attr_accessor :auth_secret
22
+
23
+ # Username to provide with requests to upstream.
24
+ attr_accessor :auth_username
25
+
26
+ # The package types to serve from the upstream: skills, plugins, or both.
27
+ attr_accessor :contents
28
+
29
+ # The key for extra header #1 to send to upstream.
30
+ attr_accessor :extra_header_1
31
+
32
+ # The key for extra header #2 to send to upstream.
33
+ attr_accessor :extra_header_2
34
+
35
+ # The value for extra header #1 to send to upstream. This is stored as plaintext, and is NOT encrypted.
36
+ attr_accessor :extra_value_1
37
+
38
+ # The value for extra header #2 to send to upstream. This is stored as plaintext, and is NOT encrypted.
39
+ attr_accessor :extra_value_2
40
+
41
+ # Whether or not this upstream is active and ready for requests.
42
+ attr_accessor :is_active
43
+
44
+ # The mode that this upstream should operate in. Upstream sources can be used to proxy resolved packages, as well as operate in a proxy/cache or cache only mode.
45
+ attr_accessor :mode
46
+
47
+ # A descriptive name for this upstream source. A shortened version of this name will be used for tagging cached packages retrieved from this upstream.
48
+ attr_accessor :name
49
+
50
+ # Upstream sources are selected for resolving requests by sequential order (1..n), followed by creation date.
51
+ attr_accessor :priority
52
+
53
+ # Exact ClawHub releases to cache.
54
+ attr_accessor :selections
55
+
56
+ # The URL for this upstream source. This must be a fully qualified URL including any path elements required to reach the root of the repository.
57
+ attr_accessor :upstream_url
58
+
59
+ # If enabled, SSL certificates are verified when requests are made to this upstream. It's recommended to leave this enabled for all public sources to help mitigate Man-In-The-Middle (MITM) attacks. Please note this only applies to HTTPS upstreams.
60
+ attr_accessor :verify_ssl
61
+
62
+ class EnumAttributeValidator
63
+ attr_reader :datatype
64
+ attr_reader :allowable_values
65
+
66
+ def initialize(datatype, allowable_values)
67
+ @allowable_values = allowable_values.map do |value|
68
+ case datatype.to_s
69
+ when /Integer/i
70
+ value.to_i
71
+ when /Float/i
72
+ value.to_f
73
+ else
74
+ value
75
+ end
76
+ end
77
+ end
78
+
79
+ def valid?(value)
80
+ !value || allowable_values.include?(value)
81
+ end
82
+ end
83
+
84
+ # Attribute mapping from ruby-style variable name to JSON key.
85
+ def self.attribute_map
86
+ {
87
+ :'auth_mode' => :'auth_mode',
88
+ :'auth_secret' => :'auth_secret',
89
+ :'auth_username' => :'auth_username',
90
+ :'contents' => :'contents',
91
+ :'extra_header_1' => :'extra_header_1',
92
+ :'extra_header_2' => :'extra_header_2',
93
+ :'extra_value_1' => :'extra_value_1',
94
+ :'extra_value_2' => :'extra_value_2',
95
+ :'is_active' => :'is_active',
96
+ :'mode' => :'mode',
97
+ :'name' => :'name',
98
+ :'priority' => :'priority',
99
+ :'selections' => :'selections',
100
+ :'upstream_url' => :'upstream_url',
101
+ :'verify_ssl' => :'verify_ssl'
102
+ }
103
+ end
104
+
105
+ # Attribute type mapping.
106
+ def self.swagger_types
107
+ {
108
+ :'auth_mode' => :'String',
109
+ :'auth_secret' => :'String',
110
+ :'auth_username' => :'String',
111
+ :'contents' => :'String',
112
+ :'extra_header_1' => :'String',
113
+ :'extra_header_2' => :'String',
114
+ :'extra_value_1' => :'String',
115
+ :'extra_value_2' => :'String',
116
+ :'is_active' => :'BOOLEAN',
117
+ :'mode' => :'String',
118
+ :'name' => :'String',
119
+ :'priority' => :'Integer',
120
+ :'selections' => :'Array<SkillsUpstreamSelection>',
121
+ :'upstream_url' => :'String',
122
+ :'verify_ssl' => :'BOOLEAN'
123
+ }
124
+ end
125
+
126
+ # Initializes the object
127
+ # @param [Hash] attributes Model attributes in the form of hash
128
+ def initialize(attributes = {})
129
+ return unless attributes.is_a?(Hash)
130
+
131
+ # convert string to symbol for hash key
132
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
133
+
134
+ if attributes.has_key?(:'auth_mode')
135
+ self.auth_mode = attributes[:'auth_mode']
136
+ else
137
+ self.auth_mode = 'None'
138
+ end
139
+
140
+ if attributes.has_key?(:'auth_secret')
141
+ self.auth_secret = attributes[:'auth_secret']
142
+ end
143
+
144
+ if attributes.has_key?(:'auth_username')
145
+ self.auth_username = attributes[:'auth_username']
146
+ end
147
+
148
+ if attributes.has_key?(:'contents')
149
+ self.contents = attributes[:'contents']
150
+ else
151
+ self.contents = 'Skills'
152
+ end
153
+
154
+ if attributes.has_key?(:'extra_header_1')
155
+ self.extra_header_1 = attributes[:'extra_header_1']
156
+ end
157
+
158
+ if attributes.has_key?(:'extra_header_2')
159
+ self.extra_header_2 = attributes[:'extra_header_2']
160
+ end
161
+
162
+ if attributes.has_key?(:'extra_value_1')
163
+ self.extra_value_1 = attributes[:'extra_value_1']
164
+ end
165
+
166
+ if attributes.has_key?(:'extra_value_2')
167
+ self.extra_value_2 = attributes[:'extra_value_2']
168
+ end
169
+
170
+ if attributes.has_key?(:'is_active')
171
+ self.is_active = attributes[:'is_active']
172
+ end
173
+
174
+ if attributes.has_key?(:'mode')
175
+ self.mode = attributes[:'mode']
176
+ else
177
+ self.mode = 'Proxy Only'
178
+ end
179
+
180
+ if attributes.has_key?(:'name')
181
+ self.name = attributes[:'name']
182
+ end
183
+
184
+ if attributes.has_key?(:'priority')
185
+ self.priority = attributes[:'priority']
186
+ end
187
+
188
+ if attributes.has_key?(:'selections')
189
+ if (value = attributes[:'selections']).is_a?(Array)
190
+ self.selections = value
191
+ end
192
+ end
193
+
194
+ if attributes.has_key?(:'upstream_url')
195
+ self.upstream_url = attributes[:'upstream_url']
196
+ end
197
+
198
+ if attributes.has_key?(:'verify_ssl')
199
+ self.verify_ssl = attributes[:'verify_ssl']
200
+ end
201
+ end
202
+
203
+ # Show invalid properties with the reasons. Usually used together with valid?
204
+ # @return Array for valid properties with the reasons
205
+ def list_invalid_properties
206
+ invalid_properties = Array.new
207
+ if @name.nil?
208
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
209
+ end
210
+
211
+ if @upstream_url.nil?
212
+ invalid_properties.push('invalid value for "upstream_url", upstream_url cannot be nil.')
213
+ end
214
+
215
+ invalid_properties
216
+ end
217
+
218
+ # Check to see if the all the properties in the model are valid
219
+ # @return true if the model is valid
220
+ def valid?
221
+ auth_mode_validator = EnumAttributeValidator.new('String', ['None', 'Token'])
222
+ return false unless auth_mode_validator.valid?(@auth_mode)
223
+ contents_validator = EnumAttributeValidator.new('String', ['Skills', 'Plugins', 'Skills and plugins'])
224
+ return false unless contents_validator.valid?(@contents)
225
+ mode_validator = EnumAttributeValidator.new('String', ['Proxy Only', 'Cache and Proxy', 'Cache Only'])
226
+ return false unless mode_validator.valid?(@mode)
227
+ return false if @name.nil?
228
+ return false if @upstream_url.nil?
229
+ true
230
+ end
231
+
232
+ # Custom attribute writer method checking allowed values (enum).
233
+ # @param [Object] auth_mode Object to be assigned
234
+ def auth_mode=(auth_mode)
235
+ validator = EnumAttributeValidator.new('String', ['None', 'Token'])
236
+ unless validator.valid?(auth_mode)
237
+ fail ArgumentError, 'invalid value for "auth_mode", must be one of #{validator.allowable_values}.'
238
+ end
239
+ @auth_mode = auth_mode
240
+ end
241
+
242
+ # Custom attribute writer method checking allowed values (enum).
243
+ # @param [Object] contents Object to be assigned
244
+ def contents=(contents)
245
+ validator = EnumAttributeValidator.new('String', ['Skills', 'Plugins', 'Skills and plugins'])
246
+ unless validator.valid?(contents)
247
+ fail ArgumentError, 'invalid value for "contents", must be one of #{validator.allowable_values}.'
248
+ end
249
+ @contents = contents
250
+ end
251
+
252
+ # Custom attribute writer method checking allowed values (enum).
253
+ # @param [Object] mode Object to be assigned
254
+ def mode=(mode)
255
+ validator = EnumAttributeValidator.new('String', ['Proxy Only', 'Cache and Proxy', 'Cache Only'])
256
+ unless validator.valid?(mode)
257
+ fail ArgumentError, 'invalid value for "mode", must be one of #{validator.allowable_values}.'
258
+ end
259
+ @mode = mode
260
+ end
261
+
262
+ # Checks equality by comparing each attribute.
263
+ # @param [Object] Object to be compared
264
+ def ==(o)
265
+ return true if self.equal?(o)
266
+ self.class == o.class &&
267
+ auth_mode == o.auth_mode &&
268
+ auth_secret == o.auth_secret &&
269
+ auth_username == o.auth_username &&
270
+ contents == o.contents &&
271
+ extra_header_1 == o.extra_header_1 &&
272
+ extra_header_2 == o.extra_header_2 &&
273
+ extra_value_1 == o.extra_value_1 &&
274
+ extra_value_2 == o.extra_value_2 &&
275
+ is_active == o.is_active &&
276
+ mode == o.mode &&
277
+ name == o.name &&
278
+ priority == o.priority &&
279
+ selections == o.selections &&
280
+ upstream_url == o.upstream_url &&
281
+ verify_ssl == o.verify_ssl
282
+ end
283
+
284
+ # @see the `==` method
285
+ # @param [Object] Object to be compared
286
+ def eql?(o)
287
+ self == o
288
+ end
289
+
290
+ # Calculates hash code according to all attributes.
291
+ # @return [Fixnum] Hash code
292
+ def hash
293
+ [auth_mode, auth_secret, auth_username, contents, extra_header_1, extra_header_2, extra_value_1, extra_value_2, is_active, mode, name, priority, selections, upstream_url, verify_ssl].hash
294
+ end
295
+
296
+ # Builds the object from hash
297
+ # @param [Hash] attributes Model attributes in the form of hash
298
+ # @return [Object] Returns the model itself
299
+ def build_from_hash(attributes)
300
+ return nil unless attributes.is_a?(Hash)
301
+ self.class.swagger_types.each_pair do |key, type|
302
+ if type =~ /\AArray<(.*)>/i
303
+ # check to ensure the input is an array given that the attribute
304
+ # is documented as an array but the input is not
305
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
306
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
307
+ end
308
+ elsif !attributes[self.class.attribute_map[key]].nil?
309
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
310
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
311
+ end
312
+
313
+ self
314
+ end
315
+
316
+ # Deserializes the data based on type
317
+ # @param string type Data type
318
+ # @param string value Value to be deserialized
319
+ # @return [Object] Deserialized data
320
+ def _deserialize(type, value)
321
+ case type.to_sym
322
+ when :DateTime
323
+ DateTime.parse(value)
324
+ when :Date
325
+ Date.parse(value)
326
+ when :String
327
+ value.to_s
328
+ when :Integer
329
+ value.to_i
330
+ when :Float
331
+ value.to_f
332
+ when :BOOLEAN
333
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
334
+ true
335
+ else
336
+ false
337
+ end
338
+ when :Object
339
+ # generic object (usually a Hash), return directly
340
+ value
341
+ when /\AArray<(?<inner_type>.+)>\z/
342
+ inner_type = Regexp.last_match[:inner_type]
343
+ value.map { |v| _deserialize(inner_type, v) }
344
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
345
+ k_type = Regexp.last_match[:k_type]
346
+ v_type = Regexp.last_match[:v_type]
347
+ {}.tap do |hash|
348
+ value.each do |k, v|
349
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
350
+ end
351
+ end
352
+ else # model
353
+ temp_model = CloudsmithApi.const_get(type).new
354
+ temp_model.build_from_hash(value)
355
+ end
356
+ end
357
+
358
+ # Returns the string representation of the object
359
+ # @return [String] String presentation of the object
360
+ def to_s
361
+ to_hash.to_s
362
+ end
363
+
364
+ # to_body is an alias to to_hash (backward compatibility)
365
+ # @return [Hash] Returns the object in the form of hash
366
+ def to_body
367
+ to_hash
368
+ end
369
+
370
+ # Returns the object in the form of hash
371
+ # @return [Hash] Returns the object in the form of hash
372
+ def to_hash
373
+ hash = {}
374
+ self.class.attribute_map.each_pair do |attr, param|
375
+ value = self.send(attr)
376
+ next if value.nil?
377
+ hash[param] = _to_hash(value)
378
+ end
379
+ hash
380
+ end
381
+
382
+ # Outputs non-array value in the form of hash
383
+ # For object, use to_hash. Otherwise, just return the value
384
+ # @param [Object] value Any valid value
385
+ # @return [Hash] Returns the value in the form of hash
386
+ def _to_hash(value)
387
+ if value.is_a?(Array)
388
+ value.compact.map { |v| _to_hash(v) }
389
+ elsif value.is_a?(Hash)
390
+ {}.tap do |hash|
391
+ value.each { |k, v| hash[k] = _to_hash(v) }
392
+ end
393
+ elsif value.respond_to? :to_hash
394
+ value.to_hash
395
+ else
396
+ value
397
+ end
398
+ end
399
+
400
+ end
401
+ end