cloudsmith-api 2.0.29 → 2.0.30

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 (290) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +26 -4
  4. data/build.json +1 -1
  5. data/docs/AlpinePackageUpload.md +4 -0
  6. data/docs/AlpinePackageUploadRequest.md +2 -0
  7. data/docs/CargoPackageUpload.md +4 -0
  8. data/docs/CargoPackageUploadRequest.md +2 -0
  9. data/docs/CocoapodsPackageUpload.md +4 -0
  10. data/docs/CocoapodsPackageUploadRequest.md +2 -0
  11. data/docs/ComposerPackageUpload.md +4 -0
  12. data/docs/ComposerPackageUploadRequest.md +2 -0
  13. data/docs/ConanPackageUpload.md +4 -0
  14. data/docs/ConanPackageUploadRequest.md +2 -0
  15. data/docs/CondaPackageUpload.md +4 -0
  16. data/docs/CondaPackageUploadRequest.md +2 -0
  17. data/docs/CranPackageUpload.md +4 -0
  18. data/docs/CranPackageUploadRequest.md +2 -0
  19. data/docs/DartPackageUpload.md +4 -0
  20. data/docs/DartPackageUploadRequest.md +2 -0
  21. data/docs/DebPackageUpload.md +4 -0
  22. data/docs/DebPackageUploadRequest.md +2 -0
  23. data/docs/DockerPackageUpload.md +4 -0
  24. data/docs/DockerPackageUploadRequest.md +2 -0
  25. data/docs/GenericPackageUpload.md +4 -0
  26. data/docs/GenericPackageUploadRequest.md +2 -0
  27. data/docs/GoPackageUpload.md +4 -0
  28. data/docs/GoPackageUploadRequest.md +2 -0
  29. data/docs/HelmPackageUpload.md +4 -0
  30. data/docs/HelmPackageUploadRequest.md +2 -0
  31. data/docs/HexPackageUpload.md +4 -0
  32. data/docs/HexPackageUploadRequest.md +2 -0
  33. data/docs/HuggingfacePackageUpload.md +4 -0
  34. data/docs/HuggingfacePackageUploadRequest.md +2 -0
  35. data/docs/InlineResponse200.md +5 -1
  36. data/docs/InlineResponse2001.md +3 -1
  37. data/docs/InlineResponse2002.md +1 -1
  38. data/docs/InlineResponse2003.md +8 -0
  39. data/docs/InlineResponse2004.md +8 -0
  40. data/docs/LuarocksPackageUpload.md +4 -0
  41. data/docs/LuarocksPackageUploadRequest.md +2 -0
  42. data/docs/MavenPackageUpload.md +4 -0
  43. data/docs/MavenPackageUploadRequest.md +2 -0
  44. data/docs/McpPackageUpload.md +4 -0
  45. data/docs/McpPackageUploadRequest.md +2 -0
  46. data/docs/NixPackageUpload.md +97 -0
  47. data/docs/NixPackageUploadRequest.md +14 -0
  48. data/docs/NixUpstream.md +32 -0
  49. data/docs/NixUpstreamRequest.md +20 -0
  50. data/docs/NixUpstreamRequestPatch.md +20 -0
  51. data/docs/NpmPackageUpload.md +4 -0
  52. data/docs/NpmPackageUploadRequest.md +2 -0
  53. data/docs/NugetPackageUpload.md +4 -0
  54. data/docs/NugetPackageUploadRequest.md +2 -0
  55. data/docs/OrganizationUsage.md +11 -0
  56. data/docs/OrganizationUsageUpdate.md +10 -0
  57. data/docs/OrganizationUsageUpdateRequestPatch.md +10 -0
  58. data/docs/OrgsApi.md +120 -0
  59. data/docs/P2PackageUpload.md +4 -0
  60. data/docs/P2PackageUploadRequest.md +2 -0
  61. data/docs/Package.md +4 -0
  62. data/docs/PackageCopy.md +4 -0
  63. data/docs/PackageCopyRequest.md +2 -0
  64. data/docs/PackageDetail.md +100 -0
  65. data/docs/PackageLicense.md +2 -0
  66. data/docs/PackageLicenseRequestPatch.md +3 -1
  67. data/docs/PackageMove.md +4 -0
  68. data/docs/PackageMoveRequest.md +2 -0
  69. data/docs/PackageQuarantine.md +4 -0
  70. data/docs/PackageQuarantineRequest.md +2 -0
  71. data/docs/PackageResync.md +4 -0
  72. data/docs/PackageTag.md +4 -0
  73. data/docs/PackageTagRequest.md +2 -0
  74. data/docs/PackageVulnerability.md +2 -0
  75. data/docs/PackagesApi.md +135 -4
  76. data/docs/PythonPackageUpload.md +4 -0
  77. data/docs/PythonPackageUploadRequest.md +2 -0
  78. data/docs/RawPackageUpload.md +4 -0
  79. data/docs/RawPackageUploadRequest.md +2 -0
  80. data/docs/RecycleBinPackage.md +2 -0
  81. data/docs/ReposApi.md +403 -2
  82. data/docs/RpmPackageUpload.md +4 -0
  83. data/docs/RpmPackageUploadRequest.md +2 -0
  84. data/docs/RubyPackageUpload.md +4 -0
  85. data/docs/RubyPackageUploadRequest.md +2 -0
  86. data/docs/SwiftPackageUpload.md +4 -0
  87. data/docs/SwiftPackageUploadRequest.md +2 -0
  88. data/docs/TerraformPackageUpload.md +4 -0
  89. data/docs/TerraformPackageUploadRequest.md +2 -0
  90. data/docs/UserApi.md +2 -2
  91. data/docs/VagrantPackageUpload.md +4 -0
  92. data/docs/VagrantPackageUploadRequest.md +2 -0
  93. data/docs/VsxPackageUpload.md +4 -0
  94. data/docs/VsxPackageUploadRequest.md +2 -0
  95. data/docs/WebOSVSeverityCounts.md +14 -0
  96. data/lib/cloudsmith-api/api/orgs_api.rb +106 -0
  97. data/lib/cloudsmith-api/api/packages_api.rb +129 -6
  98. data/lib/cloudsmith-api/api/repos_api.rb +398 -3
  99. data/lib/cloudsmith-api/api/user_api.rb +3 -3
  100. data/lib/cloudsmith-api/models/alpine_package_upload.rb +42 -1
  101. data/lib/cloudsmith-api/models/alpine_package_upload_request.rb +23 -4
  102. data/lib/cloudsmith-api/models/cargo_package_upload.rb +42 -1
  103. data/lib/cloudsmith-api/models/cargo_package_upload_request.rb +23 -4
  104. data/lib/cloudsmith-api/models/cocoapods_package_upload.rb +42 -1
  105. data/lib/cloudsmith-api/models/cocoapods_package_upload_request.rb +23 -4
  106. data/lib/cloudsmith-api/models/composer_package_upload.rb +42 -1
  107. data/lib/cloudsmith-api/models/composer_package_upload_request.rb +23 -4
  108. data/lib/cloudsmith-api/models/conan_package_upload.rb +42 -1
  109. data/lib/cloudsmith-api/models/conan_package_upload_request.rb +23 -4
  110. data/lib/cloudsmith-api/models/conda_package_upload.rb +42 -1
  111. data/lib/cloudsmith-api/models/conda_package_upload_request.rb +23 -4
  112. data/lib/cloudsmith-api/models/cran_package_upload.rb +42 -1
  113. data/lib/cloudsmith-api/models/cran_package_upload_request.rb +23 -4
  114. data/lib/cloudsmith-api/models/dart_package_upload.rb +42 -1
  115. data/lib/cloudsmith-api/models/dart_package_upload_request.rb +23 -4
  116. data/lib/cloudsmith-api/models/deb_package_upload.rb +42 -1
  117. data/lib/cloudsmith-api/models/deb_package_upload_request.rb +23 -4
  118. data/lib/cloudsmith-api/models/docker_package_upload.rb +42 -1
  119. data/lib/cloudsmith-api/models/docker_package_upload_request.rb +23 -4
  120. data/lib/cloudsmith-api/models/generic_package_upload.rb +42 -1
  121. data/lib/cloudsmith-api/models/generic_package_upload_request.rb +23 -4
  122. data/lib/cloudsmith-api/models/go_package_upload.rb +42 -1
  123. data/lib/cloudsmith-api/models/go_package_upload_request.rb +23 -4
  124. data/lib/cloudsmith-api/models/helm_package_upload.rb +42 -1
  125. data/lib/cloudsmith-api/models/helm_package_upload_request.rb +23 -4
  126. data/lib/cloudsmith-api/models/hex_package_upload.rb +42 -1
  127. data/lib/cloudsmith-api/models/hex_package_upload_request.rb +23 -4
  128. data/lib/cloudsmith-api/models/huggingface_package_upload.rb +42 -1
  129. data/lib/cloudsmith-api/models/huggingface_package_upload_request.rb +23 -4
  130. data/lib/cloudsmith-api/models/inline_response_200.rb +48 -14
  131. data/lib/cloudsmith-api/models/inline_response_200_1.rb +28 -14
  132. data/lib/cloudsmith-api/models/inline_response_200_2.rb +1 -1
  133. data/lib/cloudsmith-api/models/inline_response_200_3.rb +191 -0
  134. data/lib/cloudsmith-api/models/inline_response_200_4.rb +191 -0
  135. data/lib/cloudsmith-api/models/luarocks_package_upload.rb +42 -1
  136. data/lib/cloudsmith-api/models/luarocks_package_upload_request.rb +23 -4
  137. data/lib/cloudsmith-api/models/maven_package_upload.rb +42 -1
  138. data/lib/cloudsmith-api/models/maven_package_upload_request.rb +23 -4
  139. data/lib/cloudsmith-api/models/mcp_package_upload.rb +42 -1
  140. data/lib/cloudsmith-api/models/mcp_package_upload_request.rb +23 -4
  141. data/lib/cloudsmith-api/models/nix_package_upload.rb +1061 -0
  142. data/lib/cloudsmith-api/models/nix_package_upload_request.rb +249 -0
  143. data/lib/cloudsmith-api/models/nix_upstream.rb +496 -0
  144. data/lib/cloudsmith-api/models/nix_upstream_request.rb +365 -0
  145. data/lib/cloudsmith-api/models/nix_upstream_request_patch.rb +355 -0
  146. data/lib/cloudsmith-api/models/npm_package_upload.rb +42 -1
  147. data/lib/cloudsmith-api/models/npm_package_upload_request.rb +23 -4
  148. data/lib/cloudsmith-api/models/nuget_package_upload.rb +42 -1
  149. data/lib/cloudsmith-api/models/nuget_package_upload_request.rb +23 -4
  150. data/lib/cloudsmith-api/models/organization_usage.rb +215 -0
  151. data/lib/cloudsmith-api/models/organization_usage_update.rb +202 -0
  152. data/lib/cloudsmith-api/models/organization_usage_update_request_patch.rb +202 -0
  153. data/lib/cloudsmith-api/models/p2_package_upload.rb +42 -1
  154. data/lib/cloudsmith-api/models/p2_package_upload_request.rb +23 -4
  155. data/lib/cloudsmith-api/models/package.rb +42 -1
  156. data/lib/cloudsmith-api/models/package_copy.rb +42 -1
  157. data/lib/cloudsmith-api/models/package_copy_request.rb +23 -4
  158. data/lib/cloudsmith-api/models/package_detail.rb +1090 -0
  159. data/lib/cloudsmith-api/models/package_license.rb +23 -4
  160. data/lib/cloudsmith-api/models/package_license_request_patch.rb +28 -4
  161. data/lib/cloudsmith-api/models/package_move.rb +42 -1
  162. data/lib/cloudsmith-api/models/package_move_request.rb +23 -4
  163. data/lib/cloudsmith-api/models/package_quarantine.rb +42 -1
  164. data/lib/cloudsmith-api/models/package_quarantine_request.rb +23 -4
  165. data/lib/cloudsmith-api/models/package_resync.rb +42 -1
  166. data/lib/cloudsmith-api/models/package_tag.rb +42 -1
  167. data/lib/cloudsmith-api/models/package_tag_request.rb +23 -4
  168. data/lib/cloudsmith-api/models/package_vulnerability.rb +23 -4
  169. data/lib/cloudsmith-api/models/python_package_upload.rb +42 -1
  170. data/lib/cloudsmith-api/models/python_package_upload_request.rb +23 -4
  171. data/lib/cloudsmith-api/models/raw_package_upload.rb +42 -1
  172. data/lib/cloudsmith-api/models/raw_package_upload_request.rb +23 -4
  173. data/lib/cloudsmith-api/models/recycle_bin_package.rb +23 -4
  174. data/lib/cloudsmith-api/models/rpm_package_upload.rb +42 -1
  175. data/lib/cloudsmith-api/models/rpm_package_upload_request.rb +23 -4
  176. data/lib/cloudsmith-api/models/ruby_package_upload.rb +42 -1
  177. data/lib/cloudsmith-api/models/ruby_package_upload_request.rb +23 -4
  178. data/lib/cloudsmith-api/models/swift_package_upload.rb +42 -1
  179. data/lib/cloudsmith-api/models/swift_package_upload_request.rb +23 -4
  180. data/lib/cloudsmith-api/models/terraform_package_upload.rb +42 -1
  181. data/lib/cloudsmith-api/models/terraform_package_upload_request.rb +23 -4
  182. data/lib/cloudsmith-api/models/vagrant_package_upload.rb +42 -1
  183. data/lib/cloudsmith-api/models/vagrant_package_upload_request.rb +23 -4
  184. data/lib/cloudsmith-api/models/vsx_package_upload.rb +42 -1
  185. data/lib/cloudsmith-api/models/vsx_package_upload_request.rb +23 -4
  186. data/lib/cloudsmith-api/models/web_osv_severity_counts.rb +239 -0
  187. data/lib/cloudsmith-api/version.rb +1 -1
  188. data/lib/cloudsmith-api.rb +12 -0
  189. data/spec/api/orgs_api_spec.rb +23 -0
  190. data/spec/api/packages_api_spec.rb +30 -2
  191. data/spec/api/repos_api_spec.rb +88 -1
  192. data/spec/api/user_api_spec.rb +1 -1
  193. data/spec/models/alpine_package_upload_request_spec.rb +12 -0
  194. data/spec/models/alpine_package_upload_spec.rb +24 -0
  195. data/spec/models/cargo_package_upload_request_spec.rb +12 -0
  196. data/spec/models/cargo_package_upload_spec.rb +24 -0
  197. data/spec/models/cocoapods_package_upload_request_spec.rb +12 -0
  198. data/spec/models/cocoapods_package_upload_spec.rb +24 -0
  199. data/spec/models/composer_package_upload_request_spec.rb +12 -0
  200. data/spec/models/composer_package_upload_spec.rb +24 -0
  201. data/spec/models/conan_package_upload_request_spec.rb +12 -0
  202. data/spec/models/conan_package_upload_spec.rb +24 -0
  203. data/spec/models/conda_package_upload_request_spec.rb +12 -0
  204. data/spec/models/conda_package_upload_spec.rb +24 -0
  205. data/spec/models/cran_package_upload_request_spec.rb +12 -0
  206. data/spec/models/cran_package_upload_spec.rb +24 -0
  207. data/spec/models/dart_package_upload_request_spec.rb +12 -0
  208. data/spec/models/dart_package_upload_spec.rb +24 -0
  209. data/spec/models/deb_package_upload_request_spec.rb +12 -0
  210. data/spec/models/deb_package_upload_spec.rb +24 -0
  211. data/spec/models/docker_package_upload_request_spec.rb +12 -0
  212. data/spec/models/docker_package_upload_spec.rb +24 -0
  213. data/spec/models/generic_package_upload_request_spec.rb +12 -0
  214. data/spec/models/generic_package_upload_spec.rb +24 -0
  215. data/spec/models/go_package_upload_request_spec.rb +12 -0
  216. data/spec/models/go_package_upload_spec.rb +24 -0
  217. data/spec/models/helm_package_upload_request_spec.rb +12 -0
  218. data/spec/models/helm_package_upload_spec.rb +24 -0
  219. data/spec/models/hex_package_upload_request_spec.rb +12 -0
  220. data/spec/models/hex_package_upload_spec.rb +24 -0
  221. data/spec/models/huggingface_package_upload_request_spec.rb +12 -0
  222. data/spec/models/huggingface_package_upload_spec.rb +24 -0
  223. data/spec/models/inline_response_200_1_spec.rb +13 -1
  224. data/spec/models/inline_response_200_3_spec.rb +41 -0
  225. data/spec/models/inline_response_200_4_spec.rb +41 -0
  226. data/spec/models/inline_response_200_spec.rb +25 -1
  227. data/spec/models/luarocks_package_upload_request_spec.rb +12 -0
  228. data/spec/models/luarocks_package_upload_spec.rb +24 -0
  229. data/spec/models/maven_package_upload_request_spec.rb +12 -0
  230. data/spec/models/maven_package_upload_spec.rb +24 -0
  231. data/spec/models/mcp_package_upload_request_spec.rb +12 -0
  232. data/spec/models/mcp_package_upload_spec.rb +24 -0
  233. data/spec/models/nix_package_upload_request_spec.rb +77 -0
  234. data/spec/models/nix_package_upload_spec.rb +579 -0
  235. data/spec/models/nix_upstream_request_patch_spec.rb +121 -0
  236. data/spec/models/nix_upstream_request_spec.rb +121 -0
  237. data/spec/models/nix_upstream_spec.rb +197 -0
  238. data/spec/models/npm_package_upload_request_spec.rb +12 -0
  239. data/spec/models/npm_package_upload_spec.rb +24 -0
  240. data/spec/models/nuget_package_upload_request_spec.rb +12 -0
  241. data/spec/models/nuget_package_upload_spec.rb +24 -0
  242. data/spec/models/organization_usage_spec.rb +59 -0
  243. data/spec/models/organization_usage_update_request_patch_spec.rb +53 -0
  244. data/spec/models/organization_usage_update_spec.rb +53 -0
  245. data/spec/models/p2_package_upload_request_spec.rb +12 -0
  246. data/spec/models/p2_package_upload_spec.rb +24 -0
  247. data/spec/models/package_copy_request_spec.rb +12 -0
  248. data/spec/models/package_copy_spec.rb +24 -0
  249. data/spec/models/package_detail_spec.rb +597 -0
  250. data/spec/models/package_license_request_patch_spec.rb +12 -0
  251. data/spec/models/package_license_spec.rb +12 -0
  252. data/spec/models/package_move_request_spec.rb +12 -0
  253. data/spec/models/package_move_spec.rb +24 -0
  254. data/spec/models/package_quarantine_request_spec.rb +12 -0
  255. data/spec/models/package_quarantine_spec.rb +24 -0
  256. data/spec/models/package_resync_spec.rb +24 -0
  257. data/spec/models/package_spec.rb +24 -0
  258. data/spec/models/package_tag_request_spec.rb +12 -0
  259. data/spec/models/package_tag_spec.rb +24 -0
  260. data/spec/models/package_vulnerability_spec.rb +12 -0
  261. data/spec/models/python_package_upload_request_spec.rb +12 -0
  262. data/spec/models/python_package_upload_spec.rb +24 -0
  263. data/spec/models/raw_package_upload_request_spec.rb +12 -0
  264. data/spec/models/raw_package_upload_spec.rb +24 -0
  265. data/spec/models/recycle_bin_package_spec.rb +12 -0
  266. data/spec/models/rpm_package_upload_request_spec.rb +12 -0
  267. data/spec/models/rpm_package_upload_spec.rb +24 -0
  268. data/spec/models/ruby_package_upload_request_spec.rb +12 -0
  269. data/spec/models/ruby_package_upload_spec.rb +24 -0
  270. data/spec/models/swift_package_upload_request_spec.rb +12 -0
  271. data/spec/models/swift_package_upload_spec.rb +24 -0
  272. data/spec/models/terraform_package_upload_request_spec.rb +12 -0
  273. data/spec/models/terraform_package_upload_spec.rb +24 -0
  274. data/spec/models/vagrant_package_upload_request_spec.rb +12 -0
  275. data/spec/models/vagrant_package_upload_spec.rb +24 -0
  276. data/spec/models/vsx_package_upload_request_spec.rb +12 -0
  277. data/spec/models/vsx_package_upload_spec.rb +24 -0
  278. data/spec/models/web_osv_severity_counts_spec.rb +77 -0
  279. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/autotest-fsevent-0.3.2/gem_make.out +1 -1
  280. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.1.2/gem_make.out +2 -2
  281. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.1.2/mkmf.log +4 -4
  282. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.17.4/gem_make.out +2 -2
  283. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.17.4/mkmf.log +1 -1
  284. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-2.7.6/gem_make.out +2 -2
  285. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-2.7.6/mkmf.log +1 -1
  286. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/Makefile +2 -2
  287. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/Makefile +2 -2
  288. data/vendor/bundle/ruby/2.6.0/gems/json-2.7.6/ext/json/ext/generator/Makefile +2 -2
  289. data/vendor/bundle/ruby/2.6.0/gems/json-2.7.6/ext/json/ext/parser/Makefile +2 -2
  290. metadata +51 -3
