akeyless 5.0.39 → 5.0.40

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 (177) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +190 -0
  3. data/README.md +15 -1
  4. data/akeyless.gemspec +1 -1
  5. data/docs/AccountGeneralSettings.md +2 -0
  6. data/docs/AliCloudTargetDetails.md +28 -0
  7. data/docs/AssocTargetItem.md +12 -0
  8. data/docs/AuthMethodAccessInfo.md +2 -0
  9. data/docs/AuthMethodCreateOIDC.md +8 -0
  10. data/docs/AuthMethodCreateOutput.md +3 -1
  11. data/docs/AuthMethodCreateSAML.md +8 -0
  12. data/docs/AuthMethodUpdateOIDC.md +8 -0
  13. data/docs/AuthMethodUpdateOutput.md +3 -1
  14. data/docs/AuthMethodUpdateSAML.md +8 -0
  15. data/docs/CreateUSC.md +2 -0
  16. data/docs/DynamicSecretCreateEks.md +3 -1
  17. data/docs/DynamicSecretCreateGke.md +3 -1
  18. data/docs/DynamicSecretCreateK8s.md +3 -1
  19. data/docs/DynamicSecretUpdateEks.md +3 -1
  20. data/docs/DynamicSecretUpdateGke.md +3 -1
  21. data/docs/DynamicSecretUpdateK8s.md +3 -1
  22. data/docs/EventForwarderCreateEmail.md +1 -1
  23. data/docs/EventForwarderUpdateEmail.md +1 -1
  24. data/docs/GatewayCreateMigration.md +2 -0
  25. data/docs/GatewayCreateProducerEks.md +3 -1
  26. data/docs/GatewayCreateProducerGke.md +3 -1
  27. data/docs/GatewayCreateProducerNativeK8S.md +3 -1
  28. data/docs/GatewayUpdateMigration.md +2 -0
  29. data/docs/GatewayUpdateProducerEks.md +3 -1
  30. data/docs/GatewayUpdateProducerGke.md +3 -1
  31. data/docs/GatewayUpdateProducerNativeK8S.md +3 -1
  32. data/docs/GetGroupOutput.md +13 -1
  33. data/docs/GetScimStatus.md +24 -0
  34. data/docs/GrantedRole.md +20 -0
  35. data/docs/Group.md +13 -1
  36. data/docs/ListTargets.md +1 -1
  37. data/docs/RotatedSecretCreateAliCloud.md +90 -0
  38. data/docs/RotatedSecretCreateAzure.md +1 -1
  39. data/docs/RotatedSecretUpdateAliCloud.md +92 -0
  40. data/docs/RotatedSecretUpdateAzure.md +1 -1
  41. data/docs/ScimSettings.md +30 -0
  42. data/docs/ScimStatus.md +42 -0
  43. data/docs/TargetCreateAliCloud.md +52 -0
  44. data/docs/TargetList.md +1 -1
  45. data/docs/TargetTypeDetailsInput.md +2 -0
  46. data/docs/TargetUpdateAliCloud.md +56 -0
  47. data/docs/UpdateItem.md +3 -1
  48. data/docs/UpdateRotatedSecret.md +3 -1
  49. data/docs/UscCreate.md +3 -1
  50. data/docs/UscDelete.md +4 -0
  51. data/docs/UscGet.md +4 -0
  52. data/docs/UscList.md +4 -0
  53. data/docs/UscUpdate.md +4 -0
  54. data/docs/V2Api.md +322 -6
  55. data/lib/akeyless/api/v2_api.rb +325 -5
  56. data/lib/akeyless/models/account_general_settings.rb +13 -1
  57. data/lib/akeyless/models/ali_cloud_target_details.rb +259 -0
  58. data/lib/akeyless/models/assoc_target_item.rb +63 -1
  59. data/lib/akeyless/models/attribute_type_and_value.rb +1 -1
  60. data/lib/akeyless/models/auth_method_access_info.rb +10 -1
  61. data/lib/akeyless/models/auth_method_create_oidc.rb +41 -1
  62. data/lib/akeyless/models/auth_method_create_output.rb +14 -4
  63. data/lib/akeyless/models/auth_method_create_saml.rb +41 -1
  64. data/lib/akeyless/models/auth_method_update_oidc.rb +41 -1
  65. data/lib/akeyless/models/auth_method_update_output.rb +14 -4
  66. data/lib/akeyless/models/auth_method_update_saml.rb +41 -1
  67. data/lib/akeyless/models/create_mcp_secret_bearer_token.rb +3 -0
  68. data/lib/akeyless/models/create_mcp_secret_o_auth_auth_code.rb +3 -0
  69. data/lib/akeyless/models/create_mcp_secret_o_auth_client_creds.rb +3 -0
  70. data/lib/akeyless/models/create_secret.rb +3 -0
  71. data/lib/akeyless/models/create_usc.rb +11 -1
  72. data/lib/akeyless/models/dynamic_secret_create_eks.rb +12 -2
  73. data/lib/akeyless/models/dynamic_secret_create_gke.rb +12 -2
  74. data/lib/akeyless/models/dynamic_secret_create_k8s.rb +12 -2
  75. data/lib/akeyless/models/dynamic_secret_update_eks.rb +12 -2
  76. data/lib/akeyless/models/dynamic_secret_update_gke.rb +12 -2
  77. data/lib/akeyless/models/dynamic_secret_update_k8s.rb +12 -2
  78. data/lib/akeyless/models/event_forwarder_create_email.rb +1 -1
  79. data/lib/akeyless/models/event_forwarder_update_email.rb +1 -1
  80. data/lib/akeyless/models/gateway_create_migration.rb +12 -1
  81. data/lib/akeyless/models/gateway_create_producer_artifactory.rb +4 -0
  82. data/lib/akeyless/models/gateway_create_producer_aws.rb +4 -0
  83. data/lib/akeyless/models/gateway_create_producer_azure.rb +4 -0
  84. data/lib/akeyless/models/gateway_create_producer_cassandra.rb +4 -0
  85. data/lib/akeyless/models/gateway_create_producer_chef.rb +4 -0
  86. data/lib/akeyless/models/gateway_create_producer_custom.rb +4 -0
  87. data/lib/akeyless/models/gateway_create_producer_dockerhub.rb +4 -0
  88. data/lib/akeyless/models/gateway_create_producer_eks.rb +16 -2
  89. data/lib/akeyless/models/gateway_create_producer_gcp.rb +4 -0
  90. data/lib/akeyless/models/gateway_create_producer_github.rb +4 -0
  91. data/lib/akeyless/models/gateway_create_producer_gke.rb +16 -2
  92. data/lib/akeyless/models/gateway_create_producer_hana_db.rb +4 -0
  93. data/lib/akeyless/models/gateway_create_producer_ldap.rb +4 -0
  94. data/lib/akeyless/models/gateway_create_producer_mongo.rb +4 -0
  95. data/lib/akeyless/models/gateway_create_producer_mssql.rb +4 -0
  96. data/lib/akeyless/models/gateway_create_producer_my_sql.rb +4 -0
  97. data/lib/akeyless/models/gateway_create_producer_native_k8_s.rb +16 -2
  98. data/lib/akeyless/models/gateway_create_producer_oracle_db.rb +4 -0
  99. data/lib/akeyless/models/gateway_create_producer_ping.rb +4 -0
  100. data/lib/akeyless/models/gateway_create_producer_postgre_sql.rb +4 -0
  101. data/lib/akeyless/models/gateway_create_producer_rabbit_mq.rb +4 -0
  102. data/lib/akeyless/models/gateway_create_producer_rdp.rb +4 -0
  103. data/lib/akeyless/models/gateway_create_producer_redis.rb +4 -0
  104. data/lib/akeyless/models/gateway_create_producer_redshift.rb +4 -0
  105. data/lib/akeyless/models/gateway_create_producer_snowflake.rb +4 -0
  106. data/lib/akeyless/models/gateway_create_producer_venafi.rb +4 -0
  107. data/lib/akeyless/models/gateway_delete_producer.rb +4 -0
  108. data/lib/akeyless/models/gateway_get_producer.rb +4 -0
  109. data/lib/akeyless/models/gateway_get_tmp_users.rb +4 -0
  110. data/lib/akeyless/models/gateway_revoke_tmp_users.rb +4 -0
  111. data/lib/akeyless/models/gateway_start_producer.rb +4 -0
  112. data/lib/akeyless/models/gateway_stop_producer.rb +4 -0
  113. data/lib/akeyless/models/gateway_update_migration.rb +12 -1
  114. data/lib/akeyless/models/gateway_update_producer_artifactory.rb +4 -0
  115. data/lib/akeyless/models/gateway_update_producer_aws.rb +4 -0
  116. data/lib/akeyless/models/gateway_update_producer_azure.rb +4 -0
  117. data/lib/akeyless/models/gateway_update_producer_cassandra.rb +4 -0
  118. data/lib/akeyless/models/gateway_update_producer_chef.rb +4 -0
  119. data/lib/akeyless/models/gateway_update_producer_custom.rb +4 -0
  120. data/lib/akeyless/models/gateway_update_producer_dockerhub.rb +4 -0
  121. data/lib/akeyless/models/gateway_update_producer_eks.rb +16 -2
  122. data/lib/akeyless/models/gateway_update_producer_gcp.rb +4 -0
  123. data/lib/akeyless/models/gateway_update_producer_github.rb +4 -0
  124. data/lib/akeyless/models/gateway_update_producer_gke.rb +16 -2
  125. data/lib/akeyless/models/gateway_update_producer_hana_db.rb +4 -0
  126. data/lib/akeyless/models/gateway_update_producer_ldap.rb +4 -0
  127. data/lib/akeyless/models/gateway_update_producer_mongo.rb +4 -0
  128. data/lib/akeyless/models/gateway_update_producer_mssql.rb +4 -0
  129. data/lib/akeyless/models/gateway_update_producer_my_sql.rb +4 -0
  130. data/lib/akeyless/models/gateway_update_producer_native_k8_s.rb +16 -2
  131. data/lib/akeyless/models/gateway_update_producer_oracle_db.rb +4 -0
  132. data/lib/akeyless/models/gateway_update_producer_ping.rb +4 -0
  133. data/lib/akeyless/models/gateway_update_producer_postgre_sql.rb +4 -0
  134. data/lib/akeyless/models/gateway_update_producer_rabbit_mq.rb +4 -0
  135. data/lib/akeyless/models/gateway_update_producer_rdp.rb +4 -0
  136. data/lib/akeyless/models/gateway_update_producer_redis.rb +4 -0
  137. data/lib/akeyless/models/gateway_update_producer_redshift.rb +4 -0
  138. data/lib/akeyless/models/gateway_update_producer_snowflake.rb +4 -0
  139. data/lib/akeyless/models/gateway_update_producer_venafi.rb +4 -0
  140. data/lib/akeyless/models/gateway_update_tmp_users.rb +4 -0
  141. data/lib/akeyless/models/get_group_output.rb +63 -4
  142. data/lib/akeyless/models/get_scim_status.rb +254 -0
  143. data/lib/akeyless/models/granted_role.rb +224 -0
  144. data/lib/akeyless/models/group.rb +63 -4
  145. data/lib/akeyless/models/list_targets.rb +1 -1
  146. data/lib/akeyless/models/rotated_secret_create_ali_cloud.rb +605 -0
  147. data/lib/akeyless/models/rotated_secret_create_azure.rb +1 -1
  148. data/lib/akeyless/models/rotated_secret_update_ali_cloud.rb +605 -0
  149. data/lib/akeyless/models/rotated_secret_update_azure.rb +1 -1
  150. data/lib/akeyless/models/scim_settings.rb +271 -0
  151. data/lib/akeyless/models/scim_status.rb +323 -0
  152. data/lib/akeyless/models/target_create_ali_cloud.rb +394 -0
  153. data/lib/akeyless/models/target_list.rb +1 -1
  154. data/lib/akeyless/models/target_type_details_input.rb +10 -1
  155. data/lib/akeyless/models/target_update_ali_cloud.rb +414 -0
  156. data/lib/akeyless/models/update_item.rb +23 -2
  157. data/lib/akeyless/models/update_mcp_secret_bearer_token.rb +3 -0
  158. data/lib/akeyless/models/update_mcp_secret_o_auth_auth_code.rb +3 -0
  159. data/lib/akeyless/models/update_mcp_secret_o_auth_client_creds.rb +3 -0
  160. data/lib/akeyless/models/update_rotated_secret.rb +20 -2
  161. data/lib/akeyless/models/usc_create.rb +12 -2
  162. data/lib/akeyless/models/usc_delete.rb +21 -1
  163. data/lib/akeyless/models/usc_get.rb +21 -1
  164. data/lib/akeyless/models/usc_list.rb +21 -1
  165. data/lib/akeyless/models/usc_update.rb +21 -1
  166. data/lib/akeyless/version.rb +1 -1
  167. data/lib/akeyless.rb +9 -0
  168. data/spec/models/ali_cloud_target_details_spec.rb +66 -0
  169. data/spec/models/get_scim_status_spec.rb +54 -0
  170. data/spec/models/granted_role_spec.rb +42 -0
  171. data/spec/models/rotated_secret_create_ali_cloud_spec.rb +252 -0
  172. data/spec/models/rotated_secret_update_ali_cloud_spec.rb +258 -0
  173. data/spec/models/scim_settings_spec.rb +72 -0
  174. data/spec/models/scim_status_spec.rb +108 -0
  175. data/spec/models/target_create_ali_cloud_spec.rb +138 -0
  176. data/spec/models/target_update_ali_cloud_spec.rb +150 -0
  177. metadata +54 -17
