akeyless 5.0.19 → 5.0.21

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 (130) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +28 -1
  3. data/docs/CertificateStore.md +2 -0
  4. data/docs/CreateUSC.md +2 -0
  5. data/docs/GCPPayload.md +5 -1
  6. data/docs/GatewayCreateMigration.md +5 -1
  7. data/docs/GatewayUpdateMigration.md +5 -1
  8. data/docs/GatewayUpdateTlsCert.md +2 -0
  9. data/docs/GeneralConfigPart.md +6 -0
  10. data/docs/GetKubeExecCreds.md +1 -1
  11. data/docs/GetPKICertificate.md +1 -1
  12. data/docs/LetsEncryptTargetDetails.md +38 -0
  13. data/docs/PoliciesCreateOutput.md +18 -0
  14. data/docs/PoliciesDelete.md +24 -0
  15. data/docs/PoliciesGet.md +24 -0
  16. data/docs/PoliciesGetOutput.md +18 -0
  17. data/docs/PoliciesList.md +30 -0
  18. data/docs/PoliciesListOutput.md +18 -0
  19. data/docs/PolicyCreateKeys.md +34 -0
  20. data/docs/PolicyOutput.md +34 -0
  21. data/docs/PolicyUpdateKeys.md +36 -0
  22. data/docs/RotatedSecretCreateAws.md +4 -2
  23. data/docs/RotatedSecretCreateAzure.md +4 -2
  24. data/docs/RotatedSecretCreateCassandra.md +1 -1
  25. data/docs/RotatedSecretCreateCustom.md +1 -1
  26. data/docs/RotatedSecretCreateDockerhub.md +1 -1
  27. data/docs/RotatedSecretCreateGcp.md +4 -2
  28. data/docs/RotatedSecretCreateHanadb.md +1 -1
  29. data/docs/RotatedSecretCreateLdap.md +1 -1
  30. data/docs/RotatedSecretCreateMongodb.md +1 -1
  31. data/docs/RotatedSecretCreateMssql.md +1 -1
  32. data/docs/RotatedSecretCreateMysql.md +1 -1
  33. data/docs/RotatedSecretCreateOpenAI.md +1 -1
  34. data/docs/RotatedSecretCreateOracledb.md +1 -1
  35. data/docs/RotatedSecretCreatePostgresql.md +1 -1
  36. data/docs/RotatedSecretCreateRedis.md +1 -1
  37. data/docs/RotatedSecretCreateRedshift.md +1 -1
  38. data/docs/RotatedSecretCreateSnowflake.md +1 -1
  39. data/docs/RotatedSecretCreateSplunk.md +68 -0
  40. data/docs/RotatedSecretCreateSsh.md +1 -1
  41. data/docs/RotatedSecretCreateWindows.md +1 -1
  42. data/docs/RotatedSecretDetailsInfo.md +2 -0
  43. data/docs/RotatedSecretUpdateAws.md +3 -1
  44. data/docs/RotatedSecretUpdateAzure.md +3 -1
  45. data/docs/RotatedSecretUpdateGcp.md +3 -1
  46. data/docs/RotatedSecretUpdateSplunk.md +64 -0
  47. data/docs/SecretInfo.md +2 -0
  48. data/docs/SplunkPayload.md +30 -0
  49. data/docs/SplunkTargetDetails.md +34 -0
  50. data/docs/TargetCreateLetsEncrypt.md +46 -0
  51. data/docs/TargetCreateSplunk.md +42 -0
  52. data/docs/TargetTypeDetailsInput.md +4 -0
  53. data/docs/TargetUpdateLetsEncrypt.md +50 -0
  54. data/docs/UpdateItem.md +2 -0
  55. data/docs/UscCreate.md +2 -0
  56. data/docs/V2Api.md +659 -29
  57. data/lib/akeyless/api/v2_api.rb +640 -0
  58. data/lib/akeyless/models/certificate_store.rb +12 -1
  59. data/lib/akeyless/models/create_usc.rb +11 -1
  60. data/lib/akeyless/models/gateway_create_migration.rb +24 -4
  61. data/lib/akeyless/models/gateway_update_migration.rb +24 -4
  62. data/lib/akeyless/models/gateway_update_tls_cert.rb +13 -1
  63. data/lib/akeyless/models/gcp_payload.rb +22 -4
  64. data/lib/akeyless/models/general_config_part.rb +30 -1
  65. data/lib/akeyless/models/get_kube_exec_creds.rb +1 -1
  66. data/lib/akeyless/models/get_pki_certificate.rb +1 -1
  67. data/lib/akeyless/models/lets_encrypt_target_details.rb +315 -0
  68. data/lib/akeyless/models/policies_create_output.rb +214 -0
  69. data/lib/akeyless/models/policies_delete.rb +254 -0
  70. data/lib/akeyless/models/policies_get.rb +254 -0
  71. data/lib/akeyless/models/policies_get_output.rb +214 -0
  72. data/lib/akeyless/models/policies_list.rb +283 -0
  73. data/lib/akeyless/models/policies_list_output.rb +216 -0
  74. data/lib/akeyless/models/policy_create_keys.rb +312 -0
  75. data/lib/akeyless/models/policy_output.rb +295 -0
  76. data/lib/akeyless/models/policy_update_keys.rb +322 -0
  77. data/lib/akeyless/models/rotated_secret_create_aws.rb +13 -3
  78. data/lib/akeyless/models/rotated_secret_create_azure.rb +13 -3
  79. data/lib/akeyless/models/rotated_secret_create_cassandra.rb +1 -1
  80. data/lib/akeyless/models/rotated_secret_create_custom.rb +1 -1
  81. data/lib/akeyless/models/rotated_secret_create_dockerhub.rb +1 -1
  82. data/lib/akeyless/models/rotated_secret_create_gcp.rb +13 -3
  83. data/lib/akeyless/models/rotated_secret_create_hanadb.rb +1 -1
  84. data/lib/akeyless/models/rotated_secret_create_ldap.rb +1 -1
  85. data/lib/akeyless/models/rotated_secret_create_mongodb.rb +1 -1
  86. data/lib/akeyless/models/rotated_secret_create_mssql.rb +1 -1
  87. data/lib/akeyless/models/rotated_secret_create_mysql.rb +1 -1
  88. data/lib/akeyless/models/rotated_secret_create_open_ai.rb +1 -1
  89. data/lib/akeyless/models/rotated_secret_create_oracledb.rb +1 -1
  90. data/lib/akeyless/models/rotated_secret_create_postgresql.rb +1 -1
  91. data/lib/akeyless/models/rotated_secret_create_redis.rb +1 -1
  92. data/lib/akeyless/models/rotated_secret_create_redshift.rb +1 -1
  93. data/lib/akeyless/models/rotated_secret_create_snowflake.rb +1 -1
  94. data/lib/akeyless/models/rotated_secret_create_splunk.rb +497 -0
  95. data/lib/akeyless/models/rotated_secret_create_ssh.rb +1 -1
  96. data/lib/akeyless/models/rotated_secret_create_windows.rb +1 -1
  97. data/lib/akeyless/models/rotated_secret_details_info.rb +10 -1
  98. data/lib/akeyless/models/rotated_secret_update_aws.rb +12 -2
  99. data/lib/akeyless/models/rotated_secret_update_azure.rb +12 -2
  100. data/lib/akeyless/models/rotated_secret_update_gcp.rb +12 -2
  101. data/lib/akeyless/models/rotated_secret_update_splunk.rb +467 -0
  102. data/lib/akeyless/models/secret_info.rb +10 -1
  103. data/lib/akeyless/models/splunk_payload.rb +268 -0
  104. data/lib/akeyless/models/splunk_target_details.rb +294 -0
  105. data/lib/akeyless/models/target_create_lets_encrypt.rb +368 -0
  106. data/lib/akeyless/models/target_create_splunk.rb +354 -0
  107. data/lib/akeyless/models/target_type_details_input.rb +19 -1
  108. data/lib/akeyless/models/target_update_lets_encrypt.rb +388 -0
  109. data/lib/akeyless/models/update_item.rb +11 -1
  110. data/lib/akeyless/models/usc_create.rb +11 -1
  111. data/lib/akeyless/version.rb +1 -1
  112. data/lib/akeyless.rb +17 -0
  113. data/spec/models/lets_encrypt_target_details_spec.rb +96 -0
  114. data/spec/models/policies_create_output_spec.rb +36 -0
  115. data/spec/models/policies_delete_spec.rb +54 -0
  116. data/spec/models/policies_get_output_spec.rb +36 -0
  117. data/spec/models/policies_get_spec.rb +54 -0
  118. data/spec/models/policies_list_output_spec.rb +36 -0
  119. data/spec/models/policies_list_spec.rb +72 -0
  120. data/spec/models/policy_create_keys_spec.rb +84 -0
  121. data/spec/models/policy_output_spec.rb +84 -0
  122. data/spec/models/policy_update_keys_spec.rb +90 -0
  123. data/spec/models/rotated_secret_create_splunk_spec.rb +186 -0
  124. data/spec/models/rotated_secret_update_splunk_spec.rb +174 -0
  125. data/spec/models/splunk_payload_spec.rb +72 -0
  126. data/spec/models/splunk_target_details_spec.rb +84 -0
  127. data/spec/models/target_create_lets_encrypt_spec.rb +120 -0
  128. data/spec/models/target_create_splunk_spec.rb +108 -0
  129. data/spec/models/target_update_lets_encrypt_spec.rb +132 -0
  130. metadata +69 -1
