akeyless 5.0.2 → 5.0.4

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 (90) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -2
  3. data/docs/AccountGeneralSettings.md +4 -0
  4. data/docs/AzureTargetDetails.md +2 -0
  5. data/docs/CertificateChainInfo.md +10 -0
  6. data/docs/DSProducerDetails.md +2 -0
  7. data/docs/DynamicSecretCreateHanaDb.md +2 -0
  8. data/docs/DynamicSecretCreateMongoDb.md +2 -0
  9. data/docs/DynamicSecretCreateMsSql.md +2 -0
  10. data/docs/DynamicSecretCreateMySql.md +2 -0
  11. data/docs/DynamicSecretCreatePostgreSql.md +2 -0
  12. data/docs/DynamicSecretUpdateHanaDb.md +2 -0
  13. data/docs/DynamicSecretUpdateMongoDb.md +2 -0
  14. data/docs/DynamicSecretUpdateMsSql.md +2 -0
  15. data/docs/DynamicSecretUpdateMySql.md +2 -0
  16. data/docs/DynamicSecretUpdatePostgreSql.md +2 -0
  17. data/docs/GatewayCreateProducerHanaDb.md +2 -0
  18. data/docs/GatewayCreateProducerMSSQL.md +2 -0
  19. data/docs/GatewayCreateProducerMongo.md +2 -0
  20. data/docs/GatewayCreateProducerMySQL.md +2 -0
  21. data/docs/GatewayCreateProducerPostgreSQL.md +2 -0
  22. data/docs/GatewayUpdateProducerHanaDb.md +2 -0
  23. data/docs/GatewayUpdateProducerMSSQL.md +2 -0
  24. data/docs/GatewayUpdateProducerMongo.md +2 -0
  25. data/docs/GatewayUpdateProducerMySQL.md +2 -0
  26. data/docs/GatewayUpdateProducerPostgreSQL.md +2 -0
  27. data/docs/GcpTargetDetails.md +2 -0
  28. data/docs/ItemUSCSyncAssociation.md +1 -1
  29. data/docs/ListItemsInPathOutput.md +2 -0
  30. data/docs/ListItemsOutput.md +2 -0
  31. data/docs/NullString.md +20 -0
  32. data/docs/RotatedSecretCreateAws.md +5 -1
  33. data/docs/RotatedSecretCreateAzure.md +12 -0
  34. data/docs/RotatedSecretCreateCustom.md +11 -1
  35. data/docs/RotatedSecretCreateGcp.md +6 -0
  36. data/docs/RotatedSecretDetailsInfo.md +8 -0
  37. data/docs/RotatedSecretSync.md +2 -0
  38. data/docs/RotatedSecretUpdateAws.md +5 -1
  39. data/docs/RotatedSecretUpdateAzure.md +12 -0
  40. data/docs/RotatedSecretUpdateCustom.md +11 -1
  41. data/docs/RotatedSecretUpdateGcp.md +6 -0
  42. data/docs/UpdateAccountSettings.md +4 -0
  43. data/docs/UscSyncInfo.md +26 -0
  44. data/lib/akeyless/models/account_general_settings.rb +19 -1
  45. data/lib/akeyless/models/azure_target_details.rb +10 -1
  46. data/lib/akeyless/models/certificate_chain_info.rb +46 -1
  47. data/lib/akeyless/models/ds_producer_details.rb +10 -1
  48. data/lib/akeyless/models/dynamic_secret_create_hana_db.rb +11 -1
  49. data/lib/akeyless/models/dynamic_secret_create_mongo_db.rb +11 -1
  50. data/lib/akeyless/models/dynamic_secret_create_ms_sql.rb +11 -1
  51. data/lib/akeyless/models/dynamic_secret_create_my_sql.rb +11 -1
  52. data/lib/akeyless/models/dynamic_secret_create_postgre_sql.rb +11 -1
  53. data/lib/akeyless/models/dynamic_secret_update_hana_db.rb +11 -1
  54. data/lib/akeyless/models/dynamic_secret_update_mongo_db.rb +11 -1
  55. data/lib/akeyless/models/dynamic_secret_update_ms_sql.rb +11 -1
  56. data/lib/akeyless/models/dynamic_secret_update_my_sql.rb +11 -1
  57. data/lib/akeyless/models/dynamic_secret_update_postgre_sql.rb +11 -1
  58. data/lib/akeyless/models/gateway_create_producer_hana_db.rb +11 -1
  59. data/lib/akeyless/models/gateway_create_producer_mongo.rb +11 -1
  60. data/lib/akeyless/models/gateway_create_producer_mssql.rb +11 -1
  61. data/lib/akeyless/models/gateway_create_producer_my_sql.rb +11 -1
  62. data/lib/akeyless/models/gateway_create_producer_postgre_sql.rb +11 -1
  63. data/lib/akeyless/models/gateway_update_producer_hana_db.rb +11 -1
  64. data/lib/akeyless/models/gateway_update_producer_mongo.rb +11 -1
  65. data/lib/akeyless/models/gateway_update_producer_mssql.rb +11 -1
  66. data/lib/akeyless/models/gateway_update_producer_my_sql.rb +11 -1
  67. data/lib/akeyless/models/gateway_update_producer_postgre_sql.rb +11 -1
  68. data/lib/akeyless/models/gcp_target_details.rb +10 -1
  69. data/lib/akeyless/models/item_usc_sync_association.rb +1 -1
  70. data/lib/akeyless/models/list_items_in_path_output.rb +10 -1
  71. data/lib/akeyless/models/list_items_output.rb +10 -1
  72. data/lib/akeyless/models/null_string.rb +224 -0
  73. data/lib/akeyless/models/remote_secret_info.rb +1 -1
  74. data/lib/akeyless/models/rotated_secret_create_aws.rb +22 -2
  75. data/lib/akeyless/models/rotated_secret_create_azure.rb +63 -1
  76. data/lib/akeyless/models/rotated_secret_create_custom.rb +54 -4
  77. data/lib/akeyless/models/rotated_secret_create_gcp.rb +31 -1
  78. data/lib/akeyless/models/rotated_secret_details_info.rb +37 -1
  79. data/lib/akeyless/models/rotated_secret_sync.rb +11 -1
  80. data/lib/akeyless/models/rotated_secret_update_aws.rb +22 -2
  81. data/lib/akeyless/models/rotated_secret_update_azure.rb +63 -1
  82. data/lib/akeyless/models/rotated_secret_update_custom.rb +54 -4
  83. data/lib/akeyless/models/rotated_secret_update_gcp.rb +31 -1
  84. data/lib/akeyless/models/update_account_settings.rb +21 -1
  85. data/lib/akeyless/models/usc_sync_info.rb +250 -0
  86. data/lib/akeyless/version.rb +1 -1
  87. data/lib/akeyless.rb +2 -1
  88. data/spec/models/null_string_spec.rb +42 -0
  89. data/spec/models/usc_sync_info_spec.rb +60 -0
  90. metadata +1064 -1056
