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,414 @@
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 TargetUpdateAliCloud
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
+ # Whether to keep previous version [true/false]. If not set, use default according to account settings
37
+ attr_accessor :keep_prev_version
38
+
39
+ # The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
40
+ attr_accessor :key
41
+
42
+ # Lock this secret after each successful value read
43
+ attr_accessor :lock_on_read
44
+
45
+ # Lock TTL in minutes
46
+ attr_accessor :lock_ttl
47
+
48
+ # Set the maximum number of versions, limited by the account settings defaults.
49
+ attr_accessor :max_versions
50
+
51
+ # Target name
52
+ attr_accessor :name
53
+
54
+ # New target name
55
+ attr_accessor :new_name
56
+
57
+ # AliCloud region. Selects the regional STS endpoint. If empty, the global STS endpoint is used
58
+ attr_accessor :region
59
+
60
+ # 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
61
+ attr_accessor :role_arn
62
+
63
+ # Rotate this secret after it is unlocked
64
+ attr_accessor :rotate_on_unlock
65
+
66
+ # Required only for temporary security credentials retrieved using STS
67
+ attr_accessor :session_token
68
+
69
+ # Authentication token (see `/auth` and `/configure`)
70
+ attr_accessor :token
71
+
72
+ # The universal identity token, Required only for universal_identity authentication
73
+ attr_accessor :uid_token
74
+
75
+ # Use the Gateway cloud identity
76
+ attr_accessor :use_gw_cloud_identity
77
+
78
+ # Attribute mapping from ruby-style variable name to JSON key.
79
+ def self.attribute_map
80
+ {
81
+ :'access_key' => :'access-key',
82
+ :'access_key_id' => :'access-key-id',
83
+ :'delete_protection' => :'delete_protection',
84
+ :'description' => :'description',
85
+ :'generate_external_id' => :'generate-external-id',
86
+ :'json' => :'json',
87
+ :'keep_prev_version' => :'keep-prev-version',
88
+ :'key' => :'key',
89
+ :'lock_on_read' => :'lock-on-read',
90
+ :'lock_ttl' => :'lock-ttl',
91
+ :'max_versions' => :'max-versions',
92
+ :'name' => :'name',
93
+ :'new_name' => :'new-name',
94
+ :'region' => :'region',
95
+ :'role_arn' => :'role-arn',
96
+ :'rotate_on_unlock' => :'rotate-on-unlock',
97
+ :'session_token' => :'session-token',
98
+ :'token' => :'token',
99
+ :'uid_token' => :'uid-token',
100
+ :'use_gw_cloud_identity' => :'use-gw-cloud-identity'
101
+ }
102
+ end
103
+
104
+ # Returns all the JSON keys this model knows about
105
+ def self.acceptable_attributes
106
+ attribute_map.values
107
+ end
108
+
109
+ # Attribute type mapping.
110
+ def self.openapi_types
111
+ {
112
+ :'access_key' => :'String',
113
+ :'access_key_id' => :'String',
114
+ :'delete_protection' => :'String',
115
+ :'description' => :'String',
116
+ :'generate_external_id' => :'Boolean',
117
+ :'json' => :'Boolean',
118
+ :'keep_prev_version' => :'String',
119
+ :'key' => :'String',
120
+ :'lock_on_read' => :'String',
121
+ :'lock_ttl' => :'String',
122
+ :'max_versions' => :'String',
123
+ :'name' => :'String',
124
+ :'new_name' => :'String',
125
+ :'region' => :'String',
126
+ :'role_arn' => :'String',
127
+ :'rotate_on_unlock' => :'String',
128
+ :'session_token' => :'String',
129
+ :'token' => :'String',
130
+ :'uid_token' => :'String',
131
+ :'use_gw_cloud_identity' => :'Boolean'
132
+ }
133
+ end
134
+
135
+ # List of attributes with nullable: true
136
+ def self.openapi_nullable
137
+ Set.new([
138
+ ])
139
+ end
140
+
141
+ # Initializes the object
142
+ # @param [Hash] attributes Model attributes in the form of hash
143
+ def initialize(attributes = {})
144
+ if (!attributes.is_a?(Hash))
145
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::TargetUpdateAliCloud` initialize method"
146
+ end
147
+
148
+ # check to see if the attribute exists and convert string to symbol for hash key
149
+ attributes = attributes.each_with_object({}) { |(k, v), h|
150
+ if (!self.class.attribute_map.key?(k.to_sym))
151
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::TargetUpdateAliCloud`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
152
+ end
153
+ h[k.to_sym] = v
154
+ }
155
+
156
+ if attributes.key?(:'access_key')
157
+ self.access_key = attributes[:'access_key']
158
+ end
159
+
160
+ if attributes.key?(:'access_key_id')
161
+ self.access_key_id = attributes[:'access_key_id']
162
+ end
163
+
164
+ if attributes.key?(:'delete_protection')
165
+ self.delete_protection = attributes[:'delete_protection']
166
+ end
167
+
168
+ if attributes.key?(:'description')
169
+ self.description = attributes[:'description']
170
+ end
171
+
172
+ if attributes.key?(:'generate_external_id')
173
+ self.generate_external_id = attributes[:'generate_external_id']
174
+ end
175
+
176
+ if attributes.key?(:'json')
177
+ self.json = attributes[:'json']
178
+ else
179
+ self.json = false
180
+ end
181
+
182
+ if attributes.key?(:'keep_prev_version')
183
+ self.keep_prev_version = attributes[:'keep_prev_version']
184
+ end
185
+
186
+ if attributes.key?(:'key')
187
+ self.key = attributes[:'key']
188
+ end
189
+
190
+ if attributes.key?(:'lock_on_read')
191
+ self.lock_on_read = attributes[:'lock_on_read']
192
+ end
193
+
194
+ if attributes.key?(:'lock_ttl')
195
+ self.lock_ttl = attributes[:'lock_ttl']
196
+ end
197
+
198
+ if attributes.key?(:'max_versions')
199
+ self.max_versions = attributes[:'max_versions']
200
+ end
201
+
202
+ if attributes.key?(:'name')
203
+ self.name = attributes[:'name']
204
+ else
205
+ self.name = nil
206
+ end
207
+
208
+ if attributes.key?(:'new_name')
209
+ self.new_name = attributes[:'new_name']
210
+ end
211
+
212
+ if attributes.key?(:'region')
213
+ self.region = attributes[:'region']
214
+ end
215
+
216
+ if attributes.key?(:'role_arn')
217
+ self.role_arn = attributes[:'role_arn']
218
+ end
219
+
220
+ if attributes.key?(:'rotate_on_unlock')
221
+ self.rotate_on_unlock = attributes[:'rotate_on_unlock']
222
+ end
223
+
224
+ if attributes.key?(:'session_token')
225
+ self.session_token = attributes[:'session_token']
226
+ end
227
+
228
+ if attributes.key?(:'token')
229
+ self.token = attributes[:'token']
230
+ end
231
+
232
+ if attributes.key?(:'uid_token')
233
+ self.uid_token = attributes[:'uid_token']
234
+ end
235
+
236
+ if attributes.key?(:'use_gw_cloud_identity')
237
+ self.use_gw_cloud_identity = attributes[:'use_gw_cloud_identity']
238
+ end
239
+ end
240
+
241
+ # Show invalid properties with the reasons. Usually used together with valid?
242
+ # @return Array for valid properties with the reasons
243
+ def list_invalid_properties
244
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
245
+ invalid_properties = Array.new
246
+ if @name.nil?
247
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
248
+ end
249
+
250
+ invalid_properties
251
+ end
252
+
253
+ # Check to see if the all the properties in the model are valid
254
+ # @return true if the model is valid
255
+ def valid?
256
+ warn '[DEPRECATED] the `valid?` method is obsolete'
257
+ return false if @name.nil?
258
+ true
259
+ end
260
+
261
+ # Checks equality by comparing each attribute.
262
+ # @param [Object] Object to be compared
263
+ def ==(o)
264
+ return true if self.equal?(o)
265
+ self.class == o.class &&
266
+ access_key == o.access_key &&
267
+ access_key_id == o.access_key_id &&
268
+ delete_protection == o.delete_protection &&
269
+ description == o.description &&
270
+ generate_external_id == o.generate_external_id &&
271
+ json == o.json &&
272
+ keep_prev_version == o.keep_prev_version &&
273
+ key == o.key &&
274
+ lock_on_read == o.lock_on_read &&
275
+ lock_ttl == o.lock_ttl &&
276
+ max_versions == o.max_versions &&
277
+ name == o.name &&
278
+ new_name == o.new_name &&
279
+ region == o.region &&
280
+ role_arn == o.role_arn &&
281
+ rotate_on_unlock == o.rotate_on_unlock &&
282
+ session_token == o.session_token &&
283
+ token == o.token &&
284
+ uid_token == o.uid_token &&
285
+ use_gw_cloud_identity == o.use_gw_cloud_identity
286
+ end
287
+
288
+ # @see the `==` method
289
+ # @param [Object] Object to be compared
290
+ def eql?(o)
291
+ self == o
292
+ end
293
+
294
+ # Calculates hash code according to all attributes.
295
+ # @return [Integer] Hash code
296
+ def hash
297
+ [access_key, access_key_id, delete_protection, description, generate_external_id, json, keep_prev_version, key, lock_on_read, lock_ttl, max_versions, name, new_name, region, role_arn, rotate_on_unlock, session_token, token, uid_token, use_gw_cloud_identity].hash
298
+ end
299
+
300
+ # Builds the object from hash
301
+ # @param [Hash] attributes Model attributes in the form of hash
302
+ # @return [Object] Returns the model itself
303
+ def self.build_from_hash(attributes)
304
+ return nil unless attributes.is_a?(Hash)
305
+ attributes = attributes.transform_keys(&:to_sym)
306
+ transformed_hash = {}
307
+ openapi_types.each_pair do |key, type|
308
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
309
+ transformed_hash["#{key}"] = nil
310
+ elsif type =~ /\AArray<(.*)>/i
311
+ # check to ensure the input is an array given that the attribute
312
+ # is documented as an array but the input is not
313
+ if attributes[attribute_map[key]].is_a?(Array)
314
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
315
+ end
316
+ elsif !attributes[attribute_map[key]].nil?
317
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
318
+ end
319
+ end
320
+ new(transformed_hash)
321
+ end
322
+
323
+ # Deserializes the data based on type
324
+ # @param string type Data type
325
+ # @param string value Value to be deserialized
326
+ # @return [Object] Deserialized data
327
+ def self._deserialize(type, value)
328
+ case type.to_sym
329
+ when :Time
330
+ Time.parse(value)
331
+ when :Date
332
+ Date.parse(value)
333
+ when :String
334
+ value.to_s
335
+ when :Integer
336
+ value.to_i
337
+ when :Float
338
+ value.to_f
339
+ when :Boolean
340
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
341
+ true
342
+ else
343
+ false
344
+ end
345
+ when :Object
346
+ # generic object (usually a Hash), return directly
347
+ value
348
+ when /\AArray<(?<inner_type>.+)>\z/
349
+ inner_type = Regexp.last_match[:inner_type]
350
+ value.map { |v| _deserialize(inner_type, v) }
351
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
352
+ k_type = Regexp.last_match[:k_type]
353
+ v_type = Regexp.last_match[:v_type]
354
+ {}.tap do |hash|
355
+ value.each do |k, v|
356
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
357
+ end
358
+ end
359
+ else # model
360
+ # models (e.g. Pet) or oneOf
361
+ klass = Akeyless.const_get(type)
362
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
363
+ end
364
+ end
365
+
366
+ # Returns the string representation of the object
367
+ # @return [String] String presentation of the object
368
+ def to_s
369
+ to_hash.to_s
370
+ end
371
+
372
+ # to_body is an alias to to_hash (backward compatibility)
373
+ # @return [Hash] Returns the object in the form of hash
374
+ def to_body
375
+ to_hash
376
+ end
377
+
378
+ # Returns the object in the form of hash
379
+ # @return [Hash] Returns the object in the form of hash
380
+ def to_hash
381
+ hash = {}
382
+ self.class.attribute_map.each_pair do |attr, param|
383
+ value = self.send(attr)
384
+ if value.nil?
385
+ is_nullable = self.class.openapi_nullable.include?(attr)
386
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
387
+ end
388
+
389
+ hash[param] = _to_hash(value)
390
+ end
391
+ hash
392
+ end
393
+
394
+ # Outputs non-array value in the form of hash
395
+ # For object, use to_hash. Otherwise, just return the value
396
+ # @param [Object] value Any valid value
397
+ # @return [Hash] Returns the value in the form of hash
398
+ def _to_hash(value)
399
+ if value.is_a?(Array)
400
+ value.compact.map { |v| _to_hash(v) }
401
+ elsif value.is_a?(Hash)
402
+ {}.tap do |hash|
403
+ value.each { |k, v| hash[k] = _to_hash(v) }
404
+ end
405
+ elsif value.respond_to? :to_hash
406
+ value.to_hash
407
+ else
408
+ value
409
+ end
410
+ end
411
+
412
+ end
413
+
414
+ end
@@ -103,9 +103,12 @@ module Akeyless
103
103
  # Allow providing external user for a domain users [true/false]
