akeyless 3.1.1 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +23 -1
  3. data/docs/AssocTargetItem.md +2 -0
  4. data/docs/CreateCertificate.md +3 -1
  5. data/docs/CreateClassicKey.md +6 -2
  6. data/docs/CreateDBTarget.md +4 -0
  7. data/docs/CreateDFCKey.md +3 -1
  8. data/docs/CreateDynamicSecret.md +3 -1
  9. data/docs/CreateKey.md +3 -1
  10. data/docs/CreatePKICertIssuer.md +3 -1
  11. data/docs/CreatePingTarget.md +38 -0
  12. data/docs/CreatePingTargetOutput.md +18 -0
  13. data/docs/CreateRotatedSecret.md +5 -1
  14. data/docs/CreateSSHCertIssuer.md +3 -1
  15. data/docs/CreateSecret.md +3 -1
  16. data/docs/CreateTokenizer.md +3 -1
  17. data/docs/DSProducerDetails.md +48 -0
  18. data/docs/DecryptGPG.md +34 -0
  19. data/docs/DecryptGPGOutput.md +18 -0
  20. data/docs/EncryptGPG.md +32 -0
  21. data/docs/EncryptGPGOutput.md +18 -0
  22. data/docs/GatewayCreateProducerPing.md +66 -0
  23. data/docs/GatewayCreateProducerPingOutput.md +18 -0
  24. data/docs/GatewayCreateProducerSnowflake.md +4 -0
  25. data/docs/GatewayUpdateItem.md +3 -1
  26. data/docs/GatewayUpdateProducerPing.md +68 -0
  27. data/docs/GatewayUpdateProducerPingOutput.md +18 -0
  28. data/docs/GatewayUpdateProducerSnowflake.md +4 -0
  29. data/docs/GenCustomerFragment.md +4 -2
  30. data/docs/GetKubeExecCreds.md +5 -3
  31. data/docs/GetPKICertificate.md +5 -3
  32. data/docs/SecureRemoteAccess.md +2 -0
  33. data/docs/SignGPG.md +32 -0
  34. data/docs/SignGPGOutput.md +18 -0
  35. data/docs/TargetTypeDetailsInput.md +14 -0
  36. data/docs/UpdateDBTarget.md +4 -0
  37. data/docs/UpdateItem.md +3 -1
  38. data/docs/UpdatePKICertIssuer.md +3 -1
  39. data/docs/UpdatePingTarget.md +44 -0
  40. data/docs/UpdateRotatedSecret.md +5 -1
  41. data/docs/UpdateSSHCertIssuer.md +3 -1
  42. data/docs/UploadPKCS12.md +3 -1
  43. data/docs/UploadRSA.md +3 -1
  44. data/docs/V2Api.md +504 -0
  45. data/docs/VerifyGPG.md +32 -0
  46. data/lib/akeyless/api/v2_api.rb +512 -0
  47. data/lib/akeyless/models/assoc_target_item.rb +11 -1
  48. data/lib/akeyless/models/create_certificate.rb +12 -2
  49. data/lib/akeyless/models/create_classic_key.rb +23 -3
  50. data/lib/akeyless/models/create_db_target.rb +21 -1
  51. data/lib/akeyless/models/create_dfc_key.rb +12 -2
  52. data/lib/akeyless/models/create_dynamic_secret.rb +12 -4
  53. data/lib/akeyless/models/create_key.rb +12 -2
  54. data/lib/akeyless/models/create_ping_target.rb +329 -0
  55. data/lib/akeyless/models/create_ping_target_output.rb +219 -0
  56. data/lib/akeyless/models/create_pki_cert_issuer.rb +12 -2
  57. data/lib/akeyless/models/create_rotated_secret.rb +24 -2
  58. data/lib/akeyless/models/create_secret.rb +12 -2
  59. data/lib/akeyless/models/create_ssh_cert_issuer.rb +12 -2
  60. data/lib/akeyless/models/create_tokenizer.rb +12 -2
  61. data/lib/akeyless/models/decrypt_gpg.rb +310 -0
  62. data/lib/akeyless/models/decrypt_gpg_output.rb +219 -0
  63. data/lib/akeyless/models/ds_producer_details.rb +235 -1
  64. data/lib/akeyless/models/encrypt_gpg.rb +300 -0
  65. data/lib/akeyless/models/encrypt_gpg_output.rb +219 -0
  66. data/lib/akeyless/models/gateway_create_producer_ping.rb +482 -0
  67. data/lib/akeyless/models/gateway_create_producer_ping_output.rb +219 -0
  68. data/lib/akeyless/models/gateway_create_producer_snowflake.rb +22 -2
  69. data/lib/akeyless/models/gateway_update_item.rb +14 -2
  70. data/lib/akeyless/models/gateway_update_producer_ping.rb +492 -0
  71. data/lib/akeyless/models/gateway_update_producer_ping_output.rb +219 -0
  72. data/lib/akeyless/models/gateway_update_producer_snowflake.rb +22 -2
  73. data/lib/akeyless/models/gen_customer_fragment.rb +15 -5
  74. data/lib/akeyless/models/get_kube_exec_creds.rb +14 -4
  75. data/lib/akeyless/models/get_pki_certificate.rb +14 -4
  76. data/lib/akeyless/models/secure_remote_access.rb +10 -1
  77. data/lib/akeyless/models/sign_gpg.rb +300 -0
  78. data/lib/akeyless/models/sign_gpg_output.rb +219 -0
  79. data/lib/akeyless/models/target_type_details_input.rb +65 -1
  80. data/lib/akeyless/models/update_db_target.rb +21 -1
  81. data/lib/akeyless/models/update_item.rb +14 -2
  82. data/lib/akeyless/models/update_ping_target.rb +358 -0
  83. data/lib/akeyless/models/update_pki_cert_issuer.rb +12 -2
  84. data/lib/akeyless/models/update_rotated_secret.rb +26 -2
  85. data/lib/akeyless/models/update_ssh_cert_issuer.rb +12 -2
  86. data/lib/akeyless/models/upload_pkcs12.rb +12 -2
  87. data/lib/akeyless/models/upload_rsa.rb +12 -2
  88. data/lib/akeyless/models/verify_gpg.rb +300 -0
  89. data/lib/akeyless/version.rb +1 -1
  90. data/lib/akeyless.rb +14 -0
  91. data/spec/models/create_ping_target_output_spec.rb +34 -0
  92. data/spec/models/create_ping_target_spec.rb +94 -0
  93. data/spec/models/decrypt_gpg_output_spec.rb +34 -0
  94. data/spec/models/decrypt_gpg_spec.rb +82 -0
  95. data/spec/models/encrypt_gpg_output_spec.rb +34 -0
  96. data/spec/models/encrypt_gpg_spec.rb +76 -0
  97. data/spec/models/gateway_create_producer_ping_output_spec.rb +34 -0
  98. data/spec/models/gateway_create_producer_ping_spec.rb +178 -0
  99. data/spec/models/gateway_update_producer_ping_output_spec.rb +34 -0
  100. data/spec/models/gateway_update_producer_ping_spec.rb +184 -0
  101. data/spec/models/sign_gpg_output_spec.rb +34 -0
  102. data/spec/models/sign_gpg_spec.rb +76 -0
  103. data/spec/models/update_ping_target_spec.rb +112 -0
  104. data/spec/models/verify_gpg_spec.rb +76 -0
  105. metadata +609 -553
