cloudsmith-api 1.61.3 → 1.120.3

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 (193) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/README.md +51 -30
  4. data/build.json +1 -1
  5. data/docs/AuditLogApi.md +137 -0
  6. data/docs/FilesApi.md +13 -6
  7. data/docs/NamespaceAuditLog.md +23 -0
  8. data/docs/OrganizationGroupSync.md +12 -0
  9. data/docs/OrganizationInvite.md +16 -0
  10. data/docs/OrganizationTeam.md +12 -0
  11. data/docs/OrgsApi.md +713 -0
  12. data/docs/OrgsInvitesCreate.md +12 -0
  13. data/docs/OrgsInvitesExtend.md +11 -0
  14. data/docs/OrgsSamlgroupsyncCreate.md +12 -0
  15. data/docs/OrgsTeamsCreate.md +11 -0
  16. data/docs/OrgsTeamsPartialUpdate.md +11 -0
  17. data/docs/ReposApi.md +586 -0
  18. data/docs/ReposCreate.md +29 -1
  19. data/docs/ReposGpgCreate.md +9 -0
  20. data/docs/ReposPartialUpdate.md +28 -0
  21. data/docs/ReposRsaCreate.md +9 -0
  22. data/docs/Repository.md +28 -0
  23. data/docs/RepositoryAuditLog.md +20 -0
  24. data/docs/RepositoryCreate.md +29 -1
  25. data/docs/RepositoryGpgKey.md +14 -0
  26. data/docs/RepositoryPrivilegeList.md +8 -0
  27. data/docs/RepositoryRsaKey.md +13 -0
  28. data/lib/cloudsmith-api/api/audit_log_api.rb +147 -0
  29. data/lib/cloudsmith-api/api/files_api.rb +17 -7
  30. data/lib/cloudsmith-api/api/orgs_api.rb +671 -0
  31. data/lib/cloudsmith-api/api/repos_api.rb +566 -0
  32. data/lib/cloudsmith-api/models/alpine_package_upload.rb +34 -0
  33. data/lib/cloudsmith-api/models/conan_package_upload.rb +34 -0
  34. data/lib/cloudsmith-api/models/entitlements_create.rb +46 -0
  35. data/lib/cloudsmith-api/models/entitlements_partial_update.rb +46 -0
  36. data/lib/cloudsmith-api/models/entitlements_refresh.rb +46 -0
  37. data/lib/cloudsmith-api/models/files_abort.rb +34 -0
  38. data/lib/cloudsmith-api/models/files_complete.rb +34 -0
  39. data/lib/cloudsmith-api/models/files_create.rb +34 -0
  40. data/lib/cloudsmith-api/models/files_validate.rb +34 -0
  41. data/lib/cloudsmith-api/models/maven_package_upload.rb +34 -0
  42. data/lib/cloudsmith-api/models/namespace_audit_log.rb +395 -0
  43. data/lib/cloudsmith-api/models/organization_group_sync.rb +240 -0
  44. data/lib/cloudsmith-api/models/organization_invite.rb +299 -0
  45. data/lib/cloudsmith-api/models/organization_membership.rb +46 -0
  46. data/lib/cloudsmith-api/models/organization_team.rb +264 -0
  47. data/lib/cloudsmith-api/models/orgs_invites_create.rb +259 -0
  48. data/lib/cloudsmith-api/models/orgs_invites_extend.rb +249 -0
  49. data/lib/cloudsmith-api/models/orgs_samlgroupsync_create.rb +245 -0
  50. data/lib/cloudsmith-api/models/orgs_teams_create.rb +254 -0
  51. data/lib/cloudsmith-api/models/orgs_teams_partial_update.rb +249 -0
  52. data/lib/cloudsmith-api/models/package.rb +34 -0
  53. data/lib/cloudsmith-api/models/package_copy.rb +34 -0
  54. data/lib/cloudsmith-api/models/package_move.rb +34 -0
  55. data/lib/cloudsmith-api/models/packages_tag.rb +34 -0
  56. data/lib/cloudsmith-api/models/raw_package_upload.rb +34 -0
  57. data/lib/cloudsmith-api/models/repos_create.rb +403 -5
  58. data/lib/cloudsmith-api/models/repos_gpg_create.rb +200 -0
  59. data/lib/cloudsmith-api/models/repos_partial_update.rb +414 -4
  60. data/lib/cloudsmith-api/models/repos_rsa_create.rb +200 -0
  61. data/lib/cloudsmith-api/models/repository.rb +414 -4
  62. data/lib/cloudsmith-api/models/repository_audit_log.rb +355 -0
  63. data/lib/cloudsmith-api/models/repository_create.rb +403 -5
  64. data/lib/cloudsmith-api/models/repository_gpg_key.rb +250 -0
  65. data/lib/cloudsmith-api/models/repository_privilege_list.rb +185 -0
  66. data/lib/cloudsmith-api/models/repository_rsa_key.rb +235 -0
  67. data/lib/cloudsmith-api/models/repository_token.rb +46 -0
  68. data/lib/cloudsmith-api/models/repository_token_refresh.rb +46 -0
  69. data/lib/cloudsmith-api/models/vagrant_package_upload.rb +34 -0
  70. data/lib/cloudsmith-api/models/vulnerability_scan_results.rb +34 -0
  71. data/lib/cloudsmith-api/models/vulnerability_scan_results_list.rb +34 -0
  72. data/lib/cloudsmith-api/version.rb +1 -1
  73. data/lib/cloudsmith-api.rb +16 -0
  74. data/spec/api/audit_log_api_spec.rb +66 -0
  75. data/spec/api/files_api_spec.rb +4 -2
  76. data/spec/api/orgs_api_spec.rb +161 -0
  77. data/spec/api/repos_api_spec.rb +132 -0
  78. data/spec/models/alpine_package_upload_spec.rb +4 -0
  79. data/spec/models/conan_package_upload_spec.rb +4 -0
  80. data/spec/models/entitlements_create_spec.rb +8 -0
  81. data/spec/models/entitlements_partial_update_spec.rb +8 -0
  82. data/spec/models/entitlements_refresh_spec.rb +8 -0
  83. data/spec/models/files_abort_spec.rb +4 -0
  84. data/spec/models/files_complete_spec.rb +4 -0
  85. data/spec/models/files_create_spec.rb +4 -0
  86. data/spec/models/files_validate_spec.rb +4 -0
  87. data/spec/models/maven_package_upload_spec.rb +4 -0
  88. data/spec/models/namespace_audit_log_spec.rb +131 -0
  89. data/spec/models/organization_group_sync_spec.rb +65 -0
  90. data/spec/models/organization_invite_spec.rb +93 -0
  91. data/spec/models/organization_membership_spec.rb +8 -0
  92. data/spec/models/organization_team_spec.rb +69 -0
  93. data/spec/models/orgs_invites_create_spec.rb +69 -0
  94. data/spec/models/orgs_invites_extend_spec.rb +63 -0
  95. data/spec/models/orgs_samlgroupsync_create_spec.rb +65 -0
  96. data/spec/models/orgs_teams_create_spec.rb +63 -0
  97. data/spec/models/orgs_teams_partial_update_spec.rb +63 -0
  98. data/spec/models/package_copy_spec.rb +4 -0
  99. data/spec/models/package_move_spec.rb +4 -0
  100. data/spec/models/package_spec.rb +4 -0
  101. data/spec/models/packages_tag_spec.rb +4 -0
  102. data/spec/models/raw_package_upload_spec.rb +4 -0
  103. data/spec/models/repos_create_spec.rb +200 -0
  104. data/spec/models/repos_gpg_create_spec.rb +47 -0
  105. data/spec/models/repos_partial_update_spec.rb +204 -0
  106. data/spec/models/repos_rsa_create_spec.rb +47 -0
  107. data/spec/models/repository_audit_log_spec.rb +113 -0
  108. data/spec/models/repository_create_spec.rb +200 -0
  109. data/spec/models/repository_gpg_key_spec.rb +77 -0
  110. data/spec/models/repository_privilege_list_spec.rb +41 -0
  111. data/spec/models/repository_rsa_key_spec.rb +71 -0
  112. data/spec/models/repository_spec.rb +204 -0
  113. data/spec/models/repository_token_refresh_spec.rb +8 -0
  114. data/spec/models/repository_token_spec.rb +8 -0
  115. data/spec/models/vagrant_package_upload_spec.rb +4 -0
  116. data/spec/models/vulnerability_scan_results_list_spec.rb +4 -0
  117. data/spec/models/vulnerability_scan_results_spec.rb +4 -0
  118. data/vendor/bundle/ruby/2.6.0/bin/htmldiff +3 -3
  119. data/vendor/bundle/ruby/2.6.0/bin/ldiff +3 -3
  120. data/vendor/bundle/ruby/2.6.0/bin/multigem +3 -3
  121. data/vendor/bundle/ruby/2.6.0/bin/multiruby +3 -3
  122. data/vendor/bundle/ruby/2.6.0/bin/rake +2 -0
  123. data/vendor/bundle/ruby/2.6.0/bin/rspec +2 -0
  124. data/vendor/bundle/ruby/2.6.0/bin/unit_diff +3 -3
  125. data/vendor/bundle/ruby/2.6.0/bin/zentest +3 -3
  126. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/autotest-fsevent-0.2.19/gem_make.out +4 -4
  127. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.15.5/ffi_c.so +0 -0
  128. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.15.5/gem_make.out +5 -5
  129. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.15.5/mkmf.log +9 -9
  130. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-2.6.2/gem_make.out +4 -4
  131. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-2.6.2/json/ext/generator.so +0 -0
  132. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-2.6.2/json/ext/parser.so +0 -0
  133. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-2.6.2/mkmf.log +7 -7
  134. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/AbstractMemory.o +0 -0
  135. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/ArrayType.o +0 -0
  136. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/Buffer.o +0 -0
  137. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/Call.o +0 -0
  138. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/ClosurePool.o +0 -0
  139. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/DynamicLibrary.o +0 -0
  140. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/Function.o +0 -0
  141. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/FunctionInfo.o +0 -0
  142. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/LastError.o +0 -0
  143. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/LongDouble.o +0 -0
  144. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/Makefile +3 -3
  145. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/MappedType.o +0 -0
  146. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/MemoryPointer.o +0 -0
  147. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/MethodHandle.o +0 -0
  148. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/Platform.o +0 -0
  149. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/Pointer.o +0 -0
  150. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/Struct.o +0 -0
  151. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/StructByValue.o +0 -0
  152. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/StructLayout.o +0 -0
  153. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/Thread.o +0 -0
  154. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/Type.o +0 -0
  155. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/Types.o +0 -0
  156. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/Variadic.o +0 -0
  157. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/ffi.o +0 -0
  158. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/ext/ffi_c/ffi_c.so +0 -0
  159. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.15.5/lib/ffi_c.so +0 -0
  160. data/vendor/bundle/ruby/2.6.0/gems/json-2.6.2/ext/json/Makefile +3 -3
  161. data/vendor/bundle/ruby/2.6.0/gems/json-2.6.2/ext/json/ext/generator/Makefile +3 -3
  162. data/vendor/bundle/ruby/2.6.0/gems/json-2.6.2/ext/json/ext/generator/generator.o +0 -0
  163. data/vendor/bundle/ruby/2.6.0/gems/json-2.6.2/ext/json/ext/generator/generator.so +0 -0
  164. data/vendor/bundle/ruby/2.6.0/gems/json-2.6.2/ext/json/ext/parser/Makefile +3 -3
  165. data/vendor/bundle/ruby/2.6.0/gems/json-2.6.2/ext/json/ext/parser/parser.o +0 -0
  166. data/vendor/bundle/ruby/2.6.0/gems/json-2.6.2/ext/json/ext/parser/parser.so +0 -0
  167. data/vendor/bundle/ruby/2.6.0/gems/json-2.6.2/lib/json/ext/generator.so +0 -0
  168. data/vendor/bundle/ruby/2.6.0/gems/json-2.6.2/lib/json/ext/parser.so +0 -0
  169. data/vendor/bundle/ruby/2.6.0/specifications/ZenTest-4.12.1.gemspec +6 -9
  170. data/vendor/bundle/ruby/2.6.0/specifications/addressable-2.8.0.gemspec +6 -9
  171. data/vendor/bundle/ruby/2.6.0/specifications/autotest-4.4.6.gemspec +8 -13
  172. data/vendor/bundle/ruby/2.6.0/specifications/autotest-fsevent-0.2.19.gemspec +8 -13
  173. data/vendor/bundle/ruby/2.6.0/specifications/autotest-growl-0.2.16.gemspec +7 -11
  174. data/vendor/bundle/ruby/2.6.0/specifications/autotest-rails-pure-4.1.2.gemspec +2 -2
  175. data/vendor/bundle/ruby/2.6.0/specifications/crack-0.4.5.gemspec +5 -7
  176. data/vendor/bundle/ruby/2.6.0/specifications/diff-lcs-1.5.0.gemspec +12 -21
  177. data/vendor/bundle/ruby/2.6.0/specifications/ethon-0.15.0.gemspec +5 -7
  178. data/vendor/bundle/ruby/2.6.0/specifications/ffi-1.15.5.gemspec +8 -13
  179. data/vendor/bundle/ruby/2.6.0/specifications/hashdiff-1.0.1.gemspec +9 -15
  180. data/vendor/bundle/ruby/2.6.0/specifications/json-2.6.2.gemspec +0 -0
  181. data/vendor/bundle/ruby/2.6.0/specifications/public_suffix-4.0.7.gemspec +2 -2
  182. data/vendor/bundle/ruby/2.6.0/specifications/rake-12.3.3.gemspec +9 -15
  183. data/vendor/bundle/ruby/2.6.0/specifications/rexml-3.2.5.gemspec +7 -11
  184. data/vendor/bundle/ruby/2.6.0/specifications/rspec-3.11.0.gemspec +7 -11
  185. data/vendor/bundle/ruby/2.6.0/specifications/rspec-core-3.11.0.gemspec +13 -23
  186. data/vendor/bundle/ruby/2.6.0/specifications/rspec-expectations-3.11.0.gemspec +10 -17
  187. data/vendor/bundle/ruby/2.6.0/specifications/rspec-mocks-3.11.1.gemspec +10 -17
  188. data/vendor/bundle/ruby/2.6.0/specifications/rspec-support-3.11.0.gemspec +6 -9
  189. data/vendor/bundle/ruby/2.6.0/specifications/sys-uname-1.2.2.gemspec +7 -11
  190. data/vendor/bundle/ruby/2.6.0/specifications/typhoeus-1.4.0.gemspec +5 -7
  191. data/vendor/bundle/ruby/2.6.0/specifications/vcr-3.0.3.gemspec +26 -49
  192. data/vendor/bundle/ruby/2.6.0/specifications/webmock-1.24.6.gemspec +19 -35
  193. metadata +85 -21
