pulp_file_client 1.10.5 → 1.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +35 -12
  3. data/docs/AcsFileApi.md +235 -8
  4. data/docs/ContentFilesApi.md +5 -3
  5. data/docs/DistributionsFileApi.md +230 -2
  6. data/docs/FileFileContent.md +3 -1
  7. data/docs/FileFileRemote.md +3 -3
  8. data/docs/FileFileRemoteResponse.md +1 -1
  9. data/docs/MyPermissionsResponse.md +17 -0
  10. data/docs/NestedRole.md +21 -0
  11. data/docs/NestedRoleResponse.md +21 -0
  12. data/docs/ObjectRolesResponse.md +17 -0
  13. data/docs/PatchedfileFileRemote.md +3 -3
  14. data/docs/PublicationsFileApi.md +232 -2
  15. data/docs/RemotesFileApi.md +230 -2
  16. data/docs/Repair.md +17 -0
  17. data/docs/RepositoriesFileApi.md +233 -4
  18. data/docs/RepositoriesFileVersionsApi.md +6 -6
  19. data/lib/pulp_file_client/api/acs_file_api.rb +281 -15
  20. data/lib/pulp_file_client/api/content_files_api.rb +14 -3
  21. data/lib/pulp_file_client/api/distributions_file_api.rb +275 -3
  22. data/lib/pulp_file_client/api/publications_file_api.rb +278 -3
  23. data/lib/pulp_file_client/api/remotes_file_api.rb +275 -3
  24. data/lib/pulp_file_client/api/repositories_file_api.rb +277 -3
  25. data/lib/pulp_file_client/api/repositories_file_versions_api.rb +16 -12
  26. data/lib/pulp_file_client/api_client.rb +1 -1
  27. data/lib/pulp_file_client/models/file_file_alternate_content_source.rb +19 -0
  28. data/lib/pulp_file_client/models/file_file_content.rb +33 -4
  29. data/lib/pulp_file_client/models/file_file_distribution.rb +38 -0
  30. data/lib/pulp_file_client/models/file_file_publication.rb +15 -0
  31. data/lib/pulp_file_client/models/file_file_remote.rb +161 -3
  32. data/lib/pulp_file_client/models/file_file_remote_response.rb +1 -1
  33. data/lib/pulp_file_client/models/file_file_repository.rb +49 -0
  34. data/lib/pulp_file_client/models/{repository_version.rb → my_permissions_response.rb} +17 -12
  35. data/lib/pulp_file_client/models/{content_summary.rb → nested_role.rb} +28 -40
  36. data/lib/pulp_file_client/models/nested_role_response.rb +234 -0
  37. data/lib/pulp_file_client/models/object_roles_response.rb +213 -0
  38. data/lib/pulp_file_client/models/patchedfile_file_alternate_content_source.rb +15 -0
  39. data/lib/pulp_file_client/models/patchedfile_file_distribution.rb +30 -0
  40. data/lib/pulp_file_client/models/patchedfile_file_remote.rb +153 -3
  41. data/lib/pulp_file_client/models/patchedfile_file_repository.rb +45 -0
  42. data/lib/pulp_file_client/models/repair.rb +209 -0
  43. data/lib/pulp_file_client/version.rb +1 -1
  44. data/lib/pulp_file_client.rb +5 -2
  45. data/pulp_file_client.gemspec +1 -1
  46. data/spec/api/acs_file_api_spec.rb +52 -2
  47. data/spec/api/content_files_api_spec.rb +2 -1
  48. data/spec/api/distributions_file_api_spec.rb +51 -1
  49. data/spec/api/publications_file_api_spec.rb +52 -1
  50. data/spec/api/remotes_file_api_spec.rb +51 -1
  51. data/spec/api/repositories_file_api_spec.rb +52 -1
  52. data/spec/api/repositories_file_versions_api_spec.rb +2 -2
  53. data/spec/models/file_file_content_spec.rb +6 -0
  54. data/spec/models/my_permissions_response_spec.rb +41 -0
  55. data/spec/models/nested_role_response_spec.rb +53 -0
  56. data/spec/models/{content_summary_spec.rb → nested_role_spec.rb} +9 -9
  57. data/spec/models/object_roles_response_spec.rb +41 -0
  58. data/spec/models/{repository_version_spec.rb → repair_spec.rb} +7 -7
  59. metadata +48 -36
  60. data/docs/ContentSummary.md +0 -21
  61. data/docs/RepositoryVersion.md +0 -17