@@ -0,0 +1,358 @@
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
+ OpenAPI Generator version: 6.3.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Akeyless
17
+ class UpdatePingTarget
18
+ # Ping Federate administrative port
19
+ attr_accessor :administrative_port
20
+
21
+ # Ping Federate authorization port
22
+ attr_accessor :authorization_port
23
+
24
+ # Comment about the target
25
+ attr_accessor :comment
26
+
27
+ # Set output format to JSON
28
+ attr_accessor :json
29
+
30
+ attr_accessor :keep_prev_version
31
+
32
+ # The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
33
+ attr_accessor :key
34
+
35
+ # Target name
36
+ attr_accessor :name
37
+
38
+ # New target name
39
+ attr_accessor :new_name
40
+
41
+ # Ping Federate privileged user password
42
+ attr_accessor :password
43
+
44
+ # Ping URL
45
+ attr_accessor :ping_url
46
+
47
+ # Ping Federate privileged user
48
+ attr_accessor :privileged_user
49
+
50
+ # Authentication token (see `/auth` and `/configure`)
51
+ attr_accessor :token
52
+
53
+ # The universal identity token, Required only for universal_identity authentication
54
+ attr_accessor :uid_token
55
+
56
+ # Deprecated
57
+ attr_accessor :update_version
58
+
59
+ # Attribute mapping from ruby-style variable name to JSON key.
60
+ def self.attribute_map
61
+ {
62
+ :'administrative_port' => :'administrative-port',
63
+ :'authorization_port' => :'authorization-port',
64
+ :'comment' => :'comment',
65
+ :'json' => :'json',
66
+ :'keep_prev_version' => :'keep-prev-version',
67
+ :'key' => :'key',
68
+ :'name' => :'name',
69
+ :'new_name' => :'new-name',
70
+ :'password' => :'password',
71
+ :'ping_url' => :'ping-url',
72
+ :'privileged_user' => :'privileged-user',
73
+ :'token' => :'token',
74
+ :'uid_token' => :'uid-token',
75
+ :'update_version' => :'update-version'
76
+ }
77
+ end
78
+
79
+ # Returns all the JSON keys this model knows about
80
+ def self.acceptable_attributes
81
+ attribute_map.values
82
+ end
83
+
84
+ # Attribute type mapping.
85
+ def self.openapi_types
86
+ {
87
+ :'administrative_port' => :'String',
88
+ :'authorization_port' => :'String',
89
+ :'comment' => :'String',
90
+ :'json' => :'Boolean',
91
+ :'keep_prev_version' => :'String',
92
+ :'key' => :'String',
93
+ :'name' => :'String',
94
+ :'new_name' => :'String',
95
+ :'password' => :'String',
96
+ :'ping_url' => :'String',
97
+ :'privileged_user' => :'String',
98
+ :'token' => :'String',
99
+ :'uid_token' => :'String',
100
+ :'update_version' => :'Boolean'
101
+ }
102
+ end
103
+
104
+ # List of attributes with nullable: true
105
+ def self.openapi_nullable
106
+ Set.new([
107
+ ])
108
+ end
109
+
110
+ # Initializes the object
111
+ # @param [Hash] attributes Model attributes in the form of hash
112
+ def initialize(attributes = {})
113
+ if (!attributes.is_a?(Hash))
114
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::UpdatePingTarget` initialize method"
115
+ end
116
+
117
+ # check to see if the attribute exists and convert string to symbol for hash key
118
+ attributes = attributes.each_with_object({}) { |(k, v), h|
119
+ if (!self.class.attribute_map.key?(k.to_sym))
120
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::UpdatePingTarget`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
121
+ end
122
+ h[k.to_sym] = v
123
+ }
124
+
125
+ if attributes.key?(:'administrative_port')
126
+ self.administrative_port = attributes[:'administrative_port']
127
+ else
128
+ self.administrative_port = '9999'
129
+ end
130
+
131
+ if attributes.key?(:'authorization_port')
132
+ self.authorization_port = attributes[:'authorization_port']
133
+ else
134
+ self.authorization_port = '9031'
135
+ end
136
+
137
+ if attributes.key?(:'comment')
138
+ self.comment = attributes[:'comment']
139
+ end
140
+
141
+ if attributes.key?(:'json')
142
+ self.json = attributes[:'json']
143
+ end
144
+
145
+ if attributes.key?(:'keep_prev_version')
146
+ self.keep_prev_version = attributes[:'keep_prev_version']
147
+ end
148
+
149
+ if attributes.key?(:'key')
150
+ self.key = attributes[:'key']
151
+ end
152
+
153
+ if attributes.key?(:'name')
154
+ self.name = attributes[:'name']
155
+ end
156
+
157
+ if attributes.key?(:'new_name')
158
+ self.new_name = attributes[:'new_name']
159
+ end
160
+
161
+ if attributes.key?(:'password')
162
+ self.password = attributes[:'password']
163
+ end
164
+
165
+ if attributes.key?(:'ping_url')
166
+ self.ping_url = attributes[:'ping_url']
167
+ end
168
+
169
+ if attributes.key?(:'privileged_user')
170
+ self.privileged_user = attributes[:'privileged_user']
171
+ end
172
+
173
+ if attributes.key?(:'token')
174
+ self.token = attributes[:'token']
175
+ end
176
+
177
+ if attributes.key?(:'uid_token')
178
+ self.uid_token = attributes[:'uid_token']
179
+ end
180
+
181
+ if attributes.key?(:'update_version')
182
+ self.update_version = attributes[:'update_version']
183
+ end
184
+ end
185
+
186
+ # Show invalid properties with the reasons. Usually used together with valid?
187
+ # @return Array for valid properties with the reasons
188
+ def list_invalid_properties
189
+ invalid_properties = Array.new
190
+ if @name.nil?
191
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
192
+ end
193
+
194
+ invalid_properties
195
+ end
196
+
197
+ # Check to see if the all the properties in the model are valid
198
+ # @return true if the model is valid
199
+ def valid?
200
+ return false if @name.nil?
201
+ true
202
+ end
203
+
204
+ # Checks equality by comparing each attribute.
205
+ # @param [Object] Object to be compared
206
+ def ==(o)
207
+ return true if self.equal?(o)
208
+ self.class == o.class &&
209
+ administrative_port == o.administrative_port &&
210
+ authorization_port == o.authorization_port &&
211
+ comment == o.comment &&
212
+ json == o.json &&
213
+ keep_prev_version == o.keep_prev_version &&
214
+ key == o.key &&
215
+ name == o.name &&
216
+ new_name == o.new_name &&
217
+ password == o.password &&
218
+ ping_url == o.ping_url &&
219
+ privileged_user == o.privileged_user &&
220
+ token == o.token &&
221
+ uid_token == o.uid_token &&
222
+ update_version == o.update_version
223
+ end
224
+
225
+ # @see the `==` method
226
+ # @param [Object] Object to be compared
227
+ def eql?(o)
228
+ self == o
229
+ end
230
+
231
+ # Calculates hash code according to all attributes.
232
+ # @return [Integer] Hash code
233
+ def hash
234
+ [administrative_port, authorization_port, comment, json, keep_prev_version, key, name, new_name, password, ping_url, privileged_user, token, uid_token, update_version].hash
235
+ end
236
+
237
+ # Builds the object from hash
238
+ # @param [Hash] attributes Model attributes in the form of hash
239
+ # @return [Object] Returns the model itself
240
+ def self.build_from_hash(attributes)
241
+ new.build_from_hash(attributes)
242
+ end
243
+
244
+ # Builds the object from hash
245
+ # @param [Hash] attributes Model attributes in the form of hash
246
+ # @return [Object] Returns the model itself
247
+ def build_from_hash(attributes)
248
+ return nil unless attributes.is_a?(Hash)
249
+ attributes = attributes.transform_keys(&:to_sym)
250
+ self.class.openapi_types.each_pair do |key, type|
251
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
252
+ self.send("#{key}=", nil)
253
+ elsif type =~ /\AArray<(.*)>/i
254
+ # check to ensure the input is an array given that the attribute
255
+ # is documented as an array but the input is not
256
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
257
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
258
+ end
259
+ elsif !attributes[self.class.attribute_map[key]].nil?
260
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
261
+ end
262
+ end
263
+
264
+ self
265
+ end
266
+
267
+ # Deserializes the data based on type
268
+ # @param string type Data type
269
+ # @param string value Value to be deserialized
270
+ # @return [Object] Deserialized data
271
+ def _deserialize(type, value)
272
+ case type.to_sym
273
+ when :Time
274
+ Time.parse(value)
275
+ when :Date
276
+ Date.parse(value)
277
+ when :String
278
+ value.to_s
279
+ when :Integer
280
+ value.to_i
281
+ when :Float
282
+ value.to_f
283
+ when :Boolean
284
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
285
+ true
286
+ else
287
+ false
288
+ end
289
+ when :Object
290
+ # generic object (usually a Hash), return directly
291
+ value
292
+ when /\AArray<(?<inner_type>.+)>\z/
293
+ inner_type = Regexp.last_match[:inner_type]
294
+ value.map { |v| _deserialize(inner_type, v) }
295
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
296
+ k_type = Regexp.last_match[:k_type]
297
+ v_type = Regexp.last_match[:v_type]
298
+ {}.tap do |hash|
299
+ value.each do |k, v|
300
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
301
+ end
302
+ end
303
+ else # model
304
+ # models (e.g. Pet) or oneOf
305
+ klass = Akeyless.const_get(type)
306
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
307
+ end
308
+ end
309
+
310
+ # Returns the string representation of the object
311
+ # @return [String] String presentation of the object
312
+ def to_s
313
+ to_hash.to_s
314
+ end
315
+
316
+ # to_body is an alias to to_hash (backward compatibility)
317
+ # @return [Hash] Returns the object in the form of hash
318
+ def to_body
319
+ to_hash
320
+ end
321
+
322
+ # Returns the object in the form of hash
323
+ # @return [Hash] Returns the object in the form of hash
324
+ def to_hash
325
+ hash = {}
326
+ self.class.attribute_map.each_pair do |attr, param|
327
+ value = self.send(attr)
328
+ if value.nil?
329
+ is_nullable = self.class.openapi_nullable.include?(attr)
330
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
331
+ end
332
+
333
+ hash[param] = _to_hash(value)
334
+ end
335
+ hash
336
+ end
337
+
338
+ # Outputs non-array value in the form of hash
339
+ # For object, use to_hash. Otherwise, just return the value
340
+ # @param [Object] value Any valid value
341
+ # @return [Hash] Returns the value in the form of hash
342
+ def _to_hash(value)
343
+ if value.is_a?(Array)
344
+ value.compact.map { |v| _to_hash(v) }
345
+ elsif value.is_a?(Hash)
346
+ {}.tap do |hash|
347
+ value.each { |k, v| hash[k] = _to_hash(v) }
348
+ end
349
+ elsif value.respond_to? :to_hash
350
+ value.to_hash
351
+ else
352
+ value
353
+ end
354
+ end
355
+
356
+ end
357
+
358
+ end
@@ -39,6 +39,9 @@ module Akeyless
39
39
  # A comma-separated list of the country that will be set in the issued certificate
