akeyless 5.0.20 → 5.0.22

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 (188) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +40 -1
  3. data/docs/AccountGeneralSettings.md +2 -0
  4. data/docs/ActiveDirectoryPayload.md +6 -0
  5. data/docs/Auth.md +2 -0
  6. data/docs/AuthMethodCreateCert.md +2 -0
  7. data/docs/AuthMethodUpdateCert.md +2 -0
  8. data/docs/AzureADAccessRules.md +2 -0
  9. data/docs/AzureTargetDetails.md +2 -0
  10. data/docs/CertAccessRules.md +2 -0
  11. data/docs/CertificateChainInfo.md +2 -0
  12. data/docs/Configure.md +2 -0
  13. data/docs/ConjurMigration.md +20 -0
  14. data/docs/ConjurPayload.md +24 -0
  15. data/docs/CreateAuthMethodCert.md +2 -0
  16. data/docs/CreateAzureTarget.md +2 -0
  17. data/docs/CreateUSC.md +10 -0
  18. data/docs/DSProducerDetails.md +2 -0
  19. data/docs/DefaultAuthMethodSettings.md +20 -0
  20. data/docs/GCPPayload.md +5 -1
  21. data/docs/GatewayCreateMigration.md +20 -2
  22. data/docs/GatewayUpdateMigration.md +19 -1
  23. data/docs/GetPKICertificateOutput.md +2 -0
  24. data/docs/GithubMetadata.md +28 -0
  25. data/docs/HTTPChallengeInfo.md +26 -0
  26. data/docs/IssuerOverviewInfo.md +22 -0
  27. data/docs/ItemGeneralInfo.md +2 -0
  28. data/docs/LetsEncryptTargetDetails.md +38 -0
  29. data/docs/MigrationStatusReplyObj.md +2 -0
  30. data/docs/MigrationsConfigPart.md +2 -0
  31. data/docs/PoliciesCreateOutput.md +18 -0
  32. data/docs/PoliciesDelete.md +24 -0
  33. data/docs/PoliciesGet.md +24 -0
  34. data/docs/PoliciesGetOutput.md +18 -0
  35. data/docs/PoliciesList.md +30 -0
  36. data/docs/PoliciesListOutput.md +18 -0
  37. data/docs/PolicyCreateKeys.md +34 -0
  38. data/docs/PolicyOutput.md +34 -0
  39. data/docs/PolicyUpdateKeys.md +36 -0
  40. data/docs/RotatedSecretCreateAws.md +4 -2
  41. data/docs/RotatedSecretCreateAzure.md +4 -2
  42. data/docs/RotatedSecretCreateCassandra.md +1 -1
  43. data/docs/RotatedSecretCreateCustom.md +1 -1
  44. data/docs/RotatedSecretCreateDockerhub.md +1 -1
  45. data/docs/RotatedSecretCreateGcp.md +4 -2
  46. data/docs/RotatedSecretCreateHanadb.md +1 -1
  47. data/docs/RotatedSecretCreateLdap.md +1 -1
  48. data/docs/RotatedSecretCreateMongodb.md +1 -1
  49. data/docs/RotatedSecretCreateMssql.md +1 -1
  50. data/docs/RotatedSecretCreateMysql.md +1 -1
  51. data/docs/RotatedSecretCreateOpenAI.md +1 -1
  52. data/docs/RotatedSecretCreateOracledb.md +1 -1
  53. data/docs/RotatedSecretCreatePostgresql.md +1 -1
  54. data/docs/RotatedSecretCreateRedis.md +1 -1
  55. data/docs/RotatedSecretCreateRedshift.md +1 -1
  56. data/docs/RotatedSecretCreateSnowflake.md +1 -1
  57. data/docs/RotatedSecretCreateSplunk.md +68 -0
  58. data/docs/RotatedSecretCreateSsh.md +1 -1
  59. data/docs/RotatedSecretCreateWindows.md +1 -1
  60. data/docs/RotatedSecretDetailsInfo.md +2 -0
  61. data/docs/RotatedSecretUpdateAws.md +3 -1
  62. data/docs/RotatedSecretUpdateAzure.md +3 -1
  63. data/docs/RotatedSecretUpdateGcp.md +3 -1
  64. data/docs/RotatedSecretUpdateSplunk.md +64 -0
  65. data/docs/SecretInfo.md +2 -0
  66. data/docs/SplunkPayload.md +30 -0
  67. data/docs/SplunkTargetDetails.md +34 -0
  68. data/docs/TargetCreateAzure.md +2 -0
  69. data/docs/TargetCreateLetsEncrypt.md +46 -0
  70. data/docs/TargetCreateSplunk.md +42 -0
  71. data/docs/TargetTypeDetailsInput.md +4 -0
  72. data/docs/TargetUpdateAzure.md +2 -0
  73. data/docs/TargetUpdateLetsEncrypt.md +50 -0
  74. data/docs/UpdateAuthMethodCert.md +2 -0
  75. data/docs/UpdateAzureTarget.md +2 -0
  76. data/docs/V2Api.md +756 -0
  77. data/docs/ValidateCertificateChallenge.md +30 -0
  78. data/docs/ValidateCertificateChallengeOutput.md +24 -0
  79. data/docs/VaultAddress.md +20 -0
  80. data/docs/VaultAddressOutput.md +20 -0
  81. data/lib/akeyless/api/v2_api.rb +775 -7
  82. data/lib/akeyless/models/account_general_settings.rb +10 -1
  83. data/lib/akeyless/models/active_directory_payload.rb +30 -1
  84. data/lib/akeyless/models/auth.rb +13 -1
  85. data/lib/akeyless/models/auth_method_create_cert.rb +11 -1
  86. data/lib/akeyless/models/auth_method_update_cert.rb +11 -1
  87. data/lib/akeyless/models/azure_ad_access_rules.rb +11 -1
  88. data/lib/akeyless/models/azure_target_details.rb +10 -1
  89. data/lib/akeyless/models/cert_access_rules.rb +11 -1
  90. data/lib/akeyless/models/certificate_chain_info.rb +11 -1
  91. data/lib/akeyless/models/configure.rb +13 -1
  92. data/lib/akeyless/models/conjur_migration.rb +223 -0
  93. data/lib/akeyless/models/conjur_payload.rb +241 -0
  94. data/lib/akeyless/models/create_auth_method_cert.rb +11 -1
  95. data/lib/akeyless/models/create_azure_target.rb +13 -1
  96. data/lib/akeyless/models/create_usc.rb +54 -1
  97. data/lib/akeyless/models/default_auth_method_settings.rb +223 -0
  98. data/lib/akeyless/models/ds_producer_details.rb +10 -1
  99. data/lib/akeyless/models/gateway_create_migration.rb +97 -5
  100. data/lib/akeyless/models/gateway_update_migration.rb +96 -4
  101. data/lib/akeyless/models/gcp_payload.rb +22 -4
  102. data/lib/akeyless/models/get_pki_certificate_output.rb +10 -1
  103. data/lib/akeyless/models/github_metadata.rb +259 -0
  104. data/lib/akeyless/models/http_challenge_info.rb +251 -0
  105. data/lib/akeyless/models/issuer_overview_info.rb +232 -0
  106. data/lib/akeyless/models/item_general_info.rb +10 -1
  107. data/lib/akeyless/models/lets_encrypt_target_details.rb +315 -0
  108. data/lib/akeyless/models/migration_status_reply_obj.rb +10 -1
  109. data/lib/akeyless/models/migrations_config_part.rb +12 -1
  110. data/lib/akeyless/models/policies_create_output.rb +214 -0
  111. data/lib/akeyless/models/policies_delete.rb +254 -0
  112. data/lib/akeyless/models/policies_get.rb +254 -0
  113. data/lib/akeyless/models/policies_get_output.rb +214 -0
  114. data/lib/akeyless/models/policies_list.rb +283 -0
  115. data/lib/akeyless/models/policies_list_output.rb +216 -0
  116. data/lib/akeyless/models/policy_create_keys.rb +312 -0
  117. data/lib/akeyless/models/policy_output.rb +295 -0
  118. data/lib/akeyless/models/policy_update_keys.rb +322 -0
  119. data/lib/akeyless/models/rotated_secret_create_aws.rb +13 -3
  120. data/lib/akeyless/models/rotated_secret_create_azure.rb +13 -3
  121. data/lib/akeyless/models/rotated_secret_create_cassandra.rb +1 -1
  122. data/lib/akeyless/models/rotated_secret_create_custom.rb +1 -1
  123. data/lib/akeyless/models/rotated_secret_create_dockerhub.rb +1 -1
  124. data/lib/akeyless/models/rotated_secret_create_gcp.rb +13 -3
  125. data/lib/akeyless/models/rotated_secret_create_hanadb.rb +1 -1
  126. data/lib/akeyless/models/rotated_secret_create_ldap.rb +1 -1
  127. data/lib/akeyless/models/rotated_secret_create_mongodb.rb +1 -1
  128. data/lib/akeyless/models/rotated_secret_create_mssql.rb +1 -1
  129. data/lib/akeyless/models/rotated_secret_create_mysql.rb +1 -1
  130. data/lib/akeyless/models/rotated_secret_create_open_ai.rb +1 -1
  131. data/lib/akeyless/models/rotated_secret_create_oracledb.rb +1 -1
  132. data/lib/akeyless/models/rotated_secret_create_postgresql.rb +1 -1
  133. data/lib/akeyless/models/rotated_secret_create_redis.rb +1 -1
  134. data/lib/akeyless/models/rotated_secret_create_redshift.rb +1 -1
  135. data/lib/akeyless/models/rotated_secret_create_snowflake.rb +1 -1
  136. data/lib/akeyless/models/rotated_secret_create_splunk.rb +497 -0
  137. data/lib/akeyless/models/rotated_secret_create_ssh.rb +1 -1
  138. data/lib/akeyless/models/rotated_secret_create_windows.rb +1 -1
  139. data/lib/akeyless/models/rotated_secret_details_info.rb +10 -1
  140. data/lib/akeyless/models/rotated_secret_update_aws.rb +12 -2
  141. data/lib/akeyless/models/rotated_secret_update_azure.rb +12 -2
  142. data/lib/akeyless/models/rotated_secret_update_gcp.rb +12 -2
  143. data/lib/akeyless/models/rotated_secret_update_splunk.rb +467 -0
  144. data/lib/akeyless/models/secret_info.rb +10 -1
  145. data/lib/akeyless/models/splunk_payload.rb +268 -0
  146. data/lib/akeyless/models/splunk_target_details.rb +294 -0
  147. data/lib/akeyless/models/target_create_azure.rb +13 -1
  148. data/lib/akeyless/models/target_create_lets_encrypt.rb +368 -0
  149. data/lib/akeyless/models/target_create_splunk.rb +354 -0
  150. data/lib/akeyless/models/target_type_details_input.rb +19 -1
  151. data/lib/akeyless/models/target_update_azure.rb +13 -1
  152. data/lib/akeyless/models/target_update_lets_encrypt.rb +388 -0
  153. data/lib/akeyless/models/update_auth_method_cert.rb +11 -1
  154. data/lib/akeyless/models/update_azure_target.rb +13 -1
  155. data/lib/akeyless/models/validate_certificate_challenge.rb +279 -0
  156. data/lib/akeyless/models/validate_certificate_challenge_output.rb +242 -0
  157. data/lib/akeyless/models/vault_address.rb +227 -0
  158. data/lib/akeyless/models/vault_address_output.rb +223 -0
  159. data/lib/akeyless/version.rb +1 -1
  160. data/lib/akeyless.rb +27 -0
  161. data/spec/models/conjur_migration_spec.rb +42 -0
  162. data/spec/models/conjur_payload_spec.rb +54 -0
  163. data/spec/models/default_auth_method_settings_spec.rb +42 -0
  164. data/spec/models/github_metadata_spec.rb +66 -0
  165. data/spec/models/http_challenge_info_spec.rb +60 -0
  166. data/spec/models/issuer_overview_info_spec.rb +48 -0
  167. data/spec/models/lets_encrypt_target_details_spec.rb +96 -0
  168. data/spec/models/policies_create_output_spec.rb +36 -0
  169. data/spec/models/policies_delete_spec.rb +54 -0
  170. data/spec/models/policies_get_output_spec.rb +36 -0
  171. data/spec/models/policies_get_spec.rb +54 -0
  172. data/spec/models/policies_list_output_spec.rb +36 -0
  173. data/spec/models/policies_list_spec.rb +72 -0
  174. data/spec/models/policy_create_keys_spec.rb +84 -0
  175. data/spec/models/policy_output_spec.rb +84 -0
  176. data/spec/models/policy_update_keys_spec.rb +90 -0
  177. data/spec/models/rotated_secret_create_splunk_spec.rb +186 -0
  178. data/spec/models/rotated_secret_update_splunk_spec.rb +174 -0
  179. data/spec/models/splunk_payload_spec.rb +72 -0
  180. data/spec/models/splunk_target_details_spec.rb +84 -0
  181. data/spec/models/target_create_lets_encrypt_spec.rb +120 -0
  182. data/spec/models/target_create_splunk_spec.rb +108 -0
  183. data/spec/models/target_update_lets_encrypt_spec.rb +132 -0
  184. data/spec/models/validate_certificate_challenge_output_spec.rb +54 -0
  185. data/spec/models/validate_certificate_challenge_spec.rb +72 -0
  186. data/spec/models/vault_address_output_spec.rb +42 -0
  187. data/spec/models/vault_address_spec.rb +42 -0
  188. metadata +109 -1
