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,355 @@
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 MavenUpstreamRequestPatch
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 key for extra header #1 to send to upstream.
27
+ attr_accessor :extra_header_1
28
+
29
+ # The key for extra header #2 to send to upstream.
30
+ attr_accessor :extra_header_2
31
+
32
+ # The value for extra header #1 to send to upstream. This is stored as plaintext, and is NOT encrypted.
33
+ attr_accessor :extra_value_1
34
+
35
+ # The value for extra header #2 to send to upstream. This is stored as plaintext, and is NOT encrypted.
36
+ attr_accessor :extra_value_2
37
+
38
+ # Whether or not this upstream is active and ready for requests.
39
+ attr_accessor :is_active
40
+
41
+ # 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.
42
+ attr_accessor :mode
43
+
44
+ # A descriptive name for this upstream source. A shortened version of this name will be used for tagging cached packages retrieved from this upstream.
45
+ attr_accessor :name
46
+
47
+ # Upstream sources are selected for resolving requests by sequential order (1..n), followed by creation date.
48
+ attr_accessor :priority
49
+
50
+ # 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.
51
+ attr_accessor :upstream_url
52
+
53
+ # 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.
54
+ attr_accessor :verify_ssl
55
+
56
+ class EnumAttributeValidator
57
+ attr_reader :datatype
58
+ attr_reader :allowable_values
59
+
60
+ def initialize(datatype, allowable_values)
61
+ @allowable_values = allowable_values.map do |value|
62
+ case datatype.to_s
63
+ when /Integer/i
64
+ value.to_i
65
+ when /Float/i
66
+ value.to_f
67
+ else
68
+ value
69
+ end
70
+ end
71
+ end
72
+
73
+ def valid?(value)
74
+ !value || allowable_values.include?(value)
75
+ end
76
+ end
77
+
78
+ # Attribute mapping from ruby-style variable name to JSON key.
79
+ def self.attribute_map
80
+ {
81
+ :'auth_mode' => :'auth_mode',
82
+ :'auth_secret' => :'auth_secret',
83
+ :'auth_username' => :'auth_username',
84
+ :'extra_header_1' => :'extra_header_1',
85
+ :'extra_header_2' => :'extra_header_2',
86
+ :'extra_value_1' => :'extra_value_1',
87
+ :'extra_value_2' => :'extra_value_2',
88
+ :'is_active' => :'is_active',
89
+ :'mode' => :'mode',
90
+ :'name' => :'name',
91
+ :'priority' => :'priority',
92
+ :'upstream_url' => :'upstream_url',
93
+ :'verify_ssl' => :'verify_ssl'
94
+ }
95
+ end
96
+
97
+ # Attribute type mapping.
98
+ def self.swagger_types
99
+ {
100
+ :'auth_mode' => :'String',
101
+ :'auth_secret' => :'String',
102
+ :'auth_username' => :'String',
103
+ :'extra_header_1' => :'String',
104
+ :'extra_header_2' => :'String',
105
+ :'extra_value_1' => :'String',
106
+ :'extra_value_2' => :'String',
107
+ :'is_active' => :'BOOLEAN',
108
+ :'mode' => :'String',
109
+ :'name' => :'String',
110
+ :'priority' => :'Integer',
111
+ :'upstream_url' => :'String',
112
+ :'verify_ssl' => :'BOOLEAN'
113
+ }
114
+ end
115
+
116
+ # Initializes the object
117
+ # @param [Hash] attributes Model attributes in the form of hash
118
+ def initialize(attributes = {})
119
+ return unless attributes.is_a?(Hash)
120
+
121
+ # convert string to symbol for hash key
122
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
123
+
124
+ if attributes.has_key?(:'auth_mode')
125
+ self.auth_mode = attributes[:'auth_mode']
126
+ else
127
+ self.auth_mode = 'None'
128
+ end
129
+
130
+ if attributes.has_key?(:'auth_secret')
131
+ self.auth_secret = attributes[:'auth_secret']
132
+ end
133
+
134
+ if attributes.has_key?(:'auth_username')
135
+ self.auth_username = attributes[:'auth_username']
136
+ end
137
+
138
+ if attributes.has_key?(:'extra_header_1')
139
+ self.extra_header_1 = attributes[:'extra_header_1']
140
+ end
141
+
142
+ if attributes.has_key?(:'extra_header_2')
143
+ self.extra_header_2 = attributes[:'extra_header_2']
144
+ end
145
+
146
+ if attributes.has_key?(:'extra_value_1')
147
+ self.extra_value_1 = attributes[:'extra_value_1']
148
+ end
149
+
150
+ if attributes.has_key?(:'extra_value_2')
151
+ self.extra_value_2 = attributes[:'extra_value_2']
152
+ end
153
+
154
+ if attributes.has_key?(:'is_active')
155
+ self.is_active = attributes[:'is_active']
156
+ end
157
+
158
+ if attributes.has_key?(:'mode')
159
+ self.mode = attributes[:'mode']
160
+ else
161
+ self.mode = 'Proxy Only'
162
+ end
163
+
164
+ if attributes.has_key?(:'name')
165
+ self.name = attributes[:'name']
166
+ end
167
+
168
+ if attributes.has_key?(:'priority')
169
+ self.priority = attributes[:'priority']
170
+ end
171
+
172
+ if attributes.has_key?(:'upstream_url')
173
+ self.upstream_url = attributes[:'upstream_url']
174
+ end
175
+
176
+ if attributes.has_key?(:'verify_ssl')
177
+ self.verify_ssl = attributes[:'verify_ssl']
178
+ end
179
+ end
180
+
181
+ # Show invalid properties with the reasons. Usually used together with valid?
182
+ # @return Array for valid properties with the reasons
183
+ def list_invalid_properties
184
+ invalid_properties = Array.new
185
+ invalid_properties
186
+ end
187
+
188
+ # Check to see if the all the properties in the model are valid
189
+ # @return true if the model is valid
190
+ def valid?
191
+ auth_mode_validator = EnumAttributeValidator.new('String', ['None', 'Username and Password'])
192
+ return false unless auth_mode_validator.valid?(@auth_mode)
193
+ mode_validator = EnumAttributeValidator.new('String', ['Proxy Only', 'Cache and Proxy', 'Cache Only'])
194
+ return false unless mode_validator.valid?(@mode)
195
+ true
196
+ end
197
+
198
+ # Custom attribute writer method checking allowed values (enum).
199
+ # @param [Object] auth_mode Object to be assigned
200
+ def auth_mode=(auth_mode)
201
+ validator = EnumAttributeValidator.new('String', ['None', 'Username and Password'])
202
+ unless validator.valid?(auth_mode)
203
+ fail ArgumentError, 'invalid value for "auth_mode", must be one of #{validator.allowable_values}.'
204
+ end
205
+ @auth_mode = auth_mode
206
+ end
207
+
208
+ # Custom attribute writer method checking allowed values (enum).
209
+ # @param [Object] mode Object to be assigned
210
+ def mode=(mode)
211
+ validator = EnumAttributeValidator.new('String', ['Proxy Only', 'Cache and Proxy', 'Cache Only'])
212
+ unless validator.valid?(mode)
213
+ fail ArgumentError, 'invalid value for "mode", must be one of #{validator.allowable_values}.'
214
+ end
215
+ @mode = mode
216
+ end
217
+
218
+ # Checks equality by comparing each attribute.
219
+ # @param [Object] Object to be compared
220
+ def ==(o)
221
+ return true if self.equal?(o)
222
+ self.class == o.class &&
223
+ auth_mode == o.auth_mode &&
224
+ auth_secret == o.auth_secret &&
225
+ auth_username == o.auth_username &&
226
+ extra_header_1 == o.extra_header_1 &&
227
+ extra_header_2 == o.extra_header_2 &&
228
+ extra_value_1 == o.extra_value_1 &&
229
+ extra_value_2 == o.extra_value_2 &&
230
+ is_active == o.is_active &&
231
+ mode == o.mode &&
232
+ name == o.name &&
233
+ priority == o.priority &&
234
+ upstream_url == o.upstream_url &&
235
+ verify_ssl == o.verify_ssl
236
+ end
237
+
238
+ # @see the `==` method
239
+ # @param [Object] Object to be compared
240
+ def eql?(o)
241
+ self == o
242
+ end
243
+
244
+ # Calculates hash code according to all attributes.
245
+ # @return [Fixnum] Hash code
246
+ def hash
247
+ [auth_mode, auth_secret, auth_username, extra_header_1, extra_header_2, extra_value_1, extra_value_2, is_active, mode, name, priority, upstream_url, verify_ssl].hash
248
+ end
249
+
250
+ # Builds the object from hash
251
+ # @param [Hash] attributes Model attributes in the form of hash
252
+ # @return [Object] Returns the model itself
253
+ def build_from_hash(attributes)
254
+ return nil unless attributes.is_a?(Hash)
255
+ self.class.swagger_types.each_pair do |key, type|
256
+ if type =~ /\AArray<(.*)>/i
257
+ # check to ensure the input is an array given that the attribute
258
+ # is documented as an array but the input is not
259
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
260
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
261
+ end
262
+ elsif !attributes[self.class.attribute_map[key]].nil?
263
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
264
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
265
+ end
266
+
267
+ self
268
+ end
269
+
270
+ # Deserializes the data based on type
271
+ # @param string type Data type
272
+ # @param string value Value to be deserialized
273
+ # @return [Object] Deserialized data
274
+ def _deserialize(type, value)
275
+ case type.to_sym
276
+ when :DateTime
277
+ DateTime.parse(value)
278
+ when :Date
279
+ Date.parse(value)
280
+ when :String
281
+ value.to_s
282
+ when :Integer
283
+ value.to_i
284
+ when :Float
285
+ value.to_f
286
+ when :BOOLEAN
287
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
288
+ true
289
+ else
290
+ false
291
+ end
292
+ when :Object
293
+ # generic object (usually a Hash), return directly
294
+ value
295
+ when /\AArray<(?<inner_type>.+)>\z/
296
+ inner_type = Regexp.last_match[:inner_type]
297
+ value.map { |v| _deserialize(inner_type, v) }
298
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
299
+ k_type = Regexp.last_match[:k_type]
300
+ v_type = Regexp.last_match[:v_type]
301
+ {}.tap do |hash|
302
+ value.each do |k, v|
303
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
304
+ end
305
+ end
306
+ else # model
307
+ temp_model = CloudsmithApi.const_get(type).new
308
+ temp_model.build_from_hash(value)
309
+ end
310
+ end
311
+
312
+ # Returns the string representation of the object
313
+ # @return [String] String presentation of the object
314
+ def to_s
315
+ to_hash.to_s
316
+ end
317
+
318
+ # to_body is an alias to to_hash (backward compatibility)
319
+ # @return [Hash] Returns the object in the form of hash
320
+ def to_body
321
+ to_hash
322
+ end
323
+
324
+ # Returns the object in the form of hash
325
+ # @return [Hash] Returns the object in the form of hash
326
+ def to_hash
327
+ hash = {}
328
+ self.class.attribute_map.each_pair do |attr, param|
329
+ value = self.send(attr)
330
+ next if value.nil?
331
+ hash[param] = _to_hash(value)
332
+ end
333
+ hash
334
+ end
335
+
336
+ # Outputs non-array value in the form of hash
337
+ # For object, use to_hash. Otherwise, just return the value
338
+ # @param [Object] value Any valid value
339
+ # @return [Hash] Returns the value in the form of hash
340
+ def _to_hash(value)
341
+ if value.is_a?(Array)
342
+ value.compact.map { |v| _to_hash(v) }
343
+ elsif value.is_a?(Hash)
344
+ {}.tap do |hash|
345
+ value.each { |k, v| hash[k] = _to_hash(v) }
346
+ end
347
+ elsif value.respond_to? :to_hash
348
+ value.to_hash
349
+ else
350
+ value
351
+ end
352
+ end
353
+
354
+ end
355
+ end