40
40
  attr_accessor :country
41
41
 
42
+ # Description of the object
43
+ attr_accessor :description
44
+
42
45
  # Set output format to JSON
43
46
  attr_accessor :json
44
47
 
@@ -48,7 +51,7 @@ module Akeyless
48
51
  # A comma-separated list of the locality that will be set in the issued certificate
49
52
  attr_accessor :locality
50
53
 
51
- # A metadata about the issuer
54
+ # Deprecated - use description
52
55
  attr_accessor :metadata
53
56
 
54
57
  # PKI certificate issuer name
@@ -107,6 +110,7 @@ module Akeyless
107
110
  :'client_flag' => :'client-flag',
108
111
  :'code_signing_flag' => :'code-signing-flag',
109
112
  :'country' => :'country',
113
+ :'description' => :'description',
110
114
  :'json' => :'json',
111
115
  :'key_usage' => :'key-usage',
112
116
  :'locality' => :'locality',
@@ -145,6 +149,7 @@ module Akeyless
145
149
  :'client_flag' => :'Boolean',
146
150
  :'code_signing_flag' => :'Boolean',
147
151
  :'country' => :'String',
152
+ :'description' => :'String',
148
153
  :'json' => :'Boolean',
149
154
  :'key_usage' => :'String',
150
155
  :'locality' => :'String',