104
104
  attr_accessor :secure_access_allow_external_user
105
105
 
106
- # Enable Port forwarding while using CLI access (relevant only for EKS/GKE/K8s Dynamic-Secret)
106
+ # Deprecated: old misspelled param, kept for backwards-compatibility. Hidden from help; use secure-access-allow-port-forwarding instead.
107
107
  attr_accessor :secure_access_allow_port_forwading
108
108
 
109
+ # Enable Port forwarding while using CLI access (relevant only for EKS/GKE/K8s Dynamic-Secret)
110
+ attr_accessor :secure_access_allow_port_forwarding
111
+
109
112
  # Bastion's SSH control API endpoint. E.g. https://my.sra-server:9900 (relevant only for ssh cert issuer)
110
113
  attr_accessor :secure_access_api
111
114
 
@@ -238,6 +241,7 @@ module Akeyless
238
241
  :'secure_access_add_host' => :'secure-access-add-host',
239
242
  :'secure_access_allow_external_user' => :'secure-access-allow-external-user',
240
243
  :'secure_access_allow_port_forwading' => :'secure-access-allow-port-forwading',
244
+ :'secure_access_allow_port_forwarding' => :'secure-access-allow-port-forwarding',
241
245
  :'secure_access_api' => :'secure-access-api',
