akeyless 5.0.27 → 5.0.28

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 (128) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +15 -1
  3. data/docs/AccountGeneralSettings.md +2 -0
  4. data/docs/EsmGetSecretOutput.md +7 -1
  5. data/docs/FolderDeleteSync.md +32 -0
  6. data/docs/FolderDeleteSyncOutput.md +24 -0
  7. data/docs/FolderSync.md +34 -0
  8. data/docs/FolderSyncAll.md +26 -0
  9. data/docs/FolderSyncAllOutput.md +18 -0
  10. data/docs/FolderSyncOutput.md +24 -0
  11. data/docs/FolderUSCSyncConfig.md +2 -0
  12. data/docs/OIDCAccessRules.md +2 -0
  13. data/docs/PersonalFolderGlobalMappingSettings.md +20 -0
  14. data/docs/RotatedSecretCreateAws.md +4 -4
  15. data/docs/RotatedSecretCreateAzure.md +6 -4
  16. data/docs/RotatedSecretCreateCassandra.md +4 -4
  17. data/docs/RotatedSecretCreateCustom.md +4 -4
  18. data/docs/RotatedSecretCreateDockerhub.md +4 -4
  19. data/docs/RotatedSecretCreateGcp.md +4 -4
  20. data/docs/RotatedSecretCreateHanadb.md +4 -4
  21. data/docs/RotatedSecretCreateHashiVault.md +60 -0
  22. data/docs/RotatedSecretCreateLdap.md +4 -4
  23. data/docs/RotatedSecretCreateMongodb.md +4 -4
  24. data/docs/RotatedSecretCreateMssql.md +4 -4
  25. data/docs/RotatedSecretCreateMysql.md +4 -4
  26. data/docs/RotatedSecretCreateOpenAI.md +4 -4
  27. data/docs/RotatedSecretCreateOracledb.md +4 -4
  28. data/docs/RotatedSecretCreatePostgresql.md +4 -4
  29. data/docs/RotatedSecretCreateRedis.md +4 -4
  30. data/docs/RotatedSecretCreateRedshift.md +4 -4
  31. data/docs/RotatedSecretCreateSnowflake.md +4 -4
  32. data/docs/RotatedSecretCreateSplunk.md +4 -4
  33. data/docs/RotatedSecretCreateSsh.md +4 -4
  34. data/docs/RotatedSecretCreateWindows.md +4 -4
  35. data/docs/RotatedSecretUpdateAws.md +4 -4
  36. data/docs/RotatedSecretUpdateAzure.md +6 -4
  37. data/docs/RotatedSecretUpdateCassandra.md +4 -4
  38. data/docs/RotatedSecretUpdateCustom.md +4 -4
  39. data/docs/RotatedSecretUpdateDockerhub.md +4 -4
  40. data/docs/RotatedSecretUpdateGcp.md +4 -4
  41. data/docs/RotatedSecretUpdateHanadb.md +4 -4
  42. data/docs/RotatedSecretUpdateHashiVault.md +64 -0
  43. data/docs/RotatedSecretUpdateLdap.md +4 -4
  44. data/docs/RotatedSecretUpdateMongodb.md +4 -4
  45. data/docs/RotatedSecretUpdateMssql.md +4 -4
  46. data/docs/RotatedSecretUpdateMysql.md +4 -4
  47. data/docs/RotatedSecretUpdateOpenAI.md +4 -4
  48. data/docs/RotatedSecretUpdateOracledb.md +4 -4
  49. data/docs/RotatedSecretUpdatePostgresql.md +4 -4
  50. data/docs/RotatedSecretUpdateRedis.md +4 -4
  51. data/docs/RotatedSecretUpdateRedshift.md +4 -4
  52. data/docs/RotatedSecretUpdateSnowflake.md +4 -4
  53. data/docs/RotatedSecretUpdateSplunk.md +4 -4
  54. data/docs/RotatedSecretUpdateSsh.md +4 -4
  55. data/docs/RotatedSecretUpdateWindows.md +4 -4
  56. data/docs/SecretInfo.md +5 -1
  57. data/docs/UscGetSecretOutput.md +7 -1
  58. data/docs/V2Api.md +315 -0
  59. data/lib/akeyless/api/v2_api.rb +320 -0
  60. data/lib/akeyless/models/account_general_settings.rb +10 -1
  61. data/lib/akeyless/models/esm_get_secret_output.rb +35 -4
  62. data/lib/akeyless/models/folder_delete_sync.rb +305 -0
  63. data/lib/akeyless/models/folder_delete_sync_output.rb +245 -0
  64. data/lib/akeyless/models/folder_sync.rb +306 -0
  65. data/lib/akeyless/models/folder_sync_all.rb +266 -0
  66. data/lib/akeyless/models/folder_sync_all_output.rb +214 -0
  67. data/lib/akeyless/models/folder_sync_output.rb +247 -0
  68. data/lib/akeyless/models/folder_usc_sync_config.rb +10 -1
  69. data/lib/akeyless/models/oidc_access_rules.rb +11 -1
  70. data/lib/akeyless/models/personal_folder_global_mapping_settings.rb +223 -0
  71. data/lib/akeyless/models/rotated_secret_create_aws.rb +0 -4
  72. data/lib/akeyless/models/rotated_secret_create_azure.rb +11 -5
  73. data/lib/akeyless/models/rotated_secret_create_cassandra.rb +0 -4
  74. data/lib/akeyless/models/rotated_secret_create_custom.rb +0 -4
  75. data/lib/akeyless/models/rotated_secret_create_dockerhub.rb +0 -4
  76. data/lib/akeyless/models/rotated_secret_create_gcp.rb +0 -4
  77. data/lib/akeyless/models/rotated_secret_create_hanadb.rb +0 -4
  78. data/lib/akeyless/models/rotated_secret_create_hashi_vault.rb +446 -0
  79. data/lib/akeyless/models/rotated_secret_create_ldap.rb +0 -4
  80. data/lib/akeyless/models/rotated_secret_create_mongodb.rb +0 -4
  81. data/lib/akeyless/models/rotated_secret_create_mssql.rb +0 -4
  82. data/lib/akeyless/models/rotated_secret_create_mysql.rb +0 -4
  83. data/lib/akeyless/models/rotated_secret_create_open_ai.rb +0 -4
  84. data/lib/akeyless/models/rotated_secret_create_oracledb.rb +0 -4
  85. data/lib/akeyless/models/rotated_secret_create_postgresql.rb +0 -4
  86. data/lib/akeyless/models/rotated_secret_create_redis.rb +0 -4
  87. data/lib/akeyless/models/rotated_secret_create_redshift.rb +0 -4
  88. data/lib/akeyless/models/rotated_secret_create_snowflake.rb +0 -4
  89. data/lib/akeyless/models/rotated_secret_create_splunk.rb +0 -4
  90. data/lib/akeyless/models/rotated_secret_create_ssh.rb +0 -4
  91. data/lib/akeyless/models/rotated_secret_create_windows.rb +0 -4
  92. data/lib/akeyless/models/rotated_secret_sync.rb +1 -1
  93. data/lib/akeyless/models/rotated_secret_update_aws.rb +0 -4
  94. data/lib/akeyless/models/rotated_secret_update_azure.rb +11 -5
  95. data/lib/akeyless/models/rotated_secret_update_cassandra.rb +0 -4
  96. data/lib/akeyless/models/rotated_secret_update_custom.rb +0 -4
  97. data/lib/akeyless/models/rotated_secret_update_dockerhub.rb +0 -4
  98. data/lib/akeyless/models/rotated_secret_update_gcp.rb +0 -4
  99. data/lib/akeyless/models/rotated_secret_update_hanadb.rb +0 -4
  100. data/lib/akeyless/models/rotated_secret_update_hashi_vault.rb +463 -0
  101. data/lib/akeyless/models/rotated_secret_update_ldap.rb +0 -4
  102. data/lib/akeyless/models/rotated_secret_update_mongodb.rb +0 -4
  103. data/lib/akeyless/models/rotated_secret_update_mssql.rb +0 -4
  104. data/lib/akeyless/models/rotated_secret_update_mysql.rb +0 -4
  105. data/lib/akeyless/models/rotated_secret_update_open_ai.rb +0 -4
  106. data/lib/akeyless/models/rotated_secret_update_oracledb.rb +0 -4
  107. data/lib/akeyless/models/rotated_secret_update_postgresql.rb +0 -4
  108. data/lib/akeyless/models/rotated_secret_update_redis.rb +0 -4
  109. data/lib/akeyless/models/rotated_secret_update_redshift.rb +0 -4
  110. data/lib/akeyless/models/rotated_secret_update_snowflake.rb +0 -4
  111. data/lib/akeyless/models/rotated_secret_update_splunk.rb +0 -4
  112. data/lib/akeyless/models/rotated_secret_update_ssh.rb +0 -4
  113. data/lib/akeyless/models/rotated_secret_update_windows.rb +0 -4
  114. data/lib/akeyless/models/secret_info.rb +24 -4
  115. data/lib/akeyless/models/static_secret_sync.rb +1 -1
  116. data/lib/akeyless/models/usc_get_secret_output.rb +35 -4
  117. data/lib/akeyless/version.rb +1 -1
  118. data/lib/akeyless.rb +9 -0
  119. data/spec/models/folder_delete_sync_output_spec.rb +54 -0
  120. data/spec/models/folder_delete_sync_spec.rb +78 -0
  121. data/spec/models/folder_sync_all_output_spec.rb +36 -0
  122. data/spec/models/folder_sync_all_spec.rb +60 -0
  123. data/spec/models/folder_sync_output_spec.rb +54 -0
  124. data/spec/models/folder_sync_spec.rb +84 -0
  125. data/spec/models/personal_folder_global_mapping_settings_spec.rb +42 -0
  126. data/spec/models/rotated_secret_create_hashi_vault_spec.rb +162 -0
  127. data/spec/models/rotated_secret_update_hashi_vault_spec.rb +174 -0
  128. metadata +38 -2
