akeyless 5.0.38 → 5.0.39

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 (108) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +13 -2
  3. data/docs/AssocTargetItem.md +5 -1
  4. data/docs/ClientEvent.md +26 -0
  5. data/docs/ClientEventOutput.md +18 -0
  6. data/docs/Connect.md +2 -0
  7. data/docs/CreateEventForwarder.md +1 -1
  8. data/docs/CreateLdapTarget.md +3 -1
  9. data/docs/CreatePKICertIssuer.md +6 -0
  10. data/docs/DSProducerDetails.md +2 -0
  11. data/docs/DigiCertTargetDetails.md +8 -0
  12. data/docs/EventForwarderCreateEmail.md +1 -1
  13. data/docs/EventForwarderCreateServiceNow.md +1 -1
  14. data/docs/EventForwarderCreateSlack.md +1 -1
  15. data/docs/EventForwarderCreateTeams.md +1 -1
  16. data/docs/EventForwarderCreateWebhook.md +1 -1
  17. data/docs/EventForwarderUpdateEmail.md +1 -1
  18. data/docs/EventForwarderUpdateServiceNow.md +1 -1
  19. data/docs/EventForwarderUpdateSlack.md +1 -1
  20. data/docs/EventForwarderUpdateTeams.md +1 -1
  21. data/docs/EventForwarderUpdateWebhook.md +1 -1
  22. data/docs/GatewayCreateAllowedAccess.md +1 -1
  23. data/docs/GatewayUpdateAllowedAccess.md +1 -1
  24. data/docs/GenerateIntermediateCA.md +48 -0
  25. data/docs/GenerateIntermediateCAOutput.md +26 -0
  26. data/docs/GoogleTrustTargetDetails.md +8 -0
  27. data/docs/InjectorCertificateEvent.md +28 -0
  28. data/docs/Item.md +2 -0
  29. data/docs/LdapTargetDetails.md +3 -1
  30. data/docs/LetsEncryptTargetDetails.md +8 -0
  31. data/docs/ListSRASessions.md +2 -0
  32. data/docs/ListSraSessionsOutput.md +3 -3
  33. data/docs/LockItem.md +1 -1
  34. data/docs/MigrationGeneral.md +6 -0
  35. data/docs/PKICertificateIssueDetails.md +4 -0
  36. data/docs/RequestAccess.md +2 -0
  37. data/docs/RotatedSecretCreateOkta.md +82 -0
  38. data/docs/RotatedSecretUpdateOkta.md +84 -0
  39. data/docs/Target.md +2 -0
  40. data/docs/TargetCreateDigiCert.md +8 -0
  41. data/docs/TargetCreateGoogleTrust.md +8 -0
  42. data/docs/TargetCreateLdap.md +3 -1
  43. data/docs/TargetCreateLetsEncrypt.md +8 -0
  44. data/docs/TargetUpdateDigiCert.md +8 -0
  45. data/docs/TargetUpdateGoogleTrust.md +8 -0
  46. data/docs/TargetUpdateLdap.md +3 -1
  47. data/docs/TargetUpdateLetsEncrypt.md +8 -0
  48. data/docs/UpdateLdapTarget.md +3 -1
  49. data/docs/UpdatePKICertIssuer.md +6 -0
  50. data/docs/V2Api.md +257 -3
  51. data/lib/akeyless/api/v2_api.rb +260 -0
  52. data/lib/akeyless/models/assoc_target_item.rb +24 -2
  53. data/lib/akeyless/models/client_event.rb +256 -0
  54. data/lib/akeyless/models/client_event_output.rb +214 -0
  55. data/lib/akeyless/models/connect.rb +11 -1
  56. data/lib/akeyless/models/create_event_forwarder.rb +1 -1
  57. data/lib/akeyless/models/create_ldap_target.rb +14 -4
  58. data/lib/akeyless/models/create_pki_cert_issuer.rb +31 -1
  59. data/lib/akeyless/models/digi_cert_target_details.rb +43 -1
  60. data/lib/akeyless/models/ds_producer_details.rb +10 -1
  61. data/lib/akeyless/models/event_forwarder_create_email.rb +1 -1
  62. data/lib/akeyless/models/event_forwarder_create_service_now.rb +1 -1
  63. data/lib/akeyless/models/event_forwarder_create_slack.rb +1 -1
  64. data/lib/akeyless/models/event_forwarder_create_teams.rb +1 -1
  65. data/lib/akeyless/models/event_forwarder_create_webhook.rb +1 -1
  66. data/lib/akeyless/models/event_forwarder_update_email.rb +1 -1
  67. data/lib/akeyless/models/event_forwarder_update_service_now.rb +1 -1
  68. data/lib/akeyless/models/event_forwarder_update_slack.rb +1 -1
  69. data/lib/akeyless/models/event_forwarder_update_teams.rb +1 -1
  70. data/lib/akeyless/models/event_forwarder_update_webhook.rb +1 -1
  71. data/lib/akeyless/models/gateway_create_allowed_access.rb +1 -1
  72. data/lib/akeyless/models/gateway_update_allowed_access.rb +1 -1
  73. data/lib/akeyless/models/generate_intermediate_ca.rb +379 -0
  74. data/lib/akeyless/models/generate_intermediate_ca_output.rb +250 -0
  75. data/lib/akeyless/models/google_trust_target_details.rb +43 -1
  76. data/lib/akeyless/models/injector_certificate_event.rb +259 -0
  77. data/lib/akeyless/models/item.rb +10 -1
  78. data/lib/akeyless/models/ldap_target_details.rb +13 -4
  79. data/lib/akeyless/models/lets_encrypt_target_details.rb +43 -1
  80. data/lib/akeyless/models/list_sra_sessions.rb +12 -2
  81. data/lib/akeyless/models/list_sra_sessions_output.rb +3 -0
  82. data/lib/akeyless/models/lock_item.rb +1 -1
  83. data/lib/akeyless/models/migration_general.rb +28 -1
  84. data/lib/akeyless/models/pki_certificate_issue_details.rb +21 -1
  85. data/lib/akeyless/models/request_access.rb +11 -1
  86. data/lib/akeyless/models/rotated_secret_create_okta.rb +556 -0
  87. data/lib/akeyless/models/rotated_secret_update_okta.rb +563 -0
  88. data/lib/akeyless/models/target.rb +10 -1
  89. data/lib/akeyless/models/target_create_digi_cert.rb +43 -1
  90. data/lib/akeyless/models/target_create_google_trust.rb +43 -1
  91. data/lib/akeyless/models/target_create_ldap.rb +14 -4
  92. data/lib/akeyless/models/target_create_lets_encrypt.rb +43 -1
  93. data/lib/akeyless/models/target_update_digi_cert.rb +43 -1
  94. data/lib/akeyless/models/target_update_google_trust.rb +43 -1
  95. data/lib/akeyless/models/target_update_ldap.rb +14 -4
  96. data/lib/akeyless/models/target_update_lets_encrypt.rb +43 -1
  97. data/lib/akeyless/models/update_ldap_target.rb +14 -4
  98. data/lib/akeyless/models/update_pki_cert_issuer.rb +31 -1
  99. data/lib/akeyless/version.rb +1 -1
  100. data/lib/akeyless.rb +7 -0
  101. data/spec/models/client_event_output_spec.rb +36 -0
  102. data/spec/models/client_event_spec.rb +60 -0
  103. data/spec/models/generate_intermediate_ca_output_spec.rb +60 -0
  104. data/spec/models/generate_intermediate_ca_spec.rb +126 -0
  105. data/spec/models/injector_certificate_event_spec.rb +66 -0
  106. data/spec/models/rotated_secret_create_okta_spec.rb +228 -0
  107. data/spec/models/rotated_secret_update_okta_spec.rb +234 -0
  108. metadata +30 -2