242
246
  :'secure_access_aws_account_id' => :'secure-access-aws-account-id',
243
247
  :'secure_access_aws_native_cli' => :'secure-access-aws-native-cli',
@@ -313,6 +317,7 @@ module Akeyless
313
317
  :'secure_access_add_host' => :'Array<String>',
314
318
  :'secure_access_allow_external_user' => :'String',
315
319
  :'secure_access_allow_port_forwading' => :'Boolean',
320
+ :'secure_access_allow_port_forwarding' => :'Boolean',
316
321
  :'secure_access_api' => :'String',
317
322
  :'secure_access_aws_account_id' => :'String',
318
323
  :'secure_access_aws_native_cli' => :'Boolean',
@@ -352,6 +357,17 @@ module Akeyless
352
357
  # List of attributes with nullable: true
353
358
  def self.openapi_nullable
354
359
  Set.new([
360
+ :'ara_enabled',
361
+ :'enable_agentic_runtime_authority',
362
+ :'enable_ai_quorum',
363
+ :'secure_access_allow_port_forwading',
364
+ :'secure_access_allow_port_forwarding',
365
+ :'secure_access_aws_native_cli',
366
+ :'secure_access_enforce_hosts_restriction',
367
+ :'secure_access_use_internal_bastion',
368
+ :'secure_access_use_internal_ssh_access',
369
+ :'secure_access_web_browsing',
370
+ :'secure_access_web_proxy',
355
371
  ])