@@ -78,6 +78,9 @@ class NugetPackageUpload
78
78
 
79
79
  attr_accessor :is_hidden
80
80
 
81
+ # Whether the package has been detected as containing malware. Requires Ultra plan.
82
+ attr_accessor :is_malware_detected
83
+
81
84
  attr_accessor :is_moveable
82
85
 
83
86
  attr_accessor :is_quarantinable
@@ -184,6 +187,9 @@ class NugetPackageUpload
184
187
 
185
188
  attr_accessor :status_url
186
189
 
190
+ # Absolute store path for the package, including store hash and name.
191
+ attr_accessor :store_path
192
+
187
193
  attr_accessor :subtype
188
194
 
189
195
  # A one-liner synopsis of this package.
@@ -199,6 +205,9 @@ class NugetPackageUpload
199
205
 
200
206
  attr_accessor :tags_immutable
201
207
 
208
+ # All static tags on the package, grouped by context. Static tags are derived from the package's properties at request time and carry a 'context' (rather than a tag type). Includes format-specific badges and the package's architecture, subtype, and extension.
209
+ attr_accessor :tags_static
210
+
202
211
  attr_accessor :type_display
203
212
 
204
213
  # The date this package was uploaded.
@@ -213,6 +222,8 @@ class NugetPackageUpload
213
222
 