@@ -0,0 +1,224 @@
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: 2.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
+ # var s NullString err := db.QueryRow(\"SELECT name FROM foo WHERE id=?\", id).Scan(&s) ... if s.Valid { use s.String } else { NULL value }
18
+ class NullString
19
+ attr_accessor :string
20
+
21
+ attr_accessor :valid
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'string' => :'String',
27
+ :'valid' => :'Valid'
28
+ }
29
+ end
30
+
31
+ # Returns all the JSON keys this model knows about
32
+ def self.acceptable_attributes
33
+ attribute_map.values
34
+ end
35
+
36
+ # Attribute type mapping.
37
+ def self.openapi_types
38
+ {
39
+ :'string' => :'String',
40
+ :'valid' => :'Boolean'
41
+ }
42
+ end
43
+
44
+ # List of attributes with nullable: true
45
+ def self.openapi_nullable
46
+ Set.new([
47
+ ])
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param [Hash] attributes Model attributes in the form of hash
52
+ def initialize(attributes = {})
53
+ if (!attributes.is_a?(Hash))
54
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::NullString` initialize method"
55
+ end
56
+
57
+ # check to see if the attribute exists and convert string to symbol for hash key
58
+ attributes = attributes.each_with_object({}) { |(k, v), h|
59
+ if (!self.class.attribute_map.key?(k.to_sym))
60
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::NullString`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
61
+ end
62
+ h[k.to_sym] = v
63
+ }
64
+
65
+ if attributes.key?(:'string')
66
+ self.string = attributes[:'string']
67
+ end
68
+
69
+ if attributes.key?(:'valid')
70
+ self.valid = attributes[:'valid']
71
+ end
72
+ end
73
+
74
+ # Show invalid properties with the reasons. Usually used together with valid?
75
+ # @return Array for valid properties with the reasons
76
+ def list_invalid_properties
77
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
78
+ invalid_properties = Array.new
79
+ invalid_properties
80
+ end
81
+
82
+ # Check to see if the all the properties in the model are valid
83
+ # @return true if the model is valid
84
+ def valid?
85
+ warn '[DEPRECATED] the `valid?` method is obsolete'
86
+ true
87
+ end
88
+
89
+ # Checks equality by comparing each attribute.
90
+ # @param [Object] Object to be compared
91
+ def ==(o)
92
+ return true if self.equal?(o)
93
+ self.class == o.class &&
94
+ string == o.string &&
95
+ valid == o.valid
96
+ end
97
+
98
+ # @see the `==` method
99
+ # @param [Object] Object to be compared
100
+ def eql?(o)
101
+ self == o
102
+ end
103
+
104
+ # Calculates hash code according to all attributes.
105
+ # @return [Integer] Hash code
106
+ def hash
107
+ [string, valid].hash
108
+ end
109
+
110
+ # Builds the object from hash
111
+ # @param [Hash] attributes Model attributes in the form of hash
112
+ # @return [Object] Returns the model itself
113
+ def self.build_from_hash(attributes)
114
+ return nil unless attributes.is_a?(Hash)
115
+ attributes = attributes.transform_keys(&:to_sym)
116
+ transformed_hash = {}
117
+ openapi_types.each_pair do |key, type|
118
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
119
+ transformed_hash["#{key}"] = nil
120
+ elsif type =~ /\AArray<(.*)>/i
121
+ # check to ensure the input is an array given that the attribute
122
+ # is documented as an array but the input is not
123
+ if attributes[attribute_map[key]].is_a?(Array)
124
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
125
+ end
126
+ elsif !attributes[attribute_map[key]].nil?
127
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
128
+ end
129
+ end
130
+ new(transformed_hash)
131
+ end
132
+
133
+ # Deserializes the data based on type
134
+ # @param string type Data type
135
+ # @param string value Value to be deserialized
136
+ # @return [Object] Deserialized data
137
+ def self._deserialize(type, value)
138
+ case type.to_sym
139
+ when :Time
140
+ Time.parse(value)
141
+ when :Date
142
+ Date.parse(value)
143
+ when :String
144
+ value.to_s
145
+ when :Integer
146
+ value.to_i
147
+ when :Float
148
+ value.to_f
149
+ when :Boolean
150
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
151
+ true
152
+ else
153
+ false
154
+ end
155
+ when :Object
156
+ # generic object (usually a Hash), return directly
157
+ value
158
+ when /\AArray<(?<inner_type>.+)>\z/
159
+ inner_type = Regexp.last_match[:inner_type]
160
+ value.map { |v| _deserialize(inner_type, v) }
161
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
162
+ k_type = Regexp.last_match[:k_type]
163
+ v_type = Regexp.last_match[:v_type]
164
+ {}.tap do |hash|
165
+ value.each do |k, v|
166
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
167
+ end
168
+ end
169
+ else # model
170
+ # models (e.g. Pet) or oneOf
171
+ klass = Akeyless.const_get(type)
172
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
173
+ end
174
+ end
175
+
176
+ # Returns the string representation of the object
177
+ # @return [String] String presentation of the object
178
+ def to_s
179
+ to_hash.to_s
180
+ end
181
+
182
+ # to_body is an alias to to_hash (backward compatibility)
183
+ # @return [Hash] Returns the object in the form of hash
184
+ def to_body
185
+ to_hash
186
+ end
187
+
188
+ # Returns the object in the form of hash
189
+ # @return [Hash] Returns the object in the form of hash
190
+ def to_hash
191
+ hash = {}
192
+ self.class.attribute_map.each_pair do |attr, param|
193
+ value = self.send(attr)
194
+ if value.nil?
195
+ is_nullable = self.class.openapi_nullable.include?(attr)
196
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
197
+ end
198
+
199
+ hash[param] = _to_hash(value)
200
+ end
201
+ hash
202
+ end
203
+
204
+ # Outputs non-array value in the form of hash
205
+ # For object, use to_hash. Otherwise, just return the value
206
+ # @param [Object] value Any valid value
207
+ # @return [Hash] Returns the value in the form of hash
208
+ def _to_hash(value)
209
+ if value.is_a?(Array)
210
+ value.compact.map { |v| _to_hash(v) }
211
+ elsif value.is_a?(Hash)
212
+ {}.tap do |hash|
213
+ value.each { |k, v| hash[k] = _to_hash(v) }
214
+ end
215
+ elsif value.respond_to? :to_hash
216
+ value.to_hash
217
+ else
218
+ value
219
+ end
220
+ end
221
+
222
+ end
223
+
224
+ end
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The purpose of this application is to provide access to Akeyless API.
5
5
 