@@ -0,0 +1,463 @@
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 RotatedSecretUpdateHashiVault
18
+ # List of the new tags that will be attached to this item
19
+ attr_accessor :add_tag
20
+
21
+ attr_accessor :auto_rotate
22
+
23
+ # Protection from accidental deletion of this object [true/false]
24
+ attr_accessor :delete_protection
25
+
26
+ # Description of the object
27
+ attr_accessor :description
28
+
29
+ # Agentic input rule in name=...,rule=... format (e.g. name=rule1,rule=Sanitize input)
30
+ attr_accessor :input_rule
31
+
32
+ # Additional custom fields to associate with the item
33
+ attr_accessor :item_custom_fields
34
+
35
+ # Set output format to JSON
36
+ attr_accessor :json
37
+
38
+ # Whether to keep previous version [true/false]. If not set, use default according to account settings
39
+ attr_accessor :keep_prev_version
40
+
41
+ attr_accessor :key
42
+
43
+ # Set the maximum number of versions, limited by the account settings defaults.
44
+ attr_accessor :max_versions
45
+
46
+ # Rotated secret name
47
+ attr_accessor :name
48
+
49
+ # New item name
50
+ attr_accessor :new_name
51
+
52
+ # Agentic output rule in name=...,rule=... format (e.g. name=rule1,rule=Mask secrets)
53
+ attr_accessor :output_rule
54
+
55
+ # The length of the password to be generated
56
+ attr_accessor :password_length
57
+
58
+ # List of the existent tags that will be removed from this item
59
+ attr_accessor :rm_tag
60
+
61
+ # How many days before the rotation of the item would you like to be notified
62
+ attr_accessor :rotation_event_in
63
+
64
+ attr_accessor :rotation_hour
65
+
66
+ attr_accessor :rotation_interval
67
+
68
+ # Authentication token (see `/auth` and `/configure`)
69
+ attr_accessor :token
70
+
71
+ # The universal identity token, Required only for universal_identity authentication
72
+ attr_accessor :uid_token
73
+
74
+ # Specifies whether the generated temporary password must contain at least one uppercase character from the ISO basic Latin alphabet (A to Z). [true/false]
75
+ attr_accessor :use_capital_letters
76
+
77
+ # Specifies whether the generated temporary password must contain at least one lowercase character from the ISO basic Latin alphabet (a to z). [true/false]
78
+ attr_accessor :use_lower_letters
79
+
80
+ # Specifies whether the generated temporary password must contain at least one numeric character (0 to 9). [true/false]
81
+ attr_accessor :use_numbers
82
+
83
+ attr_accessor :use_special_characters
84
+
85
+ # Attribute mapping from ruby-style variable name to JSON key.
86
+ def self.attribute_map
87
+ {
88
+ :'add_tag' => :'add-tag',
89
+ :'auto_rotate' => :'auto-rotate',
90
+ :'delete_protection' => :'delete_protection',
91
+ :'description' => :'description',
92
+ :'input_rule' => :'input-rule',
93
+ :'item_custom_fields' => :'item-custom-fields',
94
+ :'json' => :'json',
95
+ :'keep_prev_version' => :'keep-prev-version',
96
+ :'key' => :'key',
97
+ :'max_versions' => :'max-versions',
98
+ :'name' => :'name',
99
+ :'new_name' => :'new-name',
100
+ :'output_rule' => :'output-rule',
101
+ :'password_length' => :'password-length',
102
+ :'rm_tag' => :'rm-tag',
103
+ :'rotation_event_in' => :'rotation-event-in',
104
+ :'rotation_hour' => :'rotation-hour',
105
+ :'rotation_interval' => :'rotation-interval',
106
+ :'token' => :'token',
107
+ :'uid_token' => :'uid-token',
108
+ :'use_capital_letters' => :'use-capital-letters',
109
+ :'use_lower_letters' => :'use-lower-letters',
110
+ :'use_numbers' => :'use-numbers',
111
+ :'use_special_characters' => :'use-special-characters'
112
+ }
113
+ end
114
+
115
+ # Returns all the JSON keys this model knows about
116
+ def self.acceptable_attributes
117
+ attribute_map.values
118
+ end
119
+
120
+ # Attribute type mapping.
121
+ def self.openapi_types
122
+ {
123
+ :'add_tag' => :'Array<String>',
124
+ :'auto_rotate' => :'String',
125
+ :'delete_protection' => :'String',
126
+ :'description' => :'String',
127
+ :'input_rule' => :'Array<String>',
128
+ :'item_custom_fields' => :'Hash<String, String>',
129
+ :'json' => :'Boolean',
130
+ :'keep_prev_version' => :'String',
131
+ :'key' => :'String',
132
+ :'max_versions' => :'String',
133
+ :'name' => :'String',
134
+ :'new_name' => :'String',
135
+ :'output_rule' => :'Array<String>',
136
+ :'password_length' => :'String',
137
+ :'rm_tag' => :'Array<String>',
138
+ :'rotation_event_in' => :'Array<String>',
139
+ :'rotation_hour' => :'Integer',
140
+ :'rotation_interval' => :'String',
141
+ :'token' => :'String',
142
+ :'uid_token' => :'String',
143
+ :'use_capital_letters' => :'String',
144
+ :'use_lower_letters' => :'String',
145
+ :'use_numbers' => :'String',
146
+ :'use_special_characters' => :'String'
147
+ }
148
+ end
149
+
150
+ # List of attributes with nullable: true
151
+ def self.openapi_nullable
152
+ Set.new([
153
+ ])
154
+ end
155
+
156
+ # Initializes the object
157
+ # @param [Hash] attributes Model attributes in the form of hash
158
+ def initialize(attributes = {})
159
+ if (!attributes.is_a?(Hash))
160
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::RotatedSecretUpdateHashiVault` initialize method"
161
+ end
162
+
163
+ # check to see if the attribute exists and convert string to symbol for hash key
164
+ attributes = attributes.each_with_object({}) { |(k, v), h|
165
+ if (!self.class.attribute_map.key?(k.to_sym))
166
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::RotatedSecretUpdateHashiVault`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
167
+ end
168
+ h[k.to_sym] = v
169
+ }
170
+
171
+ if attributes.key?(:'add_tag')
172
+ if (value = attributes[:'add_tag']).is_a?(Array)
173
+ self.add_tag = value
174
+ end
175
+ end
176
+
177
+ if attributes.key?(:'auto_rotate')
178
+ self.auto_rotate = attributes[:'auto_rotate']
179
+ end
180
+
181
+ if attributes.key?(:'delete_protection')
182
+ self.delete_protection = attributes[:'delete_protection']
183
+ end
184
+
185
+ if attributes.key?(:'description')
186
+ self.description = attributes[:'description']
187
+ else
188
+ self.description = 'default_metadata'
189
+ end
190
+
191
+ if attributes.key?(:'input_rule')
192
+ if (value = attributes[:'input_rule']).is_a?(Array)
193
+ self.input_rule = value
194
+ end
195
+ end
196
+
197
+ if attributes.key?(:'item_custom_fields')
198
+ if (value = attributes[:'item_custom_fields']).is_a?(Hash)
199
+ self.item_custom_fields = value
200
+ end
201
+ end
202
+
203
+ if attributes.key?(:'json')
204
+ self.json = attributes[:'json']
205
+ else
206
+ self.json = false
207
+ end
208
+
209
+ if attributes.key?(:'keep_prev_version')
210
+ self.keep_prev_version = attributes[:'keep_prev_version']
211
+ end
212
+
213
+ if attributes.key?(:'key')
214
+ self.key = attributes[:'key']
215
+ end
216
+
217
+ if attributes.key?(:'max_versions')
218
+ self.max_versions = attributes[:'max_versions']
219
+ end
220
+
221
+ if attributes.key?(:'name')
222
+ self.name = attributes[:'name']
223
+ else
224
+ self.name = nil
225
+ end
226
+
227
+ if attributes.key?(:'new_name')
228
+ self.new_name = attributes[:'new_name']
229
+ end
230
+
231
+ if attributes.key?(:'output_rule')
232
+ if (value = attributes[:'output_rule']).is_a?(Array)
233
+ self.output_rule = value
234
+ end
235
+ end
236
+
237
+ if attributes.key?(:'password_length')
238
+ self.password_length = attributes[:'password_length']
239
+ end
240
+
241
+ if attributes.key?(:'rm_tag')
242
+ if (value = attributes[:'rm_tag']).is_a?(Array)
243
+ self.rm_tag = value
244
+ end
245
+ end
246
+
247
+ if attributes.key?(:'rotation_event_in')
248
+ if (value = attributes[:'rotation_event_in']).is_a?(Array)
249
+ self.rotation_event_in = value
250
+ end
251
+ end
252
+
253
+ if attributes.key?(:'rotation_hour')
254
+ self.rotation_hour = attributes[:'rotation_hour']
255
+ end
256
+
257
+ if attributes.key?(:'rotation_interval')
258
+ self.rotation_interval = attributes[:'rotation_interval']
259
+ end
260
+
261
+ if attributes.key?(:'token')
262
+ self.token = attributes[:'token']
263
+ end
264
+
265
+ if attributes.key?(:'uid_token')
266
+ self.uid_token = attributes[:'uid_token']
267
+ end
268
+
269
+ if attributes.key?(:'use_capital_letters')
270
+ self.use_capital_letters = attributes[:'use_capital_letters']
271
+ end
272
+
273
+ if attributes.key?(:'use_lower_letters')
274
+ self.use_lower_letters = attributes[:'use_lower_letters']
275
+ end
276
+
277
+ if attributes.key?(:'use_numbers')
278
+ self.use_numbers = attributes[:'use_numbers']
279
+ end
280
+
281
+ if attributes.key?(:'use_special_characters')
282
+ self.use_special_characters = attributes[:'use_special_characters']
283
+ end
284
+ end
285
+
286
+ # Show invalid properties with the reasons. Usually used together with valid?
287
+ # @return Array for valid properties with the reasons
288
+ def list_invalid_properties
289
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
290
+ invalid_properties = Array.new
291
+ if @name.nil?
292
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
293
+ end
294
+
295
+ invalid_properties
296
+ end
297
+
298
+ # Check to see if the all the properties in the model are valid
299
+ # @return true if the model is valid
300
+ def valid?
301
+ warn '[DEPRECATED] the `valid?` method is obsolete'
302
+ return false if @name.nil?
303
+ true
304
+ end
305
+
306
+ # Checks equality by comparing each attribute.
307
+ # @param [Object] Object to be compared
308
+ def ==(o)
309
+ return true if self.equal?(o)
310
+ self.class == o.class &&
311
+ add_tag == o.add_tag &&
312
+ auto_rotate == o.auto_rotate &&
313
+ delete_protection == o.delete_protection &&
314
+ description == o.description &&
315
+ input_rule == o.input_rule &&
316
+ item_custom_fields == o.item_custom_fields &&
317
+ json == o.json &&
318
+ keep_prev_version == o.keep_prev_version &&
319
+ key == o.key &&
320
+ max_versions == o.max_versions &&
321
+ name == o.name &&
322
+ new_name == o.new_name &&
323
+ output_rule == o.output_rule &&
324
+ password_length == o.password_length &&
325
+ rm_tag == o.rm_tag &&
326
+ rotation_event_in == o.rotation_event_in &&
327
+ rotation_hour == o.rotation_hour &&
328
+ rotation_interval == o.rotation_interval &&
329
+ token == o.token &&
330
+ uid_token == o.uid_token &&
331
+ use_capital_letters == o.use_capital_letters &&
332
+ use_lower_letters == o.use_lower_letters &&
333
+ use_numbers == o.use_numbers &&
334
+ use_special_characters == o.use_special_characters
335
+ end
336
+
337
+ # @see the `==` method
338
+ # @param [Object] Object to be compared
339
+ def eql?(o)
340
+ self == o
341
+ end
342
+
343
+ # Calculates hash code according to all attributes.
344
+ # @return [Integer] Hash code
345
+ def hash
346
+ [add_tag, auto_rotate, delete_protection, description, input_rule, item_custom_fields, json, keep_prev_version, key, max_versions, name, new_name, output_rule, password_length, rm_tag, rotation_event_in, rotation_hour, rotation_interval, token, uid_token, use_capital_letters, use_lower_letters, use_numbers, use_special_characters].hash
347
+ end
348
+
349
+ # Builds the object from hash
350
+ # @param [Hash] attributes Model attributes in the form of hash
351
+ # @return [Object] Returns the model itself
352
+ def self.build_from_hash(attributes)
353
+ return nil unless attributes.is_a?(Hash)
354
+ attributes = attributes.transform_keys(&:to_sym)
355
+ transformed_hash = {}
356
+ openapi_types.each_pair do |key, type|
357
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
358
+ transformed_hash["#{key}"] = nil
359
+ elsif type =~ /\AArray<(.*)>/i
360
+ # check to ensure the input is an array given that the attribute
361
+ # is documented as an array but the input is not
362
+ if attributes[attribute_map[key]].is_a?(Array)
363
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
364
+ end
365
+ elsif !attributes[attribute_map[key]].nil?
366
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
367
+ end
368
+ end
369
+ new(transformed_hash)
370
+ end
371
+
372
+ # Deserializes the data based on type
373
+ # @param string type Data type
374
+ # @param string value Value to be deserialized
375
+ # @return [Object] Deserialized data
376
+ def self._deserialize(type, value)
377
+ case type.to_sym
378
+ when :Time
379
+ Time.parse(value)
380
+ when :Date
381
+ Date.parse(value)
382
+ when :String
383
+ value.to_s
384
+ when :Integer
385
+ value.to_i
386
+ when :Float
387
+ value.to_f
388
+ when :Boolean
389
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
390
+ true
391
+ else
392
+ false
393
+ end
394
+ when :Object
395
+ # generic object (usually a Hash), return directly
396
+ value
397
+ when /\AArray<(?<inner_type>.+)>\z/
398
+ inner_type = Regexp.last_match[:inner_type]
399
+ value.map { |v| _deserialize(inner_type, v) }
400
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
401
+ k_type = Regexp.last_match[:k_type]
402
+ v_type = Regexp.last_match[:v_type]
403
+ {}.tap do |hash|
404
+ value.each do |k, v|
405
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
406
+ end
407
+ end
408
+ else # model
409
+ # models (e.g. Pet) or oneOf
410
+ klass = Akeyless.const_get(type)
411
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
412
+ end
413
+ end
414
+
415
+ # Returns the string representation of the object
416
+ # @return [String] String presentation of the object
417
+ def to_s
418
+ to_hash.to_s
419
+ end
420
+
421
+ # to_body is an alias to to_hash (backward compatibility)
422
+ # @return [Hash] Returns the object in the form of hash
423
+ def to_body
424
+ to_hash
425
+ end
426
+
427
+ # Returns the object in the form of hash
428
+ # @return [Hash] Returns the object in the form of hash
429
+ def to_hash
430
+ hash = {}
431
+ self.class.attribute_map.each_pair do |attr, param|
432
+ value = self.send(attr)
433
+ if value.nil?
434
+ is_nullable = self.class.openapi_nullable.include?(attr)
435
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
436
+ end
437
+
438
+ hash[param] = _to_hash(value)
439
+ end
440
+ hash
441
+ end
442
+
443
+ # Outputs non-array value in the form of hash
444
+ # For object, use to_hash. Otherwise, just return the value
445
+ # @param [Object] value Any valid value
446
+ # @return [Hash] Returns the value in the form of hash
447
+ def _to_hash(value)
448
+ if value.is_a?(Array)
449
+ value.compact.map { |v| _to_hash(v) }
450
+ elsif value.is_a?(Hash)
451
+ {}.tap do |hash|
452
+ value.each { |k, v| hash[k] = _to_hash(v) }
453
+ end
454
+ elsif value.respond_to? :to_hash
455
+ value.to_hash
456
+ else
457
+ value
458
+ end
459
+ end
460
+
461
+ end
462
+
463
+ end
@@ -23,7 +23,6 @@ module Akeyless
23
23
  # The credentials to connect with use-user-creds/use-target-creds