214
223
  attr_accessor :version_orig
215
224
 
225
+ attr_accessor :vulnerability_counts
226
+
216
227
  attr_accessor :vulnerability_scan_results_url
217
228
 
218
229
  class EnumAttributeValidator
@@ -269,6 +280,7 @@ class NugetPackageUpload
269
280
  :'is_deleteable' => :'is_deleteable',
270
281
  :'is_downloadable' => :'is_downloadable',
271
282
  :'is_hidden' => :'is_hidden',
283
+ :'is_malware_detected' => :'is_malware_detected',
272
284
  :'is_moveable' => :'is_moveable',
273
285
  :'is_quarantinable' => :'is_quarantinable',
274
286
  :'is_quarantined' => :'is_quarantined',
@@ -313,18 +325,21 @@ class NugetPackageUpload
313
325
  :'status_str' => :'status_str',
314
326
  :'status_updated_at' => :'status_updated_at',
315
327
  :'status_url' => :'status_url',
328
+ :'store_path' => :'store_path',
316
329
  :'subtype' => :'subtype',
317
330
  :'summary' => :'summary',
318
331
  :'sync_finished_at' => :'sync_finished_at',
319
332
  :'sync_progress' => :'sync_progress',
320
333
  :'tags_automatic' => :'tags_automatic',