@@ -0,0 +1,299 @@
1
+ =begin
2
+ #Cloudsmith API
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 OrganizationInvite
17
+ #
18
+ attr_accessor :email
19
+
20
+ #
21
+ attr_accessor :expires_at
22
+
23
+ #
24
+ attr_accessor :inviter
25
+
26
+ #
27
+ attr_accessor :inviter_url
28
+
29
+ #
30
+ attr_accessor :org
31
+
32
+ #
33
+ attr_accessor :role
34
+
35
+ #
36
+ attr_accessor :slug_perm
37
+
38
+ #
39
+ attr_accessor :user
40
+
41
+ #
42
+ attr_accessor :user_url
43
+
44
+ class EnumAttributeValidator
45
+ attr_reader :datatype
46
+ attr_reader :allowable_values
47
+
48
+ def initialize(datatype, allowable_values)
49
+ @allowable_values = allowable_values.map do |value|
50
+ case datatype.to_s
51
+ when /Integer/i
52
+ value.to_i
53
+ when /Float/i
54
+ value.to_f
55
+ else
56
+ value
57
+ end
58
+ end
59
+ end
60
+
61
+ def valid?(value)
62
+ !value || allowable_values.include?(value)
63
+ end
64
+ end
65
+
66
+ # Attribute mapping from ruby-style variable name to JSON key.
67
+ def self.attribute_map
68
+ {
69
+ :'email' => :'email',
70
+ :'expires_at' => :'expires_at',
71
+ :'inviter' => :'inviter',
72
+ :'inviter_url' => :'inviter_url',
73
+ :'org' => :'org',
74
+ :'role' => :'role',
75
+ :'slug_perm' => :'slug_perm',
76
+ :'user' => :'user',
77
+ :'user_url' => :'user_url'
78
+ }
79
+ end
80
+
81
+ # Attribute type mapping.
82
+ def self.swagger_types
83
+ {
84
+ :'email' => :'String',
85
+ :'expires_at' => :'String',
86
+ :'inviter' => :'String',
87
+ :'inviter_url' => :'String',
88
+ :'org' => :'String',
89
+ :'role' => :'String',
90
+ :'slug_perm' => :'String',
91
+ :'user' => :'String',
92
+ :'user_url' => :'String'
93
+ }
94
+ end
95
+
96
+ # Initializes the object
97
+ # @param [Hash] attributes Model attributes in the form of hash
98
+ def initialize(attributes = {})
99
+ return unless attributes.is_a?(Hash)
100
+
101
+ # convert string to symbol for hash key
102
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
103
+
104
+ if attributes.has_key?(:'email')
105
+ self.email = attributes[:'email']
106
+ end
107
+
108
+ if attributes.has_key?(:'expires_at')
109
+ self.expires_at = attributes[:'expires_at']
110
+ end
111
+
112
+ if attributes.has_key?(:'inviter')
113
+ self.inviter = attributes[:'inviter']
114
+ end
115
+
116
+ if attributes.has_key?(:'inviter_url')
117
+ self.inviter_url = attributes[:'inviter_url']
118
+ end
119
+
120
+ if attributes.has_key?(:'org')
121
+ self.org = attributes[:'org']
122
+ end
123
+
124
+ if attributes.has_key?(:'role')
125
+ self.role = attributes[:'role']
126
+ end
127
+
128
+ if attributes.has_key?(:'slug_perm')
129
+ self.slug_perm = attributes[:'slug_perm']
130
+ end
131
+
132
+ if attributes.has_key?(:'user')
133
+ self.user = attributes[:'user']
134
+ end
135
+
136
+ if attributes.has_key?(:'user_url')
137
+ self.user_url = attributes[:'user_url']
138
+ end
139
+ end
140
+
141
+ # Show invalid properties with the reasons. Usually used together with valid?
142
+ # @return Array for valid properties with the reasons
143
+ def list_invalid_properties
144
+ invalid_properties = Array.new
145
+ invalid_properties
146
+ end
147
+
148
+ # Check to see if the all the properties in the model are valid
149
+ # @return true if the model is valid
150
+ def valid?
151
+ role_validator = EnumAttributeValidator.new('String', ['Owner', 'Manager', 'Member', 'Collaborator'])
152
+ return false unless role_validator.valid?(@role)
153
+ true
154
+ end
155
+
156
+ # Custom attribute writer method checking allowed values (enum).
157
+ # @param [Object] role Object to be assigned
158
+ def role=(role)
159
+ validator = EnumAttributeValidator.new('String', ['Owner', 'Manager', 'Member', 'Collaborator'])
160
+ unless validator.valid?(role)
161
+ fail ArgumentError, 'invalid value for "role", must be one of #{validator.allowable_values}.'
162
+ end
163
+ @role = role
164
+ end
165
+
166
+ # Checks equality by comparing each attribute.
167
+ # @param [Object] Object to be compared
168
+ def ==(o)
169
+ return true if self.equal?(o)
170
+ self.class == o.class &&
171
+ email == o.email &&
172
+ expires_at == o.expires_at &&
173
+ inviter == o.inviter &&
174
+ inviter_url == o.inviter_url &&
175
+ org == o.org &&
176
+ role == o.role &&
177
+ slug_perm == o.slug_perm &&
178
+ user == o.user &&
179
+ user_url == o.user_url
180
+ end
181
+
182
+ # @see the `==` method
183
+ # @param [Object] Object to be compared
184
+ def eql?(o)
185
+ self == o
186
+ end
187
+
188
+ # Calculates hash code according to all attributes.
189
+ # @return [Fixnum] Hash code
190
+ def hash
191
+ [email, expires_at, inviter, inviter_url, org, role, slug_perm, user, user_url].hash
192
+ end
193
+
194
+ # Builds the object from hash
195
+ # @param [Hash] attributes Model attributes in the form of hash
196
+ # @return [Object] Returns the model itself
197
+ def build_from_hash(attributes)
198
+ return nil unless attributes.is_a?(Hash)
199
+ self.class.swagger_types.each_pair do |key, type|
200
+ if type =~ /\AArray<(.*)>/i
201
+ # check to ensure the input is an array given that the attribute
202
+ # is documented as an array but the input is not
203
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
204
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
205
+ end
206
+ elsif !attributes[self.class.attribute_map[key]].nil?
207
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
208
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
209
+ end
210
+
211
+ self
212
+ end
213
+
214
+ # Deserializes the data based on type
215
+ # @param string type Data type
216
+ # @param string value Value to be deserialized
217
+ # @return [Object] Deserialized data
218
+ def _deserialize(type, value)
219
+ case type.to_sym
220
+ when :DateTime
221
+ DateTime.parse(value)
222
+ when :Date
223
+ Date.parse(value)
224
+ when :String
225
+ value.to_s
226
+ when :Integer
227
+ value.to_i
228
+ when :Float
229
+ value.to_f
230
+ when :BOOLEAN
231
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
232
+ true
233
+ else
234
+ false
235
+ end
236
+ when :Object
237
+ # generic object (usually a Hash), return directly
238
+ value
239
+ when /\AArray<(?<inner_type>.+)>\z/
240
+ inner_type = Regexp.last_match[:inner_type]
241
+ value.map { |v| _deserialize(inner_type, v) }
242
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
243
+ k_type = Regexp.last_match[:k_type]
244
+ v_type = Regexp.last_match[:v_type]
245
+ {}.tap do |hash|
246
+ value.each do |k, v|
247
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
248
+ end
249
+ end
250
+ else # model
251
+ temp_model = CloudsmithApi.const_get(type).new
252
+ temp_model.build_from_hash(value)
253
+ end
254
+ end
255
+
256
+ # Returns the string representation of the object
257
+ # @return [String] String presentation of the object
258
+ def to_s
259
+ to_hash.to_s
260
+ end
261
+
262
+ # to_body is an alias to to_hash (backward compatibility)
263
+ # @return [Hash] Returns the object in the form of hash
264
+ def to_body
265
+ to_hash
266
+ end
267
+
268
+ # Returns the object in the form of hash
269
+ # @return [Hash] Returns the object in the form of hash
270
+ def to_hash
271
+ hash = {}
272
+ self.class.attribute_map.each_pair do |attr, param|
273
+ value = self.send(attr)
274
+ next if value.nil?
275
+ hash[param] = _to_hash(value)
276
+ end
277
+ hash
278
+ end
279
+
280
+ # Outputs non-array value in the form of hash
281
+ # For object, use to_hash. Otherwise, just return the value
282
+ # @param [Object] value Any valid value
283
+ # @return [Hash] Returns the value in the form of hash
284
+ def _to_hash(value)
285
+ if value.is_a?(Array)
286
+ value.compact.map { |v| _to_hash(v) }
287
+ elsif value.is_a?(Hash)
288
+ {}.tap do |hash|
289
+ value.each { |k, v| hash[k] = _to_hash(v) }
290
+ end
291
+ elsif value.respond_to? :to_hash
292
+ value.to_hash
293
+ else
294
+ value
295
+ end
296
+ end
297
+
298
+ end
299
+ end
@@ -44,6 +44,28 @@ module CloudsmithApi
44
44
  #