@@ -0,0 +1,388 @@
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
+ # targetUpdateLetsEncrypt is a command that updates an existing Let's Encrypt target
18
+ class TargetUpdateLetsEncrypt
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
+ # Whether to keep previous version [true/false]. If not set, use default according to account settings
40
+ attr_accessor :keep_prev_version
41
+
42
+ # The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
43
+ attr_accessor :key
44
+
45
+ attr_accessor :lets_encrypt_url
46
+
47
+ # Set the maximum number of versions, limited by the account settings defaults.
48
+ attr_accessor :max_versions
49
+
50
+ # Target name
51
+ attr_accessor :name
52
+
53
+ # New target name
54
+ attr_accessor :new_name
55
+
56
+ # Azure resource group name. Required when dns-target-creds points to Azure target
57
+ attr_accessor :resource_group
58
+
59
+ attr_accessor :timeout
60
+
61
+ # Authentication token (see `/auth` and `/configure`)
62
+ attr_accessor :token
63
+
64
+ # The universal identity token, Required only for universal_identity authentication
65
+ attr_accessor :uid_token
66
+
67
+ # Attribute mapping from ruby-style variable name to JSON key.
68
+ def self.attribute_map
69
+ {
70
+ :'acme_challenge' => :'acme-challenge',
71
+ :'description' => :'description',
72
+ :'dns_target_creds' => :'dns-target-creds',
73
+ :'email' => :'email',
74
+ :'gcp_project' => :'gcp-project',
75
+ :'hosted_zone' => :'hosted-zone',
76
+ :'json' => :'json',
77
+ :'keep_prev_version' => :'keep-prev-version',
78
+ :'key' => :'key',
79
+ :'lets_encrypt_url' => :'lets-encrypt-url',
80
+ :'max_versions' => :'max-versions',
81
+ :'name' => :'name',
82
+ :'new_name' => :'new-name',
83
+ :'resource_group' => :'resource-group',
84
+ :'timeout' => :'timeout',
85
+ :'token' => :'token',
86
+ :'uid_token' => :'uid-token'
87
+ }
88
+ end
89
+
90
+ # Returns all the JSON keys this model knows about
91
+ def self.acceptable_attributes
92
+ attribute_map.values
93
+ end
94
+
95
+ # Attribute type mapping.
96
+ def self.openapi_types
97
+ {
98
+ :'acme_challenge' => :'String',
99
+ :'description' => :'String',
100
+ :'dns_target_creds' => :'String',
101
+ :'email' => :'String',
102
+ :'gcp_project' => :'String',
103
+ :'hosted_zone' => :'String',
104
+ :'json' => :'Boolean',
105
+ :'keep_prev_version' => :'String',
106
+ :'key' => :'String',
107
+ :'lets_encrypt_url' => :'String',
108
+ :'max_versions' => :'String',
109
+ :'name' => :'String',
110
+ :'new_name' => :'String',
111
+ :'resource_group' => :'String',
112
+ :'timeout' => :'String',
113
+ :'token' => :'String',
114
+ :'uid_token' => :'String'
115
+ }
116
+ end
117
+
118
+ # List of attributes with nullable: true
119
+ def self.openapi_nullable
120
+ Set.new([
121
+ ])
122
+ end
123
+
124
+ # Initializes the object
125
+ # @param [Hash] attributes Model attributes in the form of hash
126
+ def initialize(attributes = {})
127
+ if (!attributes.is_a?(Hash))
128
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::TargetUpdateLetsEncrypt` initialize method"
129
+ end
130
+
131
+ # check to see if the attribute exists and convert string to symbol for hash key
132
+ attributes = attributes.each_with_object({}) { |(k, v), h|
133
+ if (!self.class.attribute_map.key?(k.to_sym))
134
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::TargetUpdateLetsEncrypt`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
135
+ end
136
+ h[k.to_sym] = v
137
+ }
138
+
139
+ if attributes.key?(:'acme_challenge')
140
+ self.acme_challenge = attributes[:'acme_challenge']
141
+ else
142
+ self.acme_challenge = 'http'
143
+ end
144
+
145
+ if attributes.key?(:'description')
146
+ self.description = attributes[:'description']
147
+ end
148
+
149
+ if attributes.key?(:'dns_target_creds')
150
+ self.dns_target_creds = attributes[:'dns_target_creds']
151
+ end
152
+
153
+ if attributes.key?(:'email')
154
+ self.email = attributes[:'email']
155
+ end
156
+
157
+ if attributes.key?(:'gcp_project')
158
+ self.gcp_project = attributes[:'gcp_project']
159
+ end
160
+
161
+ if attributes.key?(:'hosted_zone')
162
+ self.hosted_zone = attributes[:'hosted_zone']
163
+ end
164
+
165
+ if attributes.key?(:'json')
166
+ self.json = attributes[:'json']
167
+ else
168
+ self.json = false
169
+ end
170
+
171
+ if attributes.key?(:'keep_prev_version')
172
+ self.keep_prev_version = attributes[:'keep_prev_version']
173
+ end
174
+
175
+ if attributes.key?(:'key')
176
+ self.key = attributes[:'key']
177
+ end
178
+
179
+ if attributes.key?(:'lets_encrypt_url')
180
+ self.lets_encrypt_url = attributes[:'lets_encrypt_url']
181
+ else
182
+ self.lets_encrypt_url = 'production'
183
+ end
184
+
185
+ if attributes.key?(:'max_versions')
186
+ self.max_versions = attributes[:'max_versions']
187
+ end
188
+
189
+ if attributes.key?(:'name')
190
+ self.name = attributes[:'name']
191
+ else
192
+ self.name = nil
193
+ end
194
+
195
+ if attributes.key?(:'new_name')
196
+ self.new_name = attributes[:'new_name']
197
+ end
198
+
199
+ if attributes.key?(:'resource_group')
200
+ self.resource_group = attributes[:'resource_group']
201
+ end
202
+
203
+ if attributes.key?(:'timeout')
204
+ self.timeout = attributes[:'timeout']
205
+ else
206
+ self.timeout = '5m'
207
+ end
208
+
209
+ if attributes.key?(:'token')
210
+ self.token = attributes[:'token']
211
+ end
212
+
213
+ if attributes.key?(:'uid_token')
214
+ self.uid_token = attributes[:'uid_token']
215
+ end
216
+ end
217
+
218
+ # Show invalid properties with the reasons. Usually used together with valid?
219
+ # @return Array for valid properties with the reasons
220
+ def list_invalid_properties
221
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
222
+ invalid_properties = Array.new
223
+ if @name.nil?
224
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
225
+ end
226
+
227
+ invalid_properties
228
+ end
229
+
230
+ # Check to see if the all the properties in the model are valid
231
+ # @return true if the model is valid
232
+ def valid?
233
+ warn '[DEPRECATED] the `valid?` method is obsolete'
234
+ return false if @name.nil?
235
+ true
236
+ end
237
+
238
+ # Checks equality by comparing each attribute.
239
+ # @param [Object] Object to be compared
240
+ def ==(o)
241
+ return true if self.equal?(o)
242
+ self.class == o.class &&
243
+ acme_challenge == o.acme_challenge &&
244
+ description == o.description &&
245
+ dns_target_creds == o.dns_target_creds &&
246
+ email == o.email &&
247
+ gcp_project == o.gcp_project &&
248
+ hosted_zone == o.hosted_zone &&
249
+ json == o.json &&
250
+ keep_prev_version == o.keep_prev_version &&
251
+ key == o.key &&
252
+ lets_encrypt_url == o.lets_encrypt_url &&
253
+ max_versions == o.max_versions &&
254
+ name == o.name &&
255
+ new_name == o.new_name &&
256
+ resource_group == o.resource_group &&
257
+ timeout == o.timeout &&
258
+ token == o.token &&
259
+ uid_token == o.uid_token
260
+ end
261
+
262
+ # @see the `==` method
263
+ # @param [Object] Object to be compared
264
+ def eql?(o)
265
+ self == o
266
+ end
267
+
268
+ # Calculates hash code according to all attributes.
269
+ # @return [Integer] Hash code
270
+ def hash
271
+ [acme_challenge, description, dns_target_creds, email, gcp_project, hosted_zone, json, keep_prev_version, key, lets_encrypt_url, max_versions, name, new_name, resource_group, timeout, token, uid_token].hash
272
+ end
273
+
274
+ # Builds the object from hash
275
+ # @param [Hash] attributes Model attributes in the form of hash
276
+ # @return [Object] Returns the model itself
277
+ def self.build_from_hash(attributes)
278
+ return nil unless attributes.is_a?(Hash)
279
+ attributes = attributes.transform_keys(&:to_sym)
280
+ transformed_hash = {}
281
+ openapi_types.each_pair do |key, type|
282
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
283
+ transformed_hash["#{key}"] = nil
284
+ elsif type =~ /\AArray<(.*)>/i
285
+ # check to ensure the input is an array given that the attribute
286
+ # is documented as an array but the input is not
287
+ if attributes[attribute_map[key]].is_a?(Array)
288
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
289
+ end
290
+ elsif !attributes[attribute_map[key]].nil?
291
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
292
+ end
293
+ end
294
+ new(transformed_hash)
295
+ end
296
+
297
+ # Deserializes the data based on type
298
+ # @param string type Data type
299
+ # @param string value Value to be deserialized
300
+ # @return [Object] Deserialized data
301
+ def self._deserialize(type, value)
302
+ case type.to_sym
303
+ when :Time
304
+ Time.parse(value)
305
+ when :Date
306
+ Date.parse(value)
307
+ when :String
308
+ value.to_s
309
+ when :Integer
310
+ value.to_i
311
+ when :Float
312
+ value.to_f
313
+ when :Boolean
314
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
315
+ true
316
+ else
317
+ false
318
+ end
319
+ when :Object
320
+ # generic object (usually a Hash), return directly
321
+ value
322
+ when /\AArray<(?<inner_type>.+)>\z/
323
+ inner_type = Regexp.last_match[:inner_type]
324
+ value.map { |v| _deserialize(inner_type, v) }
325
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
326
+ k_type = Regexp.last_match[:k_type]
327
+ v_type = Regexp.last_match[:v_type]
328
+ {}.tap do |hash|
329
+ value.each do |k, v|
330
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
331
+ end
332
+ end
333
+ else # model
334
+ # models (e.g. Pet) or oneOf
335
+ klass = Akeyless.const_get(type)
336
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
337
+ end
338
+ end
339
+
340
+ # Returns the string representation of the object
341
+ # @return [String] String presentation of the object
342
+ def to_s
343
+ to_hash.to_s
344
+ end
345
+
346
+ # to_body is an alias to to_hash (backward compatibility)
347
+ # @return [Hash] Returns the object in the form of hash
348
+ def to_body
349
+ to_hash
350
+ end
351
+
352
+ # Returns the object in the form of hash
353
+ # @return [Hash] Returns the object in the form of hash
354
+ def to_hash
355
+ hash = {}
356
+ self.class.attribute_map.each_pair do |attr, param|
357
+ value = self.send(attr)
358
+ if value.nil?
359
+ is_nullable = self.class.openapi_nullable.include?(attr)
360
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
361
+ end
362
+
363
+ hash[param] = _to_hash(value)
364
+ end
365
+ hash
366
+ end
367
+
368
+ # Outputs non-array value in the form of hash
369
+ # For object, use to_hash. Otherwise, just return the value
370
+ # @param [Object] value Any valid value
371
+ # @return [Hash] Returns the value in the form of hash
372
+ def _to_hash(value)
373
+ if value.is_a?(Array)
374
+ value.compact.map { |v| _to_hash(v) }
375
+ elsif value.is_a?(Hash)
376
+ {}.tap do |hash|
377
+ value.each { |k, v| hash[k] = _to_hash(v) }
378
+ end
379
+ elsif value.respond_to? :to_hash
380
+ value.to_hash
381
+ else
382
+ value
383
+ end
384
+ end
385
+
386
+ end
387
+
388
+ end
@@ -82,6 +82,9 @@ module Akeyless
82
82
  # Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