6
- The version of the OpenAPI document: 2.0
6
+ The version of the OpenAPI document: 3.0
7
7
  Contact: support@akeyless.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.10.0
@@ -36,9 +36,15 @@ module Akeyless
36
36
  # Description of the object
37
37
  attr_accessor :description
38
38
 
39
- # Create a new access key without deleting the old key from AWS for backup (relevant only for AWS) [true/false]
39
+ # Create a new access key without deleting the old key from AWS/Azure/GCP for backup (relevant only for AWS/Azure/GCP) [true/false]
40
40
  attr_accessor :grace_rotation
41
41
 
42
+ # The Hour of the grace rotation in UTC
43
+ attr_accessor :grace_rotation_hour
44
+
45
+ # The number of days to wait before deleting the old key (must be bigger than rotation-interval)
46
+ attr_accessor :grace_rotation_interval
47
+
42
48
  # Set output format to JSON
43
49
  attr_accessor :json
44
50
 
@@ -107,6 +113,8 @@ module Akeyless
107
113
  :'delete_protection' => :'delete_protection',
108
114
  :'description' => :'description',
109
115
  :'grace_rotation' => :'grace-rotation',
116
+ :'grace_rotation_hour' => :'grace-rotation-hour',
117
+ :'grace_rotation_interval' => :'grace-rotation-interval',
110
118
  :'json' => :'json',
