akeyless 3.0.0 → 3.1.0

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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +24 -3
  3. data/docs/AttributeTypeAndValue.md +20 -0
  4. data/docs/CertificateChainInfo.md +22 -0
  5. data/docs/CertificateExpirationEvent.md +18 -0
  6. data/docs/CertificateInfo.md +62 -0
  7. data/docs/Connect.md +2 -0
  8. data/docs/CreateEventForwarder.md +48 -0
  9. data/docs/CreateEventForwarderOutput.md +18 -0
  10. data/docs/CreateRotatedSecret.md +2 -0
  11. data/docs/DeleteEventForwarder.md +24 -0
  12. data/docs/EmailEntry.md +20 -0
  13. data/docs/Extension.md +22 -0
  14. data/docs/GatewayUpdateItem.md +2 -0
  15. data/docs/GetEventForwarder.md +24 -0
  16. data/docs/GetEventForwarderOutput.md +18 -0
  17. data/docs/Item.md +4 -0
  18. data/docs/ItemGeneralInfo.md +2 -0
  19. data/docs/ListSharedItems.md +24 -0
  20. data/docs/Name.md +28 -0
  21. data/docs/NotiForwarder.md +56 -0
  22. data/docs/RequestAccess.md +28 -0
  23. data/docs/RequestAccessOutput.md +18 -0
  24. data/docs/Target.md +4 -0
  25. data/docs/UpdateEventForwarder.md +40 -0
  26. data/docs/UpdateRotatedSecret.md +2 -0
  27. data/docs/V2Api.md +377 -63
  28. data/lib/akeyless/api/v2_api.rb +384 -64
  29. data/lib/akeyless/api_error.rb +1 -0
  30. data/lib/akeyless/configuration.rb +11 -0
  31. data/lib/akeyless/models/attribute_type_and_value.rb +231 -0
  32. data/lib/akeyless/models/certificate_chain_info.rb +241 -0
  33. data/lib/akeyless/models/certificate_expiration_event.rb +219 -0
  34. data/lib/akeyless/models/certificate_info.rb +434 -0
  35. data/lib/akeyless/models/connect.rb +11 -1
  36. data/lib/akeyless/models/create_event_forwarder.rb +394 -0
  37. data/lib/akeyless/models/create_event_forwarder_output.rb +219 -0
  38. data/lib/akeyless/models/create_rotated_secret.rb +11 -1
  39. data/lib/akeyless/models/delete_event_forwarder.rb +255 -0
  40. data/lib/akeyless/models/email_entry.rb +228 -0
  41. data/lib/akeyless/models/extension.rb +237 -0
  42. data/lib/akeyless/models/gateway_update_item.rb +11 -1
  43. data/lib/akeyless/models/get_event_forwarder.rb +255 -0
  44. data/lib/akeyless/models/get_event_forwarder_output.rb +219 -0
  45. data/lib/akeyless/models/item.rb +19 -1
  46. data/lib/akeyless/models/item_general_info.rb +10 -1
  47. data/lib/akeyless/models/list_shared_items.rb +253 -0
  48. data/lib/akeyless/models/name.rb +277 -0
  49. data/lib/akeyless/models/noti_forwarder.rb +400 -0
  50. data/lib/akeyless/models/request_access.rb +282 -0
  51. data/lib/akeyless/models/request_access_output.rb +219 -0
  52. data/lib/akeyless/models/target.rb +19 -1
  53. data/lib/akeyless/models/update_event_forwarder.rb +341 -0
  54. data/lib/akeyless/models/update_rotated_secret.rb +11 -1
  55. data/lib/akeyless/version.rb +1 -1
  56. data/lib/akeyless.rb +17 -1
  57. data/spec/models/attribute_type_and_value_spec.rb +40 -0
  58. data/spec/models/certificate_chain_info_spec.rb +46 -0
  59. data/spec/models/certificate_expiration_event_spec.rb +34 -0
  60. data/spec/models/certificate_info_spec.rb +166 -0
  61. data/spec/models/create_event_forwarder_output_spec.rb +34 -0
  62. data/spec/models/create_event_forwarder_spec.rb +124 -0
  63. data/spec/models/delete_event_forwarder_spec.rb +52 -0
  64. data/spec/models/email_entry_spec.rb +40 -0
  65. data/spec/models/extension_spec.rb +46 -0
  66. data/spec/models/get_event_forwarder_output_spec.rb +34 -0
  67. data/spec/models/get_event_forwarder_spec.rb +52 -0
  68. data/spec/models/list_shared_items_spec.rb +52 -0
  69. data/spec/models/name_spec.rb +64 -0
  70. data/spec/models/noti_forwarder_spec.rb +148 -0
  71. data/spec/models/request_access_output_spec.rb +34 -0
  72. data/spec/models/request_access_spec.rb +64 -0
  73. data/spec/models/update_event_forwarder_spec.rb +100 -0
  74. metadata +597 -529