@@ -0,0 +1,563 @@
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 RotatedSecretUpdateOkta
18
+ # List of the new tags that will be attached to this item. To specify multiple tags use argument multiple times: --add-tag Tag1 --add-tag Tag2
19
+ attr_accessor :add_tag
20
+
21
+ # Enable or disable Agentic Runtime Authority rule enforcement for this item. When false, user-defined input/output rules are stored but not enforced; the base security validation still runs. AraEnabled is tri-state (nil/true/false), not a plain bool: it self-encodes its wire value (see akl.OptionalBool) so an explicit false survives the curl-proxy relay instead of being dropped like a default-false bool flag.
22
+ attr_accessor :ara_enabled
23
+
24
+ # Okta uses the SSWS token from the target.
25
+ attr_accessor :authentication_credentials
26
+
27
+ attr_accessor :auto_rotate
28
+
29
+ # Protection from accidental deletion of this object [true/false]
30
+ attr_accessor :delete_protection
31
+
32
+ # Description of the object
33
+ attr_accessor :description
34
+
35
+ # EnableAra is the documented spelling of AraEnabled. Both set the same field; --ara-enabled shipped first and stays as an undocumented alias so existing scripts and the Terraform provider keep working.
36
+ attr_accessor :enable_agentic_runtime_authority
37
+
38
+ # Turns on AI Quorum checks for this item.
39
+ attr_accessor :enable_ai_quorum
40
+
41
+ # Agentic input rule in name=...,rule=... format (e.g. name=rule1,rule=Sanitize input)
42
+ attr_accessor :input_rule
43
+
44
+ # Additional custom fields to associate with the item
45
+ attr_accessor :item_custom_fields
46
+
47
+ # Set output format to JSON
48
+ attr_accessor :json
49
+
50
+ # Whether to keep previous version [true/false]. If not set, use default according to account settings
51
+ attr_accessor :keep_prev_version
52
+
53
+ attr_accessor :key
54
+
55
+ # Lock this secret after each successful value read
56
+ attr_accessor :lock_on_read
57
+
58
+ # Lock TTL in minutes
59
+ attr_accessor :lock_ttl
60
+
61
+ # Set the maximum number of versions, limited by the account settings defaults.
62
+ attr_accessor :max_versions
63
+
64
+ # Rotated secret name
65
+ attr_accessor :name
66
+
67
+ # New item name
68
+ attr_accessor :new_name
69
+
70
+ # Agentic output rule in name=...,rule=... format (e.g. name=rule1,rule=Mask secrets)
71
+ attr_accessor :output_rule
72
+
73
+ # The length of the password to be generated
74
+ attr_accessor :password_length
75
+
76
+ # List of the existent tags that will be removed from this item. To specify multiple tags use argument multiple times: --rm-tag Tag1 --rm-tag Tag2
77
+ attr_accessor :rm_tag
78
+
79
+ # Rotate this secret after it is unlocked
80
+ attr_accessor :rotate_on_unlock
81
+
82
+ # rotated-username password (relevant only for rotator-type=password)
83
+ attr_accessor :rotated_password
84
+
85
+ # username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
86
+ attr_accessor :rotated_username
87
+
88
+ # How many days before the rotation of the item would you like to be notified
89
+ attr_accessor :rotation_event_in
90
+
91
+ attr_accessor :rotation_hour
92
+
93
+ attr_accessor :rotation_interval
94
+
95
+ # If set, dry-run will be skipped [true/false]
96
+ attr_accessor :skip_dry_run
97
+
98
+ # Authentication token (see `/auth` and `/configure`)
99
+ attr_accessor :token
100
+
101
+ # The universal identity token, Required only for universal_identity authentication
102
+ attr_accessor :uid_token
103
+
104
+ # Specifies whether the generated temporary password must contain at least one uppercase character from the ISO basic Latin alphabet (A to Z). [true/false]
105
+ attr_accessor :use_capital_letters
106
+
107
+ # Specifies whether the generated temporary password must contain at least one lowercase character from the ISO basic Latin alphabet (a to z). [true/false]
108
+ attr_accessor :use_lower_letters
109
+
110
+ # Specifies whether the generated temporary password must contain at least one numeric character (0 to 9). [true/false]
111
+ attr_accessor :use_numbers
112
+
113
+ attr_accessor :use_special_characters
114
+
115
+ # Attribute mapping from ruby-style variable name to JSON key.
116
+ def self.attribute_map
117
+ {
118
+ :'add_tag' => :'add-tag',
119
+ :'ara_enabled' => :'ara-enabled',
120
+ :'authentication_credentials' => :'authentication-credentials',
121
+ :'auto_rotate' => :'auto-rotate',
122
+ :'delete_protection' => :'delete_protection',
123
+ :'description' => :'description',
124
+ :'enable_agentic_runtime_authority' => :'enable-agentic-runtime-authority',
125
+ :'enable_ai_quorum' => :'enable-ai-quorum',
126
+ :'input_rule' => :'input-rule',
127
+ :'item_custom_fields' => :'item-custom-fields',
128
+ :'json' => :'json',
129
+ :'keep_prev_version' => :'keep-prev-version',
130
+ :'key' => :'key',
131
+ :'lock_on_read' => :'lock-on-read',
132
+ :'lock_ttl' => :'lock-ttl',
133
+ :'max_versions' => :'max-versions',
134
+ :'name' => :'name',
135
+ :'new_name' => :'new-name',
136
+ :'output_rule' => :'output-rule',
137
+ :'password_length' => :'password-length',
138
+ :'rm_tag' => :'rm-tag',
139
+ :'rotate_on_unlock' => :'rotate-on-unlock',
140
+ :'rotated_password' => :'rotated-password',
141
+ :'rotated_username' => :'rotated-username',
142
+ :'rotation_event_in' => :'rotation-event-in',
143
+ :'rotation_hour' => :'rotation-hour',
144
+ :'rotation_interval' => :'rotation-interval',
145
+ :'skip_dry_run' => :'skip-dry-run',
146
+ :'token' => :'token',
147
+ :'uid_token' => :'uid-token',
148
+ :'use_capital_letters' => :'use-capital-letters',
149
+ :'use_lower_letters' => :'use-lower-letters',
150
+ :'use_numbers' => :'use-numbers',
151
+ :'use_special_characters' => :'use-special-characters'
152
+ }
153
+ end
154
+
155
+ # Returns all the JSON keys this model knows about
156
+ def self.acceptable_attributes
157
+ attribute_map.values
158
+ end
159
+
160
+ # Attribute type mapping.
161
+ def self.openapi_types
162
+ {
163
+ :'add_tag' => :'Array<String>',
164
+ :'ara_enabled' => :'Boolean',
165
+ :'authentication_credentials' => :'String',
166
+ :'auto_rotate' => :'String',
167
+ :'delete_protection' => :'String',
168
+ :'description' => :'String',
169
+ :'enable_agentic_runtime_authority' => :'Boolean',
170
+ :'enable_ai_quorum' => :'Boolean',
171
+ :'input_rule' => :'Array<String>',
172
+ :'item_custom_fields' => :'Hash<String, String>',
173
+ :'json' => :'Boolean',
174
+ :'keep_prev_version' => :'String',
175
+ :'key' => :'String',
176
+ :'lock_on_read' => :'String',
177
+ :'lock_ttl' => :'String',
178
+ :'max_versions' => :'String',
179
+ :'name' => :'String',
180
+ :'new_name' => :'String',
181
+ :'output_rule' => :'Array<String>',
182
+ :'password_length' => :'String',
183
+ :'rm_tag' => :'Array<String>',
184
+ :'rotate_on_unlock' => :'String',
185
+ :'rotated_password' => :'String',
186
+ :'rotated_username' => :'String',
187
+ :'rotation_event_in' => :'Array<String>',
188
+ :'rotation_hour' => :'Integer',
189
+ :'rotation_interval' => :'String',
190
+ :'skip_dry_run' => :'Boolean',
191
+ :'token' => :'String',
192
+ :'uid_token' => :'String',
193
+ :'use_capital_letters' => :'String',
194
+ :'use_lower_letters' => :'String',
195
+ :'use_numbers' => :'String',
196
+ :'use_special_characters' => :'String'
197
+ }
198
+ end
199
+
200
+ # List of attributes with nullable: true
201
+ def self.openapi_nullable
202
+ Set.new([
203
+ ])
204
+ end
205
+
206
+ # Initializes the object
207
+ # @param [Hash] attributes Model attributes in the form of hash
208
+ def initialize(attributes = {})
209
+ if (!attributes.is_a?(Hash))
210
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::RotatedSecretUpdateOkta` initialize method"
211
+ end
212
+
213
+ # check to see if the attribute exists and convert string to symbol for hash key
214
+ attributes = attributes.each_with_object({}) { |(k, v), h|
215
+ if (!self.class.attribute_map.key?(k.to_sym))
216
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::RotatedSecretUpdateOkta`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
217
+ end
218
+ h[k.to_sym] = v
219
+ }
220
+
221
+ if attributes.key?(:'add_tag')
222
+ if (value = attributes[:'add_tag']).is_a?(Array)
223
+ self.add_tag = value
224
+ end
225
+ end
226
+
227
+ if attributes.key?(:'ara_enabled')
228
+ self.ara_enabled = attributes[:'ara_enabled']
229
+ end
230
+
231
+ if attributes.key?(:'authentication_credentials')
232
+ self.authentication_credentials = attributes[:'authentication_credentials']
233
+ end
234
+
235
+ if attributes.key?(:'auto_rotate')
236
+ self.auto_rotate = attributes[:'auto_rotate']
237
+ end
238
+
239
+ if attributes.key?(:'delete_protection')
240
+ self.delete_protection = attributes[:'delete_protection']
241
+ end
242
+
243
+ if attributes.key?(:'description')
244
+ self.description = attributes[:'description']
245
+ else
246
+ self.description = 'default_metadata'
247
+ end
248
+
249
+ if attributes.key?(:'enable_agentic_runtime_authority')
250
+ self.enable_agentic_runtime_authority = attributes[:'enable_agentic_runtime_authority']
251
+ end
252
+
253
+ if attributes.key?(:'enable_ai_quorum')
254
+ self.enable_ai_quorum = attributes[:'enable_ai_quorum']
255
+ end
256
+
257
+ if attributes.key?(:'input_rule')
258
+ if (value = attributes[:'input_rule']).is_a?(Array)
259
+ self.input_rule = value
260
+ end
261
+ end
262
+
263
+ if attributes.key?(:'item_custom_fields')
264
+ if (value = attributes[:'item_custom_fields']).is_a?(Hash)
265
+ self.item_custom_fields = value
266
+ end
267
+ end
268
+
269
+ if attributes.key?(:'json')
270
+ self.json = attributes[:'json']
271
+ else
272
+ self.json = false
273
+ end
274
+
275
+ if attributes.key?(:'keep_prev_version')
276
+ self.keep_prev_version = attributes[:'keep_prev_version']
277
+ end
278
+
279
+ if attributes.key?(:'key')
280
+ self.key = attributes[:'key']
281
+ end
282
+
283
+ if attributes.key?(:'lock_on_read')
284
+ self.lock_on_read = attributes[:'lock_on_read']
285
+ end
286
+
287
+ if attributes.key?(:'lock_ttl')
288
+ self.lock_ttl = attributes[:'lock_ttl']
289
+ end
290
+
291
+ if attributes.key?(:'max_versions')
292
+ self.max_versions = attributes[:'max_versions']
293
+ end
294
+
295
+ if attributes.key?(:'name')
296
+ self.name = attributes[:'name']
297
+ else
298
+ self.name = nil
299
+ end
300
+
301
+ if attributes.key?(:'new_name')
302
+ self.new_name = attributes[:'new_name']
303
+ end
304
+
305
+ if attributes.key?(:'output_rule')
306
+ if (value = attributes[:'output_rule']).is_a?(Array)
307
+ self.output_rule = value
308
+ end
309
+ end
310
+
311
+ if attributes.key?(:'password_length')
312
+ self.password_length = attributes[:'password_length']
313
+ end
314
+
315
+ if attributes.key?(:'rm_tag')
316
+ if (value = attributes[:'rm_tag']).is_a?(Array)
317
+ self.rm_tag = value
318
+ end
319
+ end
320
+
321
+ if attributes.key?(:'rotate_on_unlock')
322
+ self.rotate_on_unlock = attributes[:'rotate_on_unlock']
323
+ end
324
+
325
+ if attributes.key?(:'rotated_password')
326
+ self.rotated_password = attributes[:'rotated_password']
327
+ end
328
+
329
+ if attributes.key?(:'rotated_username')
330
+ self.rotated_username = attributes[:'rotated_username']
331
+ end
332
+
333
+ if attributes.key?(:'rotation_event_in')
334
+ if (value = attributes[:'rotation_event_in']).is_a?(Array)
335
+ self.rotation_event_in = value
336
+ end
337
+ end
338
+
339
+ if attributes.key?(:'rotation_hour')
340
+ self.rotation_hour = attributes[:'rotation_hour']
341
+ end
342
+
343
+ if attributes.key?(:'rotation_interval')
344
+ self.rotation_interval = attributes[:'rotation_interval']
345
+ end
346
+
347
+ if attributes.key?(:'skip_dry_run')
348
+ self.skip_dry_run = attributes[:'skip_dry_run']
349
+ end
350
+
351
+ if attributes.key?(:'token')
352
+ self.token = attributes[:'token']
353
+ end
354
+
355
+ if attributes.key?(:'uid_token')
356
+ self.uid_token = attributes[:'uid_token']
357
+ end
358
+
359
+ if attributes.key?(:'use_capital_letters')
360
+ self.use_capital_letters = attributes[:'use_capital_letters']
361
+ end
362
+
363
+ if attributes.key?(:'use_lower_letters')
364
+ self.use_lower_letters = attributes[:'use_lower_letters']
365
+ end
366
+
367
+ if attributes.key?(:'use_numbers')
368
+ self.use_numbers = attributes[:'use_numbers']
369
+ end
370
+
371
+ if attributes.key?(:'use_special_characters')
372
+ self.use_special_characters = attributes[:'use_special_characters']
373
+ end
374
+ end
375
+
376
+ # Show invalid properties with the reasons. Usually used together with valid?
377
+ # @return Array for valid properties with the reasons
378
+ def list_invalid_properties
379
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
380
+ invalid_properties = Array.new
381
+ if @name.nil?
382
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
383
+ end
384
+
385
+ invalid_properties
386
+ end
387
+
388
+ # Check to see if the all the properties in the model are valid
389
+ # @return true if the model is valid
390
+ def valid?
391
+ warn '[DEPRECATED] the `valid?` method is obsolete'
392
+ return false if @name.nil?
393
+ true
394
+ end
395
+
396
+ # Checks equality by comparing each attribute.
397
+ # @param [Object] Object to be compared
398
+ def ==(o)
399
+ return true if self.equal?(o)
400
+ self.class == o.class &&
401
+ add_tag == o.add_tag &&
402
+ ara_enabled == o.ara_enabled &&
403
+ authentication_credentials == o.authentication_credentials &&
404
+ auto_rotate == o.auto_rotate &&
405
+ delete_protection == o.delete_protection &&
406
+ description == o.description &&
407
+ enable_agentic_runtime_authority == o.enable_agentic_runtime_authority &&
408
+ enable_ai_quorum == o.enable_ai_quorum &&
409
+ input_rule == o.input_rule &&
410
+ item_custom_fields == o.item_custom_fields &&
411
+ json == o.json &&
412
+ keep_prev_version == o.keep_prev_version &&
413
+ key == o.key &&
414
+ lock_on_read == o.lock_on_read &&
415
+ lock_ttl == o.lock_ttl &&
416
+ max_versions == o.max_versions &&
417
+ name == o.name &&
418
+ new_name == o.new_name &&
419
+ output_rule == o.output_rule &&
420
+ password_length == o.password_length &&
421
+ rm_tag == o.rm_tag &&
422
+ rotate_on_unlock == o.rotate_on_unlock &&
423
+ rotated_password == o.rotated_password &&
424
+ rotated_username == o.rotated_username &&
425
+ rotation_event_in == o.rotation_event_in &&
426
+ rotation_hour == o.rotation_hour &&
427
+ rotation_interval == o.rotation_interval &&
428
+ skip_dry_run == o.skip_dry_run &&
429
+ token == o.token &&
430
+ uid_token == o.uid_token &&
431
+ use_capital_letters == o.use_capital_letters &&
432
+ use_lower_letters == o.use_lower_letters &&
433
+ use_numbers == o.use_numbers &&
434
+ use_special_characters == o.use_special_characters
435
+ end
436
+
437
+ # @see the `==` method
438
+ # @param [Object] Object to be compared
439
+ def eql?(o)
440
+ self == o
441
+ end
442
+
443
+ # Calculates hash code according to all attributes.
444
+ # @return [Integer] Hash code
445
+ def hash
446
+ [add_tag, ara_enabled, authentication_credentials, auto_rotate, delete_protection, description, enable_agentic_runtime_authority, enable_ai_quorum, input_rule, item_custom_fields, json, keep_prev_version, key, lock_on_read, lock_ttl, max_versions, name, new_name, output_rule, password_length, rm_tag, rotate_on_unlock, rotated_password, rotated_username, rotation_event_in, rotation_hour, rotation_interval, skip_dry_run, token, uid_token, use_capital_letters, use_lower_letters, use_numbers, use_special_characters].hash
447
+ end
448
+
449
+ # Builds the object from hash
450
+ # @param [Hash] attributes Model attributes in the form of hash
451
+ # @return [Object] Returns the model itself
452
+ def self.build_from_hash(attributes)
453
+ return nil unless attributes.is_a?(Hash)
454
+ attributes = attributes.transform_keys(&:to_sym)
455
+ transformed_hash = {}
456
+ openapi_types.each_pair do |key, type|
457
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
458
+ transformed_hash["#{key}"] = nil
459
+ elsif type =~ /\AArray<(.*)>/i
460
+ # check to ensure the input is an array given that the attribute
461
+ # is documented as an array but the input is not
462
+ if attributes[attribute_map[key]].is_a?(Array)
463
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
464
+ end
465
+ elsif !attributes[attribute_map[key]].nil?
466
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
467
+ end
468
+ end
469
+ new(transformed_hash)
470
+ end
471
+
472
+ # Deserializes the data based on type
473
+ # @param string type Data type
474
+ # @param string value Value to be deserialized
475
+ # @return [Object] Deserialized data
476
+ def self._deserialize(type, value)
477
+ case type.to_sym
478
+ when :Time
479
+ Time.parse(value)
480
+ when :Date
481
+ Date.parse(value)
482
+ when :String
483
+ value.to_s
484
+ when :Integer
485
+ value.to_i
486
+ when :Float
487
+ value.to_f
488
+ when :Boolean
489
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
490
+ true
491
+ else
492
+ false
493
+ end
494
+ when :Object
495
+ # generic object (usually a Hash), return directly
496
+ value
497
+ when /\AArray<(?<inner_type>.+)>\z/
498
+ inner_type = Regexp.last_match[:inner_type]
499
+ value.map { |v| _deserialize(inner_type, v) }
500
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
501
+ k_type = Regexp.last_match[:k_type]
502
+ v_type = Regexp.last_match[:v_type]
503
+ {}.tap do |hash|
504
+ value.each do |k, v|
505
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
506
+ end
507
+ end
508
+ else # model
509
+ # models (e.g. Pet) or oneOf
510
+ klass = Akeyless.const_get(type)
511
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
512
+ end
513
+ end
514
+
515
+ # Returns the string representation of the object
516
+ # @return [String] String presentation of the object
517
+ def to_s
518
+ to_hash.to_s
519
+ end
520
+
521
+ # to_body is an alias to to_hash (backward compatibility)
522
+ # @return [Hash] Returns the object in the form of hash
523
+ def to_body
524
+ to_hash
525
+ end
526
+
527
+ # Returns the object in the form of hash
528
+ # @return [Hash] Returns the object in the form of hash
529
+ def to_hash
530
+ hash = {}
531
+ self.class.attribute_map.each_pair do |attr, param|
532
+ value = self.send(attr)
533
+ if value.nil?
534
+ is_nullable = self.class.openapi_nullable.include?(attr)
535
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
536
+ end
537
+
538
+ hash[param] = _to_hash(value)
539
+ end
540
+ hash
541
+ end
542
+
543
+ # Outputs non-array value in the form of hash
544
+ # For object, use to_hash. Otherwise, just return the value
545
+ # @param [Object] value Any valid value
546
+ # @return [Hash] Returns the value in the form of hash
547
+ def _to_hash(value)
548
+ if value.is_a?(Array)
549
+ value.compact.map { |v| _to_hash(v) }
550
+ elsif value.is_a?(Hash)
551
+ {}.tap do |hash|
552
+ value.each { |k, v| hash[k] = _to_hash(v) }
553
+ end
554
+ elsif value.respond_to? :to_hash
555
+ value.to_hash
556
+ else
557
+ value
558
+ end
559
+ end
560
+
561
+ end
562
+
563
+ end
@@ -34,6 +34,8 @@ module Akeyless
34
34
 