83
83
  attr_accessor :product_type
84
84
 
85
+ # Require certificate CRL distribution points (CDP) and enforce CRL validation during authentication.
86
+ attr_accessor :require_crl_dp
87
+
85
88
  # A list of revoked cert ids
86
89
  attr_accessor :revoked_cert_ids
87
90
 
@@ -119,6 +122,7 @@ module Akeyless
119
122
  :'name' => :'name',
120
123
  :'new_name' => :'new-name',
121
124
  :'product_type' => :'product-type',
125
+ :'require_crl_dp' => :'require-crl-dp',
122
126
  :'revoked_cert_ids' => :'revoked-cert-ids',
123
127
  :'token' => :'token',
124
128
  :'uid_token' => :'uid-token',
@@ -156,6 +160,7 @@ module Akeyless
156
160
  :'name' => :'String',
157
161
  :'new_name' => :'String',
158
162
  :'product_type' => :'Array<String>',
163
+ :'require_crl_dp' => :'Boolean',
159
164
  :'revoked_cert_ids' => :'Array<String>',
160
165
  :'token' => :'String',
161
166
  :'uid_token' => :'String',
@@ -304,6 +309,10 @@ module Akeyless
304
309
  end
305
310
  end
306
311
 
312
+ if attributes.key?(:'require_crl_dp')
313
+ self.require_crl_dp = attributes[:'require_crl_dp']
314
+ end
315
+
307
316
  if attributes.key?(:'revoked_cert_ids')