@@ -222,6 +227,10 @@ module Akeyless
222
227
  self.country = attributes[:'country']
223
228
  end
224
229
 
230
+ if attributes.key?(:'description')
231
+ self.description = attributes[:'description']
232
+ end
233
+
225
234
  if attributes.key?(:'json')
226
235
  self.json = attributes[:'json']
227
236
  end
@@ -344,6 +353,7 @@ module Akeyless
344
353
  client_flag == o.client_flag &&
345
354
  code_signing_flag == o.code_signing_flag &&
346
355
  country == o.country &&
356
+ description == o.description &&
347
357
  json == o.json &&
348
358
  key_usage == o.key_usage &&
349
359
  locality == o.locality &&
@@ -374,7 +384,7 @@ module Akeyless
374
384
  # Calculates hash code according to all attributes.
375
385
  # @return [Integer] Hash code
376
386
  def hash
377
- [add_tag, allow_any_name, allow_subdomains, allowed_domains, allowed_uri_sans, client_flag, code_signing_flag, country, json, key_usage, locality, metadata, name, new_name, not_enforce_hostnames, not_require_cn, organizational_units, organizations, postal_code, province, rm_tag, server_flag, signer_key_name, street_address, token, ttl, uid_token].hash
387
+ [add_tag, allow_any_name, allow_subdomains, allowed_domains, allowed_uri_sans, client_flag, code_signing_flag, country, description, json, key_usage, locality, metadata, name, new_name, not_enforce_hostnames, not_require_cn, organizational_units, organizations, postal_code, province, rm_tag, server_flag, signer_key_name, street_address, token, ttl, uid_token].hash
378
388
  end