356
372
  end
357
373
 
@@ -518,6 +534,10 @@ module Akeyless
518
534
  self.secure_access_allow_port_forwading = attributes[:'secure_access_allow_port_forwading']
519
535
  end
520
536
 
537
+ if attributes.key?(:'secure_access_allow_port_forwarding')
538
+ self.secure_access_allow_port_forwarding = attributes[:'secure_access_allow_port_forwarding']
539
+ end
540
+
521
541
  if attributes.key?(:'secure_access_api')
522
542
  self.secure_access_api = attributes[:'secure_access_api']
523
543
  end
@@ -713,6 +733,7 @@ module Akeyless
713
733
  secure_access_add_host == o.secure_access_add_host &&
714
734
  secure_access_allow_external_user == o.secure_access_allow_external_user &&
715
735
  secure_access_allow_port_forwading == o.secure_access_allow_port_forwading &&
736
+ secure_access_allow_port_forwarding == o.secure_access_allow_port_forwarding &&
716
737
  secure_access_api == o.secure_access_api &&
717
738
  secure_access_aws_account_id == o.secure_access_aws_account_id &&
718
739
  secure_access_aws_native_cli == o.secure_access_aws_native_cli &&
@@ -757,7 +778,7 @@ module Akeyless
757
778
  # Calculates hash code according to all attributes.