321
334
  :'tags_immutable' => :'tags_immutable',
335
+ :'tags_static' => :'tags_static',
322
336
  :'type_display' => :'type_display',
323
337
  :'uploaded_at' => :'uploaded_at',
324
338
  :'uploader' => :'uploader',
325
339
  :'uploader_url' => :'uploader_url',
326
340
  :'version' => :'version',
327
341
  :'version_orig' => :'version_orig',
342
+ :'vulnerability_counts' => :'vulnerability_counts',
328
343
  :'vulnerability_scan_results_url' => :'vulnerability_scan_results_url'
329
344
  }
330
345
  end
@@ -361,6 +376,7 @@ class NugetPackageUpload
361
376
  :'is_deleteable' => :'BOOLEAN',
362
377
  :'is_downloadable' => :'BOOLEAN',
363
378
  :'is_hidden' => :'BOOLEAN',
379
+ :'is_malware_detected' => :'BOOLEAN',
364
380
  :'is_moveable' => :'BOOLEAN',
365
381
  :'is_quarantinable' => :'BOOLEAN',
366
382
  :'is_quarantined' => :'BOOLEAN',
@@ -405,18 +421,21 @@ class NugetPackageUpload
405
421
  :'status_str' => :'String',
406
422
  :'status_updated_at' => :'DateTime',
