cloudsmith-api 2.0.26 → 2.0.27

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 (188) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +24 -5
  4. data/build.json +1 -1
  5. data/docs/AlpinePackageUpload.md +2 -0
  6. data/docs/CargoPackageUpload.md +2 -0
  7. data/docs/CocoapodsPackageUpload.md +2 -0
  8. data/docs/ComposerPackageUpload.md +2 -0
  9. data/docs/ConanPackageUpload.md +2 -0
  10. data/docs/CondaPackageUpload.md +2 -0
  11. data/docs/ConnectedRepository.md +12 -0
  12. data/docs/ConnectedRepositoryRequest.md +10 -0
  13. data/docs/ConnectedRepositoryRequestPatch.md +10 -0
  14. data/docs/CranPackageUpload.md +2 -0
  15. data/docs/DartPackageUpload.md +2 -0
  16. data/docs/DebPackageUpload.md +2 -0
  17. data/docs/DockerPackageUpload.md +2 -0
  18. data/docs/EntitlementsApi.md +2 -0
  19. data/docs/GenericPackageUpload.md +2 -0
  20. data/docs/GoPackageUpload.md +2 -0
  21. data/docs/HelmPackageUpload.md +2 -0
  22. data/docs/HexPackageUpload.md +2 -0
  23. data/docs/HuggingfacePackageUpload.md +2 -0
  24. data/docs/InlineResponse2001.md +1 -1
  25. data/docs/InlineResponse2002.md +8 -0
  26. data/docs/LuarocksPackageUpload.md +2 -0
  27. data/docs/MavenPackageUpload.md +2 -0
  28. data/docs/McpPackageUpload.md +2 -0
  29. data/docs/MemberTeams.md +10 -0
  30. data/docs/NpmPackageUpload.md +2 -0
  31. data/docs/NugetPackageUpload.md +2 -0
  32. data/docs/OrganizationCustomDomainNestedRepo.md +9 -0
  33. data/docs/OrganizationCustomDomains.md +25 -0
  34. data/docs/OrganizationMembership.md +1 -0
  35. data/docs/OrgsApi.md +65 -0
  36. data/docs/P2PackageUpload.md +2 -0
  37. data/docs/Package.md +2 -0
  38. data/docs/PackageCopy.md +2 -0
  39. data/docs/PackageMove.md +2 -0
  40. data/docs/PackageQuarantine.md +2 -0
  41. data/docs/PackageResync.md +2 -0
  42. data/docs/PackageStatus.md +1 -0
  43. data/docs/PackageTag.md +2 -0
  44. data/docs/PythonPackageUpload.md +2 -0
  45. data/docs/RawPackageUpload.md +2 -0
  46. data/docs/RecycleBinApi.md +24 -24
  47. data/docs/ReposApi.md +592 -1
  48. data/docs/Repository.md +1 -0
  49. data/docs/RepositoryCreate.md +1 -0
  50. data/docs/RepositoryCreateRequest.md +1 -0
  51. data/docs/RepositoryEd25519Key.md +13 -0
  52. data/docs/RepositoryEd25519KeyCreate.md +9 -0
  53. data/docs/RepositoryRequestPatch.md +1 -0
  54. data/docs/RpmPackageUpload.md +2 -0
  55. data/docs/RubyPackageUpload.md +2 -0
  56. data/docs/ServiceTeams.md +1 -0
  57. data/docs/SwiftPackageUpload.md +2 -0
  58. data/docs/TerraformPackageUpload.md +2 -0
  59. data/docs/UserApi.md +2 -2
  60. data/docs/VagrantPackageUpload.md +2 -0
  61. data/docs/VsxPackageUpload.md +2 -0
  62. data/lib/cloudsmith-api/api/entitlements_api.rb +3 -0
  63. data/lib/cloudsmith-api/api/orgs_api.rb +60 -0
  64. data/lib/cloudsmith-api/api/recycle_bin_api.rb +41 -41
  65. data/lib/cloudsmith-api/api/repos_api.rb +579 -2
  66. data/lib/cloudsmith-api/api/user_api.rb +3 -3
  67. data/lib/cloudsmith-api/models/alpine_package_upload.rb +20 -1
  68. data/lib/cloudsmith-api/models/cargo_package_upload.rb +20 -1
  69. data/lib/cloudsmith-api/models/cocoapods_package_upload.rb +20 -1
  70. data/lib/cloudsmith-api/models/composer_package_upload.rb +20 -1
  71. data/lib/cloudsmith-api/models/conan_package_upload.rb +20 -1
  72. data/lib/cloudsmith-api/models/conda_package_upload.rb +20 -1
  73. data/lib/cloudsmith-api/models/connected_repository.rb +230 -0
  74. data/lib/cloudsmith-api/models/connected_repository_request.rb +211 -0
  75. data/lib/cloudsmith-api/models/connected_repository_request_patch.rb +206 -0
  76. data/lib/cloudsmith-api/models/cran_package_upload.rb +20 -1
  77. data/lib/cloudsmith-api/models/dart_package_upload.rb +20 -1
  78. data/lib/cloudsmith-api/models/deb_package_upload.rb +20 -1
  79. data/lib/cloudsmith-api/models/docker_package_upload.rb +20 -1
  80. data/lib/cloudsmith-api/models/generic_package_upload.rb +20 -1
  81. data/lib/cloudsmith-api/models/go_package_upload.rb +20 -1
  82. data/lib/cloudsmith-api/models/helm_package_upload.rb +20 -1
  83. data/lib/cloudsmith-api/models/hex_package_upload.rb +20 -1
  84. data/lib/cloudsmith-api/models/huggingface_package_upload.rb +20 -1
  85. data/lib/cloudsmith-api/models/inline_response_200_1.rb +1 -1
  86. data/lib/cloudsmith-api/models/inline_response_200_2.rb +191 -0
  87. data/lib/cloudsmith-api/models/luarocks_package_upload.rb +20 -1
  88. data/lib/cloudsmith-api/models/maven_package_upload.rb +20 -1
  89. data/lib/cloudsmith-api/models/mcp_package_upload.rb +20 -1
  90. data/lib/cloudsmith-api/models/member_teams.rb +238 -0
  91. data/lib/cloudsmith-api/models/npm_package_upload.rb +20 -1
  92. data/lib/cloudsmith-api/models/nuget_package_upload.rb +20 -1
  93. data/lib/cloudsmith-api/models/organization_custom_domain_nested_repo.rb +195 -0
  94. data/lib/cloudsmith-api/models/organization_custom_domains.rb +355 -0
  95. data/lib/cloudsmith-api/models/organization_membership.rb +12 -1
  96. data/lib/cloudsmith-api/models/p2_package_upload.rb +20 -1
  97. data/lib/cloudsmith-api/models/package.rb +20 -1
  98. data/lib/cloudsmith-api/models/package_copy.rb +20 -1
  99. data/lib/cloudsmith-api/models/package_move.rb +20 -1
  100. data/lib/cloudsmith-api/models/package_quarantine.rb +20 -1
  101. data/lib/cloudsmith-api/models/package_resync.rb +20 -1
  102. data/lib/cloudsmith-api/models/package_status.rb +10 -1
  103. data/lib/cloudsmith-api/models/package_tag.rb +20 -1
  104. data/lib/cloudsmith-api/models/python_package_upload.rb +20 -1
  105. data/lib/cloudsmith-api/models/raw_package_upload.rb +20 -1
  106. data/lib/cloudsmith-api/models/repository.rb +11 -1
  107. data/lib/cloudsmith-api/models/repository_create.rb +11 -1
  108. data/lib/cloudsmith-api/models/repository_create_request.rb +11 -1
  109. data/lib/cloudsmith-api/models/repository_ed25519_key.rb +233 -0
  110. data/lib/cloudsmith-api/models/repository_ed25519_key_create.rb +200 -0
  111. data/lib/cloudsmith-api/models/repository_request_patch.rb +11 -1
  112. data/lib/cloudsmith-api/models/rpm_package_upload.rb +20 -1
  113. data/lib/cloudsmith-api/models/ruby_package_upload.rb +20 -1
  114. data/lib/cloudsmith-api/models/service_teams.rb +11 -1
  115. data/lib/cloudsmith-api/models/swift_package_upload.rb +20 -1
  116. data/lib/cloudsmith-api/models/terraform_package_upload.rb +20 -1
  117. data/lib/cloudsmith-api/models/vagrant_package_upload.rb +20 -1
  118. data/lib/cloudsmith-api/models/vsx_package_upload.rb +20 -1
  119. data/lib/cloudsmith-api/version.rb +1 -1
  120. data/lib/cloudsmith-api.rb +9 -0
  121. data/spec/api/entitlements_api_spec.rb +1 -0
  122. data/spec/api/orgs_api_spec.rb +14 -0
  123. data/spec/api/recycle_bin_api_spec.rb +12 -12
  124. data/spec/api/repos_api_spec.rb +128 -1
  125. data/spec/api/user_api_spec.rb +1 -1
  126. data/spec/models/alpine_package_upload_spec.rb +12 -0
  127. data/spec/models/cargo_package_upload_spec.rb +12 -0
  128. data/spec/models/cocoapods_package_upload_spec.rb +12 -0
  129. data/spec/models/composer_package_upload_spec.rb +12 -0
  130. data/spec/models/conan_package_upload_spec.rb +12 -0
  131. data/spec/models/conda_package_upload_spec.rb +12 -0
  132. data/spec/models/connected_repository_request_patch_spec.rb +53 -0
  133. data/spec/models/connected_repository_request_spec.rb +53 -0
  134. data/spec/models/connected_repository_spec.rb +65 -0
  135. data/spec/models/cran_package_upload_spec.rb +12 -0
  136. data/spec/models/dart_package_upload_spec.rb +12 -0
  137. data/spec/models/deb_package_upload_spec.rb +12 -0
  138. data/spec/models/docker_package_upload_spec.rb +12 -0
  139. data/spec/models/generic_package_upload_spec.rb +12 -0
  140. data/spec/models/go_package_upload_spec.rb +12 -0
  141. data/spec/models/helm_package_upload_spec.rb +12 -0
  142. data/spec/models/hex_package_upload_spec.rb +12 -0
  143. data/spec/models/huggingface_package_upload_spec.rb +12 -0
  144. data/spec/models/inline_response_200_2_spec.rb +41 -0
  145. data/spec/models/luarocks_package_upload_spec.rb +12 -0
  146. data/spec/models/maven_package_upload_spec.rb +12 -0
  147. data/spec/models/mcp_package_upload_spec.rb +12 -0
  148. data/spec/models/member_teams_spec.rb +57 -0
  149. data/spec/models/npm_package_upload_spec.rb +12 -0
  150. data/spec/models/nuget_package_upload_spec.rb +12 -0
  151. data/spec/models/organization_custom_domain_nested_repo_spec.rb +47 -0
  152. data/spec/models/organization_custom_domains_spec.rb +143 -0
  153. data/spec/models/organization_membership_spec.rb +6 -0
  154. data/spec/models/p2_package_upload_spec.rb +12 -0
  155. data/spec/models/package_copy_spec.rb +12 -0
  156. data/spec/models/package_move_spec.rb +12 -0
  157. data/spec/models/package_quarantine_spec.rb +12 -0
  158. data/spec/models/package_resync_spec.rb +12 -0
  159. data/spec/models/package_spec.rb +12 -0
  160. data/spec/models/package_status_spec.rb +6 -0
  161. data/spec/models/package_tag_spec.rb +12 -0
  162. data/spec/models/python_package_upload_spec.rb +12 -0
  163. data/spec/models/raw_package_upload_spec.rb +12 -0
  164. data/spec/models/repository_create_request_spec.rb +6 -0
  165. data/spec/models/repository_create_spec.rb +6 -0
  166. data/spec/models/repository_ed25519_key_create_spec.rb +47 -0
  167. data/spec/models/repository_ed25519_key_spec.rb +71 -0
  168. data/spec/models/repository_request_patch_spec.rb +6 -0
  169. data/spec/models/repository_spec.rb +6 -0
  170. data/spec/models/rpm_package_upload_spec.rb +12 -0
  171. data/spec/models/ruby_package_upload_spec.rb +12 -0
  172. data/spec/models/service_teams_spec.rb +6 -0
  173. data/spec/models/swift_package_upload_spec.rb +12 -0
  174. data/spec/models/terraform_package_upload_spec.rb +12 -0
  175. data/spec/models/vagrant_package_upload_spec.rb +12 -0
  176. data/spec/models/vsx_package_upload_spec.rb +12 -0
  177. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/autotest-fsevent-0.3.2/gem_make.out +1 -1
  178. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.1.2/gem_make.out +2 -2
  179. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bigdecimal-4.1.2/mkmf.log +4 -4
  180. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.17.4/gem_make.out +2 -2
  181. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.17.4/mkmf.log +1 -1
  182. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-2.7.6/gem_make.out +2 -2
  183. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-2.7.6/mkmf.log +1 -1
  184. data/vendor/bundle/ruby/2.6.0/gems/bigdecimal-4.1.2/ext/bigdecimal/Makefile +2 -2
  185. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.17.4/ext/ffi_c/Makefile +2 -2
  186. data/vendor/bundle/ruby/2.6.0/gems/json-2.7.6/ext/json/ext/generator/Makefile +2 -2
  187. data/vendor/bundle/ruby/2.6.0/gems/json-2.7.6/ext/json/ext/parser/Makefile +2 -2
  188. metadata +41 -5
