pulp_python_client 3.0.0b10 → 3.0.0b11

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 (113) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +46 -33
  3. data/docs/ContentPackagesApi.md +52 -52
  4. data/docs/ContentSummary.md +3 -3
  5. data/docs/ContentSummaryResponse.md +21 -0
  6. data/docs/DistributionsPypiApi.md +108 -60
  7. data/docs/InlineResponse200.md +3 -3
  8. data/docs/InlineResponse2001.md +3 -3
  9. data/docs/InlineResponse2002.md +3 -3
  10. data/docs/InlineResponse2003.md +3 -3
  11. data/docs/InlineResponse2004.md +3 -3
  12. data/docs/InlineResponse2005.md +3 -3
  13. data/docs/PatchedpythonPythonDistribution.md +23 -0
  14. data/docs/PatchedpythonPythonRemote.md +43 -0
  15. data/docs/PatchedpythonPythonRepository.md +21 -0
  16. data/docs/PolicyEnum.md +16 -0
  17. data/docs/PublicationsPypiApi.md +40 -40
  18. data/docs/PythonBanderRemote.md +19 -0
  19. data/docs/PythonPythonDistribution.md +1 -7
  20. data/docs/PythonPythonDistributionResponse.md +29 -0
  21. data/docs/PythonPythonPackageContent.md +7 -15
  22. data/docs/PythonPythonPackageContentResponse.md +69 -0
  23. data/docs/PythonPythonPublication.md +2 -8
  24. data/docs/PythonPythonPublicationResponse.md +25 -0
  25. data/docs/PythonPythonRemote.md +4 -10
  26. data/docs/PythonPythonRemoteResponse.md +49 -0
  27. data/docs/PythonPythonRepository.md +4 -10
  28. data/docs/PythonPythonRepositoryResponse.md +29 -0
  29. data/docs/RemotesPythonApi.md +129 -69
  30. data/docs/RepositoriesPythonApi.md +97 -73
  31. data/docs/RepositoriesPythonVersionsApi.md +94 -62
  32. data/docs/RepositoryAddRemoveContent.md +2 -2
  33. data/docs/RepositorySyncURL.md +1 -1
  34. data/docs/RepositoryVersion.md +1 -9
  35. data/docs/RepositoryVersionResponse.md +25 -0
  36. data/lib/pulp_python_client.rb +14 -2
  37. data/lib/pulp_python_client/api/content_packages_api.rb +70 -70
  38. data/lib/pulp_python_client/api/distributions_pypi_api.rb +153 -90
  39. data/lib/pulp_python_client/api/publications_pypi_api.rb +59 -59
  40. data/lib/pulp_python_client/api/remotes_python_api.rb +185 -108
  41. data/lib/pulp_python_client/api/repositories_python_api.rb +145 -118
  42. data/lib/pulp_python_client/api/repositories_python_versions_api.rb +137 -92
  43. data/lib/pulp_python_client/api_client.rb +2 -2
  44. data/lib/pulp_python_client/api_error.rb +2 -2
  45. data/lib/pulp_python_client/configuration.rb +3 -3
  46. data/lib/pulp_python_client/models/async_operation_response.rb +3 -2
  47. data/lib/pulp_python_client/models/content_summary.rb +9 -15
  48. data/lib/pulp_python_client/models/content_summary_response.rb +240 -0
  49. data/lib/pulp_python_client/models/inline_response200.rb +3 -13
  50. data/lib/pulp_python_client/models/inline_response2001.rb +3 -13
  51. data/lib/pulp_python_client/models/inline_response2002.rb +3 -13
  52. data/lib/pulp_python_client/models/inline_response2003.rb +3 -13
  53. data/lib/pulp_python_client/models/inline_response2004.rb +3 -13
  54. data/lib/pulp_python_client/models/inline_response2005.rb +3 -13
  55. data/lib/pulp_python_client/models/patchedpython_python_distribution.rb +240 -0
  56. data/lib/pulp_python_client/models/patchedpython_python_remote.rb +359 -0
  57. data/lib/pulp_python_client/models/patchedpython_python_repository.rb +229 -0
  58. data/lib/pulp_python_client/models/policy_enum.rb +37 -0
  59. data/lib/pulp_python_client/models/python_bander_remote.rb +228 -0
  60. data/lib/pulp_python_client/models/python_python_distribution.rb +4 -85
  61. data/lib/pulp_python_client/models/python_python_distribution_response.rb +279 -0
  62. data/lib/pulp_python_client/models/python_python_package_content.rb +28 -136
  63. data/lib/pulp_python_client/models/python_python_package_content_response.rb +467 -0
  64. data/lib/pulp_python_client/models/python_python_publication.rb +7 -37
  65. data/lib/pulp_python_client/models/python_python_publication_response.rb +248 -0
  66. data/lib/pulp_python_client/models/python_python_remote.rb +7 -199
  67. data/lib/pulp_python_client/models/python_python_remote_response.rb +398 -0
  68. data/lib/pulp_python_client/models/python_python_repository.rb +18 -78
  69. data/lib/pulp_python_client/models/python_python_repository_response.rb +271 -0
  70. data/lib/pulp_python_client/models/repository_add_remove_content.rb +5 -4
  71. data/lib/pulp_python_client/models/repository_sync_url.rb +3 -8
  72. data/lib/pulp_python_client/models/repository_version.rb +7 -43
  73. data/lib/pulp_python_client/models/repository_version_response.rb +246 -0
  74. data/lib/pulp_python_client/version.rb +3 -3
  75. data/pulp_python_client.gemspec +4 -4
  76. data/spec/api/content_packages_api_spec.rb +24 -24
  77. data/spec/api/distributions_pypi_api_spec.rb +39 -18
  78. data/spec/api/publications_pypi_api_spec.rb +14 -14
  79. data/spec/api/remotes_python_api_spec.rb +49 -22
  80. data/spec/api/repositories_python_api_spec.rb +28 -19
  81. data/spec/api/repositories_python_versions_api_spec.rb +38 -23
  82. data/spec/api_client_spec.rb +2 -2
  83. data/spec/configuration_spec.rb +2 -2
  84. data/spec/models/async_operation_response_spec.rb +2 -2
  85. data/spec/models/content_summary_response_spec.rb +53 -0
  86. data/spec/models/content_summary_spec.rb +2 -2
  87. data/spec/models/inline_response2001_spec.rb +2 -2
  88. data/spec/models/inline_response2002_spec.rb +2 -2
  89. data/spec/models/inline_response2003_spec.rb +2 -2
  90. data/spec/models/inline_response2004_spec.rb +2 -2
  91. data/spec/models/inline_response2005_spec.rb +2 -2
  92. data/spec/models/inline_response200_spec.rb +2 -2
  93. data/spec/models/patchedpython_python_distribution_spec.rb +59 -0
  94. data/spec/models/patchedpython_python_remote_spec.rb +119 -0
  95. data/spec/models/patchedpython_python_repository_spec.rb +53 -0
  96. data/spec/models/policy_enum_spec.rb +35 -0
  97. data/spec/models/python_bander_remote_spec.rb +47 -0
  98. data/spec/models/python_python_distribution_response_spec.rb +77 -0
  99. data/spec/models/python_python_distribution_spec.rb +2 -20
  100. data/spec/models/python_python_package_content_response_spec.rb +197 -0
  101. data/spec/models/python_python_package_content_spec.rb +5 -29
  102. data/spec/models/python_python_publication_response_spec.rb +65 -0
  103. data/spec/models/python_python_publication_spec.rb +2 -20
  104. data/spec/models/python_python_remote_response_spec.rb +137 -0
  105. data/spec/models/python_python_remote_spec.rb +2 -24
  106. data/spec/models/python_python_repository_response_spec.rb +77 -0
  107. data/spec/models/python_python_repository_spec.rb +5 -23
  108. data/spec/models/repository_add_remove_content_spec.rb +2 -2
  109. data/spec/models/repository_sync_url_spec.rb +2 -2
  110. data/spec/models/repository_version_response_spec.rb +65 -0
  111. data/spec/models/repository_version_spec.rb +2 -26
  112. data/spec/spec_helper.rb +2 -2
  113. metadata +52 -4