407
423
  :'status_url' => :'String',
424
+ :'store_path' => :'String',
408
425
  :'subtype' => :'String',
409
426
  :'summary' => :'String',
410
427
  :'sync_finished_at' => :'DateTime',
411
428
  :'sync_progress' => :'Integer',
412
429
  :'tags_automatic' => :'Tags',
413
430
  :'tags_immutable' => :'Tags',
431
+ :'tags_static' => :'Hash<String, Array<String>>',
414
432
  :'type_display' => :'String',
415
433
  :'uploaded_at' => :'DateTime',
416
434
  :'uploader' => :'String',
417
435
  :'uploader_url' => :'String',
418
436
  :'version' => :'String',
419
437
  :'version_orig' => :'String',
438
+ :'vulnerability_counts' => :'WebOSVSeverityCounts',
420
439
  :'vulnerability_scan_results_url' => :'String'
421
440
  }
422
441
  end
@@ -551,6 +570,10 @@ class NugetPackageUpload
551
570
  self.is_hidden = attributes[:'is_hidden']
552
571
  end
553
572
 
573
+ if attributes.has_key?(:'is_malware_detected')
574
+ self.is_malware_detected = attributes[:'is_malware_detected']
575
+ end
576
+
554
577
  if attributes.has_key?(:'is_moveable')
555
578
  self.is_moveable = attributes[:'is_moveable']
556
579
  end
@@ -729,6 +752,10 @@ class NugetPackageUpload
729
752
  self.status_url = attributes[:'status_url']
730
753
  end
731
754
 
755
+ if attributes.has_key?(:'store_path')
756
+ self.store_path = attributes[:'store_path']
757
+ end
758
+
732
759
  if attributes.has_key?(:'subtype')
733
760
  self.subtype = attributes[:'subtype']
734
761
  end
@@ -753,6 +780,12 @@ class NugetPackageUpload
753
780
  self.tags_immutable = attributes[:'tags_immutable']
754
781
  end
755
782
 
783
+ if attributes.has_key?(:'tags_static')
784
+ if (value = attributes[:'tags_static']).is_a?(Hash)
785
+ self.tags_static = value
786
+ end
787
+ end
788
+
756
789
  if attributes.has_key?(:'type_display')
757
790
  self.type_display = attributes[:'type_display']
758
791
  end
@@ -777,6 +810,10 @@ class NugetPackageUpload
777
810
  self.version_orig = attributes[:'version_orig']
778
811
  end
779
812
 
813
+ if attributes.has_key?(:'vulnerability_counts')
814
+ self.vulnerability_counts = attributes[:'vulnerability_counts']
815
+ end
816
+
780
817
  if attributes.has_key?(:'vulnerability_scan_results_url')
781
818
  self.vulnerability_scan_results_url = attributes[:'vulnerability_scan_results_url']
782
819
  end
@@ -841,6 +878,7 @@ class NugetPackageUpload
841
878
  is_deleteable == o.is_deleteable &&
842
879
  is_downloadable == o.is_downloadable &&
843
880
  is_hidden == o.is_hidden &&
881
+ is_malware_detected == o.is_malware_detected &&
844
882
  is_moveable == o.is_moveable &&
845
883
  is_quarantinable == o.is_quarantinable &&
846
884
  is_quarantined == o.is_quarantined &&
@@ -885,18 +923,21 @@ class NugetPackageUpload
885
923
  status_str == o.status_str &&
886
924
  status_updated_at == o.status_updated_at &&
887
925
  status_url == o.status_url &&
926
+ store_path == o.store_path &&
888
927
  subtype == o.subtype &&
889
928
  summary == o.summary &&
890
929
  sync_finished_at == o.sync_finished_at &&
891
930
  sync_progress == o.sync_progress &&
892
931
  tags_automatic == o.tags_automatic &&
893
932
  tags_immutable == o.tags_immutable &&
933
+ tags_static == o.tags_static &&
894
934
  type_display == o.type_display &&
895
935
  uploaded_at == o.uploaded_at &&
896
936
  uploader == o.uploader &&
897
937
  uploader_url == o.uploader_url &&
898
938
  version == o.version &&
899
939
  version_orig == o.version_orig &&
940
+ vulnerability_counts == o.vulnerability_counts &&
900
941
  vulnerability_scan_results_url == o.vulnerability_scan_results_url
901
942
  end
902
943
 
@@ -909,7 +950,7 @@ class NugetPackageUpload
909
950
  # Calculates hash code according to all attributes.
910
951
  # @return [Fixnum] Hash code
911
952
  def hash