@@ -13,22 +13,20 @@ OpenAPI Generator version: 4.3.1
13
13
  require 'date'
14
14
 
15
15
  module PulpFileClient
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 RepositoryVersion
18
- # A repository version whose content was used as the initial set of content for this repository version
19
- attr_accessor :base_version
16
+ class MyPermissionsResponse
17
+ attr_accessor :permissions
20
18
 
21
19
  # Attribute mapping from ruby-style variable name to JSON key.
22
20
  def self.attribute_map
23
21
  {
24
- :'base_version' => :'base_version'
22
+ :'permissions' => :'permissions'
25
23
  }
26
24
  end
27
25
 
28
26
  # Attribute type mapping.
29
27
  def self.openapi_types
30
28
  {
31
- :'base_version' => :'String'
29
+ :'permissions' => :'Array<String>'
32
30
  }
33
31
  end
34
32
 
@@ -42,19 +40,21 @@ module PulpFileClient
42
40
  # @param [Hash] attributes Model attributes in the form of hash
43
41
  def initialize(attributes = {})
44
42
  if (!attributes.is_a?(Hash))
45
- fail ArgumentError, "The input argument (attributes) must be a hash in `PulpFileClient::RepositoryVersion` initialize method"
43
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PulpFileClient::MyPermissionsResponse` initialize method"
46
44
  end
47
45
 
48
46
  # check to see if the attribute exists and convert string to symbol for hash key
49
47
  attributes = attributes.each_with_object({}) { |(k, v), h|
50
48
  if (!self.class.attribute_map.key?(k.to_sym))
51
- fail ArgumentError, "`#{k}` is not a valid attribute in `PulpFileClient::RepositoryVersion`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
49
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PulpFileClient::MyPermissionsResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
52
50
  end
53
51
  h[k.to_sym] = v
54
52
  }
55
53
 
56
- if attributes.key?(:'base_version')
57
- self.base_version = attributes[:'base_version']
54
+ if attributes.key?(:'permissions')
55
+ if (value = attributes[:'permissions']).is_a?(Array)
56
+ self.permissions = value
57
+ end
58
58
  end
59
59
  end
60
60
 
@@ -62,12 +62,17 @@ module PulpFileClient
62
62
  # @return Array for valid properties with the reasons
63
63
  def list_invalid_properties
64
64
  invalid_properties = Array.new
65
+ if @permissions.nil?
66
+ invalid_properties.push('invalid value for "permissions", permissions cannot be nil.')
67
+ end
68
+
65
69
  invalid_properties
66
70
  end
67
71
 
68
72
  # Check to see if the all the properties in the model are valid
69
73
  # @return true if the model is valid
70
74
  def valid?
75
+ return false if @permissions.nil?
71
76
  true
72
77
  end
73
78
 
@@ -76,7 +81,7 @@ module PulpFileClient
76
81
  def ==(o)
77
82
  return true if self.equal?(o)
78
83
  self.class == o.class &&
79
- base_version == o.base_version
84
+ permissions == o.permissions
80
85
  end
81
86
 
82
87
  # @see the `==` method
@@ -88,7 +93,7 @@ module PulpFileClient
88
93
  # Calculates hash code according to all attributes.
89
94
  # @return [Integer] Hash code
90
95
  def hash
91
- [base_version].hash
96
+ [permissions].hash
92
97
  end
93
98
 
94
99
  # Builds the object from hash
@@ -13,29 +13,29 @@ OpenAPI Generator version: 4.3.1
13
13
  require 'date'