@@ -0,0 +1,271 @@
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
+ # Serializer for Python Repositories.
17
+ class PythonPythonRepositoryResponse
18
+ attr_accessor :pulp_href
19
+
20
+ # Timestamp of creation.
21
+ attr_accessor :pulp_created
22
+
23
+ attr_accessor :versions_href
24
+
25
+ attr_accessor :latest_version_href
26
+
27
+ # A unique name for this repository.
28
+ attr_accessor :name
29
+
30
+ # An optional description.
31
+ attr_accessor :description
32
+
33
+ attr_accessor :remote
34
+
35
+ # Attribute mapping from ruby-style variable name to JSON key.
36
+ def self.attribute_map
37
+ {
38
+ :'pulp_href' => :'pulp_href',
39
+ :'pulp_created' => :'pulp_created',
40
+ :'versions_href' => :'versions_href',
41
+ :'latest_version_href' => :'latest_version_href',
42
+ :'name' => :'name',
43
+ :'description' => :'description',
44
+ :'remote' => :'remote'
45
+ }
46
+ end
47
+
48
+ # Attribute type mapping.
49
+ def self.openapi_types
50
+ {
51
+ :'pulp_href' => :'String',
52
+ :'pulp_created' => :'DateTime',
53
+ :'versions_href' => :'String',
54
+ :'latest_version_href' => :'String',
55
+ :'name' => :'String',
56
+ :'description' => :'String',
57
+ :'remote' => :'String'
58
+ }
59
+ end
60
+
61
+ # List of attributes with nullable: true
62
+ def self.openapi_nullable
63
+ Set.new([
64
+ :'description',
65
+ :'remote'
66
+ ])
67
+ end
68
+
69
+ # Initializes the object
70
+ # @param [Hash] attributes Model attributes in the form of hash
71
+ def initialize(attributes = {})
72
+ if (!attributes.is_a?(Hash))
73
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PulpPythonClient::PythonPythonRepositoryResponse` initialize method"
74
+ end
75
+
76
+ # check to see if the attribute exists and convert string to symbol for hash key
77
+ attributes = attributes.each_with_object({}) { |(k, v), h|
78
+ if (!self.class.attribute_map.key?(k.to_sym))
79
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PulpPythonClient::PythonPythonRepositoryResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
80
+ end
81
+ h[k.to_sym] = v
82
+ }
83
+
84
+ if attributes.key?(:'pulp_href')
85
+ self.pulp_href = attributes[:'pulp_href']
86
+ end
87
+
88
+ if attributes.key?(:'pulp_created')
89
+ self.pulp_created = attributes[:'pulp_created']
90
+ end
91
+
92
+ if attributes.key?(:'versions_href')
93
+ self.versions_href = attributes[:'versions_href']
94
+ end
95
+
96
+ if attributes.key?(:'latest_version_href')
97
+ self.latest_version_href = attributes[:'latest_version_href']
98
+ end
99
+
100
+ if attributes.key?(:'name')
101
+ self.name = attributes[:'name']
102
+ end
103
+
104
+ if attributes.key?(:'description')
105
+ self.description = attributes[:'description']
106
+ end
107
+
108
+ if attributes.key?(:'remote')
109
+ self.remote = attributes[:'remote']
110
+ end
111
+ end
112
+
113
+ # Show invalid properties with the reasons. Usually used together with valid?
114
+ # @return Array for valid properties with the reasons
115
+ def list_invalid_properties
116
+ invalid_properties = Array.new
117
+ if @name.nil?
118
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
119
+ end
120
+
121
+ invalid_properties
122
+ end
123
+
124
+ # Check to see if the all the properties in the model are valid
125
+ # @return true if the model is valid
126
+ def valid?
127
+ return false if @name.nil?
128
+ true
129
+ end
130
+
131
+ # Checks equality by comparing each attribute.
132
+ # @param [Object] Object to be compared
133
+ def ==(o)
134
+ return true if self.equal?(o)
135
+ self.class == o.class &&
136
+ pulp_href == o.pulp_href &&
137
+ pulp_created == o.pulp_created &&
138
+ versions_href == o.versions_href &&
139
+ latest_version_href == o.latest_version_href &&
140
+ name == o.name &&
141
+ description == o.description &&
142
+ remote == o.remote
143
+ end
144
+
145
+ # @see the `==` method
146
+ # @param [Object] Object to be compared
147
+ def eql?(o)
148
+ self == o
149
+ end
150
+
151
+ # Calculates hash code according to all attributes.
152
+ # @return [Integer] Hash code
153
+ def hash
154
+ [pulp_href, pulp_created, versions_href, latest_version_href, name, description, remote].hash
155
+ end
156
+
157
+ # Builds the object from hash
158
+ # @param [Hash] attributes Model attributes in the form of hash
159
+ # @return [Object] Returns the model itself
160
+ def self.build_from_hash(attributes)
161
+ new.build_from_hash(attributes)
162
+ end
163
+
164
+ # Builds the object from hash
165
+ # @param [Hash] attributes Model attributes in the form of hash
166
+ # @return [Object] Returns the model itself
167
+ def build_from_hash(attributes)
168
+ return nil unless attributes.is_a?(Hash)
169
+ self.class.openapi_types.each_pair do |key, type|
170
+ if type =~ /\AArray<(.*)>/i
171
+ # check to ensure the input is an array given that the attribute
172
+ # is documented as an array but the input is not
173
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
174
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
175
+ end
176
+ elsif !attributes[self.class.attribute_map[key]].nil?
177
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
178
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
179
+ end
180
+
181
+ self
182
+ end
183
+
184
+ # Deserializes the data based on type
185
+ # @param string type Data type
186
+ # @param string value Value to be deserialized
187
+ # @return [Object] Deserialized data
188
+ def _deserialize(type, value)
189
+ case type.to_sym
190
+ when :DateTime
191
+ DateTime.parse(value)
192
+ when :Date
193
+ Date.parse(value)
194
+ when :String
195
+ value.to_s
196
+ when :Integer
197
+ value.to_i
198
+ when :Float
199
+ value.to_f
200
+ when :Boolean
201
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
202
+ true
203
+ else
204
+ false
205
+ end
206
+ when :Object
207
+ # generic object (usually a Hash), return directly
208
+ value
209
+ when /\AArray<(?<inner_type>.+)>\z/
210
+ inner_type = Regexp.last_match[:inner_type]
211
+ value.map { |v| _deserialize(inner_type, v) }
212
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
213
+ k_type = Regexp.last_match[:k_type]
214
+ v_type = Regexp.last_match[:v_type]
215
+ {}.tap do |hash|
216
+ value.each do |k, v|
217
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
218
+ end
219
+ end
220
+ else # model
221
+ PulpPythonClient.const_get(type).build_from_hash(value)
222
+ end
223
+ end
224
+
225
+ # Returns the string representation of the object
226
+ # @return [String] String presentation of the object
227
+ def to_s
228
+ to_hash.to_s
229
+ end
230
+
231
+ # to_body is an alias to to_hash (backward compatibility)
232
+ # @return [Hash] Returns the object in the form of hash
233
+ def to_body
234
+ to_hash
235
+ end
236
+
237
+ # Returns the object in the form of hash
238
+ # @return [Hash] Returns the object in the form of hash
239
+ def to_hash
240
+ hash = {}
241
+ self.class.attribute_map.each_pair do |attr, param|
242
+ value = self.send(attr)
243
+ if value.nil?
244
+ is_nullable = self.class.openapi_nullable.include?(attr)
245
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
246
+ end
247
+
248
+ hash[param] = _to_hash(value)
249
+ end
250
+ hash
251
+ end
252
+
253
+ # Outputs non-array value in the form of hash
254
+ # For object, use to_hash. Otherwise, just return the value
255
+ # @param [Object] value Any valid value
256
+ # @return [Hash] Returns the value in the form of hash
257
+ def _to_hash(value)
258
+ if value.is_a?(Array)
259
+ value.compact.map { |v| _to_hash(v) }
260
+ elsif value.is_a?(Hash)
261
+ {}.tap do |hash|
262
+ value.each { |k, v| hash[k] = _to_hash(v) }
263
+ end
264
+ elsif value.respond_to? :to_hash
265
+ value.to_hash
266
+ else
267
+ value
268
+ end
269
+ end
270
+ end
271
+ end
@@ -1,10 +1,10 @@
1
1
  =begin
2
2
  #Pulp 3 API
3
3
 
4
- #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ #Fetch, Upload, Organize, and Distribute Software Packages
5
5
 
6
6
  The version of the OpenAPI document: v3
7
-
7
+ Contact: pulp-list@redhat.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 4.2.3
10
10
 
@@ -13,6 +13,7 @@ OpenAPI Generator version: 4.2.3
13
13
  require 'date'
14
14
 
15
15
  module PulpPythonClient
16
+ # Base serializer for use with :class:`pulpcore.app.models.Model` This ensures that all Serializers provide values for the 'pulp_href` field. The class provides a default for the ``ref_name`` attribute in the ModelSerializers's ``Meta`` class. This ensures that the OpenAPI definitions of plugins are namespaced properly.
16
17
  class RepositoryAddRemoveContent