@@ -76,6 +76,8 @@ class PythonPackageUpload
76
76
 
77
77
  attr_accessor :is_downloadable
78
78
 
79
+ attr_accessor :is_hidden
80
+
79
81
  attr_accessor :is_moveable
80
82
 
81
83
  attr_accessor :is_quarantinable
@@ -112,6 +114,9 @@ class PythonPackageUpload
112
114
 
113
115
  attr_accessor :origin_repository_url
114
116
 
117
+ # Whether the package's SPDX license is OSI-approved.
118
+ attr_accessor :osi_approved
119
+
115
120
  # The type of package contents.
116
121
  attr_accessor :package_type
117
122
 
@@ -263,6 +268,7 @@ class PythonPackageUpload
263
268
  :'is_copyable' => :'is_copyable',
264
269
  :'is_deleteable' => :'is_deleteable',
265
270
  :'is_downloadable' => :'is_downloadable',
271
+ :'is_hidden' => :'is_hidden',
266
272
  :'is_moveable' => :'is_moveable',
267
273
  :'is_quarantinable' => :'is_quarantinable',
268
274
  :'is_quarantined' => :'is_quarantined',
@@ -280,6 +286,7 @@ class PythonPackageUpload
280
286
  :'num_files' => :'num_files',
281
287
  :'origin_repository' => :'origin_repository',