111
119
  :'key' => :'key',
112
120
  :'max_versions' => :'max-versions',
@@ -145,6 +153,8 @@ module Akeyless
145
153
  :'delete_protection' => :'String',
146
154
  :'description' => :'String',
147
155
  :'grace_rotation' => :'String',
156
+ :'grace_rotation_hour' => :'Integer',
157
+ :'grace_rotation_interval' => :'String',
148
158
  :'json' => :'Boolean',
149
159
  :'key' => :'String',
150
160
  :'max_versions' => :'String',
@@ -224,6 +234,14 @@ module Akeyless
224
234
  self.grace_rotation = attributes[:'grace_rotation']
225
235
  end
226
236
 
237
+ if attributes.key?(:'grace_rotation_hour')
238
+ self.grace_rotation_hour = attributes[:'grace_rotation_hour']
239
+ end
240
+
241
+ if attributes.key?(:'grace_rotation_interval')
242
+ self.grace_rotation_interval = attributes[:'grace_rotation_interval']
243
+ end
244
+
227
245
  if attributes.key?(:'json')
228
246
  self.json = attributes[:'json']
229
247
  else
@@ -358,6 +376,8 @@ module Akeyless
358
376
  delete_protection == o.delete_protection &&
359
377
  description == o.description &&
360
378
  grace_rotation == o.grace_rotation &&
379
+ grace_rotation_hour == o.grace_rotation_hour &&
380
+ grace_rotation_interval == o.grace_rotation_interval &&
361
381
  json == o.json &&
362
382
  key == o.key &&
363
383
  max_versions == o.max_versions &&
@@ -388,7 +408,7 @@ module Akeyless
388
408
  # Calculates hash code according to all attributes.
389
409
  # @return [Integer] Hash code
390
410
  def hash
391
- [api_id, api_key, authentication_credentials, auto_rotate, aws_region, delete_protection, description, grace_rotation, json, key, max_versions, name, password_length, rotate_after_disconnect, rotation_event_in, rotation_hour, rotation_interval, rotator_type, secure_access_aws_account_id, secure_access_aws_native_cli, secure_access_bastion_issuer, secure_access_certificate_issuer, secure_access_enable, tags, target_name, token, uid_token].hash
411
+ [api_id, api_key, authentication_credentials, auto_rotate, aws_region, delete_protection, description, grace_rotation, grace_rotation_hour, grace_rotation_interval, json, key, max_versions, name, password_length, rotate_after_disconnect, rotation_event_in, rotation_hour, rotation_interval, rotator_type, secure_access_aws_account_id, secure_access_aws_native_cli, secure_access_bastion_issuer, secure_access_certificate_issuer, secure_access_enable, tags, target_name, token, uid_token].hash
392
412
  end
393
413
 
394
414
  # Builds the object from hash