17
18
  # A list of content units to add to a new repository version. This content is added after remove_content_units are removed.
18
19
  attr_accessor :add_content_units
@@ -35,8 +36,8 @@ module PulpPythonClient
35
36
  # Attribute type mapping.
36
37
  def self.openapi_types
37
38
  {
38
- :'add_content_units' => :'Array<String>',
39
- :'remove_content_units' => :'Array<String>',
39
+ :'add_content_units' => :'Array<Object>',
40
+ :'remove_content_units' => :'Array<Object>',
40
41
  :'base_version' => :'String'
41
42
  }
42
43
  end
@@ -1,10 +1,10 @@
1
1
  =begin
2
2
  #Pulp 3 API
3
3
 
4
- #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ #Fetch, Upload, Organize, and Distribute Software Packages
5
5
 
6
6
  The version of the OpenAPI document: v3
7
-
7
+ Contact: pulp-list@redhat.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 4.2.3
10
10
 
@@ -14,7 +14,7 @@ require 'date'
14
14
 
15
15
  module PulpPythonClient
16
16
  class RepositorySyncURL
17
- # A URI of the repository to be synchronized.
17
+ # A remote to sync from. This will override a remote set on repository.
18
18
  attr_accessor :remote
19
19
 
20
20
  # If ``True``, synchronization will remove all content that is not present in the remote repository. If ``False``, sync will be additive only.
