akeyless 5.0.21 → 5.0.23

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 (241) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +35 -1
  3. data/docs/AccountGeneralSettings.md +6 -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/AuthMethodCreateUniversalIdentity.md +4 -0
  8. data/docs/AuthMethodUpdateCert.md +2 -0
  9. data/docs/AuthMethodUpdateUniversalIdentity.md +4 -0
  10. data/docs/AwsStorage.md +2 -0
  11. data/docs/AzureADAccessRules.md +2 -0
  12. data/docs/AzureTargetDetails.md +2 -0
  13. data/docs/CertAccessRules.md +2 -0
  14. data/docs/CertificateChainInfo.md +2 -0
  15. data/docs/Configure.md +2 -0
  16. data/docs/ConjurMigration.md +20 -0
  17. data/docs/ConjurPayload.md +24 -0
  18. data/docs/CreateAuthMethodCert.md +2 -0
  19. data/docs/CreateAuthMethodUniversalIdentity.md +4 -0
  20. data/docs/CreateAzureTarget.md +2 -0
  21. data/docs/CreateRotatedSecret.md +3 -1
  22. data/docs/CreateSecret.md +2 -0
  23. data/docs/CreateUSC.md +10 -0
  24. data/docs/DSProducerDetails.md +2 -0
  25. data/docs/DefaultAuthMethodSettings.md +20 -0
  26. data/docs/DeleteRoleRule.md +1 -1
  27. data/docs/DescribePermissions.md +1 -1
  28. data/docs/DigiCertTargetDetails.md +42 -0
  29. data/docs/EsmListSecretsOutput.md +3 -1
  30. data/docs/GatewayCreateMigration.md +19 -1
  31. data/docs/GatewayUpdateMigration.md +18 -0
  32. data/docs/GatewayUpdateRemoteAccessRdpRecordings.md +2 -0
  33. data/docs/GeneralConfigPart.md +4 -0
  34. data/docs/GetPKICertificateOutput.md +2 -0
  35. data/docs/GithubMetadata.md +28 -0
  36. data/docs/GoogleTrustTargetDetails.md +42 -0
  37. data/docs/HTTPChallengeInfo.md +26 -0
  38. data/docs/HashiPayload.md +5 -1
  39. data/docs/IssuerOverviewInfo.md +22 -0
  40. data/docs/Item.md +2 -0
  41. data/docs/ItemGeneralInfo.md +2 -0
  42. data/docs/ItemLockingSetting.md +20 -0
  43. data/docs/LockItem.md +28 -0
  44. data/docs/LockTarget.md +28 -0
  45. data/docs/LockingInfo.md +24 -0
  46. data/docs/MigrationStatusReplyObj.md +4 -0
  47. data/docs/MigrationsConfigPart.md +2 -0
  48. data/docs/NetappStorage.md +30 -0
  49. data/docs/ReverseRBAC.md +1 -1
  50. data/docs/RotatedSecretCreateAws.md +3 -1
  51. data/docs/RotatedSecretCreateAzure.md +3 -1
  52. data/docs/RotatedSecretCreateCustom.md +3 -1
  53. data/docs/RotatedSecretCreateLdap.md +3 -1
  54. data/docs/RotatedSecretCreateMongodb.md +3 -1
  55. data/docs/RotatedSecretCreateMssql.md +3 -1
  56. data/docs/RotatedSecretCreateMysql.md +3 -1
  57. data/docs/RotatedSecretCreateOracledb.md +3 -1
  58. data/docs/RotatedSecretCreatePostgresql.md +3 -1
  59. data/docs/RotatedSecretCreateRedshift.md +3 -1
  60. data/docs/RotatedSecretCreateSsh.md +3 -1
  61. data/docs/RotatedSecretCreateWindows.md +3 -1
  62. data/docs/RotatedSecretUpdateAws.md +3 -1
  63. data/docs/RotatedSecretUpdateAzure.md +3 -1
  64. data/docs/RotatedSecretUpdateCustom.md +3 -1
  65. data/docs/RotatedSecretUpdateLdap.md +3 -1
  66. data/docs/RotatedSecretUpdateMongodb.md +3 -1
  67. data/docs/RotatedSecretUpdateMssql.md +3 -1
  68. data/docs/RotatedSecretUpdateMysql.md +3 -1
  69. data/docs/RotatedSecretUpdateOracledb.md +3 -1
  70. data/docs/RotatedSecretUpdatePostgresql.md +3 -1
  71. data/docs/RotatedSecretUpdateRedshift.md +3 -1
  72. data/docs/RotatedSecretUpdateSsh.md +3 -1
  73. data/docs/RotatedSecretUpdateWindows.md +3 -1
  74. data/docs/SecretInfo.md +4 -0
  75. data/docs/SecureRemoteAccess.md +4 -0
  76. data/docs/SetRoleRule.md +1 -1
  77. data/docs/SyncCounters.md +22 -0
  78. data/docs/Target.md +2 -0
  79. data/docs/TargetCreateAzure.md +2 -0
  80. data/docs/TargetCreateDigiCert.md +50 -0
  81. data/docs/TargetCreateGoogleTrust.md +50 -0
  82. data/docs/TargetCreateLetsEncrypt.md +1 -1
  83. data/docs/TargetCreateSplunk.md +3 -1
  84. data/docs/TargetTypeDetailsInput.md +4 -0
  85. data/docs/TargetUpdateAzure.md +2 -0
  86. data/docs/TargetUpdateDigiCert.md +54 -0
  87. data/docs/TargetUpdateGoogleTrust.md +54 -0
  88. data/docs/TargetUpdateLetsEncrypt.md +1 -1
  89. data/docs/UniversalIdentityAccessRules.md +4 -0
  90. data/docs/UnlockItem.md +24 -0
  91. data/docs/UnlockTarget.md +24 -0
  92. data/docs/UpdateAccountSettings.md +4 -0
  93. data/docs/UpdateAuthMethodCert.md +2 -0
  94. data/docs/UpdateAuthMethodUniversalIdentity.md +4 -0
  95. data/docs/UpdateAzureTarget.md +2 -0
  96. data/docs/UpdateItem.md +3 -1
  97. data/docs/UpdateRotatedSecret.md +3 -1
  98. data/docs/UscCreate.md +2 -0
  99. data/docs/UscDelete.md +4 -0
  100. data/docs/UscGet.md +4 -0
  101. data/docs/UscListSecretsOutput.md +3 -1
  102. data/docs/UscUpdate.md +4 -0
  103. data/docs/V2Api.md +632 -2
  104. data/docs/ValidateCertificateChallenge.md +30 -0
  105. data/docs/ValidateCertificateChallengeOutput.md +24 -0
  106. data/docs/VaultAddress.md +20 -0
  107. data/docs/VaultAddressOutput.md +20 -0
  108. data/docs/WebBastionRdpRecord.md +2 -0
  109. data/lib/akeyless/api/v2_api.rb +640 -0
  110. data/lib/akeyless/models/account_general_settings.rb +28 -1
  111. data/lib/akeyless/models/active_directory_payload.rb +30 -1
  112. data/lib/akeyless/models/auth.rb +13 -1
  113. data/lib/akeyless/models/auth_method_create_cert.rb +11 -1
  114. data/lib/akeyless/models/auth_method_create_universal_identity.rb +25 -1
  115. data/lib/akeyless/models/auth_method_update_cert.rb +11 -1
  116. data/lib/akeyless/models/auth_method_update_universal_identity.rb +25 -1
  117. data/lib/akeyless/models/aws_storage.rb +10 -1
  118. data/lib/akeyless/models/azure_ad_access_rules.rb +11 -1
  119. data/lib/akeyless/models/azure_target_details.rb +10 -1
  120. data/lib/akeyless/models/cert_access_rules.rb +11 -1
  121. data/lib/akeyless/models/certificate_chain_info.rb +11 -1
  122. data/lib/akeyless/models/configure.rb +13 -1
  123. data/lib/akeyless/models/conjur_migration.rb +223 -0
  124. data/lib/akeyless/models/conjur_payload.rb +241 -0
  125. data/lib/akeyless/models/create_auth_method_cert.rb +11 -1
  126. data/lib/akeyless/models/create_auth_method_universal_identity.rb +25 -1
  127. data/lib/akeyless/models/create_azure_target.rb +13 -1
  128. data/lib/akeyless/models/create_rotated_secret.rb +12 -4
  129. data/lib/akeyless/models/create_secret.rb +11 -1
  130. data/lib/akeyless/models/create_usc.rb +54 -1
  131. data/lib/akeyless/models/default_auth_method_settings.rb +223 -0
  132. data/lib/akeyless/models/delete_role_rule.rb +1 -1
  133. data/lib/akeyless/models/describe_permissions.rb +1 -1
  134. data/lib/akeyless/models/digi_cert_target_details.rb +333 -0
  135. data/lib/akeyless/models/ds_producer_details.rb +10 -1
  136. data/lib/akeyless/models/esm_list_secrets_output.rb +15 -4
  137. data/lib/akeyless/models/gateway_create_migration.rb +94 -2
  138. data/lib/akeyless/models/gateway_update_migration.rb +93 -1
  139. data/lib/akeyless/models/gateway_update_remote_access_rdp_recordings.rb +11 -1
  140. data/lib/akeyless/models/general_config_part.rb +19 -1
  141. data/lib/akeyless/models/get_pki_certificate_output.rb +10 -1
  142. data/lib/akeyless/models/github_metadata.rb +259 -0
  143. data/lib/akeyless/models/google_trust_target_details.rb +335 -0
  144. data/lib/akeyless/models/hashi_payload.rb +22 -4
  145. data/lib/akeyless/models/http_challenge_info.rb +251 -0
  146. data/lib/akeyless/models/issuer_overview_info.rb +232 -0
  147. data/lib/akeyless/models/item.rb +10 -1
  148. data/lib/akeyless/models/item_general_info.rb +10 -1
  149. data/lib/akeyless/models/item_locking_setting.rb +223 -0
  150. data/lib/akeyless/models/lock_item.rb +274 -0
  151. data/lib/akeyless/models/lock_target.rb +274 -0
  152. data/lib/akeyless/models/locking_info.rb +243 -0
  153. data/lib/akeyless/models/migration_status_reply_obj.rb +19 -1
  154. data/lib/akeyless/models/migrations_config_part.rb +12 -1
  155. data/lib/akeyless/models/netapp_storage.rb +268 -0
  156. data/lib/akeyless/models/reverse_rbac.rb +1 -1
  157. data/lib/akeyless/models/rotated_secret_create_aws.rb +12 -4
  158. data/lib/akeyless/models/rotated_secret_create_azure.rb +12 -4
  159. data/lib/akeyless/models/rotated_secret_create_custom.rb +12 -4
  160. data/lib/akeyless/models/rotated_secret_create_ldap.rb +12 -4
  161. data/lib/akeyless/models/rotated_secret_create_mongodb.rb +12 -4
  162. data/lib/akeyless/models/rotated_secret_create_mssql.rb +12 -4
  163. data/lib/akeyless/models/rotated_secret_create_mysql.rb +12 -4
  164. data/lib/akeyless/models/rotated_secret_create_oracledb.rb +12 -4
  165. data/lib/akeyless/models/rotated_secret_create_postgresql.rb +12 -4
  166. data/lib/akeyless/models/rotated_secret_create_redshift.rb +12 -4
  167. data/lib/akeyless/models/rotated_secret_create_ssh.rb +12 -4
  168. data/lib/akeyless/models/rotated_secret_create_windows.rb +12 -4
  169. data/lib/akeyless/models/rotated_secret_update_aws.rb +12 -4
  170. data/lib/akeyless/models/rotated_secret_update_azure.rb +12 -4
  171. data/lib/akeyless/models/rotated_secret_update_custom.rb +12 -4
  172. data/lib/akeyless/models/rotated_secret_update_ldap.rb +12 -4
  173. data/lib/akeyless/models/rotated_secret_update_mongodb.rb +12 -4
  174. data/lib/akeyless/models/rotated_secret_update_mssql.rb +12 -4
  175. data/lib/akeyless/models/rotated_secret_update_mysql.rb +12 -4
  176. data/lib/akeyless/models/rotated_secret_update_oracledb.rb +12 -4
  177. data/lib/akeyless/models/rotated_secret_update_postgresql.rb +12 -4
  178. data/lib/akeyless/models/rotated_secret_update_redshift.rb +12 -4
  179. data/lib/akeyless/models/rotated_secret_update_ssh.rb +12 -4
  180. data/lib/akeyless/models/rotated_secret_update_windows.rb +12 -4
  181. data/lib/akeyless/models/secret_info.rb +19 -1
  182. data/lib/akeyless/models/secure_remote_access.rb +19 -1
  183. data/lib/akeyless/models/set_role_rule.rb +1 -1
  184. data/lib/akeyless/models/sync_counters.rb +233 -0
  185. data/lib/akeyless/models/target.rb +10 -1
  186. data/lib/akeyless/models/target_create_azure.rb +13 -1
  187. data/lib/akeyless/models/target_create_digi_cert.rb +398 -0
  188. data/lib/akeyless/models/target_create_google_trust.rb +398 -0
  189. data/lib/akeyless/models/target_create_lets_encrypt.rb +7 -0
  190. data/lib/akeyless/models/target_create_splunk.rb +11 -1
  191. data/lib/akeyless/models/target_type_details_input.rb +19 -1
  192. data/lib/akeyless/models/target_update_azure.rb +13 -1
  193. data/lib/akeyless/models/target_update_digi_cert.rb +418 -0
  194. data/lib/akeyless/models/target_update_google_trust.rb +418 -0
  195. data/lib/akeyless/models/target_update_lets_encrypt.rb +7 -0
  196. data/lib/akeyless/models/universal_identity_access_rules.rb +19 -1
  197. data/lib/akeyless/models/unlock_item.rb +254 -0
  198. data/lib/akeyless/models/unlock_target.rb +254 -0
  199. data/lib/akeyless/models/update_account_settings.rb +21 -1
  200. data/lib/akeyless/models/update_auth_method_cert.rb +11 -1
  201. data/lib/akeyless/models/update_auth_method_universal_identity.rb +25 -1
  202. data/lib/akeyless/models/update_azure_target.rb +13 -1
  203. data/lib/akeyless/models/update_item.rb +12 -4
  204. data/lib/akeyless/models/update_rotated_secret.rb +12 -4
  205. data/lib/akeyless/models/usc_create.rb +10 -1
  206. data/lib/akeyless/models/usc_delete.rb +20 -1
  207. data/lib/akeyless/models/usc_get.rb +20 -1
  208. data/lib/akeyless/models/usc_list_secrets_output.rb +15 -4
  209. data/lib/akeyless/models/usc_update.rb +20 -1
  210. data/lib/akeyless/models/validate_certificate_challenge.rb +279 -0
  211. data/lib/akeyless/models/validate_certificate_challenge_output.rb +242 -0
  212. data/lib/akeyless/models/vault_address.rb +227 -0
  213. data/lib/akeyless/models/vault_address_output.rb +223 -0
  214. data/lib/akeyless/models/web_bastion_rdp_record.rb +10 -1
  215. data/lib/akeyless/version.rb +1 -1
  216. data/lib/akeyless.rb +24 -0
  217. data/spec/models/conjur_migration_spec.rb +42 -0
  218. data/spec/models/conjur_payload_spec.rb +54 -0
  219. data/spec/models/default_auth_method_settings_spec.rb +42 -0
  220. data/spec/models/digi_cert_target_details_spec.rb +108 -0
  221. data/spec/models/github_metadata_spec.rb +66 -0
  222. data/spec/models/google_trust_target_details_spec.rb +108 -0
  223. data/spec/models/http_challenge_info_spec.rb +60 -0
  224. data/spec/models/issuer_overview_info_spec.rb +48 -0
  225. data/spec/models/item_locking_setting_spec.rb +42 -0
  226. data/spec/models/lock_item_spec.rb +66 -0
  227. data/spec/models/lock_target_spec.rb +66 -0
  228. data/spec/models/locking_info_spec.rb +54 -0
  229. data/spec/models/netapp_storage_spec.rb +72 -0
  230. data/spec/models/sync_counters_spec.rb +48 -0
  231. data/spec/models/target_create_digi_cert_spec.rb +132 -0
  232. data/spec/models/target_create_google_trust_spec.rb +132 -0
  233. data/spec/models/target_update_digi_cert_spec.rb +144 -0
  234. data/spec/models/target_update_google_trust_spec.rb +144 -0
  235. data/spec/models/unlock_item_spec.rb +54 -0
  236. data/spec/models/unlock_target_spec.rb +54 -0
  237. data/spec/models/validate_certificate_challenge_output_spec.rb +54 -0
  238. data/spec/models/validate_certificate_challenge_spec.rb +72 -0
  239. data/spec/models/vault_address_output_spec.rb +42 -0
  240. data/spec/models/vault_address_spec.rb +42 -0
  241. metadata +1233 -1134