45
45
  attr_accessor :visibility
46
46
 
47
+ class EnumAttributeValidator
48
+ attr_reader :datatype
49
+ attr_reader :allowable_values
50
+
51
+ def initialize(datatype, allowable_values)
52
+ @allowable_values = allowable_values.map do |value|
53
+ case datatype.to_s
54
+ when /Integer/i
55
+ value.to_i
56
+ when /Float/i
57
+ value.to_f
58
+ else
59
+ value
60
+ end
61
+ end
62
+ end
63
+
64
+ def valid?(value)
65
+ !value || allowable_values.include?(value)
66
+ end
67
+ end
68
+
47
69
  # Attribute mapping from ruby-style variable name to JSON key.
48
70
  def self.attribute_map
49
71
  {
@@ -135,9 +157,33 @@ module CloudsmithApi
135
157
  # Check to see if the all the properties in the model are valid
136
158
  # @return true if the model is valid
137
159
  def valid?
160
+ role_validator = EnumAttributeValidator.new('String', ['Owner', 'Manager', 'Member', 'Collaborator'])
161
+ return false unless role_validator.valid?(@role)
162
+ visibility_validator = EnumAttributeValidator.new('String', ['Public', 'Private'])
163
+ return false unless visibility_validator.valid?(@visibility)
138
164
  true
139
165
  end
140
166
 
167
+ # Custom attribute writer method checking allowed values (enum).
168
+ # @param [Object] role Object to be assigned
169
+ def role=(role)
170
+ validator = EnumAttributeValidator.new('String', ['Owner', 'Manager', 'Member', 'Collaborator'])
171
+ unless validator.valid?(role)
172
+ fail ArgumentError, 'invalid value for "role", must be one of #{validator.allowable_values}.'
173
+ end
174
+ @role = role
175
+ end
176
+
177
+ # Custom attribute writer method checking allowed values (enum).
178
+ # @param [Object] visibility Object to be assigned
179
+ def visibility=(visibility)
180
+ validator = EnumAttributeValidator.new('String', ['Public', 'Private'])
181
+ unless validator.valid?(visibility)
182
+ fail ArgumentError, 'invalid value for "visibility", must be one of #{validator.allowable_values}.'
183
+ end
184
+ @visibility = visibility
185
+ end
186
+
141
187
  # Checks equality by comparing each attribute.
142
188
  # @param [Object] Object to be compared
143
189
  def ==(o)
@@ -0,0 +1,264 @@
1
+ =begin
2
+ #Cloudsmith API
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 OrganizationTeam
17
+ #
18
+ attr_accessor :description
19
+
20
+ #
21
+ attr_accessor :name
22
+
23
+ #
24
+ attr_accessor :slug
25
+
26
+ #
27
+ attr_accessor :slug_perm
28
+
29
+ #
30
+ attr_accessor :visibility
31
+
32
+ class EnumAttributeValidator
33
+ attr_reader :datatype
34
+ attr_reader :allowable_values
35
+
36
+ def initialize(datatype, allowable_values)
37
+ @allowable_values = allowable_values.map do |value|
38
+ case datatype.to_s
39
+ when /Integer/i
40
+ value.to_i
41
+ when /Float/i
42
+ value.to_f
43
+ else
44
+ value
45
+ end
46
+ end
47
+ end
48
+
49
+ def valid?(value)
50
+ !value || allowable_values.include?(value)
51
+ end
52
+ end
53
+
54
+ # Attribute mapping from ruby-style variable name to JSON key.
55
+ def self.attribute_map
56
+ {
57
+ :'description' => :'description',
58
+ :'name' => :'name',
59
+ :'slug' => :'slug',
60
+ :'slug_perm' => :'slug_perm',
61
+ :'visibility' => :'visibility'
62
+ }
63
+ end
64
+
65
+ # Attribute type mapping.
66
+ def self.swagger_types
67
+ {
68
+ :'description' => :'String',
69
+ :'name' => :'String',
70
+ :'slug' => :'String',
71
+ :'slug_perm' => :'String',
72
+ :'visibility' => :'String'
73
+ }
74
+ end
75
+
76
+ # Initializes the object
77
+ # @param [Hash] attributes Model attributes in the form of hash
78
+ def initialize(attributes = {})
79
+ return unless attributes.is_a?(Hash)
80
+
81
+ # convert string to symbol for hash key
82
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
83
+
84
+ if attributes.has_key?(:'description')
85
+ self.description = attributes[:'description']
86
+ end
87
+
88
+ if attributes.has_key?(:'name')
89
+ self.name = attributes[:'name']
90
+ end
91
+
92
+ if attributes.has_key?(:'slug')
93
+ self.slug = attributes[:'slug']
94
+ end
95
+
96
+ if attributes.has_key?(:'slug_perm')
97
+ self.slug_perm = attributes[:'slug_perm']
98
+ end
99
+
100
+ if attributes.has_key?(:'visibility')
101
+ self.visibility = attributes[:'visibility']
102
+ end
103
+ end
104
+
105
+ # Show invalid properties with the reasons. Usually used together with valid?
106
+ # @return Array for valid properties with the reasons
107
+ def list_invalid_properties
108
+ invalid_properties = Array.new
109
+ if @name.nil?
110
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
111
+ end
112
+
113
+ invalid_properties
114
+ end
115
+
116
+ # Check to see if the all the properties in the model are valid
117
+ # @return true if the model is valid
118
+ def valid?
119
+ return false if @name.nil?
120
+ visibility_validator = EnumAttributeValidator.new('String', ['Visible', 'Hidden'])
121
+ return false unless visibility_validator.valid?(@visibility)
122
+ true
123
+ end
124
+
125
+ # Custom attribute writer method checking allowed values (enum).
126
+ # @param [Object] visibility Object to be assigned
127
+ def visibility=(visibility)
128
+ validator = EnumAttributeValidator.new('String', ['Visible', 'Hidden'])
129
+ unless validator.valid?(visibility)
130
+ fail ArgumentError, 'invalid value for "visibility", must be one of #{validator.allowable_values}.'
131
+ end
132
+ @visibility = visibility
133
+ end
134
+
135
+ # Checks equality by comparing each attribute.
136
+ # @param [Object] Object to be compared
137
+ def ==(o)
138
+ return true if self.equal?(o)
139
+ self.class == o.class &&
140
+ description == o.description &&
141
+ name == o.name &&
142
+ slug == o.slug &&
143
+ slug_perm == o.slug_perm &&
144
+ visibility == o.visibility
145
+ end
146
+
147
+ # @see the `==` method
148
+ # @param [Object] Object to be compared
149
+ def eql?(o)
150
+ self == o
151
+ end
152
+
153
+ # Calculates hash code according to all attributes.
154
+ # @return [Fixnum] Hash code
155
+ def hash
156
+ [description, name, slug, slug_perm, visibility].hash
157
+ end
158
+
159
+ # Builds the object from hash
160
+ # @param [Hash] attributes Model attributes in the form of hash
161
+ # @return [Object] Returns the model itself
162
+ def build_from_hash(attributes)
163
+ return nil unless attributes.is_a?(Hash)
164
+ self.class.swagger_types.each_pair do |key, type|
165
+ if type =~ /\AArray<(.*)>/i
166
+ # check to ensure the input is an array given that the attribute
167
+ # is documented as an array but the input is not
168
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
169
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
170
+ end
171
+ elsif !attributes[self.class.attribute_map[key]].nil?
172
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
173
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
174
+ end
175
+
176
+ self
177
+ end
178
+
179
+ # Deserializes the data based on type
180
+ # @param string type Data type
181
+ # @param string value Value to be deserialized
182
+ # @return [Object] Deserialized data
183
+ def _deserialize(type, value)
184
+ case type.to_sym
185
+ when :DateTime
186
+ DateTime.parse(value)
187
+ when :Date
188
+ Date.parse(value)
189
+ when :String
190
+ value.to_s
191
+ when :Integer
192
+ value.to_i
193
+ when :Float
194
+ value.to_f
195
+ when :BOOLEAN
196
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
197
+ true
198
+ else
199
+ false
200
+ end
201
+ when :Object
202
+ # generic object (usually a Hash), return directly
203
+ value
204
+ when /\AArray<(?<inner_type>.+)>\z/
205
+ inner_type = Regexp.last_match[:inner_type]
206
+ value.map { |v| _deserialize(inner_type, v) }
207
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
208
+ k_type = Regexp.last_match[:k_type]
209
+ v_type = Regexp.last_match[:v_type]
210
+ {}.tap do |hash|
211
+ value.each do |k, v|
212
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
213
+ end
214
+ end
215
+ else # model
216
+ temp_model = CloudsmithApi.const_get(type).new
217
+ temp_model.build_from_hash(value)
218
+ end
219
+ end
220
+
221
+ # Returns the string representation of the object
222
+ # @return [String] String presentation of the object
223
+ def to_s
224
+ to_hash.to_s
225
+ end
226
+
227
+ # to_body is an alias to to_hash (backward compatibility)
228
+ # @return [Hash] Returns the object in the form of hash
229
+ def to_body
230
+ to_hash
231
+ end
232
+
233
+ # Returns the object in the form of hash
234
+ # @return [Hash] Returns the object in the form of hash
235
+ def to_hash
236
+ hash = {}
237
+ self.class.attribute_map.each_pair do |attr, param|
238
+ value = self.send(attr)
239
+ next if value.nil?
240
+ hash[param] = _to_hash(value)
241
+ end
242
+ hash
243
+ end
244
+
245
+ # Outputs non-array value in the form of hash
246
+ # For object, use to_hash. Otherwise, just return the value
247
+ # @param [Object] value Any valid value
248
+ # @return [Hash] Returns the value in the form of hash
249
+ def _to_hash(value)
250
+ if value.is_a?(Array)
251
+ value.compact.map { |v| _to_hash(v) }
252
+ elsif value.is_a?(Hash)
253
+ {}.tap do |hash|
254
+ value.each { |k, v| hash[k] = _to_hash(v) }
255
+ end
256
+ elsif value.respond_to? :to_hash
257
+ value.to_hash
258
+ else
259
+ value
260
+ end
261
+ end
262
+
263
+ end
264
+ end