308
317
  if (value = attributes[:'revoked_cert_ids']).is_a?(Array)
309
318
  self.revoked_cert_ids = value
@@ -377,6 +386,7 @@ module Akeyless
377
386
  name == o.name &&
378
387
  new_name == o.new_name &&
379
388
  product_type == o.product_type &&
389
+ require_crl_dp == o.require_crl_dp &&
380
390
  revoked_cert_ids == o.revoked_cert_ids &&
381
391
  token == o.token &&
382
392
  uid_token == o.uid_token &&
@@ -392,7 +402,7 @@ module Akeyless
392
402
  # Calculates hash code according to all attributes.
393
403
  # @return [Integer] Hash code
394
404
  def hash
395
- [access_expires, allowed_client_type, allowed_cors, audit_logs_claims, bound_common_names, bound_dns_sans, bound_email_sans, bound_extensions, bound_ips, bound_organizational_units, bound_uri_sans, certificate_data, delete_protection, description, expiration_event_in, force_sub_claims, gw_bound_ips, json, jwt_ttl, name, new_name, product_type, revoked_cert_ids, token, uid_token, unique_identifier].hash
405
+ [access_expires, allowed_client_type, allowed_cors, audit_logs_claims, bound_common_names, bound_dns_sans, bound_email_sans, bound_extensions, bound_ips, bound_organizational_units, bound_uri_sans, certificate_data, delete_protection, description, expiration_event_in, force_sub_claims, gw_bound_ips, json, jwt_ttl, name, new_name, product_type, require_crl_dp, revoked_cert_ids, token, uid_token, unique_identifier].hash
396
406
  end