@@ -36,6 +36,18 @@ module Akeyless
36
36
  # Description of the object
37
37
  attr_accessor :description
38
38
 
39
+ # If set, explicitly provide the storage account details [true/false]
40
+ attr_accessor :explicitly_set_sa
41
+
42
+ # Create a new access key without deleting the old key from AWS/Azure/GCP for backup (relevant only for AWS/Azure/GCP) [true/false]
43
+ attr_accessor :grace_rotation
44
+
45
+ # The Hour of the grace rotation in UTC
46
+ attr_accessor :grace_rotation_hour
47
+
48
+ # The number of days to wait before deleting the old key (must be bigger than rotation-interval)
49
+ attr_accessor :grace_rotation_interval
50
+
39
51
  # Set output format to JSON
40
52
  attr_accessor :json
41
53
 
@@ -51,6 +63,12 @@ module Akeyless
51
63
  # The length of the password to be generated
52
64
  attr_accessor :password_length
53
65
 
66
+ # The resource group name (only relevant when explicitly-set-sa=true)
67
+ attr_accessor :resource_group_name
68
+
69
+ # The name of the storage account (only relevant when explicitly-set-sa=true)
70
+ attr_accessor :resource_name
71
+
54
72
  # Rotate the value of the secret after SRA session ends [true/false]
55
73
  attr_accessor :rotate_after_disconnect
56
74
 
@@ -112,11 +130,17 @@ module Akeyless
112
130
  :'auto_rotate' => :'auto-rotate',
113
131
  :'delete_protection' => :'delete_protection',
114
132
  :'description' => :'description',
133
+ :'explicitly_set_sa' => :'explicitly-set-sa',
134
+ :'grace_rotation' => :'grace-rotation',
135
+ :'grace_rotation_hour' => :'grace-rotation-hour',
136
+ :'grace_rotation_interval' => :'grace-rotation-interval',
115
137
  :'json' => :'json',
116
138
  :'key' => :'key',
117
139
  :'max_versions' => :'max-versions',
118
140
  :'name' => :'name',
119
141
  :'password_length' => :'password-length',
142
+ :'resource_group_name' => :'resource-group-name',
143
+ :'resource_name' => :'resource-name',
120
144
  :'rotate_after_disconnect' => :'rotate-after-disconnect',
121
145
  :'rotation_event_in' => :'rotation-event-in',
122
146
  :'rotation_hour' => :'rotation-hour',
@@ -152,11 +176,17 @@ module Akeyless
152
176
  :'auto_rotate' => :'String',
153
177
  :'delete_protection' => :'String',
154
178
  :'description' => :'String',
179
+ :'explicitly_set_sa' => :'String',
180
+ :'grace_rotation' => :'String',
181
+ :'grace_rotation_hour' => :'Integer',
182
+ :'grace_rotation_interval' => :'String',
155
183
  :'json' => :'Boolean',
156
184
  :'key' => :'String',
157
185
  :'max_versions' => :'String',
158
186
  :'name' => :'String',
159
187
  :'password_length' => :'String',
188
+ :'resource_group_name' => :'String',
189
+ :'resource_name' => :'String',
160
190
  :'rotate_after_disconnect' => :'String',
161
191
  :'rotation_event_in' => :'Array<String>',
162
192
  :'rotation_hour' => :'Integer',
@@ -228,6 +258,24 @@ module Akeyless
228
258
  self.description = attributes[:'description']
229
259
  end
230
260
 
261
+ if attributes.key?(:'explicitly_set_sa')
262
+ self.explicitly_set_sa = attributes[:'explicitly_set_sa']
263
+ else
264
+ self.explicitly_set_sa = 'false'
265
+ end
266
+
267
+ if attributes.key?(:'grace_rotation')
268
+ self.grace_rotation = attributes[:'grace_rotation']
269
+ end
270
+
271
+ if attributes.key?(:'grace_rotation_hour')
272
+ self.grace_rotation_hour = attributes[:'grace_rotation_hour']
273
+ end
274
+
275
+ if attributes.key?(:'grace_rotation_interval')
276
+ self.grace_rotation_interval = attributes[:'grace_rotation_interval']
277
+ end
278
+
231
279
  if attributes.key?(:'json')
232
280
  self.json = attributes[:'json']
233
281
  else
@@ -252,6 +300,14 @@ module Akeyless
252
300
  self.password_length = attributes[:'password_length']
253
301
  end
254
302
 