@@ -72,17 +72,12 @@ module PulpPythonClient
72
72
  # @return Array for valid properties with the reasons
73
73
  def list_invalid_properties
74
74
  invalid_properties = Array.new
75
- if @remote.nil?
76
- invalid_properties.push('invalid value for "remote", remote cannot be nil.')
77
- end
78
-
79
75
  invalid_properties
80
76
  end
81
77
 
82
78
  # Check to see if the all the properties in the model are valid
83
79
  # @return true if the model is valid
84
80
  def valid?
85
- return false if @remote.nil?
86
81
  true
87
82
  end
88
83
 
@@ -1,10 +1,10 @@
1
1
  =begin
2
2
  #Pulp 3 API
3
3
 
4
- #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ #Fetch, Upload, Organize, and Distribute Software Packages
5
5
 
6
6
  The version of the OpenAPI document: v3
7
-
7
+ Contact: pulp-list@redhat.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 4.2.3
10
10
 
@@ -13,38 +13,22 @@ OpenAPI Generator version: 4.2.3
13
13
  require 'date'
14
14
 
15
15
  module PulpPythonClient
16
+ # Base serializer for use with :class:`pulpcore.app.models.Model` This ensures that all Serializers provide values for the 'pulp_href` field. The class provides a default for the ``ref_name`` attribute in the ModelSerializers's ``Meta`` class. This ensures that the OpenAPI definitions of plugins are namespaced properly.
16
17
  class RepositoryVersion