282
288
  :'origin_repository_url' => :'origin_repository_url',
289
+ :'osi_approved' => :'osi_approved',
283
290
  :'package_type' => :'package_type',
284
291
  :'policy_violated' => :'policy_violated',
285
292
  :'raw_license' => :'raw_license',
@@ -353,6 +360,7 @@ class PythonPackageUpload
353
360
  :'is_copyable' => :'BOOLEAN',
354
361
  :'is_deleteable' => :'BOOLEAN',
355
362
  :'is_downloadable' => :'BOOLEAN',
363
+ :'is_hidden' => :'BOOLEAN',
356
364
  :'is_moveable' => :'BOOLEAN',
357
365
  :'is_quarantinable' => :'BOOLEAN',
358
366
  :'is_quarantined' => :'BOOLEAN',
@@ -370,6 +378,7 @@ class PythonPackageUpload
370
378
  :'num_files' => :'Integer',
371
379
  :'origin_repository' => :'String',
372
380
  :'origin_repository_url' => :'String',
381
+ :'osi_approved' => :'BOOLEAN',
373
382
  :'package_type' => :'Integer',
374
383
  :'policy_violated' => :'BOOLEAN',
375
384
  :'raw_license' => :'String',
@@ -538,6 +547,10 @@ class PythonPackageUpload
538
547
  self.is_downloadable = attributes[:'is_downloadable']
539
548
  end
540
549
 
550
+ if attributes.has_key?(:'is_hidden')
551
+ self.is_hidden = attributes[:'is_hidden']
552
+ end
553
+
541
554
  if attributes.has_key?(:'is_moveable')
542
555
  self.is_moveable = attributes[:'is_moveable']
543
556
  end
@@ -606,6 +619,10 @@ class PythonPackageUpload
606
619
  self.origin_repository_url = attributes[:'origin_repository_url']
607
620
  end
608
621
 
622
+ if attributes.has_key?(:'osi_approved')
623
+ self.osi_approved = attributes[:'osi_approved']
624
+ end
625
+
609
626
  if attributes.has_key?(:'package_type')
610
627
  self.package_type = attributes[:'package_type']
611
628
  end
@@ -823,6 +840,7 @@ class PythonPackageUpload
823
840
  is_copyable == o.is_copyable &&
824
841
  is_deleteable == o.is_deleteable &&
825
842
  is_downloadable == o.is_downloadable &&
843
+ is_hidden == o.is_hidden &&
826
844
  is_moveable == o.is_moveable &&