303
+ if attributes.key?(:'resource_group_name')
304
+ self.resource_group_name = attributes[:'resource_group_name']
305
+ end
306
+
307
+ if attributes.key?(:'resource_name')
308
+ self.resource_name = attributes[:'resource_name']
309
+ end
310
+
255
311
  if attributes.key?(:'rotate_after_disconnect')
256
312
  self.rotate_after_disconnect = attributes[:'rotate_after_disconnect']
257
313
  else
@@ -379,11 +435,17 @@ module Akeyless
379
435
  auto_rotate == o.auto_rotate &&
380
436
  delete_protection == o.delete_protection &&
381
437
  description == o.description &&
438
+ explicitly_set_sa == o.explicitly_set_sa &&
439
+ grace_rotation == o.grace_rotation &&
440
+ grace_rotation_hour == o.grace_rotation_hour &&
441
+ grace_rotation_interval == o.grace_rotation_interval &&
382
442
  json == o.json &&
383
443
  key == o.key &&
384
444
  max_versions == o.max_versions &&
385
445
  name == o.name &&
386
446
  password_length == o.password_length &&
447
+ resource_group_name == o.resource_group_name &&
448
+ resource_name == o.resource_name &&
387
449
  rotate_after_disconnect == o.rotate_after_disconnect &&
388
450
  rotation_event_in == o.rotation_event_in &&
389
451
  rotation_hour == o.rotation_hour &&
@@ -412,7 +474,7 @@ module Akeyless
412
474
  # Calculates hash code according to all attributes.
413
475
  # @return [Integer] Hash code
414
476
  def hash
415
- [api_id, api_key, application_id, authentication_credentials, auto_rotate, delete_protection, description, json, key, max_versions, name, password_length, rotate_after_disconnect, rotation_event_in, rotation_hour, rotation_interval, rotator_type, secure_access_disable_concurrent_connections, secure_access_enable, secure_access_url, secure_access_web, secure_access_web_browsing, secure_access_web_proxy, storage_account_key_name, tags, target_name, token, uid_token, username].hash
477
+ [api_id, api_key, application_id, authentication_credentials, auto_rotate, delete_protection, description, explicitly_set_sa, grace_rotation, grace_rotation_hour, grace_rotation_interval, json, key, max_versions, name, password_length, resource_group_name, resource_name, rotate_after_disconnect, rotation_event_in, rotation_hour, rotation_interval, rotator_type, secure_access_disable_concurrent_connections, secure_access_enable, secure_access_url, secure_access_web, secure_access_web_browsing, secure_access_web_proxy, storage_account_key_name, tags, target_name, token, uid_token, username].hash
416
478
  end
417
479
 
418
480
  # Builds the object from hash
@@ -30,6 +30,9 @@ module Akeyless
30
30
  # Description of the object
31
31
  attr_accessor :description
32
32
 
33
+ # Enable password policy
34
+ attr_accessor :enable_password_policy
35
+
33
36
  # Set output format to JSON
34
37
  attr_accessor :json
35
38
 
@@ -108,6 +111,18 @@ module Akeyless
108
111
  # The universal identity token, Required only for universal_identity authentication
109
112
  attr_accessor :uid_token
110
113
 
114
+ # Password must contain capital letters [true/false]
115
+ attr_accessor :use_capital_letters
116
+
117
+ # Password must contain lower case letters [true/false]
118
+ attr_accessor :use_lower_letters
119
+
120
+ # Password must contain numbers [true/false]
121
+ attr_accessor :use_numbers
122
+
123
+ # Password must contain special characters [true/false]
124
+ attr_accessor :use_special_characters
125
+
111
126
  # Attribute mapping from ruby-style variable name to JSON key.
112
127
  def self.attribute_map
113
128
  {
@@ -116,6 +131,7 @@ module Akeyless
116
131
  :'custom_payload' => :'custom-payload',
117
132
  :'delete_protection' => :'delete_protection',
118
133
  :'description' => :'description',
134
+ :'enable_password_policy' => :'enable-password-policy',
119
135
  :'json' => :'json',
120
136
  :'key' => :'key',
121
137
  :'max_versions' => :'max-versions',
@@ -141,7 +157,11 @@ module Akeyless
141
157
  :'target_name' => :'target-name',
142
158
  :'timeout_sec' => :'timeout-sec',
143
159
  :'token' => :'token',
144
- :'uid_token' => :'uid-token'
160
+ :'uid_token' => :'uid-token',
161
+ :'use_capital_letters' => :'use-capital-letters',
162
+ :'use_lower_letters' => :'use-lower-letters',
163
+ :'use_numbers' => :'use-numbers',
164
+ :'use_special_characters' => :'use-special-characters'
145
165
  }