@@ -0,0 +1,394 @@
1
+ =begin
2
+ #Akeyless API
3
+
4
+ #The purpose of this application is to provide access to Akeyless API.
5
+
6
+ The version of the OpenAPI document: 3.0
7
+ Contact: support@akeyless.io
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.10.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Akeyless
17
+ class TargetCreateAliCloud
18
+ # AliCloud RAM access key secret
19
+ attr_accessor :access_key
20
+
21
+ # AliCloud RAM access key ID
22
+ attr_accessor :access_key_id
23
+
24
+ # Protection from accidental deletion of this object [true/false]
25
+ attr_accessor :delete_protection
26
+
27
+ # Description of the object
28
+ attr_accessor :description
29
+
30
+ # A unique auto-generated value used in your AliCloud account when configuring the RAM role trust policy to securely delegate access to Akeyless. Relevant only when using GW cloud ID
31
+ attr_accessor :generate_external_id
32
+
33
+ # Set output format to JSON
34
+ attr_accessor :json
35
+
36
+ # The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
37
+ attr_accessor :key
38
+
39
+ # Lock this secret after each successful value read
40
+ attr_accessor :lock_on_read
41
+
42
+ # Lock TTL in minutes
43
+ attr_accessor :lock_ttl
44
+
45
+ # Set the maximum number of versions, limited by the account settings defaults.
46
+ attr_accessor :max_versions
47
+
48
+ # Target name
49
+ attr_accessor :name
50
+
51
+ # AliCloud region. Selects the regional STS endpoint. If empty, the global STS endpoint is used
52
+ attr_accessor :region
53
+
54
+ # AliCloud RAM role ARN that the Gateway will assume in your AliCloud account (acs:ram::<account-id>:role/<role-name>), relevant only when using external ID
55
+ attr_accessor :role_arn
56
+
57
+ # Rotate this secret after it is unlocked
58
+ attr_accessor :rotate_on_unlock
59
+
60
+ # Required only for temporary security credentials retrieved using STS
61
+ attr_accessor :session_token
62
+
63
+ # Authentication token (see `/auth` and `/configure`)
64
+ attr_accessor :token
65
+
66
+ # The universal identity token, Required only for universal_identity authentication
67
+ attr_accessor :uid_token
68
+
69
+ # Use the Gateway cloud identity
70
+ attr_accessor :use_gw_cloud_identity
71
+
72
+ # Attribute mapping from ruby-style variable name to JSON key.
73
+ def self.attribute_map
74
+ {
75
+ :'access_key' => :'access-key',
76
+ :'access_key_id' => :'access-key-id',
77
+ :'delete_protection' => :'delete_protection',
78
+ :'description' => :'description',
79
+ :'generate_external_id' => :'generate-external-id',
80
+ :'json' => :'json',
81
+ :'key' => :'key',
82
+ :'lock_on_read' => :'lock-on-read',
83
+ :'lock_ttl' => :'lock-ttl',
84
+ :'max_versions' => :'max-versions',
85
+ :'name' => :'name',
86
+ :'region' => :'region',
87
+ :'role_arn' => :'role-arn',
88
+ :'rotate_on_unlock' => :'rotate-on-unlock',
89
+ :'session_token' => :'session-token',
90
+ :'token' => :'token',
91
+ :'uid_token' => :'uid-token',
92
+ :'use_gw_cloud_identity' => :'use-gw-cloud-identity'
93
+ }
94
+ end
95
+
96
+ # Returns all the JSON keys this model knows about
97
+ def self.acceptable_attributes
98
+ attribute_map.values
99
+ end
100
+
101
+ # Attribute type mapping.
102
+ def self.openapi_types
103
+ {
104
+ :'access_key' => :'String',
105
+ :'access_key_id' => :'String',
106
+ :'delete_protection' => :'String',
107
+ :'description' => :'String',
108
+ :'generate_external_id' => :'Boolean',
109
+ :'json' => :'Boolean',
110
+ :'key' => :'String',
111
+ :'lock_on_read' => :'String',
112
+ :'lock_ttl' => :'String',
113
+ :'max_versions' => :'String',
114
+ :'name' => :'String',
115
+ :'region' => :'String',
116
+ :'role_arn' => :'String',
117
+ :'rotate_on_unlock' => :'String',
118
+ :'session_token' => :'String',
119
+ :'token' => :'String',
120
+ :'uid_token' => :'String',
121
+ :'use_gw_cloud_identity' => :'Boolean'
122
+ }
123
+ end
124
+
125
+ # List of attributes with nullable: true
126
+ def self.openapi_nullable
127
+ Set.new([
128
+ ])
129
+ end
130
+
131
+ # Initializes the object
132
+ # @param [Hash] attributes Model attributes in the form of hash
133
+ def initialize(attributes = {})
134
+ if (!attributes.is_a?(Hash))
135
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::TargetCreateAliCloud` initialize method"
136
+ end
137
+
138
+ # check to see if the attribute exists and convert string to symbol for hash key
139
+ attributes = attributes.each_with_object({}) { |(k, v), h|
140
+ if (!self.class.attribute_map.key?(k.to_sym))
141
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::TargetCreateAliCloud`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
142
+ end
143
+ h[k.to_sym] = v
144
+ }
145
+
146
+ if attributes.key?(:'access_key')
147
+ self.access_key = attributes[:'access_key']
148
+ end
149
+
150
+ if attributes.key?(:'access_key_id')
151
+ self.access_key_id = attributes[:'access_key_id']
152
+ end
153
+
154
+ if attributes.key?(:'delete_protection')
155
+ self.delete_protection = attributes[:'delete_protection']
156
+ end
157
+
158
+ if attributes.key?(:'description')
159
+ self.description = attributes[:'description']
160
+ end
161
+
162
+ if attributes.key?(:'generate_external_id')
163
+ self.generate_external_id = attributes[:'generate_external_id']
164
+ end
165
+
166
+ if attributes.key?(:'json')
167
+ self.json = attributes[:'json']
168
+ else
169
+ self.json = false
170
+ end
171
+
172
+ if attributes.key?(:'key')
173
+ self.key = attributes[:'key']
174
+ end
175
+
176
+ if attributes.key?(:'lock_on_read')
177
+ self.lock_on_read = attributes[:'lock_on_read']
178
+ end
179
+
180
+ if attributes.key?(:'lock_ttl')
181
+ self.lock_ttl = attributes[:'lock_ttl']
182
+ end
183
+
184
+ if attributes.key?(:'max_versions')
185
+ self.max_versions = attributes[:'max_versions']
186
+ end
187
+
188
+ if attributes.key?(:'name')
189
+ self.name = attributes[:'name']
190
+ else
191
+ self.name = nil
192
+ end
193
+
194
+ if attributes.key?(:'region')
195
+ self.region = attributes[:'region']
196
+ end
197
+
198
+ if attributes.key?(:'role_arn')
199
+ self.role_arn = attributes[:'role_arn']
200
+ end
201
+
202
+ if attributes.key?(:'rotate_on_unlock')
203
+ self.rotate_on_unlock = attributes[:'rotate_on_unlock']
204
+ end
205
+
206
+ if attributes.key?(:'session_token')
207
+ self.session_token = attributes[:'session_token']
208
+ end
209
+
210
+ if attributes.key?(:'token')
211
+ self.token = attributes[:'token']
212
+ end
213
+
214
+ if attributes.key?(:'uid_token')
215
+ self.uid_token = attributes[:'uid_token']
216
+ end
217
+
218
+ if attributes.key?(:'use_gw_cloud_identity')
219
+ self.use_gw_cloud_identity = attributes[:'use_gw_cloud_identity']
220
+ end
221
+ end
222
+
223
+ # Show invalid properties with the reasons. Usually used together with valid?
224
+ # @return Array for valid properties with the reasons
225
+ def list_invalid_properties
226
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
227
+ invalid_properties = Array.new
228
+ if @name.nil?
229
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
230
+ end
231
+
232
+ invalid_properties
233
+ end
234
+
235
+ # Check to see if the all the properties in the model are valid
236
+ # @return true if the model is valid
237
+ def valid?
238
+ warn '[DEPRECATED] the `valid?` method is obsolete'
239
+ return false if @name.nil?
240
+ true
241
+ end
242
+
243
+ # Checks equality by comparing each attribute.
244
+ # @param [Object] Object to be compared
245
+ def ==(o)
246
+ return true if self.equal?(o)
247
+ self.class == o.class &&
248
+ access_key == o.access_key &&
249
+ access_key_id == o.access_key_id &&
250
+ delete_protection == o.delete_protection &&
251
+ description == o.description &&
252
+ generate_external_id == o.generate_external_id &&
253
+ json == o.json &&
254
+ key == o.key &&
255
+ lock_on_read == o.lock_on_read &&
256
+ lock_ttl == o.lock_ttl &&
257
+ max_versions == o.max_versions &&
258
+ name == o.name &&
259
+ region == o.region &&
260
+ role_arn == o.role_arn &&
261
+ rotate_on_unlock == o.rotate_on_unlock &&
262
+ session_token == o.session_token &&
263
+ token == o.token &&
264
+ uid_token == o.uid_token &&
265
+ use_gw_cloud_identity == o.use_gw_cloud_identity
266
+ end
267
+
268
+ # @see the `==` method
269
+ # @param [Object] Object to be compared
270
+ def eql?(o)
271
+ self == o
272
+ end
273
+
274
+ # Calculates hash code according to all attributes.
275
+ # @return [Integer] Hash code
276
+ def hash
277
+ [access_key, access_key_id, delete_protection, description, generate_external_id, json, key, lock_on_read, lock_ttl, max_versions, name, region, role_arn, rotate_on_unlock, session_token, token, uid_token, use_gw_cloud_identity].hash
278
+ end
279
+
280
+ # Builds the object from hash
281
+ # @param [Hash] attributes Model attributes in the form of hash
282
+ # @return [Object] Returns the model itself
283
+ def self.build_from_hash(attributes)
284
+ return nil unless attributes.is_a?(Hash)
285
+ attributes = attributes.transform_keys(&:to_sym)
286
+ transformed_hash = {}
287
+ openapi_types.each_pair do |key, type|
288
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
289
+ transformed_hash["#{key}"] = nil
290
+ elsif type =~ /\AArray<(.*)>/i
291
+ # check to ensure the input is an array given that the attribute
292
+ # is documented as an array but the input is not
293
+ if attributes[attribute_map[key]].is_a?(Array)
294
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
295
+ end
296
+ elsif !attributes[attribute_map[key]].nil?
297
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
298
+ end
299
+ end
300
+ new(transformed_hash)
301
+ end
302
+
303
+ # Deserializes the data based on type
304
+ # @param string type Data type
305
+ # @param string value Value to be deserialized
306
+ # @return [Object] Deserialized data
307
+ def self._deserialize(type, value)
308
+ case type.to_sym
309
+ when :Time
310
+ Time.parse(value)
311
+ when :Date
312
+ Date.parse(value)
313
+ when :String
314
+ value.to_s
315
+ when :Integer
316
+ value.to_i
317
+ when :Float
318
+ value.to_f
319
+ when :Boolean
320
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
321
+ true
322
+ else
323
+ false
324
+ end
325
+ when :Object
326
+ # generic object (usually a Hash), return directly
327
+ value
328
+ when /\AArray<(?<inner_type>.+)>\z/
329
+ inner_type = Regexp.last_match[:inner_type]
330
+ value.map { |v| _deserialize(inner_type, v) }
331
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
332
+ k_type = Regexp.last_match[:k_type]
333
+ v_type = Regexp.last_match[:v_type]
334
+ {}.tap do |hash|
335
+ value.each do |k, v|
336
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
337
+ end
338
+ end
339
+ else # model
340
+ # models (e.g. Pet) or oneOf
341
+ klass = Akeyless.const_get(type)
342
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
343
+ end
344
+ end
345
+
346
+ # Returns the string representation of the object
347
+ # @return [String] String presentation of the object
348
+ def to_s
349
+ to_hash.to_s
350
+ end
351
+
352
+ # to_body is an alias to to_hash (backward compatibility)
353
+ # @return [Hash] Returns the object in the form of hash
354
+ def to_body
355
+ to_hash
356
+ end
357
+
358
+ # Returns the object in the form of hash
359
+ # @return [Hash] Returns the object in the form of hash
360
+ def to_hash
361
+ hash = {}
362
+ self.class.attribute_map.each_pair do |attr, param|
363
+ value = self.send(attr)
364
+ if value.nil?
365
+ is_nullable = self.class.openapi_nullable.include?(attr)
366
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
367
+ end
368
+
369
+ hash[param] = _to_hash(value)
370
+ end
371
+ hash
372
+ end
373
+
374
+ # Outputs non-array value in the form of hash
375
+ # For object, use to_hash. Otherwise, just return the value
376
+ # @param [Object] value Any valid value
377
+ # @return [Hash] Returns the value in the form of hash
378
+ def _to_hash(value)
379
+ if value.is_a?(Array)
380
+ value.compact.map { |v| _to_hash(v) }
381
+ elsif value.is_a?(Hash)
382
+ {}.tap do |hash|
383
+ value.each { |k, v| hash[k] = _to_hash(v) }
384
+ end
385
+ elsif value.respond_to? :to_hash
386
+ value.to_hash
387
+ else
388
+ value
389
+ end
390
+ end
391
+
392
+ end
393
+
394
+ end
@@ -28,7 +28,7 @@ module Akeyless
28
28
  # Authentication token (see `/auth` and `/configure`)