@@ -0,0 +1,254 @@
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
+ class UnlockItem
18
+ # Set output format to JSON
19
+ attr_accessor :json
20
+
21
+ # Item name
22
+ attr_accessor :name
23
+
24
+ # Authentication token (see `/auth` and `/configure`)
25
+ attr_accessor :token
26
+
27
+ # The universal identity token, Required only for universal_identity authentication
28
+ attr_accessor :uid_token
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ def self.attribute_map
32
+ {
33
+ :'json' => :'json',
34
+ :'name' => :'name',
35
+ :'token' => :'token',
36
+ :'uid_token' => :'uid-token'
37
+ }
38
+ end
39
+
40
+ # Returns all the JSON keys this model knows about
41
+ def self.acceptable_attributes
42
+ attribute_map.values
43
+ end
44
+
45
+ # Attribute type mapping.
46
+ def self.openapi_types
47
+ {
48
+ :'json' => :'Boolean',
49
+ :'name' => :'String',
50
+ :'token' => :'String',
51
+ :'uid_token' => :'String'
52
+ }
53
+ end
54
+
55
+ # List of attributes with nullable: true
56
+ def self.openapi_nullable
57
+ Set.new([
58
+ ])
59
+ end
60
+
61
+ # Initializes the object
62
+ # @param [Hash] attributes Model attributes in the form of hash
63
+ def initialize(attributes = {})
64
+ if (!attributes.is_a?(Hash))
65
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::UnlockItem` initialize method"
66
+ end
67
+
68
+ # check to see if the attribute exists and convert string to symbol for hash key
69
+ attributes = attributes.each_with_object({}) { |(k, v), h|
70
+ if (!self.class.attribute_map.key?(k.to_sym))
71
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::UnlockItem`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
72
+ end
73
+ h[k.to_sym] = v
74
+ }
75
+
76
+ if attributes.key?(:'json')
77
+ self.json = attributes[:'json']
78
+ else
79
+ self.json = false
80
+ end
81
+
82
+ if attributes.key?(:'name')
83
+ self.name = attributes[:'name']
84
+ else
85
+ self.name = nil
86
+ end
87
+
88
+ if attributes.key?(:'token')
89
+ self.token = attributes[:'token']
90
+ end
91
+
92
+ if attributes.key?(:'uid_token')
93
+ self.uid_token = attributes[:'uid_token']
94
+ end
95
+ end
96
+
97
+ # Show invalid properties with the reasons. Usually used together with valid?
98
+ # @return Array for valid properties with the reasons
99
+ def list_invalid_properties
100
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
101
+ invalid_properties = Array.new
102
+ if @name.nil?
103
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
104
+ end
105
+
106
+ invalid_properties
107
+ end
108
+
109
+ # Check to see if the all the properties in the model are valid
110
+ # @return true if the model is valid
111
+ def valid?
112
+ warn '[DEPRECATED] the `valid?` method is obsolete'
113
+ return false if @name.nil?
114
+ true
115
+ end
116
+
117
+ # Checks equality by comparing each attribute.
118
+ # @param [Object] Object to be compared
119
+ def ==(o)
120
+ return true if self.equal?(o)
121
+ self.class == o.class &&
122
+ json == o.json &&
123
+ name == o.name &&
124
+ token == o.token &&
125
+ uid_token == o.uid_token
126
+ end
127
+
128
+ # @see the `==` method
129
+ # @param [Object] Object to be compared
130
+ def eql?(o)
131
+ self == o
132
+ end
133
+
134
+ # Calculates hash code according to all attributes.
135
+ # @return [Integer] Hash code
136
+ def hash
137
+ [json, name, token, uid_token].hash
138
+ end
139
+
140
+ # Builds the object from hash
141
+ # @param [Hash] attributes Model attributes in the form of hash
142
+ # @return [Object] Returns the model itself
143
+ def self.build_from_hash(attributes)
144
+ return nil unless attributes.is_a?(Hash)
145
+ attributes = attributes.transform_keys(&:to_sym)
146
+ transformed_hash = {}
147
+ openapi_types.each_pair do |key, type|
148
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
149
+ transformed_hash["#{key}"] = nil
150
+ elsif type =~ /\AArray<(.*)>/i
151
+ # check to ensure the input is an array given that the attribute
152
+ # is documented as an array but the input is not
153
+ if attributes[attribute_map[key]].is_a?(Array)
154
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
155
+ end
156
+ elsif !attributes[attribute_map[key]].nil?
157
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
158
+ end
159
+ end
160
+ new(transformed_hash)
161
+ end
162
+
163
+ # Deserializes the data based on type
164
+ # @param string type Data type
165
+ # @param string value Value to be deserialized
166
+ # @return [Object] Deserialized data
167
+ def self._deserialize(type, value)
168
+ case type.to_sym
169
+ when :Time
170
+ Time.parse(value)
171
+ when :Date
172
+ Date.parse(value)
173
+ when :String
174
+ value.to_s
175
+ when :Integer
176
+ value.to_i
177
+ when :Float
178
+ value.to_f
179
+ when :Boolean
180
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
181
+ true
182
+ else
183
+ false
184
+ end
185
+ when :Object
186
+ # generic object (usually a Hash), return directly
187
+ value
188
+ when /\AArray<(?<inner_type>.+)>\z/
189
+ inner_type = Regexp.last_match[:inner_type]
190
+ value.map { |v| _deserialize(inner_type, v) }
191
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
192
+ k_type = Regexp.last_match[:k_type]
193
+ v_type = Regexp.last_match[:v_type]
194
+ {}.tap do |hash|
195
+ value.each do |k, v|
196
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
197
+ end
198
+ end
199
+ else # model
200
+ # models (e.g. Pet) or oneOf
201
+ klass = Akeyless.const_get(type)
202
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
203
+ end
204
+ end
205
+
206
+ # Returns the string representation of the object
207
+ # @return [String] String presentation of the object
208
+ def to_s
209
+ to_hash.to_s
210
+ end
211
+
212
+ # to_body is an alias to to_hash (backward compatibility)
213
+ # @return [Hash] Returns the object in the form of hash
214
+ def to_body
215
+ to_hash
216
+ end
217
+
218
+ # Returns the object in the form of hash
219
+ # @return [Hash] Returns the object in the form of hash
220
+ def to_hash
221
+ hash = {}
222
+ self.class.attribute_map.each_pair do |attr, param|
223
+ value = self.send(attr)
224
+ if value.nil?
225
+ is_nullable = self.class.openapi_nullable.include?(attr)
226
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
227
+ end
228
+
229
+ hash[param] = _to_hash(value)
230
+ end
231
+ hash
232
+ end
233
+
234
+ # Outputs non-array value in the form of hash
235
+ # For object, use to_hash. Otherwise, just return the value
236
+ # @param [Object] value Any valid value
237
+ # @return [Hash] Returns the value in the form of hash
238
+ def _to_hash(value)
239
+ if value.is_a?(Array)
240
+ value.compact.map { |v| _to_hash(v) }
241
+ elsif value.is_a?(Hash)
242
+ {}.tap do |hash|
243
+ value.each { |k, v| hash[k] = _to_hash(v) }
244
+ end
245
+ elsif value.respond_to? :to_hash
246
+ value.to_hash
247
+ else
248
+ value
249
+ end
250
+ end
251
+
252
+ end
253
+
254
+ end
@@ -0,0 +1,254 @@
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
+ class UnlockTarget
18
+ # Set output format to JSON
19
+ attr_accessor :json
20
+
21
+ # Target name
22
+ attr_accessor :name
23
+
24
+ # Authentication token (see `/auth` and `/configure`)
25
+ attr_accessor :token
26
+
27
+ # The universal identity token, Required only for universal_identity authentication
28
+ attr_accessor :uid_token
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ def self.attribute_map
32
+ {
33
+ :'json' => :'json',
34
+ :'name' => :'name',
35
+ :'token' => :'token',
36
+ :'uid_token' => :'uid-token'
37
+ }
38
+ end
39
+
40
+ # Returns all the JSON keys this model knows about
41
+ def self.acceptable_attributes
42
+ attribute_map.values
43
+ end
44
+
45
+ # Attribute type mapping.
46
+ def self.openapi_types
47
+ {
48
+ :'json' => :'Boolean',
49
+ :'name' => :'String',
50
+ :'token' => :'String',
51
+ :'uid_token' => :'String'
52
+ }
53
+ end
54
+
55
+ # List of attributes with nullable: true
56
+ def self.openapi_nullable
57
+ Set.new([
58
+ ])
59
+ end
60
+
61
+ # Initializes the object
62
+ # @param [Hash] attributes Model attributes in the form of hash
63
+ def initialize(attributes = {})
64
+ if (!attributes.is_a?(Hash))
65
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::UnlockTarget` initialize method"
66
+ end
67
+
68
+ # check to see if the attribute exists and convert string to symbol for hash key
69
+ attributes = attributes.each_with_object({}) { |(k, v), h|
70
+ if (!self.class.attribute_map.key?(k.to_sym))
71
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::UnlockTarget`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
72
+ end
73
+ h[k.to_sym] = v
74
+ }
75
+
76
+ if attributes.key?(:'json')
77
+ self.json = attributes[:'json']
78
+ else
79
+ self.json = false
80
+ end
81
+
82
+ if attributes.key?(:'name')
83
+ self.name = attributes[:'name']
84
+ else
85
+ self.name = nil
86
+ end
87
+
88
+ if attributes.key?(:'token')
89
+ self.token = attributes[:'token']
90
+ end
91
+
92
+ if attributes.key?(:'uid_token')
93
+ self.uid_token = attributes[:'uid_token']
94
+ end
95
+ end
96
+
97
+ # Show invalid properties with the reasons. Usually used together with valid?
98
+ # @return Array for valid properties with the reasons
99
+ def list_invalid_properties
100
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
101
+ invalid_properties = Array.new
102
+ if @name.nil?
103
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
104
+ end
105
+
106
+ invalid_properties
107
+ end
108
+
109
+ # Check to see if the all the properties in the model are valid
110
+ # @return true if the model is valid
111
+ def valid?
112
+ warn '[DEPRECATED] the `valid?` method is obsolete'
113
+ return false if @name.nil?
114
+ true
115
+ end
116
+
117
+ # Checks equality by comparing each attribute.
118
+ # @param [Object] Object to be compared
119
+ def ==(o)
120
+ return true if self.equal?(o)
121
+ self.class == o.class &&
122
+ json == o.json &&
123
+ name == o.name &&
124
+ token == o.token &&
125
+ uid_token == o.uid_token
126
+ end
127
+
128
+ # @see the `==` method
129
+ # @param [Object] Object to be compared
130
+ def eql?(o)
131
+ self == o
132
+ end
133
+
134
+ # Calculates hash code according to all attributes.
135
+ # @return [Integer] Hash code
136
+ def hash
137
+ [json, name, token, uid_token].hash
138
+ end
139
+
140
+ # Builds the object from hash
141
+ # @param [Hash] attributes Model attributes in the form of hash
142
+ # @return [Object] Returns the model itself
143
+ def self.build_from_hash(attributes)
144
+ return nil unless attributes.is_a?(Hash)
145
+ attributes = attributes.transform_keys(&:to_sym)
146
+ transformed_hash = {}
147
+ openapi_types.each_pair do |key, type|
148
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
149
+ transformed_hash["#{key}"] = nil
150
+ elsif type =~ /\AArray<(.*)>/i
151
+ # check to ensure the input is an array given that the attribute
152
+ # is documented as an array but the input is not
153
+ if attributes[attribute_map[key]].is_a?(Array)
154
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
155
+ end
156
+ elsif !attributes[attribute_map[key]].nil?
157
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
158
+ end
159
+ end
160
+ new(transformed_hash)
161
+ end
162
+
163
+ # Deserializes the data based on type
164
+ # @param string type Data type
165
+ # @param string value Value to be deserialized
166
+ # @return [Object] Deserialized data
167
+ def self._deserialize(type, value)
168
+ case type.to_sym
169
+ when :Time
170
+ Time.parse(value)
171
+ when :Date
172
+ Date.parse(value)
173
+ when :String
174
+ value.to_s
175
+ when :Integer
176
+ value.to_i
177
+ when :Float
178
+ value.to_f
179
+ when :Boolean
180
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
181
+ true
182
+ else
183
+ false
184
+ end
185
+ when :Object
186
+ # generic object (usually a Hash), return directly
187
+ value
188
+ when /\AArray<(?<inner_type>.+)>\z/
189
+ inner_type = Regexp.last_match[:inner_type]
190
+ value.map { |v| _deserialize(inner_type, v) }
191
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
192
+ k_type = Regexp.last_match[:k_type]
193
+ v_type = Regexp.last_match[:v_type]
194
+ {}.tap do |hash|
195
+ value.each do |k, v|
196
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
197
+ end
198
+ end
199
+ else # model
200
+ # models (e.g. Pet) or oneOf
201
+ klass = Akeyless.const_get(type)
202
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
203
+ end
204
+ end
205
+
206
+ # Returns the string representation of the object
207
+ # @return [String] String presentation of the object
208
+ def to_s
209
+ to_hash.to_s
210
+ end
211
+
212
+ # to_body is an alias to to_hash (backward compatibility)
213
+ # @return [Hash] Returns the object in the form of hash
214
+ def to_body
215
+ to_hash
216
+ end
217
+
218
+ # Returns the object in the form of hash
219
+ # @return [Hash] Returns the object in the form of hash
220
+ def to_hash
221
+ hash = {}
222
+ self.class.attribute_map.each_pair do |attr, param|
223
+ value = self.send(attr)
224
+ if value.nil?
225
+ is_nullable = self.class.openapi_nullable.include?(attr)
226
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
227
+ end
228
+
229
+ hash[param] = _to_hash(value)
230
+ end
231
+ hash
232
+ end
233
+
234
+ # Outputs non-array value in the form of hash
235
+ # For object, use to_hash. Otherwise, just return the value
236
+ # @param [Object] value Any valid value
237
+ # @return [Hash] Returns the value in the form of hash
238
+ def _to_hash(value)
239
+ if value.is_a?(Array)
240
+ value.compact.map { |v| _to_hash(v) }
241
+ elsif value.is_a?(Hash)
242
+ {}.tap do |hash|
243
+ value.each { |k, v| hash[k] = _to_hash(v) }
244
+ end
245
+ elsif value.respond_to? :to_hash
246
+ value.to_hash
247
+ else
248
+ value
249
+ end
250
+ end
251
+
252
+ end
253
+
254
+ end
@@ -84,6 +84,9 @@ module Akeyless
84
84
  # Characters that cannot be used for items/targets/roles/auths/event_forwarder names. Empty string will enforce nothing.