17
- attr_accessor :pulp_href
18
-
19
- # Timestamp of creation.
20
- attr_accessor :pulp_created
21
-
22
- attr_accessor :number
23
-
24
18
  # A repository version whose content was used as the initial set of content for this repository version
25
19
  attr_accessor :base_version
26
20
 
27
- attr_accessor :content_summary
28
-
29
21
  # Attribute mapping from ruby-style variable name to JSON key.
30
22
  def self.attribute_map
31
23
  {
32
- :'pulp_href' => :'pulp_href',
33
- :'pulp_created' => :'pulp_created',
34
- :'number' => :'number',
35
- :'base_version' => :'base_version',
36
- :'content_summary' => :'content_summary'
24
+ :'base_version' => :'base_version'
37
25
  }
38
26
  end
39
27
 
40
28
  # Attribute type mapping.
41
29
  def self.openapi_types
42
30
  {
43
- :'pulp_href' => :'String',
44
- :'pulp_created' => :'DateTime',
45
- :'number' => :'Integer',
46
- :'base_version' => :'String',
47
- :'content_summary' => :'ContentSummary'
31
+ :'base_version' => :'String'
48
32
  }
49
33
  end
50
34
 
@@ -69,25 +53,9 @@ module PulpPythonClient
69
53
  h[k.to_sym] = v