24
24
  attr_accessor :authentication_credentials
25
25
 
26
- # Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
27
26
  attr_accessor :auto_rotate
28
27
 
29
28
  # Protection from accidental deletion of this object [true/false]
@@ -47,7 +46,6 @@ module Akeyless
47
46
  # Whether to keep previous version [true/false]. If not set, use default according to account settings
48
47
  attr_accessor :keep_prev_version
49
48
 
50
- # The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
51
49
  attr_accessor :key
52
50
 
53
51
  # Lock this secret for read/update while an SRA session is active
@@ -83,10 +81,8 @@ module Akeyless
83
81
  # How many days before the rotation of the item would you like to be notified
84
82
  attr_accessor :rotation_event_in
85
83
 
86
- # The Hour of the rotation in UTC
87
84
  attr_accessor :rotation_hour
88
85
 
89
- # The number of days to wait between every automatic key rotation (1-365)
90
86
  attr_accessor :rotation_interval
91
87
 
92
88
  # Deprecated. use secure-access-certificate-issuer
@@ -21,7 +21,6 @@ module Akeyless
21
21
  # The credentials to connect with use-user-creds/use-target-creds
22
22
  attr_accessor :authentication_credentials
23
23
 
24
- # Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
25
24
  attr_accessor :auto_rotate