85
85
  attr_accessor :invalid_characters
86
86
 
87
+ # Enable item locking feature [true/false]
88
+ attr_accessor :item_locking_enabled
89
+
87
90
  # VersionSettingsObjectType defines object types for account version settings
88
91
  attr_accessor :item_type
89
92
 
@@ -114,6 +117,9 @@ module Akeyless
114
117
  # Lock gw-bound-ips setting in the account.
115
118
  attr_accessor :lock_gw_bound_ips
116
119
 
120
+ # Set the maximum TTL for item/target locks in minutes
121
+ attr_accessor :lock_max_ttl
122
+
117
123
  # Set the maximum rotation interval for rotated secrets auto rotation settings
118
124
  attr_accessor :max_rotation_interval
119
125
 
@@ -191,6 +197,7 @@ module Akeyless
191
197
  :'hide_personal_folder' => :'hide-personal-folder',
192
198
  :'hide_static_password' => :'hide-static-password',
193
199
  :'invalid_characters' => :'invalid-characters',
200
+ :'item_locking_enabled' => :'item-locking-enabled',
194
201
  :'item_type' => :'item-type',
195
202
  :'items_deletion_protection' => :'items-deletion-protection',
196
203
  :'json' => :'json',
@@ -201,6 +208,7 @@ module Akeyless
201
208
  :'lock_bound_ips' => :'lock-bound-ips',
