pulp_python_client 3.3.0 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (230) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +17 -4
  3. data/build/lib/pulpcore/__init__.py +2 -0
  4. data/build/lib/pulpcore/client/__init__.py +2 -0
  5. data/build/lib/pulpcore/client/pulp_python/__init__.py +75 -0
  6. data/build/lib/pulpcore/client/pulp_python/api/__init__.py +15 -0
  7. data/build/lib/pulpcore/client/pulp_python/api/content_packages_api.py +626 -0
  8. data/build/lib/pulpcore/client/pulp_python/api/distributions_pypi_api.py +830 -0
  9. data/build/lib/pulpcore/client/pulp_python/api/publications_pypi_api.py +566 -0
  10. data/build/lib/pulpcore/client/pulp_python/api/pypi_api.py +162 -0
  11. data/build/lib/pulpcore/client/pulp_python/api/pypi_legacy_api.py +185 -0
  12. data/build/lib/pulpcore/client/pulp_python/api/pypi_metadata_api.py +171 -0
  13. data/build/lib/pulpcore/client/pulp_python/api/pypi_simple_api.py +434 -0
  14. data/build/lib/pulpcore/client/pulp_python/api/remotes_python_api.py +972 -0
  15. data/build/lib/pulpcore/client/pulp_python/api/repositories_python_api.py +1063 -0
  16. data/build/lib/pulpcore/client/pulp_python/api/repositories_python_versions_api.py +614 -0
  17. data/build/lib/pulpcore/client/pulp_python/api_client.py +667 -0
  18. data/build/lib/pulpcore/client/pulp_python/configuration.py +427 -0
  19. data/build/lib/pulpcore/client/pulp_python/exceptions.py +121 -0
  20. data/build/lib/pulpcore/client/pulp_python/models/__init__.py +51 -0
  21. data/build/lib/pulpcore/client/pulp_python/models/async_operation_response.py +124 -0
  22. data/build/lib/pulpcore/client/pulp_python/models/content_summary.py +176 -0
  23. data/build/lib/pulpcore/client/pulp_python/models/content_summary_response.py +176 -0
  24. data/build/lib/pulpcore/client/pulp_python/models/exclude_platforms_enum.py +103 -0
  25. data/build/lib/pulpcore/client/pulp_python/models/package_metadata_response.py +209 -0
  26. data/build/lib/pulpcore/client/pulp_python/models/package_types_enum.py +107 -0
  27. data/build/lib/pulpcore/client/pulp_python/models/package_upload.py +187 -0
  28. data/build/lib/pulpcore/client/pulp_python/models/package_upload_task_response.py +176 -0
  29. data/build/lib/pulpcore/client/pulp_python/models/paginated_repository_version_response_list.py +197 -0
  30. data/build/lib/pulpcore/client/pulp_python/models/paginatedpython_python_distribution_response_list.py +197 -0
  31. data/build/lib/pulpcore/client/pulp_python/models/paginatedpython_python_package_content_response_list.py +197 -0
  32. data/build/lib/pulpcore/client/pulp_python/models/paginatedpython_python_publication_response_list.py +197 -0
  33. data/build/lib/pulpcore/client/pulp_python/models/paginatedpython_python_remote_response_list.py +197 -0
  34. data/build/lib/pulpcore/client/pulp_python/models/paginatedpython_python_repository_response_list.py +197 -0
  35. data/build/lib/pulpcore/client/pulp_python/models/patchedpython_python_distribution.py +286 -0
  36. data/build/lib/pulpcore/client/pulp_python/models/patchedpython_python_remote.py +823 -0
  37. data/build/lib/pulpcore/client/pulp_python/models/patchedpython_python_repository.py +259 -0
  38. data/build/lib/pulpcore/client/pulp_python/models/policy_enum.py +102 -0
  39. data/build/lib/pulpcore/client/pulp_python/models/python_bander_remote.py +181 -0
  40. data/build/lib/pulpcore/client/pulp_python/models/python_python_distribution.py +288 -0
  41. data/build/lib/pulpcore/client/pulp_python/models/python_python_distribution_response.py +368 -0
  42. data/build/lib/pulpcore/client/pulp_python/models/python_python_package_content.py +824 -0
  43. data/build/lib/pulpcore/client/pulp_python/models/python_python_package_content_response.py +933 -0
  44. data/build/lib/pulpcore/client/pulp_python/models/python_python_publication.py +149 -0
  45. data/build/lib/pulpcore/client/pulp_python/models/python_python_publication_response.py +231 -0
  46. data/build/lib/pulpcore/client/pulp_python/models/python_python_remote.py +825 -0
  47. data/build/lib/pulpcore/client/pulp_python/models/python_python_remote_response.py +772 -0
  48. data/build/lib/pulpcore/client/pulp_python/models/python_python_repository.py +260 -0
  49. data/build/lib/pulpcore/client/pulp_python/models/python_python_repository_response.py +366 -0
  50. data/build/lib/pulpcore/client/pulp_python/models/repository_add_remove_content.py +179 -0
  51. data/build/lib/pulpcore/client/pulp_python/models/repository_sync_url.py +151 -0
  52. data/build/lib/pulpcore/client/pulp_python/models/repository_version.py +123 -0
  53. data/build/lib/pulpcore/client/pulp_python/models/repository_version_response.py +257 -0
  54. data/build/lib/pulpcore/client/pulp_python/models/summary_response.py +182 -0
  55. data/build/lib/pulpcore/client/pulp_python/rest.py +292 -0
  56. data/dist/pulp_python-client-3.4.0.tar.gz +0 -0
  57. data/dist/pulp_python_client-3.4.0-py3-none-any.whl +0 -0
  58. data/docs/ContentPackagesApi.md +6 -0
  59. data/docs/DistributionsPypiApi.md +2 -2
  60. data/docs/PackageMetadataResponse.md +23 -0
  61. data/docs/PackageUpload.md +21 -0
  62. data/docs/PackageUploadTaskResponse.md +21 -0
  63. data/docs/PatchedpythonPythonDistribution.md +3 -1
  64. data/docs/PatchedpythonPythonRemote.md +1 -1
  65. data/docs/PublicationsPypiApi.md +1 -1
  66. data/docs/PypiApi.md +62 -0
  67. data/docs/PypiLegacyApi.md +70 -0
  68. data/docs/PypiMetadataApi.md +64 -0
  69. data/docs/PypiSimpleApi.md +190 -0
  70. data/docs/PythonBanderRemote.md +1 -1
  71. data/docs/PythonPythonDistribution.md +3 -1
  72. data/docs/PythonPythonDistributionResponse.md +4 -2
  73. data/docs/PythonPythonPackageContent.md +6 -0
  74. data/docs/PythonPythonPackageContentResponse.md +5 -1
  75. data/docs/PythonPythonRemote.md +1 -1
  76. data/docs/PythonPythonRemoteResponse.md +1 -1
  77. data/docs/RemotesPythonApi.md +3 -3
  78. data/docs/RepositoriesPythonApi.md +4 -4
  79. data/docs/SummaryResponse.md +21 -0
  80. data/lib/pulp_python_client/api/content_packages_api.rb +9 -0
  81. data/lib/pulp_python_client/api/distributions_pypi_api.rb +4 -4
  82. data/lib/pulp_python_client/api/publications_pypi_api.rb +2 -2
  83. data/lib/pulp_python_client/api/pypi_api.rb +90 -0
  84. data/lib/pulp_python_client/api/pypi_legacy_api.rb +111 -0
  85. data/lib/pulp_python_client/api/pypi_metadata_api.rb +96 -0
  86. data/lib/pulp_python_client/api/pypi_simple_api.rb +249 -0
  87. data/lib/pulp_python_client/api/remotes_python_api.rb +4 -4
  88. data/lib/pulp_python_client/api/repositories_python_api.rb +8 -8
  89. data/lib/pulp_python_client/models/package_metadata_response.rb +257 -0
  90. data/lib/pulp_python_client/models/package_upload.rb +268 -0
  91. data/lib/pulp_python_client/models/package_upload_task_response.rb +240 -0
  92. data/lib/pulp_python_client/models/patchedpython_python_distribution.rb +17 -5
  93. data/lib/pulp_python_client/models/patchedpython_python_remote.rb +1 -1
  94. data/lib/pulp_python_client/models/python_bander_remote.rb +1 -1
  95. data/lib/pulp_python_client/models/python_python_distribution.rb +17 -5
  96. data/lib/pulp_python_client/models/python_python_distribution_response.rb +17 -6
  97. data/lib/pulp_python_client/models/python_python_package_content.rb +33 -1
  98. data/lib/pulp_python_client/models/python_python_package_content_response.rb +23 -1
  99. data/lib/pulp_python_client/models/python_python_remote.rb +1 -1
  100. data/lib/pulp_python_client/models/python_python_remote_response.rb +1 -1
  101. data/lib/pulp_python_client/models/summary_response.rb +243 -0
  102. data/lib/pulp_python_client/version.rb +1 -1
  103. data/lib/pulp_python_client.rb +8 -0
  104. data/pulp_python_client.egg-info/PKG-INFO +15 -0
  105. data/pulp_python_client.egg-info/SOURCES.txt +105 -0
  106. data/pulp_python_client.egg-info/dependency_links.txt +1 -0
  107. data/pulp_python_client.egg-info/requires.txt +4 -0
  108. data/pulp_python_client.egg-info/top_level.txt +1 -0
  109. data/pulpcore/__init__.py +2 -0
  110. data/pulpcore/client/__init__.py +2 -0
  111. data/pulpcore/client/pulp_python/__init__.py +75 -0
  112. data/pulpcore/client/pulp_python/api/__init__.py +15 -0
  113. data/pulpcore/client/pulp_python/api/content_packages_api.py +626 -0
  114. data/pulpcore/client/pulp_python/api/distributions_pypi_api.py +830 -0
  115. data/pulpcore/client/pulp_python/api/publications_pypi_api.py +566 -0
  116. data/pulpcore/client/pulp_python/api/pypi_api.py +162 -0
  117. data/pulpcore/client/pulp_python/api/pypi_legacy_api.py +185 -0
  118. data/pulpcore/client/pulp_python/api/pypi_metadata_api.py +171 -0
  119. data/pulpcore/client/pulp_python/api/pypi_simple_api.py +434 -0
  120. data/pulpcore/client/pulp_python/api/remotes_python_api.py +972 -0
  121. data/pulpcore/client/pulp_python/api/repositories_python_api.py +1063 -0
  122. data/pulpcore/client/pulp_python/api/repositories_python_versions_api.py +614 -0
  123. data/pulpcore/client/pulp_python/api_client.py +667 -0
  124. data/pulpcore/client/pulp_python/configuration.py +427 -0
  125. data/pulpcore/client/pulp_python/exceptions.py +121 -0
  126. data/pulpcore/client/pulp_python/models/__init__.py +51 -0
  127. data/pulpcore/client/pulp_python/models/async_operation_response.py +124 -0
  128. data/pulpcore/client/pulp_python/models/content_summary.py +176 -0
  129. data/pulpcore/client/pulp_python/models/content_summary_response.py +176 -0
  130. data/pulpcore/client/pulp_python/models/exclude_platforms_enum.py +103 -0
  131. data/pulpcore/client/pulp_python/models/package_metadata_response.py +209 -0
  132. data/pulpcore/client/pulp_python/models/package_types_enum.py +107 -0
  133. data/pulpcore/client/pulp_python/models/package_upload.py +187 -0
  134. data/pulpcore/client/pulp_python/models/package_upload_task_response.py +176 -0
  135. data/pulpcore/client/pulp_python/models/paginated_repository_version_response_list.py +197 -0
  136. data/pulpcore/client/pulp_python/models/paginatedpython_python_distribution_response_list.py +197 -0
  137. data/pulpcore/client/pulp_python/models/paginatedpython_python_package_content_response_list.py +197 -0
  138. data/pulpcore/client/pulp_python/models/paginatedpython_python_publication_response_list.py +197 -0
  139. data/pulpcore/client/pulp_python/models/paginatedpython_python_remote_response_list.py +197 -0
  140. data/pulpcore/client/pulp_python/models/paginatedpython_python_repository_response_list.py +197 -0
  141. data/pulpcore/client/pulp_python/models/patchedpython_python_distribution.py +286 -0
  142. data/pulpcore/client/pulp_python/models/patchedpython_python_remote.py +823 -0
  143. data/pulpcore/client/pulp_python/models/patchedpython_python_repository.py +259 -0
  144. data/pulpcore/client/pulp_python/models/policy_enum.py +102 -0
  145. data/pulpcore/client/pulp_python/models/python_bander_remote.py +181 -0
  146. data/pulpcore/client/pulp_python/models/python_python_distribution.py +288 -0
  147. data/pulpcore/client/pulp_python/models/python_python_distribution_response.py +368 -0
  148. data/pulpcore/client/pulp_python/models/python_python_package_content.py +824 -0
  149. data/pulpcore/client/pulp_python/models/python_python_package_content_response.py +933 -0
  150. data/pulpcore/client/pulp_python/models/python_python_publication.py +149 -0
  151. data/pulpcore/client/pulp_python/models/python_python_publication_response.py +231 -0
  152. data/pulpcore/client/pulp_python/models/python_python_remote.py +825 -0
  153. data/pulpcore/client/pulp_python/models/python_python_remote_response.py +772 -0
  154. data/pulpcore/client/pulp_python/models/python_python_repository.py +260 -0
  155. data/pulpcore/client/pulp_python/models/python_python_repository_response.py +366 -0
  156. data/pulpcore/client/pulp_python/models/repository_add_remove_content.py +179 -0
  157. data/pulpcore/client/pulp_python/models/repository_sync_url.py +151 -0
  158. data/pulpcore/client/pulp_python/models/repository_version.py +123 -0
  159. data/pulpcore/client/pulp_python/models/repository_version_response.py +257 -0
  160. data/pulpcore/client/pulp_python/models/summary_response.py +182 -0
  161. data/pulpcore/client/pulp_python/rest.py +292 -0
  162. data/requirements.txt +6 -0
  163. data/setup.cfg +2 -0
  164. data/setup.py +42 -0
  165. data/spec/api/content_packages_api_spec.rb +3 -0
  166. data/spec/api/distributions_pypi_api_spec.rb +2 -2
  167. data/spec/api/publications_pypi_api_spec.rb +1 -1
  168. data/spec/api/pypi_api_spec.rb +49 -0
  169. data/spec/api/pypi_legacy_api_spec.rb +50 -0
  170. data/spec/api/pypi_metadata_api_spec.rb +50 -0
  171. data/spec/api/pypi_simple_api_spec.rb +79 -0
  172. data/spec/api/remotes_python_api_spec.rb +2 -2
  173. data/spec/api/repositories_python_api_spec.rb +4 -4
  174. data/spec/models/package_metadata_response_spec.rb +59 -0
  175. data/spec/models/package_upload_spec.rb +53 -0
  176. data/spec/models/package_upload_task_response_spec.rb +53 -0
  177. data/spec/models/patchedpython_python_distribution_spec.rb +6 -0
  178. data/spec/models/python_python_distribution_response_spec.rb +6 -0
  179. data/spec/models/python_python_distribution_spec.rb +6 -0
  180. data/spec/models/python_python_package_content_response_spec.rb +12 -0
  181. data/spec/models/python_python_package_content_spec.rb +18 -0
  182. data/spec/models/summary_response_spec.rb +53 -0
  183. data/test/__init__.py +0 -0
  184. data/test/test_async_operation_response.py +54 -0
  185. data/test/test_content_packages_api.py +55 -0
  186. data/test/test_content_summary.py +70 -0
  187. data/test/test_content_summary_response.py +70 -0
  188. data/test/test_distributions_pypi_api.py +76 -0
  189. data/test/test_exclude_platforms_enum.py +52 -0
  190. data/test/test_package_metadata_response.py +60 -0
  191. data/test/test_package_types_enum.py +52 -0
  192. data/test/test_package_upload.py +57 -0
  193. data/test/test_package_upload_task_response.py +58 -0
  194. data/test/test_paginated_repository_version_response_list.py +64 -0
  195. data/test/test_paginatedpython_python_distribution_response_list.py +68 -0
  196. data/test/test_paginatedpython_python_package_content_response_list.py +88 -0
  197. data/test/test_paginatedpython_python_publication_response_list.py +65 -0
  198. data/test/test_paginatedpython_python_remote_response_list.py +88 -0
  199. data/test/test_paginatedpython_python_repository_response_list.py +68 -0
  200. data/test/test_patchedpython_python_distribution.py +59 -0
  201. data/test/test_patchedpython_python_remote.py +84 -0
  202. data/test/test_patchedpython_python_repository.py +58 -0
  203. data/test/test_policy_enum.py +52 -0
  204. data/test/test_publications_pypi_api.py +62 -0
  205. data/test/test_pypi_api.py +41 -0
  206. data/test/test_pypi_legacy_api.py +41 -0
  207. data/test/test_pypi_metadata_api.py +41 -0
  208. data/test/test_pypi_simple_api.py +55 -0
  209. data/test/test_python_bander_remote.py +57 -0
  210. data/test/test_python_python_distribution.py +61 -0
  211. data/test/test_python_python_distribution_response.py +64 -0
  212. data/test/test_python_python_package_content.py +79 -0
  213. data/test/test_python_python_package_content_response.py +82 -0
  214. data/test/test_python_python_publication.py +54 -0
  215. data/test/test_python_python_publication_response.py +59 -0
  216. data/test/test_python_python_remote.py +86 -0
  217. data/test/test_python_python_remote_response.py +84 -0
  218. data/test/test_python_python_repository.py +59 -0
  219. data/test/test_python_python_repository_response.py +63 -0
  220. data/test/test_remotes_python_api.py +83 -0
  221. data/test/test_repositories_python_api.py +90 -0
  222. data/test/test_repositories_python_versions_api.py +61 -0
  223. data/test/test_repository_add_remove_content.py +59 -0
  224. data/test/test_repository_sync_url.py +54 -0
  225. data/test/test_repository_version.py +53 -0
  226. data/test/test_repository_version_response.py +58 -0
  227. data/test/test_summary_response.py +58 -0
  228. data/test-requirements.txt +3 -0
  229. data/tox.ini +9 -0
  230. metadata +221 -26