26
25
 
27
26
  # Protection from accidental deletion of this object [true/false]
@@ -42,7 +41,6 @@ module Akeyless
42
41
  # Whether to keep previous version [true/false]. If not set, use default according to account settings
43
42
  attr_accessor :keep_prev_version
44
43
 
45
- # The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
46
44
  attr_accessor :key
47
45
 
48
46
  # Lock this secret for read/update while an SRA session is active
@@ -78,10 +76,8 @@ module Akeyless
78
76
  # How many days before the rotation of the item would you like to be notified
79
77
  attr_accessor :rotation_event_in
80
78
 
81
- # The Hour of the rotation in UTC
82
79
  attr_accessor :rotation_hour
83
80
 
84
- # The number of days to wait between every automatic key rotation (1-365)
85
81
  attr_accessor :rotation_interval
86
82
 
87
83
  # Deprecated. use secure-access-certificate-issuer
@@ -21,7 +21,6 @@ module Akeyless
21
21
  # The credentials to connect with use-user-creds/use-target-creds
22
22
  attr_accessor :authentication_credentials
23
23
 
24
- # Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
25
24
  attr_accessor :auto_rotate
26
25
 
27
26
  # Protection from accidental deletion of this object [true/false]
@@ -42,7 +41,6 @@ module Akeyless
42
41
  # Whether to keep previous version [true/false]. If not set, use default according to account settings