379
389
 
380
390
  # Builds the object from hash
@@ -31,6 +31,9 @@ module Akeyless
31
31
 
32
32
  attr_accessor :custom_payload
33
33
 
34
+ # Description of the object
35
+ attr_accessor :description
36
+
34
37
  # Base64-encoded service account private key text
35
38
  attr_accessor :gcp_key
36
39
 
@@ -45,7 +48,7 @@ module Akeyless
45
48
  # Secret name
46
49
  attr_accessor :name
47
50
 
48
- # New item metadata
51
+ # Deprecated - use description
49
52
  attr_accessor :new_metadata
50
53
 
51
54
  # New item name
@@ -57,6 +60,9 @@ module Akeyless
57
60
  # List of the existent tags that will be removed from this item
58
61
  attr_accessor :rm_tag
59
62
 
63
+ # Rotate the value of the secret after SRA session ends
64
+ attr_accessor :rotate_after_disconnect
65
+
60
66
  attr_accessor :rotated_password
61
67
 
62
68
  attr_accessor :rotated_username
@@ -133,6 +139,7 @@ module Akeyless
133
139
  :'auto_rotate' => :'auto-rotate',
134
140
  :'aws_region' => :'aws-region',
135
141
  :'custom_payload' => :'custom-payload',
142
+ :'description' => :'description',
136
143
  :'gcp_key' => :'gcp-key',