70
54
  }
71
55
 
72
- if attributes.key?(:'pulp_href')
73
- self.pulp_href = attributes[:'pulp_href']
74
- end
75
-
76
- if attributes.key?(:'pulp_created')
77
- self.pulp_created = attributes[:'pulp_created']
78
- end
79
-
80
- if attributes.key?(:'number')
81
- self.number = attributes[:'number']
82
- end
83
-
84
56
  if attributes.key?(:'base_version')
85
57
  self.base_version = attributes[:'base_version']
86
58
  end
87
-
88
- if attributes.key?(:'content_summary')
89
- self.content_summary = attributes[:'content_summary']
90
- end
91
59
  end
92
60
 
93
61
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -108,11 +76,7 @@ module PulpPythonClient
108
76
  def ==(o)
109
77
  return true if self.equal?(o)
110
78
  self.class == o.class &&
111
- pulp_href == o.pulp_href &&
112
- pulp_created == o.pulp_created &&
113
- number == o.number &&
114
- base_version == o.base_version &&
115
- content_summary == o.content_summary
79
+ base_version == o.base_version
116
80
  end
117
81
 
118
82
  # @see the `==` method
@@ -124,7 +88,7 @@ module PulpPythonClient
124
88
  # Calculates hash code according to all attributes.
125
89
  # @return [Integer] Hash code
126
90
  def hash
127
- [pulp_href, pulp_created, number, base_version, content_summary].hash
91
+ [base_version].hash
128
92
  end
129
93
 
130
94
  # Builds the object from hash