14
14
 
15
15
  module PulpFileClient
16
- # Serializer for the RepositoryVersion content summary
17
- class ContentSummary
18
- attr_accessor :added
16
+ # Serializer to add/remove object roles to/from users/groups. This is used in conjunction with ``pulpcore.app.viewsets.base.RolesMixin`` and requires the underlying object to be passed as ``content_object`` in the context.
17
+ class NestedRole
18
+ attr_accessor :users
19
19
 
20
- attr_accessor :removed
20
+ attr_accessor :groups
21
21
 
22
- attr_accessor :present
22
+ attr_accessor :role
23
23
 
24
24
  # Attribute mapping from ruby-style variable name to JSON key.
25
25
  def self.attribute_map
26
26
  {
27
- :'added' => :'added',
28
- :'removed' => :'removed',
29
- :'present' => :'present'
27
+ :'users' => :'users',
28
+ :'groups' => :'groups',
29
+ :'role' => :'role'
30
30
  }
31
31
  end
32
32
 
33
33
  # Attribute type mapping.
34
34
  def self.openapi_types
35
35
  {
36
- :'added' => :'Hash<String, Object>',
37
- :'removed' => :'Hash<String, Object>',
38
- :'present' => :'Hash<String, Object>'
36
+ :'users' => :'Array<String>',
37
+ :'groups' => :'Array<String>',
38
+ :'role' => :'String'
39
39
  }
40
40
  end
41
41
 
@@ -49,33 +49,31 @@ module PulpFileClient
49
49
  # @param [Hash] attributes Model attributes in the form of hash
50
50
  def initialize(attributes = {})
51
51
  if (!attributes.is_a?(Hash))