29
29
  attr_accessor :token
30
30
 
31
- # The target types list . In case it is empty, all types of targets will be returned. options: [hanadb cassandra aws ssh gke eks mysql mongodb snowflake mssql redshift artifactory azure rabbitmq k8s venafi gcp oracle dockerhub cloudflare ldap github chef web salesforce postgres]
31
+ # The target types list . In case it is empty, all types of targets will be returned. options: [hanadb cassandra aws alicloud ssh gke eks mysql mongodb snowflake mssql redshift artifactory azure rabbitmq k8s venafi gcp oracle dockerhub cloudflare ldap github chef web salesforce postgres]
32
32
  attr_accessor :type
33
33
 
34
34
  # The universal identity token, Required only for universal_identity authentication
@@ -17,6 +17,8 @@ module Akeyless
17
17
  class TargetTypeDetailsInput
18
18
  attr_accessor :aerospike_target_details
19
19
 
20
+ attr_accessor :alicloud_target_details
21
+
20
22
  attr_accessor :anthropic_target_details
21
23
 
22
24
  attr_accessor :artifactory_target_details
@@ -107,6 +109,7 @@ module Akeyless
107
109
  def self.attribute_map
108
110
  {
109
111
  :'aerospike_target_details' => :'aerospike_target_details',
112
+ :'alicloud_target_details' => :'alicloud_target_details',
110
113
  :'anthropic_target_details' => :'anthropic_target_details',
111
114
  :'artifactory_target_details' => :'artifactory_target_details',
112
115
  :'aws_target_details' => :'aws_target_details',
@@ -162,6 +165,7 @@ module Akeyless
162
165
  def self.openapi_types
163
166
  {
164
167
  :'aerospike_target_details' => :'AerospikeTargetDetails',
168
+ :'alicloud_target_details' => :'AliCloudTargetDetails',
165
169
  :'anthropic_target_details' => :'AnthropicTargetDetails',
166
170
  :'artifactory_target_details' => :'ArtifactoryTargetDetails',
167
171
  :'aws_target_details' => :'AWSTargetDetails',
@@ -233,6 +237,10 @@ module Akeyless
233
237
  self.aerospike_target_details = attributes[:'aerospike_target_details']
234
238
  end
235
239
 
240
+ if attributes.key?(:'alicloud_target_details')
241
+ self.alicloud_target_details = attributes[:'alicloud_target_details']
242
+ end
243
+
236
244
  if attributes.key?(:'anthropic_target_details')
237
245
  self.anthropic_target_details = attributes[:'anthropic_target_details']
238
246
  end
@@ -427,6 +435,7 @@ module Akeyless
427
435
  return true if self.equal?(o)
428
436
  self.class == o.class &&
429
437
  aerospike_target_details == o.aerospike_target_details &&
438
+ alicloud_target_details == o.alicloud_target_details &&
430
439
  anthropic_target_details == o.anthropic_target_details &&
431
440
  artifactory_target_details == o.artifactory_target_details &&
432
441
  aws_target_details == o.aws_target_details &&
@@ -481,7 +490,7 @@ module Akeyless
481
490
  # Calculates hash code according to all attributes.
482
491
  # @return [Integer] Hash code
483
492
  def hash
484
- [aerospike_target_details, anthropic_target_details, artifactory_target_details, aws_target_details, azure_target_details, bedrock_target_details, chef_target_details, cloudflare_target_details, custom_dns_target_details, custom_target_details, db_target_details, digicert_target_details, dockerhub_target_details, eks_target_details, f5_big_ip_target_details, gcp_target_details, gemini_target_details, github_target_details, gitlab_target_details, gke_target_details, globalsign_atlas_target_details, globalsign_target_details, godaddy_target_details, google_trust_target_details, grok_target_details, hashi_vault_target_details, keycloak_target_details, ldap_target_details, letsencrypt_target_details, linked_target_details, mongo_db_target_details, native_k8s_target_details, okta_target_details, openai_target_details, ping_target_details, rabbit_mq_target_details, salesforce_target_details, sectigo_target_details, splunk_target_details, ssh_target_details, venafi_target_details, web_target_details, windows_target_details, zerossl_target_details].hash
493
+ [aerospike_target_details, alicloud_target_details, anthropic_target_details, artifactory_target_details, aws_target_details, azure_target_details, bedrock_target_details, chef_target_details, cloudflare_target_details, custom_dns_target_details, custom_target_details, db_target_details, digicert_target_details, dockerhub_target_details, eks_target_details, f5_big_ip_target_details, gcp_target_details, gemini_target_details, github_target_details, gitlab_target_details, gke_target_details, globalsign_atlas_target_details, globalsign_target_details, godaddy_target_details, google_trust_target_details, grok_target_details, hashi_vault_target_details, keycloak_target_details, ldap_target_details, letsencrypt_target_details, linked_target_details, mongo_db_target_details, native_k8s_target_details, okta_target_details, openai_target_details, ping_target_details, rabbit_mq_target_details, salesforce_target_details, sectigo_target_details, splunk_target_details, ssh_target_details, venafi_target_details, web_target_details, windows_target_details, zerossl_target_details].hash
485
494
  end
486
495
 
487
496
  # Builds the object from hash