@@ -0,0 +1,434 @@
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 CertificateInfo
18
+ attr_accessor :ext_key_usage
19
+
20
+ # KeyUsage represents the set of actions that are valid for a given key. It's a bitmap of the KeyUsage* constants.
21
+ attr_accessor :key_usage
22
+
23
+ attr_accessor :dns_names
24
+
25
+ attr_accessor :email_addresses
26
+
27
+ attr_accessor :extensions
28
+
29
+ attr_accessor :ip_addresses
30
+
31
+ attr_accessor :is_ca
32
+
33
+ attr_accessor :issuer
34
+
35
+ attr_accessor :issuing_certificate_url
36
+
37
+ attr_accessor :key_size
38
+
39
+ attr_accessor :not_after
40
+
41
+ attr_accessor :not_before
42
+
43
+ attr_accessor :ocsp_server
44
+
45
+ attr_accessor :public_key_algorithm_name
46
+
47
+ attr_accessor :serial_number
48
+
49
+ attr_accessor :sha_1_fingerprint
50
+
51
+ attr_accessor :sha_256_fingerprint
52
+
53
+ attr_accessor :signature
54
+
55
+ attr_accessor :signature_algorithm_name
56
+
57
+ attr_accessor :subject
58
+
59
+ attr_accessor :subject_public_key
60
+
61
+ attr_accessor :uris
62
+
63
+ attr_accessor :version
64
+
65
+ # Attribute mapping from ruby-style variable name to JSON key.
66
+ def self.attribute_map
67
+ {
68
+ :'ext_key_usage' => :'ExtKeyUsage',
69
+ :'key_usage' => :'KeyUsage',
70
+ :'dns_names' => :'dns_names',
71
+ :'email_addresses' => :'email_addresses',
72
+ :'extensions' => :'extensions',
73
+ :'ip_addresses' => :'ip_addresses',
74
+ :'is_ca' => :'is_ca',
75
+ :'issuer' => :'issuer',
76
+ :'issuing_certificate_url' => :'issuing_certificate_url',
77
+ :'key_size' => :'key_size',
78
+ :'not_after' => :'not_after',
79
+ :'not_before' => :'not_before',
80
+ :'ocsp_server' => :'ocsp_server',
81
+ :'public_key_algorithm_name' => :'public_key_algorithm_name',
82
+ :'serial_number' => :'serial_number',
83
+ :'sha_1_fingerprint' => :'sha_1_fingerprint',
84
+ :'sha_256_fingerprint' => :'sha_256_fingerprint',
85
+ :'signature' => :'signature',
86
+ :'signature_algorithm_name' => :'signature_algorithm_name',
87
+ :'subject' => :'subject',
88
+ :'subject_public_key' => :'subject_public_key',
89
+ :'uris' => :'uris',
90
+ :'version' => :'version'
91
+ }
92
+ end
93
+
94
+ # Returns all the JSON keys this model knows about
95
+ def self.acceptable_attributes
96
+ attribute_map.values
97
+ end
98
+
99
+ # Attribute type mapping.
100
+ def self.openapi_types
101
+ {
102
+ :'ext_key_usage' => :'Array<Integer>',
103
+ :'key_usage' => :'Integer',
104
+ :'dns_names' => :'Array<String>',
105
+ :'email_addresses' => :'Array<String>',
106
+ :'extensions' => :'Array<Extension>',
107
+ :'ip_addresses' => :'Array<String>',
108
+ :'is_ca' => :'Boolean',
109
+ :'issuer' => :'Name',
110
+ :'issuing_certificate_url' => :'Array<String>',
111
+ :'key_size' => :'Integer',
112
+ :'not_after' => :'Time',
113
+ :'not_before' => :'Time',
114
+ :'ocsp_server' => :'Array<String>',
115
+ :'public_key_algorithm_name' => :'String',
116
+ :'serial_number' => :'String',
117
+ :'sha_1_fingerprint' => :'String',
118
+ :'sha_256_fingerprint' => :'String',
119
+ :'signature' => :'String',
120
+ :'signature_algorithm_name' => :'String',
121
+ :'subject' => :'Name',
122
+ :'subject_public_key' => :'String',
123
+ :'uris' => :'Array<String>',
124
+ :'version' => :'Integer'
125
+ }
126
+ end
127
+
128
+ # List of attributes with nullable: true
129
+ def self.openapi_nullable
130
+ Set.new([
131
+ ])
132
+ end
133
+
134
+ # Initializes the object
135
+ # @param [Hash] attributes Model attributes in the form of hash
136
+ def initialize(attributes = {})
137
+ if (!attributes.is_a?(Hash))
138
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::CertificateInfo` initialize method"
139
+ end
140
+
141
+ # check to see if the attribute exists and convert string to symbol for hash key
142
+ attributes = attributes.each_with_object({}) { |(k, v), h|
143
+ if (!self.class.attribute_map.key?(k.to_sym))
144
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::CertificateInfo`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
145
+ end
146
+ h[k.to_sym] = v
147
+ }
148
+
149
+ if attributes.key?(:'ext_key_usage')
150
+ if (value = attributes[:'ext_key_usage']).is_a?(Array)
151
+ self.ext_key_usage = value
152
+ end
153
+ end
154
+
155
+ if attributes.key?(:'key_usage')
156
+ self.key_usage = attributes[:'key_usage']
157
+ end
158
+
159
+ if attributes.key?(:'dns_names')
160
+ if (value = attributes[:'dns_names']).is_a?(Array)
161
+ self.dns_names = value
162
+ end
163
+ end
164
+
165
+ if attributes.key?(:'email_addresses')
166
+ if (value = attributes[:'email_addresses']).is_a?(Array)
167
+ self.email_addresses = value
168
+ end
169
+ end
170
+
171
+ if attributes.key?(:'extensions')
172
+ if (value = attributes[:'extensions']).is_a?(Array)
173
+ self.extensions = value
174
+ end
175
+ end
176
+
177
+ if attributes.key?(:'ip_addresses')
178
+ if (value = attributes[:'ip_addresses']).is_a?(Array)
179
+ self.ip_addresses = value
180
+ end
181
+ end
182
+
183
+ if attributes.key?(:'is_ca')
184
+ self.is_ca = attributes[:'is_ca']
185
+ end
186
+
187
+ if attributes.key?(:'issuer')
188
+ self.issuer = attributes[:'issuer']
189
+ end
190
+
191
+ if attributes.key?(:'issuing_certificate_url')
192
+ if (value = attributes[:'issuing_certificate_url']).is_a?(Array)
193
+ self.issuing_certificate_url = value
194
+ end
195
+ end
196
+
197
+ if attributes.key?(:'key_size')
198
+ self.key_size = attributes[:'key_size']
199
+ end
200
+
201
+ if attributes.key?(:'not_after')
202
+ self.not_after = attributes[:'not_after']
203
+ end
204
+
205
+ if attributes.key?(:'not_before')
206
+ self.not_before = attributes[:'not_before']
207
+ end
208
+
209
+ if attributes.key?(:'ocsp_server')
210
+ if (value = attributes[:'ocsp_server']).is_a?(Array)
211
+ self.ocsp_server = value
212
+ end
213
+ end
214
+
215
+ if attributes.key?(:'public_key_algorithm_name')
216
+ self.public_key_algorithm_name = attributes[:'public_key_algorithm_name']
217
+ end
218
+
219
+ if attributes.key?(:'serial_number')
220
+ self.serial_number = attributes[:'serial_number']
221
+ end
222
+
223
+ if attributes.key?(:'sha_1_fingerprint')
224
+ self.sha_1_fingerprint = attributes[:'sha_1_fingerprint']
225
+ end
226
+
227
+ if attributes.key?(:'sha_256_fingerprint')
228
+ self.sha_256_fingerprint = attributes[:'sha_256_fingerprint']
229
+ end
230
+
231
+ if attributes.key?(:'signature')
232
+ self.signature = attributes[:'signature']
233
+ end
234
+
235
+ if attributes.key?(:'signature_algorithm_name')
236
+ self.signature_algorithm_name = attributes[:'signature_algorithm_name']
237
+ end
238
+
239
+ if attributes.key?(:'subject')
240
+ self.subject = attributes[:'subject']
241
+ end
242
+
243
+ if attributes.key?(:'subject_public_key')
244
+ self.subject_public_key = attributes[:'subject_public_key']
245
+ end
246
+
247
+ if attributes.key?(:'uris')
248
+ if (value = attributes[:'uris']).is_a?(Array)
249
+ self.uris = value
250
+ end
251
+ end
252
+
253
+ if attributes.key?(:'version')
254
+ self.version = attributes[:'version']
255
+ end
256
+ end
257
+
258
+ # Show invalid properties with the reasons. Usually used together with valid?
259
+ # @return Array for valid properties with the reasons
260
+ def list_invalid_properties
261
+ invalid_properties = Array.new
262
+ invalid_properties
263
+ end
264
+
265
+ # Check to see if the all the properties in the model are valid
266
+ # @return true if the model is valid
267
+ def valid?
268
+ true
269
+ end
270
+
271
+ # Checks equality by comparing each attribute.
272
+ # @param [Object] Object to be compared
273
+ def ==(o)
274
+ return true if self.equal?(o)
275
+ self.class == o.class &&
276
+ ext_key_usage == o.ext_key_usage &&
277
+ key_usage == o.key_usage &&
278
+ dns_names == o.dns_names &&
279
+ email_addresses == o.email_addresses &&
280
+ extensions == o.extensions &&
281
+ ip_addresses == o.ip_addresses &&
282
+ is_ca == o.is_ca &&
283
+ issuer == o.issuer &&
284
+ issuing_certificate_url == o.issuing_certificate_url &&
285
+ key_size == o.key_size &&
286
+ not_after == o.not_after &&
287
+ not_before == o.not_before &&
288
+ ocsp_server == o.ocsp_server &&
289
+ public_key_algorithm_name == o.public_key_algorithm_name &&
290
+ serial_number == o.serial_number &&
291
+ sha_1_fingerprint == o.sha_1_fingerprint &&
292
+ sha_256_fingerprint == o.sha_256_fingerprint &&
293
+ signature == o.signature &&
294
+ signature_algorithm_name == o.signature_algorithm_name &&
295
+ subject == o.subject &&
296
+ subject_public_key == o.subject_public_key &&
297
+ uris == o.uris &&
298
+ version == o.version
299
+ end
300
+
301
+ # @see the `==` method
302
+ # @param [Object] Object to be compared
303
+ def eql?(o)
304
+ self == o
305
+ end
306
+
307
+ # Calculates hash code according to all attributes.
308
+ # @return [Integer] Hash code
309
+ def hash
310
+ [ext_key_usage, key_usage, dns_names, email_addresses, extensions, ip_addresses, is_ca, issuer, issuing_certificate_url, key_size, not_after, not_before, ocsp_server, public_key_algorithm_name, serial_number, sha_1_fingerprint, sha_256_fingerprint, signature, signature_algorithm_name, subject, subject_public_key, uris, version].hash
311
+ end
312
+
313
+ # Builds the object from hash
314
+ # @param [Hash] attributes Model attributes in the form of hash
315
+ # @return [Object] Returns the model itself
316
+ def self.build_from_hash(attributes)
317
+ new.build_from_hash(attributes)
318
+ end
319
+
320
+ # Builds the object from hash
321
+ # @param [Hash] attributes Model attributes in the form of hash
322
+ # @return [Object] Returns the model itself
323
+ def build_from_hash(attributes)
324
+ return nil unless attributes.is_a?(Hash)
325
+ attributes = attributes.transform_keys(&:to_sym)
326
+ self.class.openapi_types.each_pair do |key, type|
327
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
328
+ self.send("#{key}=", nil)
329
+ elsif type =~ /\AArray<(.*)>/i
330
+ # check to ensure the input is an array given that the attribute
331
+ # is documented as an array but the input is not
332
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
333
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
334
+ end
335
+ elsif !attributes[self.class.attribute_map[key]].nil?
336
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
337
+ end
338
+ end
339
+
340
+ self
341
+ end
342
+
343
+ # Deserializes the data based on type
344
+ # @param string type Data type
345
+ # @param string value Value to be deserialized
346
+ # @return [Object] Deserialized data
347
+ def _deserialize(type, value)
348
+ case type.to_sym
349
+ when :Time
350
+ Time.parse(value)
351
+ when :Date
352
+ Date.parse(value)
353
+ when :String
354
+ value.to_s
355
+ when :Integer
356
+ value.to_i
357
+ when :Float
358
+ value.to_f
359
+ when :Boolean
360
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
361
+ true
362
+ else
363
+ false
364
+ end
365
+ when :Object
366
+ # generic object (usually a Hash), return directly
367
+ value
368
+ when /\AArray<(?<inner_type>.+)>\z/
369
+ inner_type = Regexp.last_match[:inner_type]
370
+ value.map { |v| _deserialize(inner_type, v) }
371
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
372
+ k_type = Regexp.last_match[:k_type]
373
+ v_type = Regexp.last_match[:v_type]
374
+ {}.tap do |hash|
375
+ value.each do |k, v|
376
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
377
+ end
378
+ end
379
+ else # model
380
+ # models (e.g. Pet) or oneOf
381
+ klass = Akeyless.const_get(type)
382
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
383
+ end
384
+ end
385
+
386
+ # Returns the string representation of the object
387
+ # @return [String] String presentation of the object
388
+ def to_s
389
+ to_hash.to_s
390
+ end
391
+
392
+ # to_body is an alias to to_hash (backward compatibility)
393
+ # @return [Hash] Returns the object in the form of hash
394
+ def to_body
395
+ to_hash
396
+ end
397
+
398
+ # Returns the object in the form of hash
399
+ # @return [Hash] Returns the object in the form of hash
400
+ def to_hash
401
+ hash = {}
402
+ self.class.attribute_map.each_pair do |attr, param|
403
+ value = self.send(attr)
404
+ if value.nil?
405
+ is_nullable = self.class.openapi_nullable.include?(attr)
406
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
407
+ end
408
+
409
+ hash[param] = _to_hash(value)
410
+ end
411
+ hash
412
+ end
413
+
414
+ # Outputs non-array value in the form of hash
415
+ # For object, use to_hash. Otherwise, just return the value
416
+ # @param [Object] value Any valid value
417
+ # @return [Hash] Returns the value in the form of hash
418
+ def _to_hash(value)
419
+ if value.is_a?(Array)
420
+ value.compact.map { |v| _to_hash(v) }
421
+ elsif value.is_a?(Hash)
422
+ {}.tap do |hash|
423
+ value.each { |k, v| hash[k] = _to_hash(v) }
424
+ end
425
+ elsif value.respond_to? :to_hash
426
+ value.to_hash
427
+ else
428
+ value
429
+ end
430
+ end
431
+
432
+ end
433
+
434
+ end
@@ -45,6 +45,9 @@ module Akeyless
45
45
  # The Secret name (for database and AWS producers - producer name)
