pulp_deb_client 3.0.0 → 3.0.2

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 (68) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +15 -5
  3. data/docs/ContentGenericContentsApi.md +3 -1
  4. data/docs/ContentInstallerFileIndicesApi.md +3 -1
  5. data/docs/ContentInstallerPackagesApi.md +3 -1
  6. data/docs/ContentPackageIndicesApi.md +3 -1
  7. data/docs/ContentPackageReleaseComponentsApi.md +3 -1
  8. data/docs/ContentPackagesApi.md +3 -1
  9. data/docs/ContentReleaseArchitecturesApi.md +3 -1
  10. data/docs/ContentReleaseComponentsApi.md +3 -1
  11. data/docs/ContentReleaseFilesApi.md +3 -1
  12. data/docs/ContentReleasesApi.md +3 -1
  13. data/docs/DebCopyApi.md +1 -1
  14. data/docs/DistributionsAptApi.md +123 -1
  15. data/docs/PublicationsAptApi.md +3 -1
  16. data/docs/PublicationsVerbatimApi.md +3 -1
  17. data/docs/RemotesAptApi.md +123 -1
  18. data/docs/RepositoriesAptApi.md +123 -1
  19. data/docs/RepositoriesAptVersionsApi.md +3 -1
  20. data/docs/SetLabel.md +19 -0
  21. data/docs/SetLabelResponse.md +19 -0
  22. data/docs/UnsetLabel.md +17 -0
  23. data/docs/UnsetLabelResponse.md +19 -0
  24. data/lib/pulp_deb_client/api/content_generic_contents_api.rb +3 -0
  25. data/lib/pulp_deb_client/api/content_installer_file_indices_api.rb +3 -0
  26. data/lib/pulp_deb_client/api/content_installer_packages_api.rb +3 -0
  27. data/lib/pulp_deb_client/api/content_package_indices_api.rb +3 -0
  28. data/lib/pulp_deb_client/api/content_package_release_components_api.rb +3 -0
  29. data/lib/pulp_deb_client/api/content_packages_api.rb +3 -0
  30. data/lib/pulp_deb_client/api/content_release_architectures_api.rb +3 -0
  31. data/lib/pulp_deb_client/api/content_release_components_api.rb +3 -0
  32. data/lib/pulp_deb_client/api/content_release_files_api.rb +3 -0
  33. data/lib/pulp_deb_client/api/content_releases_api.rb +3 -0
  34. data/lib/pulp_deb_client/api/distributions_apt_api.rb +155 -0
  35. data/lib/pulp_deb_client/api/publications_apt_api.rb +3 -0
  36. data/lib/pulp_deb_client/api/publications_verbatim_api.rb +3 -0
  37. data/lib/pulp_deb_client/api/remotes_apt_api.rb +155 -0
  38. data/lib/pulp_deb_client/api/repositories_apt_api.rb +155 -0
  39. data/lib/pulp_deb_client/api/repositories_apt_versions_api.rb +3 -0
  40. data/lib/pulp_deb_client/configuration.rb +2 -2
  41. data/lib/pulp_deb_client/models/set_label.rb +252 -0
  42. data/lib/pulp_deb_client/models/set_label_response.rb +243 -0
  43. data/lib/pulp_deb_client/models/unset_label.rb +242 -0
  44. data/lib/pulp_deb_client/models/unset_label_response.rb +242 -0
  45. data/lib/pulp_deb_client/version.rb +1 -1
  46. data/lib/pulp_deb_client.rb +4 -0
  47. data/spec/api/content_generic_contents_api_spec.rb +1 -0
  48. data/spec/api/content_installer_file_indices_api_spec.rb +1 -0
  49. data/spec/api/content_installer_packages_api_spec.rb +1 -0
  50. data/spec/api/content_package_indices_api_spec.rb +1 -0
  51. data/spec/api/content_package_release_components_api_spec.rb +1 -0
  52. data/spec/api/content_packages_api_spec.rb +1 -0
  53. data/spec/api/content_release_architectures_api_spec.rb +1 -0
  54. data/spec/api/content_release_components_api_spec.rb +1 -0
  55. data/spec/api/content_release_files_api_spec.rb +1 -0
  56. data/spec/api/content_releases_api_spec.rb +1 -0
  57. data/spec/api/distributions_apt_api_spec.rb +31 -0
  58. data/spec/api/publications_apt_api_spec.rb +1 -0
  59. data/spec/api/publications_verbatim_api_spec.rb +1 -0
  60. data/spec/api/remotes_apt_api_spec.rb +31 -0
  61. data/spec/api/repositories_apt_api_spec.rb +31 -0
  62. data/spec/api/repositories_apt_versions_api_spec.rb +1 -0
  63. data/spec/configuration_spec.rb +3 -3
  64. data/spec/models/set_label_response_spec.rb +47 -0
  65. data/spec/models/set_label_spec.rb +47 -0
  66. data/spec/models/unset_label_response_spec.rb +47 -0
  67. data/spec/models/unset_label_spec.rb +41 -0
  68. metadata +73 -57