912
- [architectures, cdn_url, checksum_md5, checksum_sha1, checksum_sha256, checksum_sha512, dependencies_checksum_md5, dependencies_url, description, display_name, distro, distro_version, downloads, epoch, extension, filename, files, format, format_url, freeable_storage, fully_qualified_name, identifier_perm, identifiers, indexed, is_cancellable, is_copyable, is_deleteable, is_downloadable, is_hidden, is_moveable, is_quarantinable, is_quarantined, is_resyncable, is_security_scannable, is_sync_awaiting, is_sync_completed, is_sync_failed, is_sync_in_flight, is_sync_in_progress, license, name, namespace, namespace_url, num_files, origin_repository, origin_repository_url, osi_approved, package_type, policy_violated, raw_license, release, repository, repository_url, security_scan_completed_at, security_scan_started_at, security_scan_status, security_scan_status_updated_at, self_html_url, self_url, self_webapp_url, signature_url, size, slug, slug_perm, spdx_license, stage, stage_str, stage_updated_at, status, status_reason, status_str, status_updated_at, status_url, subtype, summary, sync_finished_at, sync_progress, tags_automatic, tags_immutable, type_display, uploaded_at, uploader, uploader_url, version, version_orig, vulnerability_scan_results_url].hash
953
+ [architectures, cdn_url, checksum_md5, checksum_sha1, checksum_sha256, checksum_sha512, dependencies_checksum_md5, dependencies_url, description, display_name, distro, distro_version, downloads, epoch, extension, filename, files, format, format_url, freeable_storage, fully_qualified_name, identifier_perm, identifiers, indexed, is_cancellable, is_copyable, is_deleteable, is_downloadable, is_hidden, is_malware_detected, is_moveable, is_quarantinable, is_quarantined, is_resyncable, is_security_scannable, is_sync_awaiting, is_sync_completed, is_sync_failed, is_sync_in_flight, is_sync_in_progress, license, name, namespace, namespace_url, num_files, origin_repository, origin_repository_url, osi_approved, package_type, policy_violated, raw_license, release, repository, repository_url, security_scan_completed_at, security_scan_started_at, security_scan_status, security_scan_status_updated_at, self_html_url, self_url, self_webapp_url, signature_url, size, slug, slug_perm, spdx_license, stage, stage_str, stage_updated_at, status, status_reason, status_str, status_updated_at, status_url, store_path, subtype, summary, sync_finished_at, sync_progress, tags_automatic, tags_immutable, tags_static, type_display, uploaded_at, uploader, uploader_url, version, version_orig, vulnerability_counts, vulnerability_scan_results_url].hash
913
954
  end
914
955
 
915
956
  # Builds the object from hash
@@ -14,6 +14,9 @@ require 'date'
14
14
 
15
15
  module CloudsmithApi
16
16
  class NugetPackageUploadRequest
17
+ # Whether the package has been detected as containing malware. Requires Ultra plan.
18
+ attr_accessor :is_malware_detected
19
+
17
20
  # The primary file for the package.
18
21
  attr_accessor :package_file
19
22
 
@@ -26,23 +29,29 @@ class NugetPackageUploadRequest
26
29
  # A comma-separated values list of tags to add to the package.
27
30
  attr_accessor :tags
28
31
 
32
+ attr_accessor :vulnerability_counts
33
+
29
34
  # Attribute mapping from ruby-style variable name to JSON key.
30
35
  def self.attribute_map
31
36
  {
37
+ :'is_malware_detected' => :'is_malware_detected',
32
38
  :'package_file' => :'package_file',
33
39
  :'republish' => :'republish',
34
40
  :'symbols_file' => :'symbols_file',
35
- :'tags' => :'tags'
41
+ :'tags' => :'tags',
42
+ :'vulnerability_counts' => :'vulnerability_counts'
36
43
  }
37
44
  end
38
45
 
39
46
  # Attribute type mapping.
40
47
  def self.swagger_types
41
48
  {
49
+ :'is_malware_detected' => :'BOOLEAN',
42
50
  :'package_file' => :'String',
43
51
  :'republish' => :'BOOLEAN',
44
52
  :'symbols_file' => :'String',
45
- :'tags' => :'String'
53
+ :'tags' => :'String',
54
+ :'vulnerability_counts' => :'WebOSVSeverityCounts'
46
55
  }
47
56
  end
48
57
 
@@ -54,6 +63,10 @@ class NugetPackageUploadRequest
54
63
  # convert string to symbol for hash key
55
64
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
56
65
 
66
+ if attributes.has_key?(:'is_malware_detected')
67
+ self.is_malware_detected = attributes[:'is_malware_detected']
68
+ end
69
+
57
70
  if attributes.has_key?(:'package_file')
58
71
  self.package_file = attributes[:'package_file']
59
72
  end
@@ -69,6 +82,10 @@ class NugetPackageUploadRequest
69
82
  if attributes.has_key?(:'tags')
70
83
  self.tags = attributes[:'tags']
71
84
  end
85
+
86
+ if attributes.has_key?(:'vulnerability_counts')
87
+ self.vulnerability_counts = attributes[:'vulnerability_counts']
88
+ end
72
89
  end
73
90
 
74
91
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -94,10 +111,12 @@ class NugetPackageUploadRequest
94
111
  def ==(o)
95
112
  return true if self.equal?(o)
96
113
  self.class == o.class &&
114
+ is_malware_detected == o.is_malware_detected &&
97
115
  package_file == o.package_file &&
98
116
  republish == o.republish &&
99
117
  symbols_file == o.symbols_file &&
100
- tags == o.tags
118
+ tags == o.tags &&
119
+ vulnerability_counts == o.vulnerability_counts
101
120
  end
102
121
 
103
122
  # @see the `==` method
@@ -109,7 +128,7 @@ class NugetPackageUploadRequest
109
128
  # Calculates hash code according to all attributes.
110
129
  # @return [Fixnum] Hash code
111
130
  def hash
112
- [package_file, republish, symbols_file, tags].hash
131
+ [is_malware_detected, package_file, republish, symbols_file, tags, vulnerability_counts].hash
113
132
  end
114
133
 
115
134
  # Builds the object from hash