758
779
  # @return [Integer] Hash code
759
780
  def hash
760
- [provider_type, accessibility, add_tag, ara_enabled, cert_file_data, certificate_format, change_event, delete_protection, description, enable_agentic_runtime_authority, enable_ai_quorum, expiration_event_in, gcp_sm_regions, host_provider, input_rule, item_custom_fields, json, lock_during_sra_session, lock_on_read, lock_ttl, max_versions, name, new_metadata, new_name, output_rule, rm_tag, rotate_after_disconnect, rotate_on_unlock, secure_access_add_host, secure_access_allow_external_user, secure_access_allow_port_forwading, secure_access_api, secure_access_aws_account_id, secure_access_aws_native_cli, secure_access_aws_region, secure_access_bastion_api, secure_access_bastion_issuer, secure_access_bastion_ssh, secure_access_certificate_issuer, secure_access_cluster_endpoint, secure_access_dashboard_url, secure_access_db_name, secure_access_db_schema, secure_access_enable, secure_access_enforce_hosts_restriction, secure_access_gateway, secure_access_host, secure_access_rd_gateway_server, secure_access_rdp_domain, secure_access_rdp_user, secure_access_rm_host, secure_access_ssh, secure_access_ssh_creds, secure_access_ssh_creds_user, secure_access_url, secure_access_use_internal_bastion, secure_access_use_internal_ssh_access, secure_access_web_browsing, secure_access_web_proxy, target, token, uid_token, usc_tags, use_tags_as_filter].hash
781
+ [provider_type, accessibility, add_tag, ara_enabled, cert_file_data, certificate_format, change_event, delete_protection, description, enable_agentic_runtime_authority, enable_ai_quorum, expiration_event_in, gcp_sm_regions, host_provider, input_rule, item_custom_fields, json, lock_during_sra_session, lock_on_read, lock_ttl, max_versions, name, new_metadata, new_name, output_rule, rm_tag, rotate_after_disconnect, rotate_on_unlock, secure_access_add_host, secure_access_allow_external_user, secure_access_allow_port_forwading, secure_access_allow_port_forwarding, secure_access_api, secure_access_aws_account_id, secure_access_aws_native_cli, secure_access_aws_region, secure_access_bastion_api, secure_access_bastion_issuer, secure_access_bastion_ssh, secure_access_certificate_issuer, secure_access_cluster_endpoint, secure_access_dashboard_url, secure_access_db_name, secure_access_db_schema, secure_access_enable, secure_access_enforce_hosts_restriction, secure_access_gateway, secure_access_host, secure_access_rd_gateway_server, secure_access_rdp_domain, secure_access_rdp_user, secure_access_rm_host, secure_access_ssh, secure_access_ssh_creds, secure_access_ssh_creds_user, secure_access_url, secure_access_use_internal_bastion, secure_access_use_internal_ssh_access, secure_access_web_browsing, secure_access_web_proxy, target, token, uid_token, usc_tags, use_tags_as_filter].hash
761
782
  end