827
845
  is_quarantinable == o.is_quarantinable &&
828
846
  is_quarantined == o.is_quarantined &&
@@ -840,6 +858,7 @@ class PythonPackageUpload
840
858
  num_files == o.num_files &&
841
859
  origin_repository == o.origin_repository &&
842
860
  origin_repository_url == o.origin_repository_url &&
861
+ osi_approved == o.osi_approved &&
843
862
  package_type == o.package_type &&
844
863
  policy_violated == o.policy_violated &&
845
864
  raw_license == o.raw_license &&
@@ -890,7 +909,7 @@ class PythonPackageUpload
890
909
  # Calculates hash code according to all attributes.
891
910
  # @return [Fixnum] Hash code
892
911
  def hash
893
- [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_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, 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
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
894
913
  end
895
914
 
896
915
  # Builds the object from hash
@@ -76,6 +76,8 @@ class RawPackageUpload
76
76
 
77
77
  attr_accessor :is_downloadable
78
78
 
79
+ attr_accessor :is_hidden
80
+
79
81
  attr_accessor :is_moveable
80
82
 
81
83
  attr_accessor :is_quarantinable
@@ -112,6 +114,9 @@ class RawPackageUpload
112
114
 
113
115
  attr_accessor :origin_repository_url
114
116
 
117
+ # Whether the package's SPDX license is OSI-approved.
118
+ attr_accessor :osi_approved
119
+
115
120
  # The type of package contents.
116
121
  attr_accessor :package_type
117
122
 
@@ -263,6 +268,7 @@ class RawPackageUpload
263
268
  :'is_copyable' => :'is_copyable',
264
269
  :'is_deleteable' => :'is_deleteable',
265
270
  :'is_downloadable' => :'is_downloadable',
271
+ :'is_hidden' => :'is_hidden',
266
272
  :'is_moveable' => :'is_moveable',
267
273
  :'is_quarantinable' => :'is_quarantinable',
268
274
  :'is_quarantined' => :'is_quarantined',
@@ -280,6 +286,7 @@ class RawPackageUpload
280
286
  :'num_files' => :'num_files',
281
287
  :'origin_repository' => :'origin_repository',
282
288
  :'origin_repository_url' => :'origin_repository_url',
289
+ :'osi_approved' => :'osi_approved',
283
290
  :'package_type' => :'package_type',
284
291
  :'policy_violated' => :'policy_violated',
285
292
  :'raw_license' => :'raw_license',
@@ -353,6 +360,7 @@ class RawPackageUpload
353
360
  :'is_copyable' => :'BOOLEAN',
354
361
  :'is_deleteable' => :'BOOLEAN',
355
362
  :'is_downloadable' => :'BOOLEAN',
363
+ :'is_hidden' => :'BOOLEAN',
356
364
  :'is_moveable' => :'BOOLEAN',
357
365
  :'is_quarantinable' => :'BOOLEAN',
358
366
  :'is_quarantined' => :'BOOLEAN',
@@ -370,6 +378,7 @@ class RawPackageUpload
370
378
  :'num_files' => :'Integer',
371
379
  :'origin_repository' => :'String',
372
380
  :'origin_repository_url' => :'String',
381
+ :'osi_approved' => :'BOOLEAN',
373
382
  :'package_type' => :'Integer',
374
383
  :'policy_violated' => :'BOOLEAN',
375
384
  :'raw_license' => :'String',
@@ -538,6 +547,10 @@ class RawPackageUpload
538
547
  self.is_downloadable = attributes[:'is_downloadable']
539
548
  end
540
549
 
550
+ if attributes.has_key?(:'is_hidden')
551
+ self.is_hidden = attributes[:'is_hidden']
552
+ end
553
+
541
554
  if attributes.has_key?(:'is_moveable')
542
555
  self.is_moveable = attributes[:'is_moveable']
543
556
  end
@@ -606,6 +619,10 @@ class RawPackageUpload
606
619
  self.origin_repository_url = attributes[:'origin_repository_url']
607
620
  end
608
621
 
622
+ if attributes.has_key?(:'osi_approved')
623
+ self.osi_approved = attributes[:'osi_approved']
624
+ end
625
+
609
626
  if attributes.has_key?(:'package_type')
610
627
  self.package_type = attributes[:'package_type']
611
628
  end
@@ -823,6 +840,7 @@ class RawPackageUpload
823
840
  is_copyable == o.is_copyable &&
824
841
  is_deleteable == o.is_deleteable &&
825
842
  is_downloadable == o.is_downloadable &&
843
+ is_hidden == o.is_hidden &&
826
844
  is_moveable == o.is_moveable &&
827
845
  is_quarantinable == o.is_quarantinable &&
828
846
  is_quarantined == o.is_quarantined &&
@@ -840,6 +858,7 @@ class RawPackageUpload
840
858
  num_files == o.num_files &&
841
859
  origin_repository == o.origin_repository &&
842
860
  origin_repository_url == o.origin_repository_url &&
861
+ osi_approved == o.osi_approved &&
843
862
  package_type == o.package_type &&
844
863
  policy_violated == o.policy_violated &&
845
864
  raw_license == o.raw_license &&
@@ -890,7 +909,7 @@ class RawPackageUpload
890
909
  # Calculates hash code according to all attributes.
891
910
  # @return [Fixnum] Hash code
892
911
  def hash
893
- [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_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, 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
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
894
913
  end
895
914
 
896
915
  # Builds the object from hash
@@ -98,6 +98,9 @@ class Repository
98
98
  # API endpoint where data about this namespace can be retrieved.
99
99
  attr_accessor :namespace_url
100
100
 
101
+ # If checked, npm distribution tags from configured upstreams will take precedence over matching local tags. When both upstream and local repositories have the same tag name (e.g., 'latest'), the upstream tag will be used instead of the local one, even if the local repository has a semantically higher version.
102
+ attr_accessor :npm_upstream_tags_take_precedence
103
+
101
104
  # When enabled, all pushed (or pulled from upstream) nuget packages and artifacts will be signed using the repository's X.509 RSA certificate. Additionally, the nuget RepositorySignature index will list all of the repository's signing certificates including the ones from configured upstreams.
102
105
  attr_accessor :nuget_native_signing_enabled
103
106
 
@@ -273,6 +276,7 @@ class Repository
273
276
  :'name' => :'name',
274
277
  :'namespace' => :'namespace',
275
278
  :'namespace_url' => :'namespace_url',
279
+ :'npm_upstream_tags_take_precedence' => :'npm_upstream_tags_take_precedence',
276
280
  :'nuget_native_signing_enabled' => :'nuget_native_signing_enabled',
277
281
  :'num_downloads' => :'num_downloads',
278
282
  :'num_policy_violated_packages' => :'num_policy_violated_packages',
@@ -349,6 +353,7 @@ class Repository
349
353
  :'name' => :'String',
350
354
  :'namespace' => :'String',
351
355
  :'namespace_url' => :'String',
356
+ :'npm_upstream_tags_take_precedence' => :'BOOLEAN',
352
357
  :'nuget_native_signing_enabled' => :'BOOLEAN',
353
358
  :'num_downloads' => :'Integer',
354
359
  :'num_policy_violated_packages' => :'Integer',
@@ -540,6 +545,10 @@ class Repository
540
545
  self.namespace_url = attributes[:'namespace_url']
541
546
  end
542
547
 
548
+ if attributes.has_key?(:'npm_upstream_tags_take_precedence')
549
+ self.npm_upstream_tags_take_precedence = attributes[:'npm_upstream_tags_take_precedence']
550
+ end
551
+
543
552
  if attributes.has_key?(:'nuget_native_signing_enabled')
544
553
  self.nuget_native_signing_enabled = attributes[:'nuget_native_signing_enabled']
545
554
  end
@@ -924,6 +933,7 @@ class Repository
924
933
  name == o.name &&
925
934
  namespace == o.namespace &&
926
935
  namespace_url == o.namespace_url &&
936
+ npm_upstream_tags_take_precedence == o.npm_upstream_tags_take_precedence &&
927
937
  nuget_native_signing_enabled == o.nuget_native_signing_enabled &&
928
938
  num_downloads == o.num_downloads &&
929
939
  num_policy_violated_packages == o.num_policy_violated_packages &&
@@ -975,7 +985,7 @@ class Repository
975
985
  # Calculates hash code according to all attributes.
976
986
  # @return [Fixnum] Hash code
977
987
  def hash
978
- [broadcast_state, cdn_url, content_kind, contextual_auth_realm, copy_own, copy_packages, cosign_signing_enabled, created_at, default_privilege, delete_own, delete_packages, deleted_at, description, distributes, docker_refresh_tokens_enabled, ecdsa_keys, enforce_eula, generic_package_index_enabled, gpg_keys, index_files, is_open_source, is_private, is_public, is_public_hidden, manage_entitlements_privilege, move_own, move_packages, name, namespace, namespace_url, nuget_native_signing_enabled, num_downloads, num_policy_violated_packages, num_quarantined_packages, open_source_license, open_source_project_url, package_count, package_count_excl_subcomponents, package_group_count, proxy_npmjs, proxy_pypi, raw_package_index_enabled, raw_package_index_signatures_enabled, replace_packages, replace_packages_by_default, repository_type, repository_type_str, resync_own, resync_packages, scan_own, scan_packages, self_html_url, self_url, self_webapp_url, show_setup_all, size, size_str, slug, slug_perm, storage_region, strict_npm_validation, tag_pre_releases_as_latest, use_debian_labels, use_default_cargo_upstream, use_entitlements_privilege, use_noarch_packages, use_source_packages, use_vulnerability_scanning, user_entitlements_enabled, view_statistics].hash
988
+ [broadcast_state, cdn_url, content_kind, contextual_auth_realm, copy_own, copy_packages, cosign_signing_enabled, created_at, default_privilege, delete_own, delete_packages, deleted_at, description, distributes, docker_refresh_tokens_enabled, ecdsa_keys, enforce_eula, generic_package_index_enabled, gpg_keys, index_files, is_open_source, is_private, is_public, is_public_hidden, manage_entitlements_privilege, move_own, move_packages, name, namespace, namespace_url, npm_upstream_tags_take_precedence, nuget_native_signing_enabled, num_downloads, num_policy_violated_packages, num_quarantined_packages, open_source_license, open_source_project_url, package_count, package_count_excl_subcomponents, package_group_count, proxy_npmjs, proxy_pypi, raw_package_index_enabled, raw_package_index_signatures_enabled, replace_packages, replace_packages_by_default, repository_type, repository_type_str, resync_own, resync_packages, scan_own, scan_packages, self_html_url, self_url, self_webapp_url, show_setup_all, size, size_str, slug, slug_perm, storage_region, strict_npm_validation, tag_pre_releases_as_latest, use_debian_labels, use_default_cargo_upstream, use_entitlements_privilege, use_noarch_packages, use_source_packages, use_vulnerability_scanning, user_entitlements_enabled, view_statistics].hash
979
989
  end
980
990
 
981
991
  # Builds the object from hash
@@ -98,6 +98,9 @@ class RepositoryCreate
98
98
  # API endpoint where data about this namespace can be retrieved.
99
99
  attr_accessor :namespace_url
100
100
 
101
+ # If checked, npm distribution tags from configured upstreams will take precedence over matching local tags. When both upstream and local repositories have the same tag name (e.g., 'latest'), the upstream tag will be used instead of the local one, even if the local repository has a semantically higher version.
102
+ attr_accessor :npm_upstream_tags_take_precedence
103
+
101
104
  # When enabled, all pushed (or pulled from upstream) nuget packages and artifacts will be signed using the repository's X.509 RSA certificate. Additionally, the nuget RepositorySignature index will list all of the repository's signing certificates including the ones from configured upstreams.
102
105
  attr_accessor :nuget_native_signing_enabled
103
106
 
@@ -273,6 +276,7 @@ class RepositoryCreate
273
276
  :'name' => :'name',
274
277
  :'namespace' => :'namespace',
275
278
  :'namespace_url' => :'namespace_url',
279
+ :'npm_upstream_tags_take_precedence' => :'npm_upstream_tags_take_precedence',
276
280
  :'nuget_native_signing_enabled' => :'nuget_native_signing_enabled',
277
281
  :'num_downloads' => :'num_downloads',
278
282
  :'num_policy_violated_packages' => :'num_policy_violated_packages',
@@ -349,6 +353,7 @@ class RepositoryCreate
349
353
  :'name' => :'String',
350
354
  :'namespace' => :'String',
351
355
  :'namespace_url' => :'String',
356
+ :'npm_upstream_tags_take_precedence' => :'BOOLEAN',
352
357
  :'nuget_native_signing_enabled' => :'BOOLEAN',
353
358
  :'num_downloads' => :'Integer',
354
359
  :'num_policy_violated_packages' => :'Integer',
@@ -540,6 +545,10 @@ class RepositoryCreate
540
545
  self.namespace_url = attributes[:'namespace_url']
541
546
  end
542
547
 
548
+ if attributes.has_key?(:'npm_upstream_tags_take_precedence')
549
+ self.npm_upstream_tags_take_precedence = attributes[:'npm_upstream_tags_take_precedence']
550
+ end
551
+
543
552
  if attributes.has_key?(:'nuget_native_signing_enabled')
544
553
  self.nuget_native_signing_enabled = attributes[:'nuget_native_signing_enabled']
545
554
  end
@@ -924,6 +933,7 @@ class RepositoryCreate
924
933
  name == o.name &&
925
934
  namespace == o.namespace &&
926
935
  namespace_url == o.namespace_url &&
936
+ npm_upstream_tags_take_precedence == o.npm_upstream_tags_take_precedence &&
927
937
  nuget_native_signing_enabled == o.nuget_native_signing_enabled &&
928
938
  num_downloads == o.num_downloads &&
929
939
  num_policy_violated_packages == o.num_policy_violated_packages &&
@@ -975,7 +985,7 @@ class RepositoryCreate
975
985
  # Calculates hash code according to all attributes.
976
986
  # @return [Fixnum] Hash code
977
987
  def hash
978
- [broadcast_state, cdn_url, content_kind, contextual_auth_realm, copy_own, copy_packages, cosign_signing_enabled, created_at, default_privilege, delete_own, delete_packages, deleted_at, description, distributes, docker_refresh_tokens_enabled, ecdsa_keys, enforce_eula, generic_package_index_enabled, gpg_keys, index_files, is_open_source, is_private, is_public, is_public_hidden, manage_entitlements_privilege, move_own, move_packages, name, namespace, namespace_url, nuget_native_signing_enabled, num_downloads, num_policy_violated_packages, num_quarantined_packages, open_source_license, open_source_project_url, package_count, package_count_excl_subcomponents, package_group_count, proxy_npmjs, proxy_pypi, raw_package_index_enabled, raw_package_index_signatures_enabled, replace_packages, replace_packages_by_default, repository_type, repository_type_str, resync_own, resync_packages, scan_own, scan_packages, self_html_url, self_url, self_webapp_url, show_setup_all, size, size_str, slug, slug_perm, storage_region, strict_npm_validation, tag_pre_releases_as_latest, use_debian_labels, use_default_cargo_upstream, use_entitlements_privilege, use_noarch_packages, use_source_packages, use_vulnerability_scanning, user_entitlements_enabled, view_statistics].hash
988
+ [broadcast_state, cdn_url, content_kind, contextual_auth_realm, copy_own, copy_packages, cosign_signing_enabled, created_at, default_privilege, delete_own, delete_packages, deleted_at, description, distributes, docker_refresh_tokens_enabled, ecdsa_keys, enforce_eula, generic_package_index_enabled, gpg_keys, index_files, is_open_source, is_private, is_public, is_public_hidden, manage_entitlements_privilege, move_own, move_packages, name, namespace, namespace_url, npm_upstream_tags_take_precedence, nuget_native_signing_enabled, num_downloads, num_policy_violated_packages, num_quarantined_packages, open_source_license, open_source_project_url, package_count, package_count_excl_subcomponents, package_group_count, proxy_npmjs, proxy_pypi, raw_package_index_enabled, raw_package_index_signatures_enabled, replace_packages, replace_packages_by_default, repository_type, repository_type_str, resync_own, resync_packages, scan_own, scan_packages, self_html_url, self_url, self_webapp_url, show_setup_all, size, size_str, slug, slug_perm, storage_region, strict_npm_validation, tag_pre_releases_as_latest, use_debian_labels, use_default_cargo_upstream, use_entitlements_privilege, use_noarch_packages, use_source_packages, use_vulnerability_scanning, user_entitlements_enabled, view_statistics].hash
979
989
  end
980
990
 
981
991
  # Builds the object from hash
@@ -74,6 +74,9 @@ class RepositoryCreateRequest
74
74
  # A descriptive name for the repository.
75
75
  attr_accessor :name
76
76
 
77
+ # If checked, npm distribution tags from configured upstreams will take precedence over matching local tags. When both upstream and local repositories have the same tag name (e.g., 'latest'), the upstream tag will be used instead of the local one, even if the local repository has a semantically higher version.
78
+ attr_accessor :npm_upstream_tags_take_precedence
79
+
77
80
  # When enabled, all pushed (or pulled from upstream) nuget packages and artifacts will be signed using the repository's X.509 RSA certificate. Additionally, the nuget RepositorySignature index will list all of the repository's signing certificates including the ones from configured upstreams.
78
81
  attr_accessor :nuget_native_signing_enabled
79
82
 
@@ -200,6 +203,7 @@ class RepositoryCreateRequest
200
203
  :'move_own' => :'move_own',
201
204
  :'move_packages' => :'move_packages',
202
205
  :'name' => :'name',
206
+ :'npm_upstream_tags_take_precedence' => :'npm_upstream_tags_take_precedence',
203
207
  :'nuget_native_signing_enabled' => :'nuget_native_signing_enabled',
204
208
  :'open_source_license' => :'open_source_license',
205
209
  :'open_source_project_url' => :'open_source_project_url',
@@ -253,6 +257,7 @@ class RepositoryCreateRequest
253
257
  :'move_own' => :'BOOLEAN',
254
258
  :'move_packages' => :'String',
255
259
  :'name' => :'String',
260
+ :'npm_upstream_tags_take_precedence' => :'BOOLEAN',
256
261
  :'nuget_native_signing_enabled' => :'BOOLEAN',
257
262
  :'open_source_license' => :'String',
258
263
  :'open_source_project_url' => :'String',
@@ -387,6 +392,10 @@ class RepositoryCreateRequest
387
392
  self.name = attributes[:'name']
388
393
  end
389
394
 
395
+ if attributes.has_key?(:'npm_upstream_tags_take_precedence')
396
+ self.npm_upstream_tags_take_precedence = attributes[:'npm_upstream_tags_take_precedence']
397
+ end
398
+
390
399
  if attributes.has_key?(:'nuget_native_signing_enabled')
391
400
  self.nuget_native_signing_enabled = attributes[:'nuget_native_signing_enabled']
392
401
  end
@@ -709,6 +718,7 @@ class RepositoryCreateRequest
709
718
  move_own == o.move_own &&
710
719
  move_packages == o.move_packages &&
711
720
  name == o.name &&
721
+ npm_upstream_tags_take_precedence == o.npm_upstream_tags_take_precedence &&
712
722
  nuget_native_signing_enabled == o.nuget_native_signing_enabled &&
713
723
  open_source_license == o.open_source_license &&
714
724
  open_source_project_url == o.open_source_project_url &&
@@ -747,7 +757,7 @@ class RepositoryCreateRequest
747
757
  # Calculates hash code according to all attributes.
748
758
  # @return [Fixnum] Hash code
749
759
  def hash
750
- [broadcast_state, content_kind, contextual_auth_realm, copy_own, copy_packages, cosign_signing_enabled, default_privilege, delete_own, delete_packages, description, distributes, docker_refresh_tokens_enabled, enforce_eula, generic_package_index_enabled, index_files, is_public_hidden, manage_entitlements_privilege, move_own, move_packages, name, nuget_native_signing_enabled, open_source_license, open_source_project_url, proxy_npmjs, proxy_pypi, raw_package_index_enabled, raw_package_index_signatures_enabled, replace_packages, replace_packages_by_default, repository_type_str, resync_own, resync_packages, scan_own, scan_packages, show_setup_all, slug, storage_region, strict_npm_validation, tag_pre_releases_as_latest, use_debian_labels, use_default_cargo_upstream, use_entitlements_privilege, use_noarch_packages, use_source_packages, use_vulnerability_scanning, user_entitlements_enabled, view_statistics].hash
760
+ [broadcast_state, content_kind, contextual_auth_realm, copy_own, copy_packages, cosign_signing_enabled, default_privilege, delete_own, delete_packages, description, distributes, docker_refresh_tokens_enabled, enforce_eula, generic_package_index_enabled, index_files, is_public_hidden, manage_entitlements_privilege, move_own, move_packages, name, npm_upstream_tags_take_precedence, nuget_native_signing_enabled, open_source_license, open_source_project_url, proxy_npmjs, proxy_pypi, raw_package_index_enabled, raw_package_index_signatures_enabled, replace_packages, replace_packages_by_default, repository_type_str, resync_own, resync_packages, scan_own, scan_packages, show_setup_all, slug, storage_region, strict_npm_validation, tag_pre_releases_as_latest, use_debian_labels, use_default_cargo_upstream, use_entitlements_privilege, use_noarch_packages, use_source_packages, use_vulnerability_scanning, user_entitlements_enabled, view_statistics].hash
751
761
  end
752
762
 
753
763
  # Builds the object from hash
@@ -0,0 +1,233 @@
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 RepositoryEd25519Key
17
+ # If selected this is the active key for this repository.
18
+ attr_accessor :active
19
+
20
+ attr_accessor :created_at
21
+
22
+ # If selected this is the default key for this repository.
23
+ attr_accessor :default
24
+
25
+ # Uppercase hex-encoded SHA-256 fingerprint of the public key.
26
+ attr_accessor :fingerprint
27
+
28
+ attr_accessor :fingerprint_short
29
+
30
+ # The public key given to repository users.
31
+ attr_accessor :public_key
32
+
33
+ # Attribute mapping from ruby-style variable name to JSON key.
34
+ def self.attribute_map
35
+ {
36
+ :'active' => :'active',
37
+ :'created_at' => :'created_at',
38
+ :'default' => :'default',
39
+ :'fingerprint' => :'fingerprint',
40
+ :'fingerprint_short' => :'fingerprint_short',
41
+ :'public_key' => :'public_key'
42
+ }
43
+ end
44
+
45
+ # Attribute type mapping.
46
+ def self.swagger_types
47
+ {
48
+ :'active' => :'BOOLEAN',
49
+ :'created_at' => :'DateTime',
50
+ :'default' => :'BOOLEAN',
51
+ :'fingerprint' => :'String',
52
+ :'fingerprint_short' => :'String',
53
+ :'public_key' => :'String'
54
+ }
55
+ end
56
+
57
+ # Initializes the object
58
+ # @param [Hash] attributes Model attributes in the form of hash
59
+ def initialize(attributes = {})
60
+ return unless attributes.is_a?(Hash)
61
+
62
+ # convert string to symbol for hash key
63
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
64
+
65
+ if attributes.has_key?(:'active')
66
+ self.active = attributes[:'active']
67
+ end
68
+
69
+ if attributes.has_key?(:'created_at')
70
+ self.created_at = attributes[:'created_at']
71
+ end
72
+
73
+ if attributes.has_key?(:'default')
74
+ self.default = attributes[:'default']
75
+ end
76
+
77
+ if attributes.has_key?(:'fingerprint')
78
+ self.fingerprint = attributes[:'fingerprint']
79
+ end
80
+
81
+ if attributes.has_key?(:'fingerprint_short')
82
+ self.fingerprint_short = attributes[:'fingerprint_short']
83
+ end
84
+
85
+ if attributes.has_key?(:'public_key')
86
+ self.public_key = attributes[:'public_key']
87
+ end
88
+ end
89
+
90
+ # Show invalid properties with the reasons. Usually used together with valid?
91
+ # @return Array for valid properties with the reasons
92
+ def list_invalid_properties
93
+ invalid_properties = Array.new
94
+ invalid_properties
95
+ end
96
+
97
+ # Check to see if the all the properties in the model are valid
98
+ # @return true if the model is valid
99
+ def valid?
100
+ true
101
+ end
102
+
103
+ # Checks equality by comparing each attribute.
104
+ # @param [Object] Object to be compared
105
+ def ==(o)
106
+ return true if self.equal?(o)
107
+ self.class == o.class &&
108
+ active == o.active &&
109
+ created_at == o.created_at &&
110
+ default == o.default &&
111
+ fingerprint == o.fingerprint &&
112
+ fingerprint_short == o.fingerprint_short &&
113
+ public_key == o.public_key
114
+ end
115
+
116
+ # @see the `==` method
117
+ # @param [Object] Object to be compared
118
+ def eql?(o)
119
+ self == o
120
+ end
121
+
122
+ # Calculates hash code according to all attributes.
123
+ # @return [Fixnum] Hash code
124
+ def hash
125
+ [active, created_at, default, fingerprint, fingerprint_short, public_key].hash
126
+ end
127
+
128
+ # Builds the object from hash
129
+ # @param [Hash] attributes Model attributes in the form of hash
130
+ # @return [Object] Returns the model itself
131
+ def build_from_hash(attributes)
132
+ return nil unless attributes.is_a?(Hash)
133
+ self.class.swagger_types.each_pair do |key, type|
134
+ if type =~ /\AArray<(.*)>/i
135
+ # check to ensure the input is an array given that the attribute
136
+ # is documented as an array but the input is not
137
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
138
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
139
+ end
140
+ elsif !attributes[self.class.attribute_map[key]].nil?
141
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
142
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
143
+ end
144
+
145
+ self
146
+ end
147
+
148
+ # Deserializes the data based on type
149
+ # @param string type Data type
150
+ # @param string value Value to be deserialized
151
+ # @return [Object] Deserialized data
152
+ def _deserialize(type, value)
153
+ case type.to_sym
154
+ when :DateTime
155
+ DateTime.parse(value)
156
+ when :Date
157
+ Date.parse(value)
158
+ when :String
159
+ value.to_s
160
+ when :Integer
161
+ value.to_i
162
+ when :Float
163
+ value.to_f
164
+ when :BOOLEAN
165
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
166
+ true
167
+ else
168
+ false
169
+ end
170
+ when :Object
171
+ # generic object (usually a Hash), return directly
172
+ value
173
+ when /\AArray<(?<inner_type>.+)>\z/
174
+ inner_type = Regexp.last_match[:inner_type]
175
+ value.map { |v| _deserialize(inner_type, v) }
176
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
177
+ k_type = Regexp.last_match[:k_type]
178
+ v_type = Regexp.last_match[:v_type]
179
+ {}.tap do |hash|
180
+ value.each do |k, v|
181
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
182
+ end
183
+ end
184
+ else # model
185
+ temp_model = CloudsmithApi.const_get(type).new
186
+ temp_model.build_from_hash(value)
187
+ end
188
+ end
189
+
190
+ # Returns the string representation of the object
191
+ # @return [String] String presentation of the object
192
+ def to_s
193
+ to_hash.to_s
194
+ end
195
+
196
+ # to_body is an alias to to_hash (backward compatibility)
197
+ # @return [Hash] Returns the object in the form of hash
198
+ def to_body
199
+ to_hash
200
+ end
201
+
202
+ # Returns the object in the form of hash
203
+ # @return [Hash] Returns the object in the form of hash
204
+ def to_hash
205
+ hash = {}
206
+ self.class.attribute_map.each_pair do |attr, param|
207
+ value = self.send(attr)
208
+ next if value.nil?
209
+ hash[param] = _to_hash(value)
210
+ end
211
+ hash
212
+ end
213
+
214
+ # Outputs non-array value in the form of hash
215
+ # For object, use to_hash. Otherwise, just return the value
216
+ # @param [Object] value Any valid value
217
+ # @return [Hash] Returns the value in the form of hash
218
+ def _to_hash(value)
219
+ if value.is_a?(Array)
220
+ value.compact.map { |v| _to_hash(v) }
221
+ elsif value.is_a?(Hash)
222
+ {}.tap do |hash|
223
+ value.each { |k, v| hash[k] = _to_hash(v) }
224
+ end
225
+ elsif value.respond_to? :to_hash
226
+ value.to_hash
227
+ else
228
+ value
229
+ end
230
+ end
231
+
232
+ end
233
+ end