@@ -0,0 +1,215 @@
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.50
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module CloudsmithApi
16
+ class OrganizationUsage
17
+ # The maximum allowed package delivery overage in GB for this product.
18
+ attr_accessor :bandwidth_maximum
19
+
20
+ # The on-demand limit for package delivery usage (in GBs).
21
+ attr_accessor :bandwidth_overage_limit
22
+
23
+ # The maximum allowed artifact data overage in GB for this product.
24
+ attr_accessor :storage_maximum
25
+
26
+ # The on-demand limit for artifact data usage (in GBs).
27
+ attr_accessor :storage_overage_limit
28
+
29
+ # Attribute mapping from ruby-style variable name to JSON key.
30
+ def self.attribute_map
31
+ {
32
+ :'bandwidth_maximum' => :'bandwidth_maximum',
33
+ :'bandwidth_overage_limit' => :'bandwidth_overage_limit',
34
+ :'storage_maximum' => :'storage_maximum',
35
+ :'storage_overage_limit' => :'storage_overage_limit'
36
+ }
37
+ end
38
+
39
+ # Attribute type mapping.
40
+ def self.swagger_types
41
+ {
42
+ :'bandwidth_maximum' => :'Integer',
43
+ :'bandwidth_overage_limit' => :'Integer',
44
+ :'storage_maximum' => :'Integer',
45
+ :'storage_overage_limit' => :'Integer'
46
+ }
47
+ end
48
+
49
+ # Initializes the object
50
+ # @param [Hash] attributes Model attributes in the form of hash
51
+ def initialize(attributes = {})
52
+ return unless attributes.is_a?(Hash)
53
+
54
+ # convert string to symbol for hash key
55
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
56
+
57
+ if attributes.has_key?(:'bandwidth_maximum')
58
+ self.bandwidth_maximum = attributes[:'bandwidth_maximum']
59
+ end
60
+
61
+ if attributes.has_key?(:'bandwidth_overage_limit')
62
+ self.bandwidth_overage_limit = attributes[:'bandwidth_overage_limit']
63
+ end
64
+
65
+ if attributes.has_key?(:'storage_maximum')
66
+ self.storage_maximum = attributes[:'storage_maximum']
67
+ end
68
+
69
+ if attributes.has_key?(:'storage_overage_limit')
70
+ self.storage_overage_limit = attributes[:'storage_overage_limit']
71
+ end
72
+ end
73
+
74
+ # Show invalid properties with the reasons. Usually used together with valid?
75
+ # @return Array for valid properties with the reasons
76
+ def list_invalid_properties
77
+ invalid_properties = Array.new
78
+ invalid_properties
79
+ end
80
+
81
+ # Check to see if the all the properties in the model are valid
82
+ # @return true if the model is valid
83
+ def valid?
84
+ true
85
+ end
86
+
87
+ # Checks equality by comparing each attribute.
88
+ # @param [Object] Object to be compared
89
+ def ==(o)
90
+ return true if self.equal?(o)
91
+ self.class == o.class &&
92
+ bandwidth_maximum == o.bandwidth_maximum &&
93
+ bandwidth_overage_limit == o.bandwidth_overage_limit &&
94
+ storage_maximum == o.storage_maximum &&
95
+ storage_overage_limit == o.storage_overage_limit
96
+ end
97
+
98
+ # @see the `==` method
99
+ # @param [Object] Object to be compared
100
+ def eql?(o)
101
+ self == o
102
+ end
103
+
104
+ # Calculates hash code according to all attributes.
105
+ # @return [Fixnum] Hash code
106
+ def hash
107
+ [bandwidth_maximum, bandwidth_overage_limit, storage_maximum, storage_overage_limit].hash
108
+ end
109
+
110
+ # Builds the object from hash
111
+ # @param [Hash] attributes Model attributes in the form of hash
112
+ # @return [Object] Returns the model itself
113
+ def build_from_hash(attributes)
114
+ return nil unless attributes.is_a?(Hash)
115
+ self.class.swagger_types.each_pair do |key, type|
116
+ if type =~ /\AArray<(.*)>/i
117
+ # check to ensure the input is an array given that the attribute
118
+ # is documented as an array but the input is not
119
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
120
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
121
+ end
122
+ elsif !attributes[self.class.attribute_map[key]].nil?
123
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
124
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
125
+ end
126
+
127
+ self
128
+ end
129
+
130
+ # Deserializes the data based on type
131
+ # @param string type Data type
132
+ # @param string value Value to be deserialized
133
+ # @return [Object] Deserialized data
134
+ def _deserialize(type, value)
135
+ case type.to_sym
136
+ when :DateTime
137
+ DateTime.parse(value)
138
+ when :Date
139
+ Date.parse(value)
140
+ when :String
141
+ value.to_s
142
+ when :Integer
143
+ value.to_i
144
+ when :Float
145
+ value.to_f
146
+ when :BOOLEAN
147
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
148
+ true
149
+ else
150
+ false
151
+ end
152
+ when :Object
153
+ # generic object (usually a Hash), return directly
154
+ value
155
+ when /\AArray<(?<inner_type>.+)>\z/
156
+ inner_type = Regexp.last_match[:inner_type]
157
+ value.map { |v| _deserialize(inner_type, v) }
158
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
159
+ k_type = Regexp.last_match[:k_type]
160
+ v_type = Regexp.last_match[:v_type]
161
+ {}.tap do |hash|
162
+ value.each do |k, v|
163
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
164
+ end
165
+ end
166
+ else # model
167
+ temp_model = CloudsmithApi.const_get(type).new
168
+ temp_model.build_from_hash(value)
169
+ end
170
+ end
171
+
172
+ # Returns the string representation of the object
173
+ # @return [String] String presentation of the object
174
+ def to_s
175
+ to_hash.to_s
176
+ end
177
+
178
+ # to_body is an alias to to_hash (backward compatibility)
179
+ # @return [Hash] Returns the object in the form of hash
180
+ def to_body
181
+ to_hash
182
+ end
183
+
184
+ # Returns the object in the form of hash
185
+ # @return [Hash] Returns the object in the form of hash
186
+ def to_hash
187
+ hash = {}
188
+ self.class.attribute_map.each_pair do |attr, param|
189
+ value = self.send(attr)
190
+ next if value.nil?
191
+ hash[param] = _to_hash(value)
192
+ end
193
+ hash
194
+ end
195
+
196
+ # Outputs non-array value in the form of hash
197
+ # For object, use to_hash. Otherwise, just return the value
198
+ # @param [Object] value Any valid value
199
+ # @return [Hash] Returns the value in the form of hash
200
+ def _to_hash(value)
201
+ if value.is_a?(Array)
202
+ value.compact.map { |v| _to_hash(v) }
203
+ elsif value.is_a?(Hash)
204
+ {}.tap do |hash|
205
+ value.each { |k, v| hash[k] = _to_hash(v) }
206
+ end
207
+ elsif value.respond_to? :to_hash
208
+ value.to_hash
209
+ else
210
+ value
211
+ end
212
+ end
213
+
214
+ end
215
+ end
@@ -0,0 +1,202 @@
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.50
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module CloudsmithApi
16
+ class OrganizationUsageUpdate
17
+ attr_accessor :allow_open_source_overage
18
+
19
+ attr_accessor :bandwidth_overage_limit
20
+
21
+ attr_accessor :storage_overage_limit
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'allow_open_source_overage' => :'allow_open_source_overage',
27
+ :'bandwidth_overage_limit' => :'bandwidth_overage_limit',
28
+ :'storage_overage_limit' => :'storage_overage_limit'
29
+ }
30
+ end
31
+
32
+ # Attribute type mapping.
33
+ def self.swagger_types
34
+ {
35
+ :'allow_open_source_overage' => :'BOOLEAN',
36
+ :'bandwidth_overage_limit' => :'Integer',
37
+ :'storage_overage_limit' => :'Integer'
38
+ }
39
+ end
40
+
41
+ # Initializes the object
42
+ # @param [Hash] attributes Model attributes in the form of hash
43
+ def initialize(attributes = {})
44
+ return unless attributes.is_a?(Hash)
45
+
46
+ # convert string to symbol for hash key
47
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
48
+
49
+ if attributes.has_key?(:'allow_open_source_overage')
50
+ self.allow_open_source_overage = attributes[:'allow_open_source_overage']
51
+ end
52
+
53
+ if attributes.has_key?(:'bandwidth_overage_limit')
54
+ self.bandwidth_overage_limit = attributes[:'bandwidth_overage_limit']
55
+ end
56
+
57
+ if attributes.has_key?(:'storage_overage_limit')
58
+ self.storage_overage_limit = attributes[:'storage_overage_limit']
59
+ end
60
+ end
61
+
62
+ # Show invalid properties with the reasons. Usually used together with valid?
63
+ # @return Array for valid properties with the reasons
64
+ def list_invalid_properties
65
+ invalid_properties = Array.new
66
+ invalid_properties
67
+ end
68
+
69
+ # Check to see if the all the properties in the model are valid
70
+ # @return true if the model is valid
71
+ def valid?
72
+ true
73
+ end
74
+
75
+ # Checks equality by comparing each attribute.
76
+ # @param [Object] Object to be compared
77
+ def ==(o)
78
+ return true if self.equal?(o)
79
+ self.class == o.class &&
80
+ allow_open_source_overage == o.allow_open_source_overage &&
81
+ bandwidth_overage_limit == o.bandwidth_overage_limit &&
82
+ storage_overage_limit == o.storage_overage_limit
83
+ end
84
+
85
+ # @see the `==` method
86
+ # @param [Object] Object to be compared
87
+ def eql?(o)
88
+ self == o
89
+ end
90
+
91
+ # Calculates hash code according to all attributes.
92
+ # @return [Fixnum] Hash code
93
+ def hash
94
+ [allow_open_source_overage, bandwidth_overage_limit, storage_overage_limit].hash
95
+ end
96
+
97
+ # Builds the object from hash
98
+ # @param [Hash] attributes Model attributes in the form of hash
99
+ # @return [Object] Returns the model itself
100
+ def build_from_hash(attributes)
101
+ return nil unless attributes.is_a?(Hash)
102
+ self.class.swagger_types.each_pair do |key, type|
103
+ if type =~ /\AArray<(.*)>/i
104
+ # check to ensure the input is an array given that the attribute
105
+ # is documented as an array but the input is not
106
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
107
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
108
+ end
109
+ elsif !attributes[self.class.attribute_map[key]].nil?
110
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
111
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
112
+ end
113
+
114
+ self
115
+ end
116
+
117
+ # Deserializes the data based on type
118
+ # @param string type Data type
119
+ # @param string value Value to be deserialized
120
+ # @return [Object] Deserialized data
121
+ def _deserialize(type, value)
122
+ case type.to_sym
123
+ when :DateTime
124
+ DateTime.parse(value)
125
+ when :Date
126
+ Date.parse(value)
127
+ when :String
128
+ value.to_s
129
+ when :Integer
130
+ value.to_i
131
+ when :Float
132
+ value.to_f
133
+ when :BOOLEAN
134
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
135
+ true
136
+ else
137
+ false
138
+ end
139
+ when :Object
140
+ # generic object (usually a Hash), return directly
141
+ value
142
+ when /\AArray<(?<inner_type>.+)>\z/
143
+ inner_type = Regexp.last_match[:inner_type]
144
+ value.map { |v| _deserialize(inner_type, v) }
145
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
146
+ k_type = Regexp.last_match[:k_type]
147
+ v_type = Regexp.last_match[:v_type]
148
+ {}.tap do |hash|
149
+ value.each do |k, v|
150
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
151
+ end
152
+ end
153
+ else # model
154
+ temp_model = CloudsmithApi.const_get(type).new
155
+ temp_model.build_from_hash(value)
156
+ end
157
+ end
158
+
159
+ # Returns the string representation of the object
160
+ # @return [String] String presentation of the object
161
+ def to_s
162
+ to_hash.to_s
163
+ end
164
+
165
+ # to_body is an alias to to_hash (backward compatibility)
166
+ # @return [Hash] Returns the object in the form of hash
167
+ def to_body
168
+ to_hash
169
+ end
170
+
171
+ # Returns the object in the form of hash
172
+ # @return [Hash] Returns the object in the form of hash
173
+ def to_hash
174
+ hash = {}
175
+ self.class.attribute_map.each_pair do |attr, param|
176
+ value = self.send(attr)
177
+ next if value.nil?
178
+ hash[param] = _to_hash(value)
179
+ end
180
+ hash
181
+ end
182
+
183
+ # Outputs non-array value in the form of hash
184
+ # For object, use to_hash. Otherwise, just return the value
185
+ # @param [Object] value Any valid value
186
+ # @return [Hash] Returns the value in the form of hash
187
+ def _to_hash(value)
188
+ if value.is_a?(Array)
189
+ value.compact.map { |v| _to_hash(v) }
190
+ elsif value.is_a?(Hash)
191
+ {}.tap do |hash|
192
+ value.each { |k, v| hash[k] = _to_hash(v) }
193
+ end
194
+ elsif value.respond_to? :to_hash
195
+ value.to_hash
196
+ else
197
+ value
198
+ end
199
+ end
200
+
201
+ end
202
+ end