762
783
 
763
784
  # Builds the object from hash
@@ -108,6 +108,9 @@ module Akeyless
108
108
  # List of attributes with nullable: true
109
109
  def self.openapi_nullable
110
110
  Set.new([
111
+ :'ara_enabled',
112
+ :'enable_agentic_runtime_authority',
113
+ :'enable_ai_quorum',
111
114
  ])
112
115
  end
113
116
 
@@ -133,6 +133,9 @@ module Akeyless
133
133
  # List of attributes with nullable: true
134
134
  def self.openapi_nullable
135
135
  Set.new([
136
+ :'ara_enabled',
137
+ :'enable_agentic_runtime_authority',
138
+ :'enable_ai_quorum',
136
139
  ])
137
140
  end
138
141
 
@@ -123,6 +123,9 @@ module Akeyless
123
123
  # List of attributes with nullable: true
124
124
  def self.openapi_nullable
125
125
  Set.new([
126
+ :'ara_enabled',
127
+ :'enable_agentic_runtime_authority',
128
+ :'enable_ai_quorum',
126
129
  ])
127
130
  end
128
131
 
@@ -111,9 +111,12 @@ module Akeyless
111
111
  # Allow providing external user for a domain users [true/false]
112
112
  attr_accessor :secure_access_allow_external_user
113
113
 
114
- # Enable Port forwarding while using CLI access (relevant only for EKS/GKE/K8s Dynamic-Secret)
114
+ # Deprecated: old misspelled param, kept for backwards-compatibility. Hidden from help; use secure-access-allow-port-forwarding instead.
115
115
  attr_accessor :secure_access_allow_port_forwading
116
116
 
117
+ # Enable Port forwarding while using CLI access (relevant only for EKS/GKE/K8s Dynamic-Secret)
118
+ attr_accessor :secure_access_allow_port_forwarding
119
+
117
120
  # The AWS account id (relevant only for aws)
118
121
  attr_accessor :secure_access_aws_account_id
119
122
 
@@ -228,6 +231,7 @@ module Akeyless
228
231
  :'same_password' => :'same-password',
229
232
  :'secure_access_allow_external_user' => :'secure-access-allow-external-user',
230
233
  :'secure_access_allow_port_forwading' => :'secure-access-allow-port-forwading',
234
+ :'secure_access_allow_port_forwarding' => :'secure-access-allow-port-forwarding',
231
235
  :'secure_access_aws_account_id' => :'secure-access-aws-account-id',
232
236
  :'secure_access_aws_native_cli' => :'secure-access-aws-native-cli',
233
237
  :'secure_access_bastion_issuer' => :'secure-access-bastion-issuer',
@@ -298,6 +302,7 @@ module Akeyless
298
302
  :'same_password' => :'String',
299
303
  :'secure_access_allow_external_user' => :'String',
300
304
  :'secure_access_allow_port_forwading' => :'Boolean',
305
+ :'secure_access_allow_port_forwarding' => :'Boolean',
301
306
  :'secure_access_aws_account_id' => :'String',
302
307
  :'secure_access_aws_native_cli' => :'Boolean',
303
308
  :'secure_access_bastion_issuer' => :'String',