@@ -153,13 +153,18 @@ module PulpDebClient
153
153
  # @option opts [String] :name Filter results where name matches value
154
154
  # @option opts [String] :name__contains Filter results where name contains value
155
155
  # @option opts [String] :name__icontains Filter results where name contains value
156
+ # @option opts [String] :name__iexact Filter results where name matches value
156
157
  # @option opts [Array<String>] :name__in Filter results where name is in a comma-separated list of values
158
+ # @option opts [String] :name__iregex Filter results where name matches regex value
159
+ # @option opts [String] :name__istartswith Filter results where name starts with value
160
+ # @option opts [String] :name__regex Filter results where name matches regex value
157
161
  # @option opts [String] :name__startswith Filter results where name starts with value
158
162
  # @option opts [Integer] :offset The initial index from which to return the results.
159
163
  # @option opts [Array<String>] :ordering Ordering * &#x60;pulp_id&#x60; - Pulp id * &#x60;-pulp_id&#x60; - Pulp id (descending) * &#x60;pulp_created&#x60; - Pulp created * &#x60;-pulp_created&#x60; - Pulp created (descending) * &#x60;pulp_last_updated&#x60; - Pulp last updated * &#x60;-pulp_last_updated&#x60; - Pulp last updated (descending) * &#x60;pulp_type&#x60; - Pulp type * &#x60;-pulp_type&#x60; - Pulp type (descending) * &#x60;name&#x60; - Name * &#x60;-name&#x60; - Name (descending) * &#x60;pulp_labels&#x60; - Pulp labels * &#x60;-pulp_labels&#x60; - Pulp labels (descending) * &#x60;description&#x60; - Description * &#x60;-description&#x60; - Description (descending) * &#x60;next_version&#x60; - Next version * &#x60;-next_version&#x60; - Next version (descending) * &#x60;retain_repo_versions&#x60; - Retain repo versions * &#x60;-retain_repo_versions&#x60; - Retain repo versions (descending) * &#x60;user_hidden&#x60; - User hidden * &#x60;-user_hidden&#x60; - User hidden (descending) * &#x60;pk&#x60; - Pk * &#x60;-pk&#x60; - Pk (descending)
160
164
  # @option opts [Array<String>] :pulp_href__in Multiple values may be separated by commas.
161
165
  # @option opts [Array<String>] :pulp_id__in Multiple values may be separated by commas.
162
166
  # @option opts [String] :pulp_label_select Filter labels by search string
167
+ # @option opts [String] :q
163
168
  # @option opts [String] :remote Foreign Key referenced by HREF
164
169
  # @option opts [Integer] :retain_repo_versions Filter results where retain_repo_versions matches value
165
170
  # @option opts [Integer] :retain_repo_versions__gt Filter results where retain_repo_versions is greater than value
@@ -186,13 +191,18 @@ module PulpDebClient
186
191
  # @option opts [String] :name Filter results where name matches value
187
192
  # @option opts [String] :name__contains Filter results where name contains value
188
193
  # @option opts [String] :name__icontains Filter results where name contains value
194
+ # @option opts [String] :name__iexact Filter results where name matches value
189
195
  # @option opts [Array<String>] :name__in Filter results where name is in a comma-separated list of values
196
+ # @option opts [String] :name__iregex Filter results where name matches regex value
197
+ # @option opts [String] :name__istartswith Filter results where name starts with value
198
+ # @option opts [String] :name__regex Filter results where name matches regex value
190
199
  # @option opts [String] :name__startswith Filter results where name starts with value
191
200
  # @option opts [Integer] :offset The initial index from which to return the results.
