cloudsmith-api 2.0.5 → 2.0.7

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 (170) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +3 -3
  3. data/README.md +105 -4
  4. data/build.json +1 -1
  5. data/docs/DartUpstream.md +23 -0
  6. data/docs/DartUpstreamRequest.md +20 -0
  7. data/docs/DartUpstreamRequestPatch.md +20 -0
  8. data/docs/DebUpstream.md +27 -0
  9. data/docs/DebUpstreamRequest.md +24 -0
  10. data/docs/DebUpstreamRequestPatch.md +24 -0
  11. data/docs/DockerUpstream.md +23 -0
  12. data/docs/DockerUpstreamRequest.md +20 -0
  13. data/docs/DockerUpstreamRequestPatch.md +20 -0
  14. data/docs/HelmUpstream.md +23 -0
  15. data/docs/HelmUpstreamRequest.md +20 -0
  16. data/docs/HelmUpstreamRequestPatch.md +20 -0
  17. data/docs/MavenPackageUpload.md +2 -0
  18. data/docs/MavenPackageUploadRequest.md +2 -0
  19. data/docs/MavenUpstream.md +23 -0
  20. data/docs/MavenUpstreamRequest.md +20 -0
  21. data/docs/MavenUpstreamRequestPatch.md +20 -0
  22. data/docs/NpmUpstream.md +23 -0
  23. data/docs/NpmUpstreamRequest.md +20 -0
  24. data/docs/NpmUpstreamRequestPatch.md +20 -0
  25. data/docs/NugetUpstream.md +23 -0
  26. data/docs/NugetUpstreamRequest.md +20 -0
  27. data/docs/NugetUpstreamRequestPatch.md +20 -0
  28. data/docs/OrgsApi.md +431 -0
  29. data/docs/PackageLicensePolicyEvaluationRequest.md +14 -0
  30. data/docs/PackageLicensePolicyEvaluationRequestRequest.md +7 -0
  31. data/docs/PackageVulnerabilityPolicyEvaluationRequest.md +14 -0
  32. data/docs/PackageVulnerabilityPolicyEvaluationRequestRequest.md +7 -0
  33. data/docs/PythonUpstream.md +23 -0
  34. data/docs/PythonUpstreamRequest.md +20 -0
  35. data/docs/PythonUpstreamRequestPatch.md +20 -0
  36. data/docs/ReposApi.md +3770 -0
  37. data/docs/RpmUpstream.md +25 -0
  38. data/docs/RpmUpstreamRequest.md +22 -0
  39. data/docs/RpmUpstreamRequestPatch.md +22 -0
  40. data/docs/RubyUpstream.md +23 -0
  41. data/docs/RubyUpstreamRequest.md +20 -0
  42. data/docs/RubyUpstreamRequestPatch.md +20 -0
  43. data/docs/StatusBasic.md +1 -1
  44. data/lib/cloudsmith-api/api/orgs_api.rb +447 -0
  45. data/lib/cloudsmith-api/api/repos_api.rb +3950 -0
  46. data/lib/cloudsmith-api/models/dart_upstream.rb +393 -0
  47. data/lib/cloudsmith-api/models/dart_upstream_request.rb +365 -0
  48. data/lib/cloudsmith-api/models/dart_upstream_request_patch.rb +355 -0
  49. data/lib/cloudsmith-api/models/deb_upstream.rb +440 -0
  50. data/lib/cloudsmith-api/models/deb_upstream_request.rb +412 -0
  51. data/lib/cloudsmith-api/models/deb_upstream_request_patch.rb +397 -0
  52. data/lib/cloudsmith-api/models/docker_upstream.rb +393 -0
  53. data/lib/cloudsmith-api/models/docker_upstream_request.rb +365 -0
  54. data/lib/cloudsmith-api/models/docker_upstream_request_patch.rb +355 -0
  55. data/lib/cloudsmith-api/models/helm_upstream.rb +393 -0
  56. data/lib/cloudsmith-api/models/helm_upstream_request.rb +365 -0
  57. data/lib/cloudsmith-api/models/helm_upstream_request_patch.rb +355 -0
  58. data/lib/cloudsmith-api/models/maven_package_upload.rb +19 -1
  59. data/lib/cloudsmith-api/models/maven_package_upload_request.rb +19 -1
  60. data/lib/cloudsmith-api/models/maven_upstream.rb +393 -0
  61. data/lib/cloudsmith-api/models/maven_upstream_request.rb +365 -0
  62. data/lib/cloudsmith-api/models/maven_upstream_request_patch.rb +355 -0
  63. data/lib/cloudsmith-api/models/npm_upstream.rb +393 -0
  64. data/lib/cloudsmith-api/models/npm_upstream_request.rb +365 -0
  65. data/lib/cloudsmith-api/models/npm_upstream_request_patch.rb +355 -0
  66. data/lib/cloudsmith-api/models/nuget_upstream.rb +393 -0
  67. data/lib/cloudsmith-api/models/nuget_upstream_request.rb +365 -0
  68. data/lib/cloudsmith-api/models/nuget_upstream_request_patch.rb +355 -0
  69. data/lib/cloudsmith-api/models/package_license_policy_evaluation_request.rb +274 -0
  70. data/lib/cloudsmith-api/models/package_license_policy_evaluation_request_request.rb +175 -0
  71. data/lib/cloudsmith-api/models/package_vulnerability_policy_evaluation_request.rb +274 -0
  72. data/lib/cloudsmith-api/models/package_vulnerability_policy_evaluation_request_request.rb +175 -0
  73. data/lib/cloudsmith-api/models/python_upstream.rb +393 -0
  74. data/lib/cloudsmith-api/models/python_upstream_request.rb +365 -0
  75. data/lib/cloudsmith-api/models/python_upstream_request_patch.rb +355 -0
  76. data/lib/cloudsmith-api/models/rpm_upstream.rb +418 -0
  77. data/lib/cloudsmith-api/models/rpm_upstream_request.rb +390 -0
  78. data/lib/cloudsmith-api/models/rpm_upstream_request_patch.rb +375 -0
  79. data/lib/cloudsmith-api/models/ruby_upstream.rb +393 -0
  80. data/lib/cloudsmith-api/models/ruby_upstream_request.rb +365 -0
  81. data/lib/cloudsmith-api/models/ruby_upstream_request_patch.rb +355 -0
  82. data/lib/cloudsmith-api/models/status_basic.rb +1 -1
  83. data/lib/cloudsmith-api/version.rb +1 -1
  84. data/lib/cloudsmith-api.rb +34 -0
  85. data/spec/api/orgs_api_spec.rb +99 -0
  86. data/spec/api/repos_api_spec.rb +870 -0
  87. data/spec/models/dart_upstream_request_patch_spec.rb +121 -0
  88. data/spec/models/dart_upstream_request_spec.rb +121 -0
  89. data/spec/models/dart_upstream_spec.rb +139 -0
  90. data/spec/models/deb_upstream_request_patch_spec.rb +145 -0
  91. data/spec/models/deb_upstream_request_spec.rb +145 -0
  92. data/spec/models/deb_upstream_spec.rb +163 -0
  93. data/spec/models/docker_upstream_request_patch_spec.rb +121 -0
  94. data/spec/models/docker_upstream_request_spec.rb +121 -0
  95. data/spec/models/docker_upstream_spec.rb +139 -0
  96. data/spec/models/helm_upstream_request_patch_spec.rb +121 -0
  97. data/spec/models/helm_upstream_request_spec.rb +121 -0
  98. data/spec/models/helm_upstream_spec.rb +139 -0
  99. data/spec/models/maven_package_upload_request_spec.rb +12 -0
  100. data/spec/models/maven_package_upload_spec.rb +12 -0
  101. data/spec/models/maven_upstream_request_patch_spec.rb +121 -0
  102. data/spec/models/maven_upstream_request_spec.rb +121 -0
  103. data/spec/models/maven_upstream_spec.rb +139 -0
  104. data/spec/models/npm_upstream_request_patch_spec.rb +121 -0
  105. data/spec/models/npm_upstream_request_spec.rb +121 -0
  106. data/spec/models/npm_upstream_spec.rb +139 -0
  107. data/spec/models/nuget_upstream_request_patch_spec.rb +121 -0
  108. data/spec/models/nuget_upstream_request_spec.rb +121 -0
  109. data/spec/models/nuget_upstream_spec.rb +139 -0
  110. data/spec/models/package_license_policy_evaluation_request_request_spec.rb +35 -0
  111. data/spec/models/package_license_policy_evaluation_request_spec.rb +81 -0
  112. data/spec/models/package_vulnerability_policy_evaluation_request_request_spec.rb +35 -0
  113. data/spec/models/package_vulnerability_policy_evaluation_request_spec.rb +81 -0
  114. data/spec/models/python_upstream_request_patch_spec.rb +121 -0
  115. data/spec/models/python_upstream_request_spec.rb +121 -0
  116. data/spec/models/python_upstream_spec.rb +139 -0
  117. data/spec/models/rpm_upstream_request_patch_spec.rb +133 -0
  118. data/spec/models/rpm_upstream_request_spec.rb +133 -0
  119. data/spec/models/rpm_upstream_spec.rb +151 -0
  120. data/spec/models/ruby_upstream_request_patch_spec.rb +121 -0
  121. data/spec/models/ruby_upstream_request_spec.rb +121 -0
  122. data/spec/models/ruby_upstream_spec.rb +139 -0
  123. data/vendor/bundle/ruby/2.6.0/cache/rspec-support-3.12.1.gem +0 -0
  124. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/autotest-fsevent-0.2.20/gem_make.out +1 -1
  125. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.15.5/gem_make.out +2 -2
  126. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-2.6.3/gem_make.out +1 -1
  127. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-2.6.3/mkmf.log +1 -1
  128. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/Makefile +2 -2
  129. data/vendor/bundle/ruby/2.6.0/gems/json-2.6.3/ext/json/Makefile +2 -2
  130. data/vendor/bundle/ruby/2.6.0/gems/json-2.6.3/ext/json/ext/generator/Makefile +2 -2
  131. data/vendor/bundle/ruby/2.6.0/gems/json-2.6.3/ext/json/ext/parser/Makefile +2 -2
  132. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/Changelog.md +9 -1
  133. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/spec/shell_out.rb +3 -0
  134. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/version.rb +1 -1
  135. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support.rb +8 -2
  136. data/vendor/bundle/ruby/2.6.0/specifications/{rspec-support-3.12.0.gemspec → rspec-support-3.12.1.gemspec} +5 -5
  137. metadata +176 -40
  138. data/vendor/bundle/ruby/2.6.0/cache/rspec-support-3.12.0.gem +0 -0
  139. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/LICENSE.md +0 -0
  140. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/README.md +0 -0
  141. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/caller_filter.rb +0 -0
  142. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/comparable_version.rb +0 -0
  143. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/differ.rb +0 -0
  144. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/directory_maker.rb +0 -0
  145. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/encoded_string.rb +0 -0
  146. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/fuzzy_matcher.rb +0 -0
  147. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/hunk_generator.rb +0 -0
  148. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/matcher_definition.rb +0 -0
  149. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/method_signature_verifier.rb +0 -0
  150. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/mutex.rb +0 -0
  151. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/object_formatter.rb +0 -0
  152. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/recursive_const_methods.rb +0 -0
  153. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/reentrant_mutex.rb +0 -0
  154. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/ruby_features.rb +0 -0
  155. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/source/location.rb +0 -0
  156. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/source/node.rb +0 -0
  157. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/source/token.rb +0 -0
  158. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/source.rb +0 -0
  159. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/spec/deprecation_helpers.rb +0 -0
  160. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/spec/diff_helpers.rb +0 -0
  161. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/spec/formatting_support.rb +0 -0
  162. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/spec/in_sub_process.rb +0 -0
  163. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/spec/library_wide_checks.rb +0 -0
  164. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/spec/stderr_splitter.rb +0 -0
  165. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/spec/string_matcher.rb +0 -0
  166. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/spec/with_isolated_directory.rb +0 -0
  167. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/spec/with_isolated_stderr.rb +0 -0
  168. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/spec.rb +0 -0
  169. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/warnings.rb +0 -0
  170. /data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.12.0 → rspec-support-3.12.1}/lib/rspec/support/with_keywords_when_needed.rb +0 -0