202
209
  :'lock_default_key' => :'lock-default-key',
203
210
  :'lock_gw_bound_ips' => :'lock-gw-bound-ips',
211
+ :'lock_max_ttl' => :'lock-max-ttl',
204
212
  :'max_rotation_interval' => :'max-rotation-interval',
205
213
  :'max_rotation_interval_enable' => :'max-rotation-interval-enable',
206
214
  :'max_versions' => :'max-versions',
@@ -252,6 +260,7 @@ module Akeyless
252
260
  :'hide_personal_folder' => :'String',
253
261
  :'hide_static_password' => :'String',
254
262
  :'invalid_characters' => :'String',
263
+ :'item_locking_enabled' => :'String',
255
264
  :'item_type' => :'String',
256
265
  :'items_deletion_protection' => :'String',
257
266
  :'json' => :'Boolean',
@@ -262,6 +271,7 @@ module Akeyless
262
271
  :'lock_bound_ips' => :'String',
263
272
  :'lock_default_key' => :'String',
264
273
  :'lock_gw_bound_ips' => :'String',
274
+ :'lock_max_ttl' => :'Integer',
265
275
  :'max_rotation_interval' => :'Integer',
266
276
  :'max_rotation_interval_enable' => :'String',
267
277
  :'max_versions' => :'String',