43
42
  attr_accessor :keep_prev_version
44
43
 
45
- # The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
46
44
  attr_accessor :key
47
45
 
48
46
  # Lock this secret for read/update while an SRA session is active
@@ -78,10 +76,8 @@ module Akeyless
78
76
  # How many days before the rotation of the item would you like to be notified
79
77
  attr_accessor :rotation_event_in
80
78
 
81
- # The Hour of the rotation in UTC
82
79
  attr_accessor :rotation_hour
83
80
 
84
- # The number of days to wait between every automatic key rotation (1-365)
85
81
  attr_accessor :rotation_interval
86
82
 
87
83
  # Deprecated. use secure-access-certificate-issuer
@@ -21,7 +21,6 @@ module Akeyless
21
21
  # The credentials to connect with use-user-creds/use-target-creds
22
22
  attr_accessor :authentication_credentials
23
23
 
24
- # Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
25
24
  attr_accessor :auto_rotate
26
25
 
27
26
  # Protection from accidental deletion of this object [true/false]
@@ -42,7 +41,6 @@ module Akeyless
42
41
  # Whether to keep previous version [true/false]. If not set, use default according to account settings
43
42
  attr_accessor :keep_prev_version
44
43
 
45
- # The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
46
44
  attr_accessor :key
47
45
 