35
35
  attr_accessor :is_access_request_enabled
36
36
 
37
+ attr_accessor :last_access_request_status
38
+
37
39
  attr_accessor :last_version
38
40
 
39
41
  attr_accessor :locking_info
@@ -72,6 +74,7 @@ module Akeyless
72
74
  :'creation_date' => :'creation_date',
73
75
  :'delete_protection' => :'delete_protection',
74
76
  :'is_access_request_enabled' => :'is_access_request_enabled',
77
+ :'last_access_request_status' => :'last_access_request_status',
75
78
  :'last_version' => :'last_version',
76
79
  :'locking_info' => :'locking_info',
77
80
  :'modification_date' => :'modification_date',
@@ -105,6 +108,7 @@ module Akeyless
105
108
  :'creation_date' => :'Time',
106
109
  :'delete_protection' => :'Boolean',
107
110
  :'is_access_request_enabled' => :'Boolean',
111
+ :'last_access_request_status' => :'String',
108
112
  :'last_version' => :'Integer',
109
113
  :'locking_info' => :'LockingInfo',
110
114
  :'modification_date' => :'Time',
@@ -182,6 +186,10 @@ module Akeyless
182
186
  self.is_access_request_enabled = attributes[:'is_access_request_enabled']
183
187
  end
184
188
 