52
- fail ArgumentError, "The input argument (attributes) must be a hash in `PulpFileClient::ContentSummary` initialize method"
52
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PulpFileClient::NestedRole` initialize method"
53
53
  end
54
54
 
55
55
  # check to see if the attribute exists and convert string to symbol for hash key
56
56
  attributes = attributes.each_with_object({}) { |(k, v), h|
57
57
  if (!self.class.attribute_map.key?(k.to_sym))
58
- fail ArgumentError, "`#{k}` is not a valid attribute in `PulpFileClient::ContentSummary`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
58
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PulpFileClient::NestedRole`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
59
59
  end
60
60
  h[k.to_sym] = v
61
61
  }
62
62
 
63
- if attributes.key?(:'added')
64
- if (value = attributes[:'added']).is_a?(Hash)
65
- self.added = value
63
+ if attributes.key?(:'users')
64
+ if (value = attributes[:'users']).is_a?(Array)
65
+ self.users = value
66
66
  end
67
67
  end
68
68
 
69
- if attributes.key?(:'removed')
70
- if (value = attributes[:'removed']).is_a?(Hash)
71
- self.removed = value
69
+ if attributes.key?(:'groups')
70
+ if (value = attributes[:'groups']).is_a?(Array)
71
+ self.groups = value
72
72
  end
73
73
  end
74
74
 
75
- if attributes.key?(:'present')
76
- if (value = attributes[:'present']).is_a?(Hash)
77
- self.present = value
78
- end
75
+ if attributes.key?(:'role')
76
+ self.role = attributes[:'role']
79
77
  end
80
78
  end
81
79
 
@@ -83,16 +81,8 @@ module PulpFileClient
83
81
  # @return Array for valid properties with the reasons
84
82
  def list_invalid_properties
85
83
  invalid_properties = Array.new
86
- if @added.nil?
87
- invalid_properties.push('invalid value for "added", added cannot be nil.')
88
- end
89
-
90
- if @removed.nil?
91
- invalid_properties.push('invalid value for "removed", removed cannot be nil.')
92
- end
93
-
94
- if @present.nil?
95
- invalid_properties.push('invalid value for "present", present cannot be nil.')
84
+ if @role.nil?
85
+ invalid_properties.push('invalid value for "role", role cannot be nil.')
96
86
  end
97
87
 
98
88
  invalid_properties
@@ -101,9 +91,7 @@ module PulpFileClient
101
91
  # Check to see if the all the properties in the model are valid
102
92
  # @return true if the model is valid
103
93
  def valid?
104
- return false if @added.nil?
105
- return false if @removed.nil?
106
- return false if @present.nil?
94
+ return false if @role.nil?
107
95
  true
108
96
  end
109
97
 
@@ -112,9 +100,9 @@ module PulpFileClient
112
100
  def ==(o)
113
101
  return true if self.equal?(o)
114
102
  self.class == o.class &&
115
- added == o.added &&
116
- removed == o.removed &&
117
- present == o.present
103
+ users == o.users &&
104
+ groups == o.groups &&
105
+ role == o.role
118
106
  end
119
107
 
120
108
  # @see the `==` method
@@ -126,7 +114,7 @@ module PulpFileClient
126
114
  # Calculates hash code according to all attributes.
127
115
  # @return [Integer] Hash code
128
116
  def hash
129
- [added, removed, present].hash
117
+ [users, groups, role].hash
130
118
  end
131
119
 
132
120
  # Builds the object from hash
@@ -0,0 +1,234 @@
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.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module PulpFileClient
16
+ # Serializer to add/remove object roles to/from users/groups. This is used in conjunction with ``pulpcore.app.viewsets.base.RolesMixin`` and requires the underlying object to be passed as ``content_object`` in the context.
17
+ class NestedRoleResponse
18
+ attr_accessor :users
19
+
20
+ attr_accessor :groups
21
+
22
+ attr_accessor :role
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'users' => :'users',
28
+ :'groups' => :'groups',
29
+ :'role' => :'role'
30
+ }
31
+ end
32
+
33
+ # Attribute type mapping.
34
+ def self.openapi_types
35
+ {
36
+ :'users' => :'Array<String>',
37
+ :'groups' => :'Array<String>',
38
+ :'role' => :'String'
39
+ }
40
+ end
41
+
42
+ # List of attributes with nullable: true
43
+ def self.openapi_nullable
44
+ Set.new([
45
+ ])
46
+ end
47
+
48
+ # Initializes the object
49
+ # @param [Hash] attributes Model attributes in the form of hash
50
+ def initialize(attributes = {})
51
+ if (!attributes.is_a?(Hash))
52
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PulpFileClient::NestedRoleResponse` initialize method"
53
+ end
54
+
55
+ # check to see if the attribute exists and convert string to symbol for hash key
56
+ attributes = attributes.each_with_object({}) { |(k, v), h|
57
+ if (!self.class.attribute_map.key?(k.to_sym))
58
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PulpFileClient::NestedRoleResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
59
+ end
60
+ h[k.to_sym] = v
61
+ }
62
+
63
+ if attributes.key?(:'users')
64
+ if (value = attributes[:'users']).is_a?(Array)
65
+ self.users = value
66
+ end
67
+ end
68
+
69
+ if attributes.key?(:'groups')
70
+ if (value = attributes[:'groups']).is_a?(Array)
71
+ self.groups = value
72
+ end
73
+ end
74
+
75
+ if attributes.key?(:'role')
76
+ self.role = attributes[:'role']
77
+ end
78
+ end
79
+
80
+ # Show invalid properties with the reasons. Usually used together with valid?
81
+ # @return Array for valid properties with the reasons
82
+ def list_invalid_properties
83
+ invalid_properties = Array.new
84
+ if @role.nil?
85
+ invalid_properties.push('invalid value for "role", role cannot be nil.')
86
+ end
87
+
88
+ invalid_properties
89
+ end
90
+
91
+ # Check to see if the all the properties in the model are valid
92
+ # @return true if the model is valid
93
+ def valid?
94
+ return false if @role.nil?
95
+ true
96
+ end
97
+
98
+ # Checks equality by comparing each attribute.
99
+ # @param [Object] Object to be compared
100
+ def ==(o)
101
+ return true if self.equal?(o)
102
+ self.class == o.class &&
103
+ users == o.users &&
104
+ groups == o.groups &&
105
+ role == o.role
106
+ end
107
+
108
+ # @see the `==` method
109
+ # @param [Object] Object to be compared
110
+ def eql?(o)
111
+ self == o
112
+ end
113
+
114
+ # Calculates hash code according to all attributes.
115
+ # @return [Integer] Hash code
116
+ def hash
117
+ [users, groups, role].hash
118
+ end
119
+
120
+ # Builds the object from hash
121
+ # @param [Hash] attributes Model attributes in the form of hash
122
+ # @return [Object] Returns the model itself
123
+ def self.build_from_hash(attributes)
124
+ new.build_from_hash(attributes)
125
+ end
126
+
127
+ # Builds the object from hash
128
+ # @param [Hash] attributes Model attributes in the form of hash
129
+ # @return [Object] Returns the model itself
130
+ def build_from_hash(attributes)
131
+ return nil unless attributes.is_a?(Hash)
132
+ self.class.openapi_types.each_pair do |key, type|
133
+ if type =~ /\AArray<(.*)>/i
134
+ # check to ensure the input is an array given that the attribute
135
+ # is documented as an array but the input is not
136
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
137
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
138
+ end
139
+ elsif !attributes[self.class.attribute_map[key]].nil?
140
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
141
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
142
+ end
143
+
144
+ self
145
+ end
146
+
147
+ # Deserializes the data based on type
148
+ # @param string type Data type
149
+ # @param string value Value to be deserialized
150
+ # @return [Object] Deserialized data
151
+ def _deserialize(type, value)
152
+ case type.to_sym
153
+ when :DateTime
154
+ DateTime.parse(value)
155
+ when :Date
156
+ Date.parse(value)
157
+ when :String
158
+ value.to_s
159
+ when :Integer
160
+ value.to_i
161
+ when :Float
162
+ value.to_f
163
+ when :Boolean
164
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
165
+ true
166
+ else
167
+ false
168
+ end
169
+ when :Object
170
+ # generic object (usually a Hash), return directly
171
+ value
172
+ when /\AArray<(?<inner_type>.+)>\z/
173
+ inner_type = Regexp.last_match[:inner_type]
174
+ value.map { |v| _deserialize(inner_type, v) }
175
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
176
+ k_type = Regexp.last_match[:k_type]
177
+ v_type = Regexp.last_match[:v_type]
178
+ {}.tap do |hash|
179
+ value.each do |k, v|
180
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
181
+ end
182
+ end
183
+ else # model
184
+ PulpFileClient.const_get(type).build_from_hash(value)
185
+ end
186
+ end
187
+
188
+ # Returns the string representation of the object
189
+ # @return [String] String presentation of the object
190
+ def to_s
191
+ to_hash.to_s
192
+ end
193
+
194
+ # to_body is an alias to to_hash (backward compatibility)
195
+ # @return [Hash] Returns the object in the form of hash
196
+ def to_body
197
+ to_hash
198
+ end
199
+
200
+ # Returns the object in the form of hash
201
+ # @return [Hash] Returns the object in the form of hash
202
+ def to_hash
203
+ hash = {}
204
+ self.class.attribute_map.each_pair do |attr, param|
205
+ value = self.send(attr)
206
+ if value.nil?
207
+ is_nullable = self.class.openapi_nullable.include?(attr)
208
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
209
+ end
210
+
211
+ hash[param] = _to_hash(value)
212
+ end
213
+ hash
214
+ end
215
+
216
+ # Outputs non-array value in the form of hash
217
+ # For object, use to_hash. Otherwise, just return the value
218
+ # @param [Object] value Any valid value
219
+ # @return [Hash] Returns the value in the form of hash
220
+ def _to_hash(value)
221
+ if value.is_a?(Array)
222
+ value.compact.map { |v| _to_hash(v) }
223
+ elsif value.is_a?(Hash)
224
+ {}.tap do |hash|
225
+ value.each { |k, v| hash[k] = _to_hash(v) }
226
+ end
227
+ elsif value.respond_to? :to_hash
228
+ value.to_hash
229
+ else
230
+ value
231
+ end
232
+ end
233
+ end
234
+ end
@@ -0,0 +1,213 @@
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.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module PulpFileClient
16
+ class ObjectRolesResponse
17
+ attr_accessor :roles
18
+
19
+ # Attribute mapping from ruby-style variable name to JSON key.
20
+ def self.attribute_map
21
+ {
22
+ :'roles' => :'roles'
23
+ }
24
+ end
25
+
26
+ # Attribute type mapping.
27
+ def self.openapi_types
28
+ {
29
+ :'roles' => :'Array<NestedRoleResponse>'
30
+ }
31
+ end
32
+
33
+ # List of attributes with nullable: true
34
+ def self.openapi_nullable
35
+ Set.new([
36
+ ])
37
+ end
38
+
39
+ # Initializes the object
40
+ # @param [Hash] attributes Model attributes in the form of hash
41
+ def initialize(attributes = {})
42
+ if (!attributes.is_a?(Hash))
43
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PulpFileClient::ObjectRolesResponse` initialize method"
44
+ end
45
+
46
+ # check to see if the attribute exists and convert string to symbol for hash key
47
+ attributes = attributes.each_with_object({}) { |(k, v), h|
48
+ if (!self.class.attribute_map.key?(k.to_sym))
49
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PulpFileClient::ObjectRolesResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
50
+ end
51
+ h[k.to_sym] = v
52
+ }
53
+
54
+ if attributes.key?(:'roles')
55
+ if (value = attributes[:'roles']).is_a?(Array)
56
+ self.roles = value
57
+ end
58
+ end
59
+ end
60
+
61
+ # Show invalid properties with the reasons. Usually used together with valid?
62
+ # @return Array for valid properties with the reasons
63
+ def list_invalid_properties
64
+ invalid_properties = Array.new
65
+ if @roles.nil?
66
+ invalid_properties.push('invalid value for "roles", roles cannot be nil.')
67
+ end
68
+
69
+ invalid_properties
70
+ end
71
+
72
+ # Check to see if the all the properties in the model are valid
73
+ # @return true if the model is valid
74
+ def valid?
75
+ return false if @roles.nil?
76
+ true
77
+ end
78
+
79
+ # Checks equality by comparing each attribute.
80
+ # @param [Object] Object to be compared
81
+ def ==(o)
82
+ return true if self.equal?(o)
83
+ self.class == o.class &&
84
+ roles == o.roles
85
+ end
86
+
87
+ # @see the `==` method
88
+ # @param [Object] Object to be compared
89
+ def eql?(o)
90
+ self == o
91
+ end
92
+
93
+ # Calculates hash code according to all attributes.
94
+ # @return [Integer] Hash code
95
+ def hash
96
+ [roles].hash
97
+ end
98
+
99
+ # Builds the object from hash
100
+ # @param [Hash] attributes Model attributes in the form of hash
101
+ # @return [Object] Returns the model itself
102
+ def self.build_from_hash(attributes)
103
+ new.build_from_hash(attributes)
104
+ end
105
+
106
+ # Builds the object from hash
107
+ # @param [Hash] attributes Model attributes in the form of hash
108
+ # @return [Object] Returns the model itself
109
+ def build_from_hash(attributes)
110
+ return nil unless attributes.is_a?(Hash)
111
+ self.class.openapi_types.each_pair do |key, type|
112
+ if type =~ /\AArray<(.*)>/i
113
+ # check to ensure the input is an array given that the attribute
114
+ # is documented as an array but the input is not
115
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
116
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
117
+ end
118
+ elsif !attributes[self.class.attribute_map[key]].nil?
119
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
120
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
121
+ end
122
+
123
+ self
124
+ end
125
+
126
+ # Deserializes the data based on type
127
+ # @param string type Data type
128
+ # @param string value Value to be deserialized
129
+ # @return [Object] Deserialized data
130
+ def _deserialize(type, value)
131
+ case type.to_sym
132
+ when :DateTime
133
+ DateTime.parse(value)
134
+ when :Date
135
+ Date.parse(value)
136
+ when :String
137
+ value.to_s
138
+ when :Integer
139
+ value.to_i
140
+ when :Float
141
+ value.to_f
142
+ when :Boolean
143
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
144
+ true
145
+ else
146
+ false
147
+ end
148
+ when :Object
149
+ # generic object (usually a Hash), return directly
150
+ value
151
+ when /\AArray<(?<inner_type>.+)>\z/
152
+ inner_type = Regexp.last_match[:inner_type]
153
+ value.map { |v| _deserialize(inner_type, v) }
154
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
155
+ k_type = Regexp.last_match[:k_type]
156
+ v_type = Regexp.last_match[:v_type]
157
+ {}.tap do |hash|
158
+ value.each do |k, v|
159
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
160
+ end
161
+ end
162
+ else # model
163
+ PulpFileClient.const_get(type).build_from_hash(value)
164
+ end
165
+ end
166
+
167
+ # Returns the string representation of the object
168
+ # @return [String] String presentation of the object
169
+ def to_s
170
+ to_hash.to_s
171
+ end
172
+
173
+ # to_body is an alias to to_hash (backward compatibility)
174
+ # @return [Hash] Returns the object in the form of hash
175
+ def to_body
176
+ to_hash
177
+ end
178
+
179
+ # Returns the object in the form of hash
180
+ # @return [Hash] Returns the object in the form of hash
181
+ def to_hash
182
+ hash = {}
183
+ self.class.attribute_map.each_pair do |attr, param|
184
+ value = self.send(attr)
185
+ if value.nil?
186
+ is_nullable = self.class.openapi_nullable.include?(attr)
187
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
188
+ end
189
+
190
+ hash[param] = _to_hash(value)
191
+ end
192
+ hash
193
+ end
194
+
195
+ # Outputs non-array value in the form of hash
196
+ # For object, use to_hash. Otherwise, just return the value
197
+ # @param [Object] value Any valid value
198
+ # @return [Hash] Returns the value in the form of hash
199
+ def _to_hash(value)
200
+ if value.is_a?(Array)
201
+ value.compact.map { |v| _to_hash(v) }
202
+ elsif value.is_a?(Hash)
203
+ {}.tap do |hash|
204
+ value.each { |k, v| hash[k] = _to_hash(v) }
205
+ end
206
+ elsif value.respond_to? :to_hash
207
+ value.to_hash
208
+ else
209
+ value
210
+ end
211
+ end
212
+ end
213
+ end
@@ -92,15 +92,30 @@ module PulpFileClient
92
92
  # @return Array for valid properties with the reasons
93
93
  def list_invalid_properties
94
94
  invalid_properties = Array.new
95
+ if !@name.nil? && @name.to_s.length < 1
96
+ invalid_properties.push('invalid value for "name", the character length must be great than or equal to 1.')
97
+ end
98
+
95
99
  invalid_properties
96
100
  end
97
101
 
98
102
  # Check to see if the all the properties in the model are valid
99
103
  # @return true if the model is valid
100
104
  def valid?
105
+ return false if !@name.nil? && @name.to_s.length < 1
101
106
  true
102
107
  end
103
108
 
109
+ # Custom attribute writer method with validation
110
+ # @param [Object] name Value to be assigned
111
+ def name=(name)
112
+ if !name.nil? && name.to_s.length < 1
113
+ fail ArgumentError, 'invalid value for "name", the character length must be great than or equal to 1.'
114
+ end
115
+
116
+ @name = name
117
+ end
118
+
104
119
  # Checks equality by comparing each attribute.
105
120
  # @param [Object] Object to be compared
106
121
  def ==(o)