48
46
  # Lock this secret for read/update while an SRA session is active
@@ -78,10 +76,8 @@ module Akeyless
78
76
  # How many days before the rotation of the item would you like to be notified
79
77
  attr_accessor :rotation_event_in
80
78
 
81
- # The Hour of the rotation in UTC
82
79
  attr_accessor :rotation_hour
83
80
 
84
- # The number of days to wait between every automatic key rotation (1-365)
85
81
  attr_accessor :rotation_interval
86
82
 
87
83
  # Deprecated. use secure-access-certificate-issuer
@@ -28,7 +28,6 @@ module Akeyless
28
28
  # The credentials to connect with use-user-creds/use-target-creds
29
29
  attr_accessor :authentication_credentials
30
30
 
31
- # Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
32
31
  attr_accessor :auto_rotate
33
32
 
34
33
  # Protection from accidental deletion of this object [true/false]
@@ -49,7 +48,6 @@ module Akeyless
49
48
  # Whether to keep previous version [true/false]. If not set, use default according to account settings
50
49
  attr_accessor :keep_prev_version
51
50
 
52
- # The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
53
51
  attr_accessor :key
54
52
 
55
53
  # Set the maximum number of versions, limited by the account settings defaults.
@@ -73,10 +71,8 @@ module Akeyless
73
71
  # How many days before the rotation of the item would you like to be notified