137
144
  :'json' => :'json',
138
145
  :'keep_prev_version' => :'keep-prev-version',
@@ -142,6 +149,7 @@ module Akeyless
142
149
  :'new_name' => :'new-name',
143
150
  :'new_version' => :'new-version',
144
151
  :'rm_tag' => :'rm-tag',
152
+ :'rotate_after_disconnect' => :'rotate-after-disconnect',
145
153
  :'rotated_password' => :'rotated-password',
146
154
  :'rotated_username' => :'rotated-username',
147
155
  :'rotation_hour' => :'rotation-hour',
@@ -183,6 +191,7 @@ module Akeyless
183
191
  :'auto_rotate' => :'String',
184
192
  :'aws_region' => :'String',
185
193
  :'custom_payload' => :'String',
194
+ :'description' => :'String',
186
195
  :'gcp_key' => :'String',
187
196
  :'json' => :'Boolean',
188
197
  :'keep_prev_version' => :'String',
@@ -192,6 +201,7 @@ module Akeyless
192
201
  :'new_name' => :'String',
193
202
  :'new_version' => :'Boolean',
194
203
  :'rm_tag' => :'Array<String>',
204
+ :'rotate_after_disconnect' => :'String',
195
205
  :'rotated_password' => :'String',
196
206
  :'rotated_username' => :'String',
197
207
  :'rotation_hour' => :'Integer',
@@ -268,6 +278,12 @@ module Akeyless
268
278
  self.custom_payload = attributes[:'custom_payload']
269
279
  end
270
280
 
281
+ if attributes.key?(:'description')
282
+ self.description = attributes[:'description']
283
+ else
284
+ self.description = 'default_metadata'
285
+ end
286
+
271
287
  if attributes.key?(:'gcp_key')
272
288
  self.gcp_key = attributes[:'gcp_key']
273
289
  end
@@ -308,6 +324,12 @@ module Akeyless
308
324
  end
309
325
  end
310
326
 