146
166
  end
147
167
 
@@ -158,6 +178,7 @@ module Akeyless
158
178
  :'custom_payload' => :'String',
159
179
  :'delete_protection' => :'String',
160
180
  :'description' => :'String',
181
+ :'enable_password_policy' => :'String',
161
182
  :'json' => :'Boolean',
162
183
  :'key' => :'String',
163
184
  :'max_versions' => :'String',
@@ -183,7 +204,11 @@ module Akeyless
183
204
  :'target_name' => :'String',
184
205
  :'timeout_sec' => :'Integer',
185
206
  :'token' => :'String',
186
- :'uid_token' => :'String'
207
+ :'uid_token' => :'String',
208
+ :'use_capital_letters' => :'String',
209
+ :'use_lower_letters' => :'String',
210
+ :'use_numbers' => :'String',
211
+ :'use_special_characters' => :'String'
187
212
  }
188
213
  end
189
214
 
@@ -230,6 +255,10 @@ module Akeyless
230
255
  self.description = attributes[:'description']
231
256
  end
232
257
 
258
+ if attributes.key?(:'enable_password_policy')
259
+ self.enable_password_policy = attributes[:'enable_password_policy']
260
+ end
261
+
233
262
  if attributes.key?(:'json')
234
263
  self.json = attributes[:'json']
235
264
  else
@@ -357,6 +386,22 @@ module Akeyless
357
386
  if attributes.key?(:'uid_token')
358
387
  self.uid_token = attributes[:'uid_token']
359
388
  end
389
+
390
+ if attributes.key?(:'use_capital_letters')
391
+ self.use_capital_letters = attributes[:'use_capital_letters']
392
+ end
393
+
394
+ if attributes.key?(:'use_lower_letters')
395
+ self.use_lower_letters = attributes[:'use_lower_letters']
396
+ end
397
+
398
+ if attributes.key?(:'use_numbers')
399
+ self.use_numbers = attributes[:'use_numbers']
400
+ end
401
+
402
+ if attributes.key?(:'use_special_characters')
403
+ self.use_special_characters = attributes[:'use_special_characters']
404
+ end
360
405
  end
361
406
 
362
407
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -394,6 +439,7 @@ module Akeyless
394
439
  custom_payload == o.custom_payload &&
395
440
  delete_protection == o.delete_protection &&
396
441
  description == o.description &&
442
+ enable_password_policy == o.enable_password_policy &&
397
443
  json == o.json &&
398
444
  key == o.key &&
399
445
  max_versions == o.max_versions &&
@@ -419,7 +465,11 @@ module Akeyless
419
465
  target_name == o.target_name &&
420
466
  timeout_sec == o.timeout_sec &&
421
467
  token == o.token &&
422
- uid_token == o.uid_token
468
+ uid_token == o.uid_token &&
469
+ use_capital_letters == o.use_capital_letters &&
470
+ use_lower_letters == o.use_lower_letters &&
471
+ use_numbers == o.use_numbers &&
472
+ use_special_characters == o.use_special_characters
423
473
  end
424
474
 
425
475
  # @see the `==` method
@@ -431,7 +481,7 @@ module Akeyless
431
481
  # Calculates hash code according to all attributes.
432
482
  # @return [Integer] Hash code
433
483
  def hash
434
- [authentication_credentials, auto_rotate, custom_payload, delete_protection, description, json, key, max_versions, name, password_length, rotate_after_disconnect, rotation_event_in, rotation_hour, rotation_interval, secure_access_allow_external_user, secure_access_bastion_issuer, secure_access_certificate_issuer, secure_access_enable, secure_access_host, secure_access_rdp_domain, secure_access_rdp_user, secure_access_ssh_user, secure_access_url, secure_access_web, secure_access_web_browsing, secure_access_web_proxy, tags, target_name, timeout_sec, token, uid_token].hash
484
+ [authentication_credentials, auto_rotate, custom_payload, delete_protection, description, enable_password_policy, json, key, max_versions, name, password_length, rotate_after_disconnect, rotation_event_in, rotation_hour, rotation_interval, secure_access_allow_external_user, secure_access_bastion_issuer, secure_access_certificate_issuer, secure_access_enable, secure_access_host, secure_access_rdp_domain, secure_access_rdp_user, secure_access_ssh_user, secure_access_url, secure_access_web, secure_access_web_browsing, secure_access_web_proxy, tags, target_name, timeout_sec, token, uid_token, use_capital_letters, use_lower_letters, use_numbers, use_special_characters].hash
435
485
  end