74
72
  attr_accessor :rotation_event_in
75
73
 
76
- # The Hour of the rotation in UTC
77
74
  attr_accessor :rotation_hour
78
75
 
79
- # The number of days to wait between every automatic key rotation (1-365)
80
76
  attr_accessor :rotation_interval
81
77
 
82
78
  # Authentication token (see `/auth` and `/configure`)
@@ -21,7 +21,6 @@ module Akeyless
21
21
  # The credentials to connect with use-user-creds/use-target-creds
22
22
  attr_accessor :authentication_credentials
23
23
 
24
- # Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
25
24
  attr_accessor :auto_rotate
26
25
 
27
26
  # Protection from accidental deletion of this object [true/false]
@@ -42,7 +41,6 @@ module Akeyless
42
41
  # Whether to keep previous version [true/false]. If not set, use default according to account settings
43
42
  attr_accessor :keep_prev_version
44
43
 
45
- # The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
46
44
  attr_accessor :key
47
45
 
48
46
  # Lock this secret for read/update while an SRA session is active
@@ -78,10 +76,8 @@ module Akeyless
78
76
  # How many days before the rotation of the item would you like to be notified
79
77
  attr_accessor :rotation_event_in
80
78
 
81
- # The Hour of the rotation in UTC
82
79
  attr_accessor :rotation_hour