@@ -0,0 +1,368 @@
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
+ # targetCreateLetsEncrypt is a command that creates a new Let's Encrypt target
18
+ class TargetCreateLetsEncrypt
19
+ attr_accessor :acme_challenge
20
+
21
+ # Description of the object
22
+ attr_accessor :description
23
+
24
+ # Name of existing cloud target for DNS credentials. Required when acme-challenge=dns. Supported: AWS, Azure, GCP targets
25
+ attr_accessor :dns_target_creds
26
+
27
+ # Email address for ACME account registration
28
+ attr_accessor :email
29
+
30
+ # GCP Cloud DNS: Project ID. Optional - can be derived from service account
31
+ attr_accessor :gcp_project
32
+
33
+ # AWS Route53 hosted zone ID. Required when dns-target-creds points to AWS target
34
+ attr_accessor :hosted_zone
35
+
36
+ # Set output format to JSON
37
+ attr_accessor :json
38
+
39
+ # The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
40
+ attr_accessor :key
41
+
42
+ attr_accessor :lets_encrypt_url
43
+
44
+ # Set the maximum number of versions, limited by the account settings defaults.
45
+ attr_accessor :max_versions
46
+
47
+ # Target name
48
+ attr_accessor :name
49
+
50
+ # Azure resource group name. Required when dns-target-creds points to Azure target
51
+ attr_accessor :resource_group
52
+
53
+ attr_accessor :timeout
54
+
55
+ # Authentication token (see `/auth` and `/configure`)
56
+ attr_accessor :token
57
+
58
+ # The universal identity token, Required only for universal_identity authentication
59
+ attr_accessor :uid_token
60
+
61
+ # Attribute mapping from ruby-style variable name to JSON key.
62
+ def self.attribute_map
63
+ {
64
+ :'acme_challenge' => :'acme-challenge',
65
+ :'description' => :'description',
66
+ :'dns_target_creds' => :'dns-target-creds',
67
+ :'email' => :'email',
68
+ :'gcp_project' => :'gcp-project',
69
+ :'hosted_zone' => :'hosted-zone',
70
+ :'json' => :'json',
71
+ :'key' => :'key',
72
+ :'lets_encrypt_url' => :'lets-encrypt-url',
73
+ :'max_versions' => :'max-versions',
74
+ :'name' => :'name',
75
+ :'resource_group' => :'resource-group',
76
+ :'timeout' => :'timeout',
77
+ :'token' => :'token',
78
+ :'uid_token' => :'uid-token'
79
+ }
80
+ end
81
+
82
+ # Returns all the JSON keys this model knows about
83
+ def self.acceptable_attributes
84
+ attribute_map.values
85
+ end
86
+
87
+ # Attribute type mapping.
88
+ def self.openapi_types
89
+ {
90
+ :'acme_challenge' => :'String',
91
+ :'description' => :'String',
92
+ :'dns_target_creds' => :'String',
93
+ :'email' => :'String',
94
+ :'gcp_project' => :'String',
95
+ :'hosted_zone' => :'String',
96
+ :'json' => :'Boolean',
97
+ :'key' => :'String',
98
+ :'lets_encrypt_url' => :'String',
99
+ :'max_versions' => :'String',
100
+ :'name' => :'String',
101
+ :'resource_group' => :'String',
102
+ :'timeout' => :'String',
103
+ :'token' => :'String',
104
+ :'uid_token' => :'String'
105
+ }
106
+ end
107
+
108
+ # List of attributes with nullable: true
109
+ def self.openapi_nullable
110
+ Set.new([
111
+ ])
112
+ end
113
+
114
+ # Initializes the object
115
+ # @param [Hash] attributes Model attributes in the form of hash
116
+ def initialize(attributes = {})
117
+ if (!attributes.is_a?(Hash))
118
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::TargetCreateLetsEncrypt` initialize method"
119
+ end
120
+
121
+ # check to see if the attribute exists and convert string to symbol for hash key
122
+ attributes = attributes.each_with_object({}) { |(k, v), h|
123
+ if (!self.class.attribute_map.key?(k.to_sym))
124
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::TargetCreateLetsEncrypt`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
125
+ end
126
+ h[k.to_sym] = v
127
+ }
128
+
129
+ if attributes.key?(:'acme_challenge')
130
+ self.acme_challenge = attributes[:'acme_challenge']
131
+ else
132
+ self.acme_challenge = 'http'
133
+ end
134
+
135
+ if attributes.key?(:'description')
136
+ self.description = attributes[:'description']
137
+ end
138
+
139
+ if attributes.key?(:'dns_target_creds')
140
+ self.dns_target_creds = attributes[:'dns_target_creds']
141
+ end
142
+
143
+ if attributes.key?(:'email')
144
+ self.email = attributes[:'email']
145
+ end
146
+
147
+ if attributes.key?(:'gcp_project')
148
+ self.gcp_project = attributes[:'gcp_project']
149
+ end
150
+
151
+ if attributes.key?(:'hosted_zone')
152
+ self.hosted_zone = attributes[:'hosted_zone']
153
+ end
154
+
155
+ if attributes.key?(:'json')
156
+ self.json = attributes[:'json']
157
+ else
158
+ self.json = false
159
+ end
160
+
161
+ if attributes.key?(:'key')
162
+ self.key = attributes[:'key']
163
+ end
164
+
165
+ if attributes.key?(:'lets_encrypt_url')
166
+ self.lets_encrypt_url = attributes[:'lets_encrypt_url']
167
+ else
168
+ self.lets_encrypt_url = 'production'
169
+ end
170
+
171
+ if attributes.key?(:'max_versions')
172
+ self.max_versions = attributes[:'max_versions']
173
+ end
174
+
175
+ if attributes.key?(:'name')
176
+ self.name = attributes[:'name']
177
+ else
178
+ self.name = nil
179
+ end
180
+
181
+ if attributes.key?(:'resource_group')
182
+ self.resource_group = attributes[:'resource_group']
183
+ end
184
+
185
+ if attributes.key?(:'timeout')
186
+ self.timeout = attributes[:'timeout']
187
+ else
188
+ self.timeout = '5m'
189
+ end
190
+
191
+ if attributes.key?(:'token')
192
+ self.token = attributes[:'token']
193
+ end
194
+
195
+ if attributes.key?(:'uid_token')
196
+ self.uid_token = attributes[:'uid_token']
197
+ end
198
+ end
199
+
200
+ # Show invalid properties with the reasons. Usually used together with valid?
201
+ # @return Array for valid properties with the reasons
202
+ def list_invalid_properties
203
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
204
+ invalid_properties = Array.new
205
+ if @name.nil?
206
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
207
+ end
208
+
209
+ invalid_properties
210
+ end
211
+
212
+ # Check to see if the all the properties in the model are valid
213
+ # @return true if the model is valid
214
+ def valid?
215
+ warn '[DEPRECATED] the `valid?` method is obsolete'
216
+ return false if @name.nil?
217
+ true
218
+ end
219
+
220
+ # Checks equality by comparing each attribute.
221
+ # @param [Object] Object to be compared
222
+ def ==(o)
223
+ return true if self.equal?(o)
224
+ self.class == o.class &&
225
+ acme_challenge == o.acme_challenge &&
226
+ description == o.description &&
227
+ dns_target_creds == o.dns_target_creds &&
228
+ email == o.email &&
229
+ gcp_project == o.gcp_project &&
230
+ hosted_zone == o.hosted_zone &&
231
+ json == o.json &&
232
+ key == o.key &&
233
+ lets_encrypt_url == o.lets_encrypt_url &&
234
+ max_versions == o.max_versions &&
235
+ name == o.name &&
236
+ resource_group == o.resource_group &&
237
+ timeout == o.timeout &&
238
+ token == o.token &&
239
+ uid_token == o.uid_token
240
+ end
241
+
242
+ # @see the `==` method
243
+ # @param [Object] Object to be compared
244
+ def eql?(o)
245
+ self == o
246
+ end
247
+
248
+ # Calculates hash code according to all attributes.
249
+ # @return [Integer] Hash code
250
+ def hash
251
+ [acme_challenge, description, dns_target_creds, email, gcp_project, hosted_zone, json, key, lets_encrypt_url, max_versions, name, resource_group, timeout, token, uid_token].hash
252
+ end
253
+
254
+ # Builds the object from hash
255
+ # @param [Hash] attributes Model attributes in the form of hash
256
+ # @return [Object] Returns the model itself
257
+ def self.build_from_hash(attributes)
258
+ return nil unless attributes.is_a?(Hash)
259
+ attributes = attributes.transform_keys(&:to_sym)
260
+ transformed_hash = {}
261
+ openapi_types.each_pair do |key, type|
262
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
263
+ transformed_hash["#{key}"] = nil
264
+ elsif type =~ /\AArray<(.*)>/i
265
+ # check to ensure the input is an array given that the attribute
266
+ # is documented as an array but the input is not
267
+ if attributes[attribute_map[key]].is_a?(Array)
268
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
269
+ end
270
+ elsif !attributes[attribute_map[key]].nil?
271
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
272
+ end
273
+ end
274
+ new(transformed_hash)
275
+ end
276
+
277
+ # Deserializes the data based on type
278
+ # @param string type Data type
279
+ # @param string value Value to be deserialized
280
+ # @return [Object] Deserialized data
281
+ def self._deserialize(type, value)
282
+ case type.to_sym
283
+ when :Time
284
+ Time.parse(value)
285
+ when :Date
286
+ Date.parse(value)
287
+ when :String
288
+ value.to_s
289
+ when :Integer
290
+ value.to_i
291
+ when :Float
292
+ value.to_f
293
+ when :Boolean
294
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
295
+ true
296
+ else
297
+ false
298
+ end
299
+ when :Object
300
+ # generic object (usually a Hash), return directly
301
+ value
302
+ when /\AArray<(?<inner_type>.+)>\z/
303
+ inner_type = Regexp.last_match[:inner_type]
304
+ value.map { |v| _deserialize(inner_type, v) }
305
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
306
+ k_type = Regexp.last_match[:k_type]
307
+ v_type = Regexp.last_match[:v_type]
308
+ {}.tap do |hash|
309
+ value.each do |k, v|
310
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
311
+ end
312
+ end
313
+ else # model
314
+ # models (e.g. Pet) or oneOf
315
+ klass = Akeyless.const_get(type)
316
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
317
+ end
318
+ end
319
+
320
+ # Returns the string representation of the object
321
+ # @return [String] String presentation of the object
322
+ def to_s
323
+ to_hash.to_s
324
+ end
325
+
326
+ # to_body is an alias to to_hash (backward compatibility)
327
+ # @return [Hash] Returns the object in the form of hash
328
+ def to_body
329
+ to_hash
330
+ end
331
+
332
+ # Returns the object in the form of hash
333
+ # @return [Hash] Returns the object in the form of hash
334
+ def to_hash
335
+ hash = {}
336
+ self.class.attribute_map.each_pair do |attr, param|
337
+ value = self.send(attr)
338
+ if value.nil?
339
+ is_nullable = self.class.openapi_nullable.include?(attr)
340
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
341
+ end
342
+
343
+ hash[param] = _to_hash(value)
344
+ end
345
+ hash
346
+ end
347
+
348
+ # Outputs non-array value in the form of hash
349
+ # For object, use to_hash. Otherwise, just return the value
350
+ # @param [Object] value Any valid value
351
+ # @return [Hash] Returns the value in the form of hash
352
+ def _to_hash(value)
353
+ if value.is_a?(Array)
354
+ value.compact.map { |v| _to_hash(v) }
355
+ elsif value.is_a?(Hash)
356
+ {}.tap do |hash|
357
+ value.each { |k, v| hash[k] = _to_hash(v) }
358
+ end
359
+ elsif value.respond_to? :to_hash
360
+ value.to_hash
361
+ else
362
+ value
363
+ end
364
+ end
365
+
366
+ end
367
+
368
+ end