@@ -330,6 +335,14 @@ module Akeyless
330
335
  # List of attributes with nullable: true
331
336
  def self.openapi_nullable
332
337
  Set.new([
338
+ :'secure_access_allow_port_forwading',
339
+ :'secure_access_allow_port_forwarding',
340
+ :'secure_access_aws_native_cli',
341
+ :'secure_access_enforce_hosts_restriction',
342
+ :'secure_access_use_internal_bastion',
343
+ :'secure_access_use_internal_ssh_access',
344
+ :'secure_access_web_browsing',
345
+ :'secure_access_web_proxy',
333
346
  ])
334
347
  end
335
348
 
@@ -494,6 +507,10 @@ module Akeyless
494
507
  self.secure_access_allow_port_forwading = attributes[:'secure_access_allow_port_forwading']
495
508
  end
496
509
 
510
+ if attributes.key?(:'secure_access_allow_port_forwarding')
511
+ self.secure_access_allow_port_forwarding = attributes[:'secure_access_allow_port_forwarding']
512
+ end
513
+
497
514
  if attributes.key?(:'secure_access_aws_account_id')
498
515
  self.secure_access_aws_account_id = attributes[:'secure_access_aws_account_id']
499
516
  end
@@ -665,6 +682,7 @@ module Akeyless
665
682
  same_password == o.same_password &&
666
683
  secure_access_allow_external_user == o.secure_access_allow_external_user &&
667
684
  secure_access_allow_port_forwading == o.secure_access_allow_port_forwading &&
685
+ secure_access_allow_port_forwarding == o.secure_access_allow_port_forwarding &&
668
686
  secure_access_aws_account_id == o.secure_access_aws_account_id &&
669
687
  secure_access_aws_native_cli == o.secure_access_aws_native_cli &&
670
688
  secure_access_bastion_issuer == o.secure_access_bastion_issuer &&
@@ -702,7 +720,7 @@ module Akeyless
702
720
  # Calculates hash code according to all attributes.
703
721
  # @return [Integer] Hash code
704
722
  def hash
705
- [provider_type, add_tag, api_id, api_key, auto_rotate, aws_region, custom_payload, description, gcp_key, grace_rotation, host_provider, json, keep_prev_version, key, lock_during_sra_session, lock_on_read, lock_ttl, name, new_metadata, new_name, new_version, rm_tag, rotate_after_disconnect, rotate_on_unlock, rotated_password, rotated_username, rotation_hour, rotation_interval, rotator_creds_type, rotator_custom_cmd, same_password, secure_access_allow_external_user, secure_access_allow_port_forwading, secure_access_aws_account_id, secure_access_aws_native_cli, secure_access_bastion_issuer, secure_access_certificate_issuer, secure_access_db_name, secure_access_db_schema, secure_access_disable_concurrent_connections, secure_access_enable, secure_access_enforce_hosts_restriction, secure_access_host, secure_access_rdp_domain, secure_access_rdp_user, secure_access_url, secure_access_use_internal_bastion, secure_access_use_internal_ssh_access, secure_access_web, secure_access_web_browsing, secure_access_web_proxy, ssh_password, ssh_username, storage_account_key_name, target, token, uid_token, user_attribute, user_dn].hash
723
+ [provider_type, add_tag, api_id, api_key, auto_rotate, aws_region, custom_payload, description, gcp_key, grace_rotation, host_provider, json, keep_prev_version, key, lock_during_sra_session, lock_on_read, lock_ttl, name, new_metadata, new_name, new_version, rm_tag, rotate_after_disconnect, rotate_on_unlock, rotated_password, rotated_username, rotation_hour, rotation_interval, rotator_creds_type, rotator_custom_cmd, same_password, secure_access_allow_external_user, secure_access_allow_port_forwading, secure_access_allow_port_forwarding, secure_access_aws_account_id, secure_access_aws_native_cli, secure_access_bastion_issuer, secure_access_certificate_issuer, secure_access_db_name, secure_access_db_schema, secure_access_disable_concurrent_connections, secure_access_enable, secure_access_enforce_hosts_restriction, secure_access_host, secure_access_rdp_domain, secure_access_rdp_user, secure_access_url, secure_access_use_internal_bastion, secure_access_use_internal_ssh_access, secure_access_web, secure_access_web_browsing, secure_access_web_proxy, ssh_password, ssh_username, storage_account_key_name, target, token, uid_token, user_attribute, user_dn].hash
706
724
  end