46
46
  attr_accessor :name
47
47
 
48
+ # Path to SSH executable. e.g. /usr/bin/ssh
49
+ attr_accessor :ssh_command
50
+
48
51
  # The Use to add offical SSH arguments (except -i)
49
52
  attr_accessor :ssh_extra_args
50
53
 
@@ -76,6 +79,7 @@ module Akeyless
76
79
  :'identity_file' => :'identity-file',
77
80
  :'json' => :'json',
78
81
  :'name' => :'name',
82
+ :'ssh_command' => :'ssh-command',
79
83
  :'ssh_extra_args' => :'ssh-extra-args',
80
84
  :'ssh_legacy_signing_alg' => :'ssh-legacy-signing-alg',
81
85
  :'target' => :'target',
@@ -103,6 +107,7 @@ module Akeyless
103
107
  :'identity_file' => :'String',
104
108
  :'json' => :'Boolean',
105
109
  :'name' => :'String',
110
+ :'ssh_command' => :'String',
106
111
  :'ssh_extra_args' => :'String',
107
112
  :'ssh_legacy_signing_alg' => :'Boolean',
108
113
  :'target' => :'String',
@@ -177,6 +182,10 @@ module Akeyless
177
182
  self.name = attributes[:'name']
178
183
  end
179
184
 