@@ -407,6 +417,10 @@ module Akeyless
407
417
  self.invalid_characters = 'notReceivedInvalidCharacter'
408
418
  end
409
419
 
420
+ if attributes.key?(:'item_locking_enabled')
421
+ self.item_locking_enabled = attributes[:'item_locking_enabled']
422
+ end
423
+
410
424
  if attributes.key?(:'item_type')
411
425
  self.item_type = attributes[:'item_type']
412
426
  end
@@ -449,6 +463,10 @@ module Akeyless
449
463
  self.lock_gw_bound_ips = attributes[:'lock_gw_bound_ips']
450
464
  end
451
465
 
466
+ if attributes.key?(:'lock_max_ttl')
467
+ self.lock_max_ttl = attributes[:'lock_max_ttl']
468
+ end
469
+
452
470
  if attributes.key?(:'max_rotation_interval')
453
471
  self.max_rotation_interval = attributes[:'max_rotation_interval']
454
472
  end
@@ -561,6 +579,7 @@ module Akeyless
561
579
  hide_personal_folder == o.hide_personal_folder &&
562
580
  hide_static_password == o.hide_static_password &&
563
581
  invalid_characters == o.invalid_characters &&
582
+ item_locking_enabled == o.item_locking_enabled &&
564
583
  item_type == o.item_type &&
