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