192
201
  # @option opts [Array<String>] :ordering Ordering * &#x60;pulp_id&#x60; - Pulp id * &#x60;-pulp_id&#x60; - Pulp id (descending) * &#x60;pulp_created&#x60; - Pulp created * &#x60;-pulp_created&#x60; - Pulp created (descending) * &#x60;pulp_last_updated&#x60; - Pulp last updated * &#x60;-pulp_last_updated&#x60; - Pulp last updated (descending) * &#x60;pulp_type&#x60; - Pulp type * &#x60;-pulp_type&#x60; - Pulp type (descending) * &#x60;name&#x60; - Name * &#x60;-name&#x60; - Name (descending) * &#x60;pulp_labels&#x60; - Pulp labels * &#x60;-pulp_labels&#x60; - Pulp labels (descending) * &#x60;description&#x60; - Description * &#x60;-description&#x60; - Description (descending) * &#x60;next_version&#x60; - Next version * &#x60;-next_version&#x60; - Next version (descending) * &#x60;retain_repo_versions&#x60; - Retain repo versions * &#x60;-retain_repo_versions&#x60; - Retain repo versions (descending) * &#x60;user_hidden&#x60; - User hidden * &#x60;-user_hidden&#x60; - User hidden (descending) * &#x60;pk&#x60; - Pk * &#x60;-pk&#x60; - Pk (descending)
193
202
  # @option opts [Array<String>] :pulp_href__in Multiple values may be separated by commas.
194
203
  # @option opts [Array<String>] :pulp_id__in Multiple values may be separated by commas.
195
204
  # @option opts [String] :pulp_label_select Filter labels by search string
205
+ # @option opts [String] :q
196
206
  # @option opts [String] :remote Foreign Key referenced by HREF
197
207
  # @option opts [Integer] :retain_repo_versions Filter results where retain_repo_versions matches value
198
208
  # @option opts [Integer] :retain_repo_versions__gt Filter results where retain_repo_versions is greater than value
@@ -224,13 +234,18 @@ module PulpDebClient
224
234
  query_params[:'name'] = opts[:'name'] if !opts[:'name'].nil?
225
235
  query_params[:'name__contains'] = opts[:'name__contains'] if !opts[:'name__contains'].nil?
226
236
  query_params[:'name__icontains'] = opts[:'name__icontains'] if !opts[:'name__icontains'].nil?
237
+ query_params[:'name__iexact'] = opts[:'name__iexact'] if !opts[:'name__iexact'].nil?
227
238
  query_params[:'name__in'] = @api_client.build_collection_param(opts[:'name__in'], :csv) if !opts[:'name__in'].nil?
239
+ query_params[:'name__iregex'] = opts[:'name__iregex'] if !opts[:'name__iregex'].nil?
240
+ query_params[:'name__istartswith'] = opts[:'name__istartswith'] if !opts[:'name__istartswith'].nil?
241
+ query_params[:'name__regex'] = opts[:'name__regex'] if !opts[:'name__regex'].nil?
228
242
  query_params[:'name__startswith'] = opts[:'name__startswith'] if !opts[:'name__startswith'].nil?
229
243
  query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
230
244
  query_params[:'ordering'] = @api_client.build_collection_param(opts[:'ordering'], :csv) if !opts[:'ordering'].nil?
231
245
  query_params[:'pulp_href__in'] = @api_client.build_collection_param(opts[:'pulp_href__in'], :csv) if !opts[:'pulp_href__in'].nil?
232
246
  query_params[:'pulp_id__in'] = @api_client.build_collection_param(opts[:'pulp_id__in'], :csv) if !opts[:'pulp_id__in'].nil?
233
247
  query_params[:'pulp_label_select'] = opts[:'pulp_label_select'] if !opts[:'pulp_label_select'].nil?
248
+ query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil?
234
249
  query_params[:'remote'] = opts[:'remote'] if !opts[:'remote'].nil?
235
250
  query_params[:'retain_repo_versions'] = opts[:'retain_repo_versions'] if !opts[:'retain_repo_versions'].nil?
236
251
  query_params[:'retain_repo_versions__gt'] = opts[:'retain_repo_versions__gt'] if !opts[:'retain_repo_versions__gt'].nil?
@@ -485,6 +500,76 @@ module PulpDebClient
485
500
  return data, status_code, headers
486
501
  end
487
502
 