565
584
  items_deletion_protection == o.items_deletion_protection &&
566
585
  json == o.json &&
@@ -571,6 +590,7 @@ module Akeyless
571
590
  lock_bound_ips == o.lock_bound_ips &&
572
591
  lock_default_key == o.lock_default_key &&
573
592
  lock_gw_bound_ips == o.lock_gw_bound_ips &&
593
+ lock_max_ttl == o.lock_max_ttl &&
574
594
  max_rotation_interval == o.max_rotation_interval &&
575
595
  max_rotation_interval_enable == o.max_rotation_interval_enable &&
576
596
  max_versions == o.max_versions &&
@@ -599,7 +619,7 @@ module Akeyless
599
619
  # Calculates hash code according to all attributes.
600
620
  # @return [Integer] Hash code
601
621
  def hash
602
- [address, allowed_client_type, allowed_email_domains, bound_ips, city, company_name, country, default_certificate_expiration_notification_days, default_key_name, default_share_link_ttl_minutes, default_versioning, dp_enable_classic_key_protection, dynamic_secret_max_ttl, dynamic_secret_max_ttl_enable, enable_ai_insights, enable_default_certificate_expiration_event, enable_item_sharing, enable_password_expiration, force_new_versions, gw_bound_ips, hide_personal_folder, hide_static_password, invalid_characters, item_type, items_deletion_protection, json, jwt_ttl_default, jwt_ttl_max, jwt_ttl_min, lock_allowed_client_type, lock_bound_ips, lock_default_key, lock_gw_bound_ips, max_rotation_interval, max_rotation_interval_enable, max_versions, password_expiration_days, password_expiration_notification_days, password_length, phone, postal_code, token, uid_token, usage_event_enable, usage_event_interval, usage_event_object_type, use_capital_letters, use_lower_letters, use_numbers, use_special_characters].hash
622
+ [address, allowed_client_type, allowed_email_domains, bound_ips, city, company_name, country, default_certificate_expiration_notification_days, default_key_name, default_share_link_ttl_minutes, default_versioning, dp_enable_classic_key_protection, dynamic_secret_max_ttl, dynamic_secret_max_ttl_enable, enable_ai_insights, enable_default_certificate_expiration_event, enable_item_sharing, enable_password_expiration, force_new_versions, gw_bound_ips, hide_personal_folder, hide_static_password, invalid_characters, item_locking_enabled, item_type, items_deletion_protection, json, jwt_ttl_default, jwt_ttl_max, jwt_ttl_min, lock_allowed_client_type, lock_bound_ips, lock_default_key, lock_gw_bound_ips, lock_max_ttl, max_rotation_interval, max_rotation_interval_enable, max_versions, password_expiration_days, password_expiration_notification_days, password_length, phone, postal_code, token, uid_token, usage_event_enable, usage_event_interval, usage_event_object_type, use_capital_letters, use_lower_letters, use_numbers, use_special_characters].hash
603
623
  end
604
624
 
605
625
  # Builds the object from hash
@@ -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