707
725
 
708
726
  # Builds the object from hash
@@ -16,6 +16,9 @@ require 'time'
16
16
  module Akeyless
17
17
  # uscCreate is a command that creates a new secret in a Universal Secrets Connector
18
18
  class UscCreate
19
+ # The AWS account ID to create the secret in. Required when the connector spans multiple account IDs.
20
+ attr_accessor :aws_account_id
21
+
19
22
  # Use this option if the universal secrets value is a base64 encoded binary
20
23
  attr_accessor :binary_value
21
24
 
@@ -36,7 +39,7 @@ module Akeyless
36
39
  # Optional, the passphrase that protects the private key within the pfx certificate (Relevant only for Azure KV certificates)
37
40
  attr_accessor :pfx_password
38
41
 
39
- # Optional, create secret in a specific region (GCP only). If empty, a global secret will be created (provider default).
42
+ # AWS Organization scope region or GCP regional secret location. GCP creates a global secret when empty.
40
43
  attr_accessor :region
41
44
 
42
45
  # Activation date for the secret on the remote endpoint, in UTC format: YYYY-MM-DDTHH:MM:SSZ
@@ -71,6 +74,7 @@ module Akeyless
71
74
  # Attribute mapping from ruby-style variable name to JSON key.
72
75
  def self.attribute_map
73
76
  {
77
+ :'aws_account_id' => :'aws-account-id',
74
78
  :'binary_value' => :'binary-value',
75
79
  :'description' => :'description',
76
80
  :'gcp_project_id' => :'gcp-project-id',
@@ -100,6 +104,7 @@ module Akeyless
100
104
  # Attribute type mapping.
101
105
  def self.openapi_types
102
106
  {
107
+ :'aws_account_id' => :'String',
103
108
  :'binary_value' => :'Boolean',
104
109
  :'description' => :'String',
105
110
  :'gcp_project_id' => :'String',
@@ -142,6 +147,10 @@ module Akeyless
142
147
  h[k.to_sym] = v
143
148
  }
144
149
 
150
+ if attributes.key?(:'aws_account_id')
151
+ self.aws_account_id = attributes[:'aws_account_id']
152
+ end
153
+
145
154
  if attributes.key?(:'binary_value')
146
155
  self.binary_value = attributes[:'binary_value']
147
156
  end
@@ -260,6 +269,7 @@ module Akeyless
260
269
  def ==(o)
261
270
  return true if self.equal?(o)
262
271
  self.class == o.class &&
272
+ aws_account_id == o.aws_account_id &&
263
273
  binary_value == o.binary_value &&
264
274
  description == o.description &&
265
275
  gcp_project_id == o.gcp_project_id &&
@@ -289,7 +299,7 @@ module Akeyless
289
299
  # Calculates hash code according to all attributes.
290
300
  # @return [Integer] Hash code
291
301
  def hash
292
- [binary_value, description, gcp_project_id, json, namespace, object_type, pfx_password, region, remote_secret_activation_date, remote_secret_expires, secret_name, selected_repositories, tags, token, uid_token, usc_encryption_key, usc_name, value].hash
302
+ [aws_account_id, binary_value, description, gcp_project_id, json, namespace, object_type, pfx_password, region, remote_secret_activation_date, remote_secret_expires, secret_name, selected_repositories, tags, token, uid_token, usc_encryption_key, usc_name, value].hash
293
303
  end
294
304
 
295
305
  # Builds the object from hash