@@ -0,0 +1,390 @@
1
+ =begin
2
+ #Cloudsmith API (v1)
3
+
4
+ #The API to the Cloudsmith Service
5
+
6
+ OpenAPI spec version: v1
7
+ Contact: support@cloudsmith.io
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.26
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module CloudsmithApi
16
+ class RpmUpstreamRequest
17
+ # The authentication mode to use when accessing this upstream.
18
+ attr_accessor :auth_mode
19
+
20
+ # Secret to provide with requests to upstream.
21
+ attr_accessor :auth_secret
22
+
23
+ # Username to provide with requests to upstream.
24
+ attr_accessor :auth_username
25
+
26
+ # The distribution version that packages found on this upstream will be associated with.
27
+ attr_accessor :distro_version
28
+
29
+ # The key for extra header #1 to send to upstream.
30
+ attr_accessor :extra_header_1
31
+
32
+ # The key for extra header #2 to send to upstream.
33
+ attr_accessor :extra_header_2
34
+
35
+ # The value for extra header #1 to send to upstream. This is stored as plaintext, and is NOT encrypted.
36
+ attr_accessor :extra_value_1
37
+
38
+ # The value for extra header #2 to send to upstream. This is stored as plaintext, and is NOT encrypted.
39
+ attr_accessor :extra_value_2
40
+
41
+ # When checked, source packages will be available from this upstream.
42
+ attr_accessor :include_sources
43
+
44
+ # Whether or not this upstream is active and ready for requests.
45
+ attr_accessor :is_active
46
+
47
+ # The mode that this upstream should operate in. Upstream sources can be used to proxy resolved packages, as well as operate in a proxy/cache or cache only mode.
48
+ attr_accessor :mode
49
+
50
+ # A descriptive name for this upstream source. A shortened version of this name will be used for tagging cached packages retrieved from this upstream.
51
+ attr_accessor :name
52
+
53
+ # Upstream sources are selected for resolving requests by sequential order (1..n), followed by creation date.
54
+ attr_accessor :priority
55
+
56
+ # The URL for this upstream source. This must be a fully qualified URL including any path elements required to reach the root of the repository.
57
+ attr_accessor :upstream_url
58
+
59
+ # If enabled, SSL certificates are verified when requests are made to this upstream. It's recommended to leave this enabled for all public sources to help mitigate Man-In-The-Middle (MITM) attacks. Please note this only applies to HTTPS upstreams.
60
+ attr_accessor :verify_ssl
61
+
62
+ class EnumAttributeValidator
63
+ attr_reader :datatype
64
+ attr_reader :allowable_values
65
+
66
+ def initialize(datatype, allowable_values)
67
+ @allowable_values = allowable_values.map do |value|
68
+ case datatype.to_s
69
+ when /Integer/i
70
+ value.to_i
71
+ when /Float/i
72
+ value.to_f
73
+ else
74
+ value
75
+ end
76
+ end
77
+ end
78
+
79
+ def valid?(value)
80
+ !value || allowable_values.include?(value)
81
+ end
82
+ end
83
+
84
+ # Attribute mapping from ruby-style variable name to JSON key.
85
+ def self.attribute_map
86
+ {
87
+ :'auth_mode' => :'auth_mode',
88
+ :'auth_secret' => :'auth_secret',
89
+ :'auth_username' => :'auth_username',
90
+ :'distro_version' => :'distro_version',
91
+ :'extra_header_1' => :'extra_header_1',
92
+ :'extra_header_2' => :'extra_header_2',
93
+ :'extra_value_1' => :'extra_value_1',
94
+ :'extra_value_2' => :'extra_value_2',
95
+ :'include_sources' => :'include_sources',
96
+ :'is_active' => :'is_active',
97
+ :'mode' => :'mode',
98
+ :'name' => :'name',
99
+ :'priority' => :'priority',
100
+ :'upstream_url' => :'upstream_url',
101
+ :'verify_ssl' => :'verify_ssl'
102
+ }
103
+ end
104
+
105
+ # Attribute type mapping.
106
+ def self.swagger_types
107
+ {
108
+ :'auth_mode' => :'String',
109
+ :'auth_secret' => :'String',
110
+ :'auth_username' => :'String',
111
+ :'distro_version' => :'String',
112
+ :'extra_header_1' => :'String',
113
+ :'extra_header_2' => :'String',
114
+ :'extra_value_1' => :'String',
115
+ :'extra_value_2' => :'String',
116
+ :'include_sources' => :'BOOLEAN',
117
+ :'is_active' => :'BOOLEAN',
118
+ :'mode' => :'String',
119
+ :'name' => :'String',
120
+ :'priority' => :'Integer',
121
+ :'upstream_url' => :'String',
122
+ :'verify_ssl' => :'BOOLEAN'
123
+ }
124
+ end
125
+
126
+ # Initializes the object
127
+ # @param [Hash] attributes Model attributes in the form of hash
128
+ def initialize(attributes = {})
129
+ return unless attributes.is_a?(Hash)
130
+
131
+ # convert string to symbol for hash key
132
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
133
+
134
+ if attributes.has_key?(:'auth_mode')
135
+ self.auth_mode = attributes[:'auth_mode']
136
+ else
137
+ self.auth_mode = 'None'
138
+ end
139
+
140
+ if attributes.has_key?(:'auth_secret')
141
+ self.auth_secret = attributes[:'auth_secret']
142
+ end
143
+
144
+ if attributes.has_key?(:'auth_username')
145
+ self.auth_username = attributes[:'auth_username']
146
+ end
147
+
148
+ if attributes.has_key?(:'distro_version')
149
+ self.distro_version = attributes[:'distro_version']
150
+ end
151
+
152
+ if attributes.has_key?(:'extra_header_1')
153
+ self.extra_header_1 = attributes[:'extra_header_1']
154
+ end
155
+
156
+ if attributes.has_key?(:'extra_header_2')
157
+ self.extra_header_2 = attributes[:'extra_header_2']
158
+ end
159
+
160
+ if attributes.has_key?(:'extra_value_1')
161
+ self.extra_value_1 = attributes[:'extra_value_1']
162
+ end
163
+
164
+ if attributes.has_key?(:'extra_value_2')
165
+ self.extra_value_2 = attributes[:'extra_value_2']
166
+ end
167
+
168
+ if attributes.has_key?(:'include_sources')
169
+ self.include_sources = attributes[:'include_sources']
170
+ end
171
+
172
+ if attributes.has_key?(:'is_active')
173
+ self.is_active = attributes[:'is_active']
174
+ end
175
+
176
+ if attributes.has_key?(:'mode')
177
+ self.mode = attributes[:'mode']
178
+ else
179
+ self.mode = 'Proxy Only'
180
+ end
181
+
182
+ if attributes.has_key?(:'name')
183
+ self.name = attributes[:'name']
184
+ end
185
+
186
+ if attributes.has_key?(:'priority')
187
+ self.priority = attributes[:'priority']
188
+ end
189
+
190
+ if attributes.has_key?(:'upstream_url')
191
+ self.upstream_url = attributes[:'upstream_url']
192
+ end
193
+
194
+ if attributes.has_key?(:'verify_ssl')
195
+ self.verify_ssl = attributes[:'verify_ssl']
196
+ end
197
+ end
198
+
199
+ # Show invalid properties with the reasons. Usually used together with valid?
200
+ # @return Array for valid properties with the reasons
201
+ def list_invalid_properties
202
+ invalid_properties = Array.new
203
+ if @distro_version.nil?
204
+ invalid_properties.push('invalid value for "distro_version", distro_version cannot be nil.')
205
+ end
206
+
207
+ if @name.nil?
208
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
209
+ end
210
+
211
+ if @upstream_url.nil?
212
+ invalid_properties.push('invalid value for "upstream_url", upstream_url cannot be nil.')
213
+ end
214
+
215
+ invalid_properties
216
+ end
217
+
218
+ # Check to see if the all the properties in the model are valid
219
+ # @return true if the model is valid
220
+ def valid?
221
+ auth_mode_validator = EnumAttributeValidator.new('String', ['None', 'Username and Password'])
222
+ return false unless auth_mode_validator.valid?(@auth_mode)
223
+ return false if @distro_version.nil?
224
+ mode_validator = EnumAttributeValidator.new('String', ['Proxy Only', 'Cache and Proxy'])
225
+ return false unless mode_validator.valid?(@mode)
226
+ return false if @name.nil?
227
+ return false if @upstream_url.nil?
228
+ true
229
+ end
230
+
231
+ # Custom attribute writer method checking allowed values (enum).
232
+ # @param [Object] auth_mode Object to be assigned
233
+ def auth_mode=(auth_mode)
234
+ validator = EnumAttributeValidator.new('String', ['None', 'Username and Password'])
235
+ unless validator.valid?(auth_mode)
236
+ fail ArgumentError, 'invalid value for "auth_mode", must be one of #{validator.allowable_values}.'
237
+ end
238
+ @auth_mode = auth_mode
239
+ end
240
+
241
+ # Custom attribute writer method checking allowed values (enum).
242
+ # @param [Object] mode Object to be assigned
243
+ def mode=(mode)
244
+ validator = EnumAttributeValidator.new('String', ['Proxy Only', 'Cache and Proxy'])
245
+ unless validator.valid?(mode)
246
+ fail ArgumentError, 'invalid value for "mode", must be one of #{validator.allowable_values}.'
247
+ end
248
+ @mode = mode
249
+ end
250
+
251
+ # Checks equality by comparing each attribute.
252
+ # @param [Object] Object to be compared
253
+ def ==(o)
254
+ return true if self.equal?(o)
255
+ self.class == o.class &&
256
+ auth_mode == o.auth_mode &&
257
+ auth_secret == o.auth_secret &&
258
+ auth_username == o.auth_username &&
259
+ distro_version == o.distro_version &&
260
+ extra_header_1 == o.extra_header_1 &&
261
+ extra_header_2 == o.extra_header_2 &&
262
+ extra_value_1 == o.extra_value_1 &&
263
+ extra_value_2 == o.extra_value_2 &&
264
+ include_sources == o.include_sources &&
265
+ is_active == o.is_active &&
266
+ mode == o.mode &&
267
+ name == o.name &&
268
+ priority == o.priority &&
269
+ upstream_url == o.upstream_url &&
270
+ verify_ssl == o.verify_ssl
271
+ end
272
+
273
+ # @see the `==` method
274
+ # @param [Object] Object to be compared
275
+ def eql?(o)
276
+ self == o
277
+ end
278
+
279
+ # Calculates hash code according to all attributes.
280
+ # @return [Fixnum] Hash code
281
+ def hash
282
+ [auth_mode, auth_secret, auth_username, distro_version, extra_header_1, extra_header_2, extra_value_1, extra_value_2, include_sources, is_active, mode, name, priority, upstream_url, verify_ssl].hash
283
+ end
284
+
285
+ # Builds the object from hash
286
+ # @param [Hash] attributes Model attributes in the form of hash
287
+ # @return [Object] Returns the model itself
288
+ def build_from_hash(attributes)
289
+ return nil unless attributes.is_a?(Hash)
290
+ self.class.swagger_types.each_pair do |key, type|
291
+ if type =~ /\AArray<(.*)>/i
292
+ # check to ensure the input is an array given that the attribute
293
+ # is documented as an array but the input is not
294
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
295
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
296
+ end
297
+ elsif !attributes[self.class.attribute_map[key]].nil?
298
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
299
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
300
+ end
301
+
302
+ self
303
+ end
304
+
305
+ # Deserializes the data based on type
306
+ # @param string type Data type
307
+ # @param string value Value to be deserialized
308
+ # @return [Object] Deserialized data
309
+ def _deserialize(type, value)
310
+ case type.to_sym
311
+ when :DateTime
312
+ DateTime.parse(value)
313
+ when :Date
314
+ Date.parse(value)
315
+ when :String
316
+ value.to_s
317
+ when :Integer
318
+ value.to_i
319
+ when :Float
320
+ value.to_f
321
+ when :BOOLEAN
322
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
323
+ true
324
+ else
325
+ false
326
+ end
327
+ when :Object
328
+ # generic object (usually a Hash), return directly
329
+ value
330
+ when /\AArray<(?<inner_type>.+)>\z/
331
+ inner_type = Regexp.last_match[:inner_type]
332
+ value.map { |v| _deserialize(inner_type, v) }
333
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
334
+ k_type = Regexp.last_match[:k_type]
335
+ v_type = Regexp.last_match[:v_type]
336
+ {}.tap do |hash|
337
+ value.each do |k, v|
338
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
339
+ end
340
+ end
341
+ else # model
342
+ temp_model = CloudsmithApi.const_get(type).new
343
+ temp_model.build_from_hash(value)
344
+ end
345
+ end
346
+
347
+ # Returns the string representation of the object
348
+ # @return [String] String presentation of the object
349
+ def to_s
350
+ to_hash.to_s
351
+ end
352
+
353
+ # to_body is an alias to to_hash (backward compatibility)
354
+ # @return [Hash] Returns the object in the form of hash
355
+ def to_body
356
+ to_hash
357
+ end
358
+
359
+ # Returns the object in the form of hash
360
+ # @return [Hash] Returns the object in the form of hash
361
+ def to_hash
362
+ hash = {}
363
+ self.class.attribute_map.each_pair do |attr, param|
364
+ value = self.send(attr)
365
+ next if value.nil?
366
+ hash[param] = _to_hash(value)
367
+ end
368
+ hash
369
+ end
370
+
371
+ # Outputs non-array value in the form of hash
372
+ # For object, use to_hash. Otherwise, just return the value
373
+ # @param [Object] value Any valid value
374
+ # @return [Hash] Returns the value in the form of hash
375
+ def _to_hash(value)
376
+ if value.is_a?(Array)
377
+ value.compact.map { |v| _to_hash(v) }
378
+ elsif value.is_a?(Hash)
379
+ {}.tap do |hash|
380
+ value.each { |k, v| hash[k] = _to_hash(v) }
381
+ end
382
+ elsif value.respond_to? :to_hash
383
+ value.to_hash
384
+ else
385
+ value
386
+ end
387
+ end
388
+
389
+ end
390
+ end