503
+ # Set a label
504
+ # Set a single pulp_label on the object to a specific value or null.
505
+ # @param deb_apt_repository_href [String]
506
+ # @param set_label [SetLabel]
507
+ # @param [Hash] opts the optional parameters
508
+ # @return [SetLabelResponse]
509
+ def set_label(deb_apt_repository_href, set_label, opts = {})
510
+ data, _status_code, _headers = set_label_with_http_info(deb_apt_repository_href, set_label, opts)
511
+ data
512
+ end
513
+
514
+ # Set a label
515
+ # Set a single pulp_label on the object to a specific value or null.
516
+ # @param deb_apt_repository_href [String]
517
+ # @param set_label [SetLabel]
518
+ # @param [Hash] opts the optional parameters
519
+ # @return [Array<(SetLabelResponse, Integer, Hash)>] SetLabelResponse data, response status code and response headers
520
+ def set_label_with_http_info(deb_apt_repository_href, set_label, opts = {})
521
+ if @api_client.config.debugging
522
+ @api_client.config.logger.debug 'Calling API: RepositoriesAptApi.set_label ...'
523
+ end
524
+ # verify the required parameter 'deb_apt_repository_href' is set
525
+ if @api_client.config.client_side_validation && deb_apt_repository_href.nil?
526
+ fail ArgumentError, "Missing the required parameter 'deb_apt_repository_href' when calling RepositoriesAptApi.set_label"
527
+ end
528
+ # verify the required parameter 'set_label' is set
529
+ if @api_client.config.client_side_validation && set_label.nil?
530
+ fail ArgumentError, "Missing the required parameter 'set_label' when calling RepositoriesAptApi.set_label"
531
+ end
532
+ # resource path
533
+ local_var_path = '{deb_apt_repository_href}set_label/'.sub('{' + 'deb_apt_repository_href' + '}', CGI.escape(deb_apt_repository_href.to_s).gsub('%2F', '/'))
534
+
535
+ # query parameters
536
+ query_params = opts[:query_params] || {}
537
+
538
+ # header parameters
539
+ header_params = opts[:header_params] || {}
540
+ # HTTP header 'Accept' (if needed)
541
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
542
+ # HTTP header 'Content-Type'
543
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'application/x-www-form-urlencoded', 'multipart/form-data'])
544
+
545
+ # form parameters
546
+ form_params = opts[:form_params] || {}
547
+
548
+ # http body (model)
549
+ post_body = opts[:body] || @api_client.object_to_http_body(set_label)
550
+
551
+ # return_type
552
+ return_type = opts[:return_type] || 'SetLabelResponse'
553
+
554
+ # auth_names
555
+ auth_names = opts[:auth_names] || ['basicAuth']
556
+
557
+ new_options = opts.merge(
558
+ :header_params => header_params,
559
+ :query_params => query_params,
560
+ :form_params => form_params,
561
+ :body => post_body,
562
+ :auth_names => auth_names,
563
+ :return_type => return_type
564
+ )
565
+
566
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
567
+ if @api_client.config.debugging
568
+ @api_client.config.logger.debug "API called: RepositoriesAptApi#set_label\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
569
+ end
570
+ return data, status_code, headers
571
+ end
572
+
488
573
  # Sync from remote
489
574
  # Trigger an asynchronous task to sync content
490
575
  # @param deb_apt_repository_href [String]
@@ -555,6 +640,76 @@ module PulpDebClient
555
640
  return data, status_code, headers
556
641
  end
557
642
 