@@ -0,0 +1,257 @@
1
+ =begin
2
+ #Pulp 3 API
3
+
4
+ #Fetch, Upload, Organize, and Distribute Software Packages
5
+
6
+ The version of the OpenAPI document: v3
7
+ Contact: pulp-list@redhat.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.2.3
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module PulpPythonClient
16
+ # A Serializer for a package's metadata.
17
+ class PackageMetadataResponse
18
+ # Cache value from last PyPI sync
19
+ attr_accessor :last_serial
20
+
21
+ # Core metadata of the package
22
+ attr_accessor :info
23
+
24
+ # List of all the releases of the package
25
+ attr_accessor :releases
26
+
27
+ attr_accessor :urls
28
+
29
+ # Attribute mapping from ruby-style variable name to JSON key.
30
+ def self.attribute_map
31
+ {
32
+ :'last_serial' => :'last_serial',
33
+ :'info' => :'info',
34
+ :'releases' => :'releases',
35
+ :'urls' => :'urls'
36
+ }
37
+ end
38
+
39
+ # Attribute type mapping.
40
+ def self.openapi_types
41
+ {
42
+ :'last_serial' => :'Integer',
43
+ :'info' => :'Object',
44
+ :'releases' => :'Object',
45
+ :'urls' => :'Object'
46
+ }
47
+ end
48
+
49
+ # List of attributes with nullable: true
50
+ def self.openapi_nullable
51
+ Set.new([
52
+ ])
53
+ end
54
+
55
+ # Initializes the object
56
+ # @param [Hash] attributes Model attributes in the form of hash
57
+ def initialize(attributes = {})
58
+ if (!attributes.is_a?(Hash))
59
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PulpPythonClient::PackageMetadataResponse` initialize method"
60
+ end
61
+
62
+ # check to see if the attribute exists and convert string to symbol for hash key
63
+ attributes = attributes.each_with_object({}) { |(k, v), h|
64
+ if (!self.class.attribute_map.key?(k.to_sym))
65
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PulpPythonClient::PackageMetadataResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
66
+ end
67
+ h[k.to_sym] = v
68
+ }
69
+
70
+ if attributes.key?(:'last_serial')
71
+ self.last_serial = attributes[:'last_serial']
72
+ end
73
+
74
+ if attributes.key?(:'info')
75
+ self.info = attributes[:'info']
76
+ end
77
+
78
+ if attributes.key?(:'releases')
79
+ self.releases = attributes[:'releases']
80
+ end
81
+
82
+ if attributes.key?(:'urls')
83
+ self.urls = attributes[:'urls']
84
+ end
85
+ end
86
+
87
+ # Show invalid properties with the reasons. Usually used together with valid?
88
+ # @return Array for valid properties with the reasons
89
+ def list_invalid_properties
90
+ invalid_properties = Array.new
91
+ if @last_serial.nil?
92
+ invalid_properties.push('invalid value for "last_serial", last_serial cannot be nil.')
93
+ end
94
+
95
+ if @info.nil?
96
+ invalid_properties.push('invalid value for "info", info cannot be nil.')
97
+ end
98
+
99
+ if @releases.nil?
100
+ invalid_properties.push('invalid value for "releases", releases cannot be nil.')
101
+ end
102
+
103
+ if @urls.nil?
104
+ invalid_properties.push('invalid value for "urls", urls cannot be nil.')
105
+ end
106
+
107
+ invalid_properties
108
+ end
109
+
110
+ # Check to see if the all the properties in the model are valid
111
+ # @return true if the model is valid
112
+ def valid?
113
+ return false if @last_serial.nil?
114
+ return false if @info.nil?
115
+ return false if @releases.nil?
116
+ return false if @urls.nil?
117
+ true
118
+ end
119
+
120
+ # Checks equality by comparing each attribute.
121
+ # @param [Object] Object to be compared
122
+ def ==(o)
123
+ return true if self.equal?(o)
124
+ self.class == o.class &&
125
+ last_serial == o.last_serial &&
126
+ info == o.info &&
127
+ releases == o.releases &&
128
+ urls == o.urls
129
+ end
130
+
131
+ # @see the `==` method
132
+ # @param [Object] Object to be compared
133
+ def eql?(o)
134
+ self == o
135
+ end
136
+
137
+ # Calculates hash code according to all attributes.
138
+ # @return [Integer] Hash code
139
+ def hash
140
+ [last_serial, info, releases, urls].hash
141
+ end
142
+
143
+ # Builds the object from hash
144
+ # @param [Hash] attributes Model attributes in the form of hash
145
+ # @return [Object] Returns the model itself
146
+ def self.build_from_hash(attributes)
147
+ new.build_from_hash(attributes)
148
+ end
149
+
150
+ # Builds the object from hash
151
+ # @param [Hash] attributes Model attributes in the form of hash
152
+ # @return [Object] Returns the model itself
153
+ def build_from_hash(attributes)
154
+ return nil unless attributes.is_a?(Hash)
155
+ self.class.openapi_types.each_pair do |key, type|
156
+ if type =~ /\AArray<(.*)>/i
157
+ # check to ensure the input is an array given that the attribute
158
+ # is documented as an array but the input is not
159
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
160
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
161
+ end
162
+ elsif !attributes[self.class.attribute_map[key]].nil?
163
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
164
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
165
+ end
166
+
167
+ self
168
+ end
169
+
170
+ # Deserializes the data based on type
171
+ # @param string type Data type
172
+ # @param string value Value to be deserialized
173
+ # @return [Object] Deserialized data
174
+ def _deserialize(type, value)
175
+ case type.to_sym
176
+ when :DateTime
177
+ DateTime.parse(value)
178
+ when :Date
179
+ Date.parse(value)
180
+ when :String
181
+ value.to_s
182
+ when :Integer
183
+ value.to_i
184
+ when :Float
185
+ value.to_f
186
+ when :Boolean
187
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
188
+ true
189
+ else
190
+ false
191
+ end
192
+ when :Object
193
+ # generic object (usually a Hash), return directly
194
+ value
195
+ when /\AArray<(?<inner_type>.+)>\z/
196
+ inner_type = Regexp.last_match[:inner_type]
197
+ value.map { |v| _deserialize(inner_type, v) }
198
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
199
+ k_type = Regexp.last_match[:k_type]
200
+ v_type = Regexp.last_match[:v_type]
201
+ {}.tap do |hash|
202
+ value.each do |k, v|
203
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
204
+ end
205
+ end
206
+ else # model
207
+ PulpPythonClient.const_get(type).build_from_hash(value)
208
+ end
209
+ end
210
+
211
+ # Returns the string representation of the object
212
+ # @return [String] String presentation of the object
213
+ def to_s
214
+ to_hash.to_s
215
+ end
216
+
217
+ # to_body is an alias to to_hash (backward compatibility)
218
+ # @return [Hash] Returns the object in the form of hash
219
+ def to_body
220
+ to_hash
221
+ end
222
+
223
+ # Returns the object in the form of hash
224
+ # @return [Hash] Returns the object in the form of hash
225
+ def to_hash
226
+ hash = {}
227
+ self.class.attribute_map.each_pair do |attr, param|
228
+ value = self.send(attr)
229
+ if value.nil?
230
+ is_nullable = self.class.openapi_nullable.include?(attr)
231
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
232
+ end
233
+
234
+ hash[param] = _to_hash(value)
235
+ end
236
+ hash
237
+ end
238
+
239
+ # Outputs non-array value in the form of hash
240
+ # For object, use to_hash. Otherwise, just return the value
241
+ # @param [Object] value Any valid value
242
+ # @return [Hash] Returns the value in the form of hash
243
+ def _to_hash(value)
244
+ if value.is_a?(Array)
245
+ value.compact.map { |v| _to_hash(v) }
246
+ elsif value.is_a?(Hash)
247
+ {}.tap do |hash|
248
+ value.each { |k, v| hash[k] = _to_hash(v) }
249
+ end
250
+ elsif value.respond_to? :to_hash
251
+ value.to_hash
252
+ else
253
+ value
254
+ end
255
+ end
256
+ end
257
+ end
@@ -0,0 +1,268 @@
1
+ =begin
2
+ #Pulp 3 API
3
+
4
+ #Fetch, Upload, Organize, and Distribute Software Packages
5
+
6
+ The version of the OpenAPI document: v3
7
+ Contact: pulp-list@redhat.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.2.3
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module PulpPythonClient
16
+ # A Serializer for Python packages being uploaded to the index.
17
+ class PackageUpload
18
+ # A Python package release file to upload to the index.
19
+ attr_accessor :content
20
+
21
+ # Defaults to `file_upload`, don't change it or request will fail!
22
+ attr_accessor :action
23
+
24
+ # SHA256 of package to validate upload integrity.
25
+ attr_accessor :sha256_digest
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ def self.attribute_map
29
+ {
30
+ :'content' => :'content',
31
+ :'action' => :'action',
32
+ :'sha256_digest' => :'sha256_digest'
33
+ }
34
+ end
35
+
36
+ # Attribute type mapping.
37
+ def self.openapi_types
38
+ {
39
+ :'content' => :'File',
40
+ :'action' => :'String',
41
+ :'sha256_digest' => :'String'
42
+ }
43
+ end
44
+
45
+ # List of attributes with nullable: true
46
+ def self.openapi_nullable
47
+ Set.new([
48
+ ])
49
+ end
50
+
51
+ # Initializes the object
52
+ # @param [Hash] attributes Model attributes in the form of hash
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PulpPythonClient::PackageUpload` initialize method"
56
+ end
57
+
58
+ # check to see if the attribute exists and convert string to symbol for hash key
59
+ attributes = attributes.each_with_object({}) { |(k, v), h|
60
+ if (!self.class.attribute_map.key?(k.to_sym))
61
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PulpPythonClient::PackageUpload`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
62
+ end
63
+ h[k.to_sym] = v
64
+ }
65
+
66
+ if attributes.key?(:'content')
67
+ self.content = attributes[:'content']
68
+ end
69
+
70
+ if attributes.key?(:'action')
71
+ self.action = attributes[:'action']
72
+ else
73
+ self.action = 'file_upload'
74
+ end
75
+
76
+ if attributes.key?(:'sha256_digest')
77
+ self.sha256_digest = attributes[:'sha256_digest']
78
+ end
79
+ end
80
+
81
+ # Show invalid properties with the reasons. Usually used together with valid?
82
+ # @return Array for valid properties with the reasons
83
+ def list_invalid_properties
84
+ invalid_properties = Array.new
85
+ if @content.nil?
86
+ invalid_properties.push('invalid value for "content", content cannot be nil.')
87
+ end
88
+
89
+ if @sha256_digest.nil?
90
+ invalid_properties.push('invalid value for "sha256_digest", sha256_digest cannot be nil.')
91
+ end
92
+
93
+ if @sha256_digest.to_s.length > 64
94
+ invalid_properties.push('invalid value for "sha256_digest", the character length must be smaller than or equal to 64.')
95
+ end
96
+
97
+ if @sha256_digest.to_s.length < 64
98
+ invalid_properties.push('invalid value for "sha256_digest", the character length must be great than or equal to 64.')
99
+ end
100
+
101
+ invalid_properties
102
+ end
103
+
104
+ # Check to see if the all the properties in the model are valid
105
+ # @return true if the model is valid
106
+ def valid?
107
+ return false if @content.nil?
108
+ return false if @sha256_digest.nil?
109
+ return false if @sha256_digest.to_s.length > 64
110
+ return false if @sha256_digest.to_s.length < 64
111
+ true
112
+ end
113
+
114
+ # Custom attribute writer method with validation
115
+ # @param [Object] sha256_digest Value to be assigned
116
+ def sha256_digest=(sha256_digest)
117
+ if sha256_digest.nil?
118
+ fail ArgumentError, 'sha256_digest cannot be nil'
119
+ end
120
+
121
+ if sha256_digest.to_s.length > 64
122
+ fail ArgumentError, 'invalid value for "sha256_digest", the character length must be smaller than or equal to 64.'
123
+ end
124
+
125
+ if sha256_digest.to_s.length < 64
126
+ fail ArgumentError, 'invalid value for "sha256_digest", the character length must be great than or equal to 64.'
127
+ end
128
+
129
+ @sha256_digest = sha256_digest
130
+ end
131
+
132
+ # Checks equality by comparing each attribute.
133
+ # @param [Object] Object to be compared
134
+ def ==(o)
135
+ return true if self.equal?(o)
136
+ self.class == o.class &&
137
+ content == o.content &&
138
+ action == o.action &&
139
+ sha256_digest == o.sha256_digest
140
+ end
141
+
142
+ # @see the `==` method
143
+ # @param [Object] Object to be compared
144
+ def eql?(o)
145
+ self == o
146
+ end
147
+
148
+ # Calculates hash code according to all attributes.
149
+ # @return [Integer] Hash code
150
+ def hash
151
+ [content, action, sha256_digest].hash
152
+ end
153
+
154
+ # Builds the object from hash
155
+ # @param [Hash] attributes Model attributes in the form of hash
156
+ # @return [Object] Returns the model itself
157
+ def self.build_from_hash(attributes)
158
+ new.build_from_hash(attributes)
159
+ end
160
+
161
+ # Builds the object from hash
162
+ # @param [Hash] attributes Model attributes in the form of hash
163
+ # @return [Object] Returns the model itself
164
+ def build_from_hash(attributes)
165
+ return nil unless attributes.is_a?(Hash)
166
+ self.class.openapi_types.each_pair do |key, type|
167
+ if type =~ /\AArray<(.*)>/i
168
+ # check to ensure the input is an array given that the attribute
169
+ # is documented as an array but the input is not
170
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
171
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
172
+ end
173
+ elsif !attributes[self.class.attribute_map[key]].nil?
174
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
175
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
176
+ end
177
+
178
+ self
179
+ end
180
+
181
+ # Deserializes the data based on type
182
+ # @param string type Data type
183
+ # @param string value Value to be deserialized
184
+ # @return [Object] Deserialized data
185
+ def _deserialize(type, value)
186
+ case type.to_sym
187
+ when :DateTime
188
+ DateTime.parse(value)
189
+ when :Date
190
+ Date.parse(value)
191
+ when :String
192
+ value.to_s
193
+ when :Integer
194
+ value.to_i
195
+ when :Float
196
+ value.to_f
197
+ when :Boolean
198
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
199
+ true
200
+ else
201
+ false
202
+ end
203
+ when :Object
204
+ # generic object (usually a Hash), return directly
205
+ value
206
+ when /\AArray<(?<inner_type>.+)>\z/
207
+ inner_type = Regexp.last_match[:inner_type]
208
+ value.map { |v| _deserialize(inner_type, v) }
209
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
210
+ k_type = Regexp.last_match[:k_type]
211
+ v_type = Regexp.last_match[:v_type]
212
+ {}.tap do |hash|
213
+ value.each do |k, v|
214
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
215
+ end
216
+ end
217
+ else # model
218
+ PulpPythonClient.const_get(type).build_from_hash(value)
219
+ end
220
+ end
221
+
222
+ # Returns the string representation of the object
223
+ # @return [String] String presentation of the object
224
+ def to_s
225
+ to_hash.to_s
226
+ end
227
+
228
+ # to_body is an alias to to_hash (backward compatibility)
229
+ # @return [Hash] Returns the object in the form of hash
230
+ def to_body
231
+ to_hash
232
+ end
233
+
234
+ # Returns the object in the form of hash
235
+ # @return [Hash] Returns the object in the form of hash
236
+ def to_hash
237
+ hash = {}
238
+ self.class.attribute_map.each_pair do |attr, param|
239
+ value = self.send(attr)
240
+ if value.nil?
241
+ is_nullable = self.class.openapi_nullable.include?(attr)
242
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
243
+ end
244
+
245
+ hash[param] = _to_hash(value)
246
+ end
247
+ hash
248
+ end
249
+
250
+ # Outputs non-array value in the form of hash
251
+ # For object, use to_hash. Otherwise, just return the value
252
+ # @param [Object] value Any valid value
253
+ # @return [Hash] Returns the value in the form of hash
254
+ def _to_hash(value)
255
+ if value.is_a?(Array)
256
+ value.compact.map { |v| _to_hash(v) }
257
+ elsif value.is_a?(Hash)
258
+ {}.tap do |hash|
259
+ value.each { |k, v| hash[k] = _to_hash(v) }
260
+ end
261
+ elsif value.respond_to? :to_hash
262
+ value.to_hash
263
+ else
264
+ value
265
+ end
266
+ end
267
+ end
268
+ end