436
486
 
437
487
  # Builds the object from hash
@@ -36,6 +36,15 @@ module Akeyless
36
36
  # The key id of the gcp service account to rotate
37
37
  attr_accessor :gcp_service_account_key_id
38
38
 
39
+ # Create a new access key without deleting the old key from AWS/Azure/GCP for backup (relevant only for AWS/Azure/GCP) [true/false]
40
+ attr_accessor :grace_rotation
41
+
42
+ # The Hour of the grace rotation in UTC
43
+ attr_accessor :grace_rotation_hour
44
+
45
+ # The number of days to wait before deleting the old key (must be bigger than rotation-interval)
46
+ attr_accessor :grace_rotation_interval
47
+
39
48
  # Set output format to JSON
40
49
  attr_accessor :json
41
50
 
@@ -85,6 +94,9 @@ module Akeyless
85
94
  :'gcp_key' => :'gcp-key',
86
95
  :'gcp_service_account_email' => :'gcp-service-account-email',
87
96
  :'gcp_service_account_key_id' => :'gcp-service-account-key-id',
97
+ :'grace_rotation' => :'grace-rotation',
98
+ :'grace_rotation_hour' => :'grace-rotation-hour',
99
+ :'grace_rotation_interval' => :'grace-rotation-interval',
88
100
  :'json' => :'json',
89
101
  :'key' => :'key',
90
102
  :'max_versions' => :'max-versions',
@@ -116,6 +128,9 @@ module Akeyless
116
128
  :'gcp_key' => :'String',
117
129
  :'gcp_service_account_email' => :'String',
118
130
  :'gcp_service_account_key_id' => :'String',
131
+ :'grace_rotation' => :'String',
132
+ :'grace_rotation_hour' => :'Integer',
133
+ :'grace_rotation_interval' => :'String',
119
134
  :'json' => :'Boolean',
120
135
  :'key' => :'String',
121
136
  :'max_versions' => :'String',
@@ -183,6 +198,18 @@ module Akeyless
183
198
  self.gcp_service_account_key_id = attributes[:'gcp_service_account_key_id']
184
199
  end
185
200
 
201
+ if attributes.key?(:'grace_rotation')
202
+ self.grace_rotation = attributes[:'grace_rotation']
203
+ end
204
+
205
+ if attributes.key?(:'grace_rotation_hour')
206
+ self.grace_rotation_hour = attributes[:'grace_rotation_hour']
207
+ end
208
+
209
+ if attributes.key?(:'grace_rotation_interval')
210
+ self.grace_rotation_interval = attributes[:'grace_rotation_interval']
211
+ end
212
+
186
213
  if attributes.key?(:'json')
187
214
  self.json = attributes[:'json']
188
215
  else
@@ -290,6 +317,9 @@ module Akeyless
290
317
  gcp_key == o.gcp_key &&
291
318
  gcp_service_account_email == o.gcp_service_account_email &&
292
319
  gcp_service_account_key_id == o.gcp_service_account_key_id &&
320
+ grace_rotation == o.grace_rotation &&
321
+ grace_rotation_hour == o.grace_rotation_hour &&
322
+ grace_rotation_interval == o.grace_rotation_interval &&
293
323
  json == o.json &&
294
324
  key == o.key &&
295
325
  max_versions == o.max_versions &&
@@ -314,7 +344,7 @@ module Akeyless
314
344
  # Calculates hash code according to all attributes.
315
345
  # @return [Integer] Hash code
316
346
  def hash
317
- [authentication_credentials, auto_rotate, delete_protection, description, gcp_key, gcp_service_account_email, gcp_service_account_key_id, json, key, max_versions, name, password_length, rotation_event_in, rotation_hour, rotation_interval, rotator_type, tags, target_name, token, uid_token].hash
347
+ [authentication_credentials, auto_rotate, delete_protection, description, gcp_key, gcp_service_account_email, gcp_service_account_key_id, grace_rotation, grace_rotation_hour, grace_rotation_interval, json, key, max_versions, name, password_length, rotation_event_in, rotation_hour, rotation_interval, rotator_type, tags, target_name, token, uid_token].hash
318
348
  end
319
349
 
320
350
  # Builds the object from hash