327
+ if attributes.key?(:'rotate_after_disconnect')
328
+ self.rotate_after_disconnect = attributes[:'rotate_after_disconnect']
329
+ else
330
+ self.rotate_after_disconnect = 'false'
331
+ end
332
+
311
333
  if attributes.key?(:'rotated_password')
312
334
  self.rotated_password = attributes[:'rotated_password']
313
335
  end
@@ -444,6 +466,7 @@ module Akeyless
444
466
  auto_rotate == o.auto_rotate &&
445
467
  aws_region == o.aws_region &&
446
468
  custom_payload == o.custom_payload &&
469
+ description == o.description &&
447
470
  gcp_key == o.gcp_key &&
448
471
  json == o.json &&
449
472
  keep_prev_version == o.keep_prev_version &&
@@ -453,6 +476,7 @@ module Akeyless
453
476
  new_name == o.new_name &&
454
477
  new_version == o.new_version &&
455
478
  rm_tag == o.rm_tag &&
479
+ rotate_after_disconnect == o.rotate_after_disconnect &&
456
480
  rotated_password == o.rotated_password &&
457
481
  rotated_username == o.rotated_username &&
458
482
  rotation_hour == o.rotation_hour &&
@@ -488,7 +512,7 @@ module Akeyless
488
512
  # Calculates hash code according to all attributes.
489
513
  # @return [Integer] Hash code
490
514
  def hash
491
- [add_tag, api_id, api_key, auto_rotate, aws_region, custom_payload, gcp_key, json, keep_prev_version, key, name, new_metadata, new_name, new_version, rm_tag, rotated_password, rotated_username, rotation_hour, rotation_interval, rotator_creds_type, rotator_custom_cmd, secure_access_allow_external_user, secure_access_aws_account_id, secure_access_aws_native_cli, secure_access_bastion_issuer, secure_access_db_name, secure_access_db_schema, secure_access_enable, secure_access_host, secure_access_rdp_domain, secure_access_rdp_user, secure_access_web, secure_access_web_browsing, secure_access_web_proxy, ssh_password, ssh_username, storage_account_key_name, token, uid_token].hash
515
+ [add_tag, api_id, api_key, auto_rotate, aws_region, custom_payload, description, gcp_key, json, keep_prev_version, key, name, new_metadata, new_name, new_version, rm_tag, rotate_after_disconnect, rotated_password, rotated_username, rotation_hour, rotation_interval, rotator_creds_type, rotator_custom_cmd, secure_access_allow_external_user, secure_access_aws_account_id, secure_access_aws_native_cli, secure_access_bastion_issuer, secure_access_db_name, secure_access_db_schema, secure_access_enable, secure_access_host, secure_access_rdp_domain, secure_access_rdp_user, secure_access_web, secure_access_web_browsing, secure_access_web_proxy, ssh_password, ssh_username, storage_account_key_name, token, uid_token].hash
492
516
  end
493
517
 
494
518
  # Builds the object from hash
@@ -21,13 +21,16 @@ module Akeyless
21
21
  # Users allowed to fetch the certificate, e.g root,ubuntu
22
22
  attr_accessor :allowed_users
23
23
 
24
+ # Description of the object
25
+ attr_accessor :description
26
+
24
27
  # Signed certificates with extensions, e.g permit-port-forwarding=\\\"\\\"
25
28
  attr_accessor :extensions
26
29
 
27
30
  # Set output format to JSON
28
31
  attr_accessor :json
29
32
 
30
- # A metadata about the issuer
33
+ # Deprecated - use description
31
34
  attr_accessor :metadata
32
35
 
33
36
  # SSH certificate issuer name