@@ -0,0 +1,246 @@
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
+ # Base serializer for use with :class:`pulpcore.app.models.Model` This ensures that all Serializers provide values for the 'pulp_href` field. The class provides a default for the ``ref_name`` attribute in the ModelSerializers's ``Meta`` class. This ensures that the OpenAPI definitions of plugins are namespaced properly.
17
+ class RepositoryVersionResponse
18
+ attr_accessor :pulp_href
19
+
20
+ # Timestamp of creation.
21
+ attr_accessor :pulp_created
22
+
23
+ attr_accessor :number
24
+
25
+ # A repository version whose content was used as the initial set of content for this repository version
26
+ attr_accessor :base_version
27
+
28
+ # Various count summaries of the content in the version and the HREF to view them.
29
+ attr_accessor :content_summary
30
+
31
+ # Attribute mapping from ruby-style variable name to JSON key.
32
+ def self.attribute_map
33
+ {
34
+ :'pulp_href' => :'pulp_href',
35
+ :'pulp_created' => :'pulp_created',
36
+ :'number' => :'number',
37
+ :'base_version' => :'base_version',
38
+ :'content_summary' => :'content_summary'
39
+ }
40
+ end
41
+
42
+ # Attribute type mapping.
43
+ def self.openapi_types
44
+ {
45
+ :'pulp_href' => :'String',
46
+ :'pulp_created' => :'DateTime',
47
+ :'number' => :'Integer',
48
+ :'base_version' => :'String',
49
+ :'content_summary' => :'ContentSummaryResponse'
50
+ }
51
+ end
52
+
53
+ # List of attributes with nullable: true
54
+ def self.openapi_nullable
55
+ Set.new([
56
+ ])
57
+ end
58
+
59
+ # Initializes the object
60
+ # @param [Hash] attributes Model attributes in the form of hash
61
+ def initialize(attributes = {})
62
+ if (!attributes.is_a?(Hash))
63
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PulpPythonClient::RepositoryVersionResponse` initialize method"
64
+ end
65
+
66
+ # check to see if the attribute exists and convert string to symbol for hash key
67
+ attributes = attributes.each_with_object({}) { |(k, v), h|
68
+ if (!self.class.attribute_map.key?(k.to_sym))
69
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PulpPythonClient::RepositoryVersionResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
70
+ end
71
+ h[k.to_sym] = v
72
+ }
73
+
74
+ if attributes.key?(:'pulp_href')
75
+ self.pulp_href = attributes[:'pulp_href']
76
+ end
77
+
78
+ if attributes.key?(:'pulp_created')
79
+ self.pulp_created = attributes[:'pulp_created']
80
+ end
81
+
82
+ if attributes.key?(:'number')
83
+ self.number = attributes[:'number']
84
+ end
85
+
86
+ if attributes.key?(:'base_version')
87
+ self.base_version = attributes[:'base_version']
88
+ end
89
+
90
+ if attributes.key?(:'content_summary')
91
+ self.content_summary = attributes[:'content_summary']
92
+ end
93
+ end
94
+
95
+ # Show invalid properties with the reasons. Usually used together with valid?
96
+ # @return Array for valid properties with the reasons
97
+ def list_invalid_properties
98
+ invalid_properties = Array.new
99
+ invalid_properties
100
+ end
101
+
102
+ # Check to see if the all the properties in the model are valid
103
+ # @return true if the model is valid
104
+ def valid?
105
+ true
106
+ end
107
+
108
+ # Checks equality by comparing each attribute.
109
+ # @param [Object] Object to be compared
110
+ def ==(o)
111
+ return true if self.equal?(o)
112
+ self.class == o.class &&
113
+ pulp_href == o.pulp_href &&
114
+ pulp_created == o.pulp_created &&
115
+ number == o.number &&
116
+ base_version == o.base_version &&
117
+ content_summary == o.content_summary
118
+ end
119
+
120
+ # @see the `==` method
121
+ # @param [Object] Object to be compared
122
+ def eql?(o)
123
+ self == o
124
+ end
125
+
126
+ # Calculates hash code according to all attributes.
127
+ # @return [Integer] Hash code
128
+ def hash
129
+ [pulp_href, pulp_created, number, base_version, content_summary].hash
130
+ end
131
+
132
+ # Builds the object from hash
133
+ # @param [Hash] attributes Model attributes in the form of hash
134
+ # @return [Object] Returns the model itself
135
+ def self.build_from_hash(attributes)
136
+ new.build_from_hash(attributes)
137
+ end
138
+
139
+ # Builds the object from hash
140
+ # @param [Hash] attributes Model attributes in the form of hash
141
+ # @return [Object] Returns the model itself
142
+ def build_from_hash(attributes)
143
+ return nil unless attributes.is_a?(Hash)
144
+ self.class.openapi_types.each_pair do |key, type|
145
+ if type =~ /\AArray<(.*)>/i
146
+ # check to ensure the input is an array given that the attribute
147
+ # is documented as an array but the input is not
148
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
149
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
150
+ end
151
+ elsif !attributes[self.class.attribute_map[key]].nil?
152
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
153
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
154
+ end
155
+
156
+ self
157
+ end
158
+
159
+ # Deserializes the data based on type
160
+ # @param string type Data type
161
+ # @param string value Value to be deserialized
162
+ # @return [Object] Deserialized data
163
+ def _deserialize(type, value)
164
+ case type.to_sym
165
+ when :DateTime
166
+ DateTime.parse(value)
167
+ when :Date
168
+ Date.parse(value)
169
+ when :String
170
+ value.to_s
171
+ when :Integer
172
+ value.to_i
173
+ when :Float
174
+ value.to_f
175
+ when :Boolean
176
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
177
+ true
178
+ else
179
+ false
180
+ end
181
+ when :Object
182
+ # generic object (usually a Hash), return directly
183
+ value
184
+ when /\AArray<(?<inner_type>.+)>\z/
185
+ inner_type = Regexp.last_match[:inner_type]
186
+ value.map { |v| _deserialize(inner_type, v) }
187
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
188
+ k_type = Regexp.last_match[:k_type]
189
+ v_type = Regexp.last_match[:v_type]
190
+ {}.tap do |hash|
191
+ value.each do |k, v|
192
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
193
+ end
194
+ end
195
+ else # model
196
+ PulpPythonClient.const_get(type).build_from_hash(value)
197
+ end
198
+ end
199
+
200
+ # Returns the string representation of the object
201
+ # @return [String] String presentation of the object
202
+ def to_s
203
+ to_hash.to_s
204
+ end
205
+
206
+ # to_body is an alias to to_hash (backward compatibility)
207
+ # @return [Hash] Returns the object in the form of hash
208
+ def to_body
209
+ to_hash
210
+ end
211
+
212
+ # Returns the object in the form of hash
213
+ # @return [Hash] Returns the object in the form of hash
214
+ def to_hash
215
+ hash = {}
216
+ self.class.attribute_map.each_pair do |attr, param|
217
+ value = self.send(attr)
218
+ if value.nil?
219
+ is_nullable = self.class.openapi_nullable.include?(attr)
220
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
221
+ end
222
+
223
+ hash[param] = _to_hash(value)
224
+ end
225
+ hash
226
+ end
227
+
228
+ # Outputs non-array value in the form of hash
229
+ # For object, use to_hash. Otherwise, just return the value
230
+ # @param [Object] value Any valid value
231
+ # @return [Hash] Returns the value in the form of hash
232
+ def _to_hash(value)
233
+ if value.is_a?(Array)
234
+ value.compact.map { |v| _to_hash(v) }
235
+ elsif value.is_a?(Hash)
236
+ {}.tap do |hash|
237
+ value.each { |k, v| hash[k] = _to_hash(v) }
238
+ end
239
+ elsif value.respond_to? :to_hash
240
+ value.to_hash
241
+ else
242
+ value
243
+ end
244
+ end
245
+ end
246
+ end