397
407
 
398
408
  # Builds the object from hash
@@ -16,6 +16,9 @@ require 'time'
16
16
  module Akeyless
17
17
  # updateAzureTarget is a command that updates an existing target. [Deprecated: Use target-update-azure command]
18
18
  class UpdateAzureTarget
19
+ # Azure cloud environment to use. Values: AzureCloud (default), AzureUSGovernment, AzureChinaCloud.
20
+ attr_accessor :azure_cloud
21
+
19
22
  # Azure client/application id
20
23
  attr_accessor :client_id
21
24
 
@@ -76,6 +79,7 @@ module Akeyless
76
79
  # Attribute mapping from ruby-style variable name to JSON key.
77
80
  def self.attribute_map
78
81
  {
82
+ :'azure_cloud' => :'azure-cloud',
79
83
  :'client_id' => :'client-id',
80
84
  :'client_secret' => :'client-secret',
81
85
  :'comment' => :'comment',
@@ -106,6 +110,7 @@ module Akeyless
106
110
  # Attribute type mapping.
107
111
  def self.openapi_types
108
112
  {
113
+ :'azure_cloud' => :'String',
109
114
  :'client_id' => :'String',
110
115
  :'client_secret' => :'String',
111
116
  :'comment' => :'String',
@@ -149,6 +154,12 @@ module Akeyless
149
154
  h[k.to_sym] = v
150
155
  }
151
156
 
157
+ if attributes.key?(:'azure_cloud')
158
+ self.azure_cloud = attributes[:'azure_cloud']
159
+ else
160
+ self.azure_cloud = 'AzureCloud'
161
+ end
162
+
152
163
  if attributes.key?(:'client_id')
153
164
  self.client_id = attributes[:'client_id']
154
165
  end
@@ -257,6 +268,7 @@ module Akeyless
257
268
  def ==(o)
258
269
  return true if self.equal?(o)
259
270
  self.class == o.class &&
271
+ azure_cloud == o.azure_cloud &&
260
272
  client_id == o.client_id &&
261
273
  client_secret == o.client_secret &&
262
274
  comment == o.comment &&
@@ -287,7 +299,7 @@ module Akeyless
287
299
  # Calculates hash code according to all attributes.
288
300
  # @return [Integer] Hash code
289
301
  def hash
290
- [client_id, client_secret, comment, connection_type, description, json, keep_prev_version, key, max_versions, name, new_name, resource_group_name, resource_name, subscription_id, tenant_id, token, uid_token, update_version, use_gw_cloud_identity].hash
302
+ [azure_cloud, client_id, client_secret, comment, connection_type, description, json, keep_prev_version, key, max_versions, name, new_name, resource_group_name, resource_name, subscription_id, tenant_id, token, uid_token, update_version, use_gw_cloud_identity].hash
291
303
  end
292
304
 
293
305
  # Builds the object from hash