@@ -71,6 +74,7 @@ module Akeyless
71
74
  {
72
75
  :'add_tag' => :'add-tag',
73
76
  :'allowed_users' => :'allowed-users',
77
+ :'description' => :'description',
74
78
  :'extensions' => :'extensions',
75
79
  :'json' => :'json',
76
80
  :'metadata' => :'metadata',
@@ -101,6 +105,7 @@ module Akeyless
101
105
  {
102
106
  :'add_tag' => :'Array<String>',
103
107
  :'allowed_users' => :'String',
108
+ :'description' => :'String',
104
109
  :'extensions' => :'Hash<String, String>',
105
110
  :'json' => :'Boolean',
106
111
  :'metadata' => :'String',
@@ -152,6 +157,10 @@ module Akeyless
152
157
  self.allowed_users = attributes[:'allowed_users']
153
158
  end
154
159
 
160
+ if attributes.key?(:'description')
161
+ self.description = attributes[:'description']
162
+ end
163
+
155
164
  if attributes.key?(:'extensions')
156
165
  if (value = attributes[:'extensions']).is_a?(Hash)
157
166
  self.extensions = value
@@ -267,6 +276,7 @@ module Akeyless
267
276
  self.class == o.class &&
268
277
  add_tag == o.add_tag &&
269
278
  allowed_users == o.allowed_users &&
279
+ description == o.description &&
270
280
  extensions == o.extensions &&
271
281
  json == o.json &&
272
282
  metadata == o.metadata &&
@@ -295,7 +305,7 @@ module Akeyless
295
305
  # Calculates hash code according to all attributes.
296
306
  # @return [Integer] Hash code
297
307
  def hash
298
- [add_tag, allowed_users, extensions, json, metadata, name, new_name, principals, rm_tag, secure_access_bastion_api, secure_access_bastion_ssh, secure_access_enable, secure_access_host, secure_access_ssh_creds_user, secure_access_use_internal_bastion, signer_key_name, token, ttl, uid_token].hash
308
+ [add_tag, allowed_users, description, extensions, json, metadata, name, new_name, principals, rm_tag, secure_access_bastion_api, secure_access_bastion_ssh, secure_access_enable, secure_access_host, secure_access_ssh_creds_user, secure_access_use_internal_bastion, signer_key_name, token, ttl, uid_token].hash
299
309
  end
300
310
 
301
311
  # Builds the object from hash
@@ -21,13 +21,16 @@ module Akeyless
21
21
  # Protection from accidental deletion of this item
22
22
  attr_accessor :delete_protection
23
23
 
24
+ # Description of the object
25
+ attr_accessor :description
26
+
24
27
  # PKCS#12 input file (private key and certificate only)
25
28
  attr_accessor :_in
26
29
 
27
30
  # Set output format to JSON
28
31
  attr_accessor :json
29
32
 
30
- # A metadata about the key
33
+ # Deprecated - use description
31
34
  attr_accessor :metadata
32
35
 
33
36
  # Name of key to be created
@@ -53,6 +56,7 @@ module Akeyless
53
56
  {
54
57
  :'customer_frg_id' => :'customer-frg-id',
55
58
  :'delete_protection' => :'delete_protection',
59
+ :'description' => :'description',
56
60
  :'_in' => :'in',
57
61
  :'json' => :'json',
58
62
  :'metadata' => :'metadata',
@@ -75,6 +79,7 @@ module Akeyless
75
79
  {
76
80
  :'customer_frg_id' => :'String',
77
81
  :'delete_protection' => :'String',
82
+ :'description' => :'String',
78
83
  :'_in' => :'String',
79
84
  :'json' => :'Boolean',
80
85
  :'metadata' => :'String',
@@ -116,6 +121,10 @@ module Akeyless
116
121
  self.delete_protection = attributes[:'delete_protection']
117
122
  end
118
123
 
124
+ if attributes.key?(:'description')
125
+ self.description = attributes[:'description']
126
+ end
127
+
119
128
  if attributes.key?(:'_in')
120
129
  self._in = attributes[:'_in']
121
130
  end
@@ -192,6 +201,7 @@ module Akeyless
192
201
  self.class == o.class &&
193
202
  customer_frg_id == o.customer_frg_id &&
194
203
  delete_protection == o.delete_protection &&
204
+ description == o.description &&
195
205
  _in == o._in &&
196
206
  json == o.json &&
197
207
  metadata == o.metadata &&
@@ -212,7 +222,7 @@ module Akeyless
212
222
  # Calculates hash code according to all attributes.
213
223
  # @return [Integer] Hash code
214
224
  def hash
215
- [customer_frg_id, delete_protection, _in, json, metadata, name, passphrase, split_level, tag, token, uid_token].hash
225
+ [customer_frg_id, delete_protection, description, _in, json, metadata, name, passphrase, split_level, tag, token, uid_token].hash
216
226
  end
217
227
 
218
228
  # Builds the object from hash