189
+ if attributes.key?(:'last_access_request_status')
190
+ self.last_access_request_status = attributes[:'last_access_request_status']
191
+ end
192
+
185
193
  if attributes.key?(:'last_version')
186
194
  self.last_version = attributes[:'last_version']
187
195
  end
@@ -268,6 +276,7 @@ module Akeyless
268
276
  creation_date == o.creation_date &&
269
277
  delete_protection == o.delete_protection &&
270
278
  is_access_request_enabled == o.is_access_request_enabled &&
279
+ last_access_request_status == o.last_access_request_status &&
271
280
  last_version == o.last_version &&
272
281
  locking_info == o.locking_info &&
273
282
  modification_date == o.modification_date &&
@@ -292,7 +301,7 @@ module Akeyless
292
301
  # Calculates hash code according to all attributes.
293
302
  # @return [Integer] Hash code
294
303
  def hash
295
- [access_date, access_date_display, access_request_status, attributes, client_permissions, comment, creation_date, delete_protection, is_access_request_enabled, last_version, locking_info, modification_date, parent_target_name, protection_key_name, target_details, target_id, target_items_assoc, target_name, target_sub_type, target_type, target_versions, with_customer_fragment].hash
304
+ [access_date, access_date_display, access_request_status, attributes, client_permissions, comment, creation_date, delete_protection, is_access_request_enabled, last_access_request_status, last_version, locking_info, modification_date, parent_target_name, protection_key_name, target_details, target_id, target_items_assoc, target_name, target_sub_type, target_type, target_versions, with_customer_fragment].hash
296
305
  end
297
306
 
298
307
  # Builds the object from hash