643
+ # Unset a label
644
+ # Unset a single pulp_label on the object.
645
+ # @param deb_apt_repository_href [String]
646
+ # @param unset_label [UnsetLabel]
647
+ # @param [Hash] opts the optional parameters
648
+ # @return [UnsetLabelResponse]
649
+ def unset_label(deb_apt_repository_href, unset_label, opts = {})
650
+ data, _status_code, _headers = unset_label_with_http_info(deb_apt_repository_href, unset_label, opts)
651
+ data
652
+ end
653
+
654
+ # Unset a label
655
+ # Unset a single pulp_label on the object.
656
+ # @param deb_apt_repository_href [String]
657
+ # @param unset_label [UnsetLabel]
658
+ # @param [Hash] opts the optional parameters
659
+ # @return [Array<(UnsetLabelResponse, Integer, Hash)>] UnsetLabelResponse data, response status code and response headers
660
+ def unset_label_with_http_info(deb_apt_repository_href, unset_label, opts = {})
661
+ if @api_client.config.debugging
662
+ @api_client.config.logger.debug 'Calling API: RepositoriesAptApi.unset_label ...'
663
+ end
664
+ # verify the required parameter 'deb_apt_repository_href' is set
665
+ if @api_client.config.client_side_validation && deb_apt_repository_href.nil?
666
+ fail ArgumentError, "Missing the required parameter 'deb_apt_repository_href' when calling RepositoriesAptApi.unset_label"
667
+ end
668
+ # verify the required parameter 'unset_label' is set
669
+ if @api_client.config.client_side_validation && unset_label.nil?
670
+ fail ArgumentError, "Missing the required parameter 'unset_label' when calling RepositoriesAptApi.unset_label"
671
+ end
672
+ # resource path
673
+ local_var_path = '{deb_apt_repository_href}unset_label/'.sub('{' + 'deb_apt_repository_href' + '}', CGI.escape(deb_apt_repository_href.to_s).gsub('%2F', '/'))
674
+
675
+ # query parameters
676
+ query_params = opts[:query_params] || {}
677
+
678
+ # header parameters
679
+ header_params = opts[:header_params] || {}
680
+ # HTTP header 'Accept' (if needed)
681
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
682
+ # HTTP header 'Content-Type'
683
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'application/x-www-form-urlencoded', 'multipart/form-data'])
684
+
685
+ # form parameters
686
+ form_params = opts[:form_params] || {}
687
+
688
+ # http body (model)
689
+ post_body = opts[:body] || @api_client.object_to_http_body(unset_label)
690
+
691
+ # return_type
692
+ return_type = opts[:return_type] || 'UnsetLabelResponse'
693
+
694
+ # auth_names
695
+ auth_names = opts[:auth_names] || ['basicAuth']
696
+
697
+ new_options = opts.merge(
698
+ :header_params => header_params,
699
+ :query_params => query_params,
700
+ :form_params => form_params,
701
+ :body => post_body,
702
+ :auth_names => auth_names,
703
+ :return_type => return_type
704
+ )
705
+
706
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
707
+ if @api_client.config.debugging
708
+ @api_client.config.logger.debug "API called: RepositoriesAptApi#unset_label\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
709
+ end
710
+ return data, status_code, headers
711
+ end
712
+
558
713
  # Update an apt repository
559
714
  # Trigger an asynchronous update task
560
715
  # @param deb_apt_repository_href [String]
@@ -103,6 +103,7 @@ module PulpDebClient
103
103
  # @option opts [DateTime] :pulp_created__lte Filter results where pulp_created is less than or equal to value
104
104
  # @option opts [Array<DateTime>] :pulp_created__range Filter results where pulp_created is between two comma separated values
105
105
  # @option opts [Array<String>] :pulp_href__in Multiple values may be separated by commas.
106
+ # @option opts [String] :q
106
107
  # @option opts [Array<String>] :fields A list of fields to include in the response.
107
108
  # @option opts [Array<String>] :exclude_fields A list of fields to exclude from the response.
108
109
  # @return [PaginatedRepositoryVersionResponseList]
@@ -133,6 +134,7 @@ module PulpDebClient
133
134
  # @option opts [DateTime] :pulp_created__lte Filter results where pulp_created is less than or equal to value
134
135
  # @option opts [Array<DateTime>] :pulp_created__range Filter results where pulp_created is between two comma separated values
135
136
  # @option opts [Array<String>] :pulp_href__in Multiple values may be separated by commas.
137
+ # @option opts [String] :q
136
138
  # @option opts [Array<String>] :fields A list of fields to include in the response.
137
139
  # @option opts [Array<String>] :exclude_fields A list of fields to exclude from the response.
138
140
  # @return [Array<(PaginatedRepositoryVersionResponseList, Integer, Hash)>] PaginatedRepositoryVersionResponseList data, response status code and response headers
@@ -171,6 +173,7 @@ module PulpDebClient
171
173
  query_params[:'pulp_created__lte'] = opts[:'pulp_created__lte'] if !opts[:'pulp_created__lte'].nil?
172
174
  query_params[:'pulp_created__range'] = @api_client.build_collection_param(opts[:'pulp_created__range'], :csv) if !opts[:'pulp_created__range'].nil?
173
175
  query_params[:'pulp_href__in'] = @api_client.build_collection_param(opts[:'pulp_href__in'], :csv) if !opts[:'pulp_href__in'].nil?