83
80
 
84
- # The number of days to wait between every automatic key rotation (1-365)
85
81
  attr_accessor :rotation_interval
86
82
 
87
83
  # The DB name (relevant only for DB Dynamic-Secret)
@@ -21,7 +21,6 @@ module Akeyless
21
21
  # The credentials to connect with use-user-creds/use-target-creds
22
22
  attr_accessor :authentication_credentials
23
23
 
24
- # Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
25
24
  attr_accessor :auto_rotate
26
25
 
27
26
  # Protection from accidental deletion of this object [true/false]
@@ -42,7 +41,6 @@ module Akeyless
42
41
  # Whether to keep previous version [true/false]. If not set, use default according to account settings
43
42
  attr_accessor :keep_prev_version
44
43
 
45
- # The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
46
44
  attr_accessor :key
47
45
 
48
46
  # Lock this secret for read/update while an SRA session is active
@@ -78,10 +76,8 @@ module Akeyless
78
76
  # How many days before the rotation of the item would you like to be notified
79
77
  attr_accessor :rotation_event_in
80
78
 
81
- # The Hour of the rotation in UTC
82
79
  attr_accessor :rotation_hour
83
80
 
84
- # The number of days to wait between every automatic key rotation (1-365)
85
81
  attr_accessor :rotation_interval
86
82
 
87
83
  # Deprecated. use secure-access-certificate-issuer
@@ -21,7 +21,6 @@ module Akeyless
21
21
  # The credentials to connect with use-user-creds/use-target-creds
22
22
  attr_accessor :authentication_credentials
23
23
 
24
- # Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
25
24
  attr_accessor :auto_rotate
26
25
 
27
26
  # Protection from accidental deletion of this object [true/false]
@@ -42,7 +41,6 @@ module Akeyless
42
41
  # Whether to keep previous version [true/false]. If not set, use default according to account settings
43
42
  attr_accessor :keep_prev_version
44
43
 
45
- # The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
46
44
  attr_accessor :key
47
45
 
48
46
  # Set the maximum number of versions, limited by the account settings defaults.
@@ -72,10 +70,8 @@ module Akeyless
72
70
  # How many days before the rotation of the item would you like to be notified
73
71
  attr_accessor :rotation_event_in
74
72
 
75
- # The Hour of the rotation in UTC
76
73
  attr_accessor :rotation_hour
77
74
 
78
- # The number of days to wait between every automatic key rotation (1-365)
79
75
  attr_accessor :rotation_interval
80
76
 
81
77
  # Authentication token (see `/auth` and `/configure`)