185
+ if attributes.key?(:'ssh_command')
186
+ self.ssh_command = attributes[:'ssh_command']
187
+ end
188
+
180
189
  if attributes.key?(:'ssh_extra_args')
181
190
  self.ssh_extra_args = attributes[:'ssh_extra_args']
182
191
  end
@@ -230,6 +239,7 @@ module Akeyless
230
239
  identity_file == o.identity_file &&
231
240
  json == o.json &&
232
241
  name == o.name &&
242
+ ssh_command == o.ssh_command &&
233
243
  ssh_extra_args == o.ssh_extra_args &&
234
244
  ssh_legacy_signing_alg == o.ssh_legacy_signing_alg &&
235
245
  target == o.target &&
@@ -247,7 +257,7 @@ module Akeyless
247
257
  # Calculates hash code according to all attributes.
248
258
  # @return [Integer] Hash code
249
259
  def hash
250
- [helper, rc_file_override, bastion_ctrl_path, bastion_ctrl_port, bastion_ctrl_proto, bastion_ctrl_subdomain, cert_issuer_name, identity_file, json, name, ssh_extra_args, ssh_legacy_signing_alg, target, token, uid_token, via_bastion].hash
260
+ [helper, rc_file_override, bastion_ctrl_path, bastion_ctrl_port, bastion_ctrl_proto, bastion_ctrl_subdomain, cert_issuer_name, identity_file, json, name, ssh_command, ssh_extra_args, ssh_legacy_signing_alg, target, token, uid_token, via_bastion].hash
251
261
  end
252
262
 
253
263
  # Builds the object from hash