176
+ query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil?
174
177
  query_params[:'fields'] = @api_client.build_collection_param(opts[:'fields'], :multi) if !opts[:'fields'].nil?
175
178
  query_params[:'exclude_fields'] = @api_client.build_collection_param(opts[:'exclude_fields'], :multi) if !opts[:'exclude_fields'].nil?
176
179
 
@@ -127,7 +127,7 @@ module PulpDebClient
127
127
  attr_accessor :force_ending_format
128
128
 
129
129
  def initialize
130
- @scheme = 'https'
130
+ @scheme = 'http'
131
131
  @host = 'pulp'
132
132
  @base_path = ''
133
133
  @api_key = {}
@@ -210,7 +210,7 @@ module PulpDebClient
210
210
  def server_settings
211
211
  [
212
212
  {
213
- url: "https://pulp/",
213
+ url: "http://pulp/",
214
214
  description: "No description provided",
215
215
  }
216
216
  ]
@@ -0,0 +1,252 @@
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 PulpDebClient
16
+ # Serializer for synchronously setting a label.
17
+ class SetLabel
18
+ attr_accessor :key
19
+
20
+ attr_accessor :value
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'key' => :'key',
26
+ :'value' => :'value'
27
+ }
28
+ end
29
+
30
+ # Attribute type mapping.
31
+ def self.openapi_types
32
+ {
33
+ :'key' => :'String',
34
+ :'value' => :'String'
35
+ }
36
+ end
37
+
38
+ # List of attributes with nullable: true
39
+ def self.openapi_nullable
40
+ Set.new([
41
+ :'value'
42
+ ])
43
+ end
44
+
45
+ # Initializes the object
46
+ # @param [Hash] attributes Model attributes in the form of hash
47
+ def initialize(attributes = {})
48
+ if (!attributes.is_a?(Hash))
49
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PulpDebClient::SetLabel` initialize method"
50
+ end
51
+
52
+ # check to see if the attribute exists and convert string to symbol for hash key
53
+ attributes = attributes.each_with_object({}) { |(k, v), h|
54
+ if (!self.class.attribute_map.key?(k.to_sym))
55
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PulpDebClient::SetLabel`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
56
+ end
57
+ h[k.to_sym] = v
58
+ }
59
+
60
+ if attributes.key?(:'key')
61
+ self.key = attributes[:'key']
62
+ end
63
+
64
+ if attributes.key?(:'value')
65
+ self.value = attributes[:'value']
66
+ end
67
+ end
68
+
69
+ # Show invalid properties with the reasons. Usually used together with valid?
70
+ # @return Array for valid properties with the reasons
71
+ def list_invalid_properties
72
+ invalid_properties = Array.new
73
+ if @key.nil?
74
+ invalid_properties.push('invalid value for "key", key cannot be nil.')
75
+ end
76
+
77
+ if @key.to_s.length < 1
78
+ invalid_properties.push('invalid value for "key", the character length must be great than or equal to 1.')
79
+ end
80
+
81
+ pattern = Regexp.new(/^[-a-zA-Z0-9_]+$/)
82
+ if @key !~ pattern
83
+ invalid_properties.push("invalid value for \"key\", must conform to the pattern #{pattern}.")
84
+ end
85
+
86
+ invalid_properties
87
+ end
88
+
89
+ # Check to see if the all the properties in the model are valid
90
+ # @return true if the model is valid
91
+ def valid?
92
+ return false if @key.nil?
93
+ return false if @key.to_s.length < 1
94
+ return false if @key !~ Regexp.new(/^[-a-zA-Z0-9_]+$/)
95
+ true
96
+ end
97
+
98
+ # Custom attribute writer method with validation
99
+ # @param [Object] key Value to be assigned
100
+ def key=(key)
101
+ if key.nil?
102
+ fail ArgumentError, 'key cannot be nil'
103
+ end
104
+
105
+ if key.to_s.length < 1
106
+ fail ArgumentError, 'invalid value for "key", the character length must be great than or equal to 1.'
107
+ end
108
+
109
+ pattern = Regexp.new(/^[-a-zA-Z0-9_]+$/)
110
+ if key !~ pattern
111
+ fail ArgumentError, "invalid value for \"key\", must conform to the pattern #{pattern}."
112
+ end
113
+
114
+ @key = key
115
+ end
116
+
117
+ # Checks equality by comparing each attribute.
118
+ # @param [Object] Object to be compared
119
+ def ==(o)
120
+ return true if self.equal?(o)
121
+ self.class == o.class &&
122
+ key == o.key &&
123
+ value == o.value
124
+ end
125
+
126
+ # @see the `==` method
127
+ # @param [Object] Object to be compared
128
+ def eql?(o)
129
+ self == o
130
+ end
131
+
132
+ # Calculates hash code according to all attributes.
133
+ # @return [Integer] Hash code
134
+ def hash
135
+ [key, value].hash
136
+ end
137
+
138
+ # Builds the object from hash
139
+ # @param [Hash] attributes Model attributes in the form of hash
140
+ # @return [Object] Returns the model itself
141
+ def self.build_from_hash(attributes)
142
+ new.build_from_hash(attributes)
143
+ end
144
+
145
+ # Builds the object from hash
146
+ # @param [Hash] attributes Model attributes in the form of hash
147
+ # @return [Object] Returns the model itself
148
+ def build_from_hash(attributes)
149
+ return nil unless attributes.is_a?(Hash)
150
+ self.class.openapi_types.each_pair do |key, type|
151
+ if type =~ /\AArray<(.*)>/i
152
+ # check to ensure the input is an array given that the attribute
153
+ # is documented as an array but the input is not
154
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
155
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
156
+ end
157
+ elsif !attributes[self.class.attribute_map[key]].nil?
158
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
159
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
160
+ end
161
+
162
+ self
163
+ end
164
+
165
+ # Deserializes the data based on type
166
+ # @param string type Data type
167
+ # @param string value Value to be deserialized
168
+ # @return [Object] Deserialized data
169
+ def _deserialize(type, value)
170
+ case type.to_sym
171
+ when :DateTime
172
+ DateTime.parse(value)
173
+ when :Date
174
+ Date.parse(value)
175
+ when :String
176
+ value.to_s
177
+ when :Integer
178
+ value.to_i
179
+ when :Float
180
+ value.to_f
181
+ when :Boolean
182
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
183
+ true
184
+ else
185
+ false
186
+ end
187
+ when :Object
188
+ # generic object (usually a Hash), return directly
189
+ value
190
+ when /\AArray<(?<inner_type>.+)>\z/
191
+ inner_type = Regexp.last_match[:inner_type]
192
+ value.map { |v| _deserialize(inner_type, v) }
193
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
194
+ k_type = Regexp.last_match[:k_type]
195
+ v_type = Regexp.last_match[:v_type]
196
+ {}.tap do |hash|
197
+ value.each do |k, v|
198
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
199
+ end
200
+ end
201
+ else # model
202
+ PulpDebClient.const_get(type).build_from_hash(value)
203
+ end
204
+ end
205
+
206
+ # Returns the string representation of the object
207
+ # @return [String] String presentation of the object
208
+ def to_s
209
+ to_hash.to_s
210
+ end
211
+
212
+ # to_body is an alias to to_hash (backward compatibility)
213
+ # @return [Hash] Returns the object in the form of hash
214
+ def to_body
215
+ to_hash
216
+ end
217
+
218
+ # Returns the object in the form of hash
219
+ # @return [Hash] Returns the object in the form of hash
220
+ def to_hash
221
+ hash = {}
222
+ self.class.attribute_map.each_pair do |attr, param|
223
+ value = self.send(attr)
224
+ if value.nil?
225
+ is_nullable = self.class.openapi_nullable.include?(attr)
226
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
227
+ end
228
+
229
+ hash[param] = _to_hash(value)
230
+ end
231
+ hash
232
+ end
233
+
234
+ # Outputs non-array value in the form of hash
235
+ # For object, use to_hash. Otherwise, just return the value
236
+ # @param [Object] value Any valid value
237
+ # @return [Hash] Returns the value in the form of hash
238
+ def _to_hash(value)
239
+ if value.is_a?(Array)
240
+ value.compact.map { |v| _to_hash(v) }
241
+ elsif value.is_a?(Hash)
242
+ {}.tap do |hash|
243
+ value.each { |k, v| hash[k] = _to_hash(v) }
244
+ end
245
+ elsif value.respond_to? :to_hash
246
+ value.to_hash
247
+ else
248
+ value
249
+ end
250
+ end
251
+ end
252
+ end