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,232 @@
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 IssuerOverviewInfo
18
+ attr_accessor :certificate_authority_mode
19
+
20
+ attr_accessor :expiration_date
21
+
22
+ attr_accessor :key_type
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'certificate_authority_mode' => :'certificate_authority_mode',
28
+ :'expiration_date' => :'expiration_date',
29
+ :'key_type' => :'key_type'
30
+ }
31
+ end
32
+
33
+ # Returns all the JSON keys this model knows about
34
+ def self.acceptable_attributes
35
+ attribute_map.values
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.openapi_types
40
+ {
41
+ :'certificate_authority_mode' => :'String',
42
+ :'expiration_date' => :'Time',
43
+ :'key_type' => :'String'
44
+ }
45
+ end
46
+
47
+ # List of attributes with nullable: true
48
+ def self.openapi_nullable
49
+ Set.new([
50
+ ])
51
+ end
52
+
53
+ # Initializes the object
54
+ # @param [Hash] attributes Model attributes in the form of hash
55
+ def initialize(attributes = {})
56
+ if (!attributes.is_a?(Hash))
57
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::IssuerOverviewInfo` initialize method"
58
+ end
59
+
60
+ # check to see if the attribute exists and convert string to symbol for hash key
61
+ attributes = attributes.each_with_object({}) { |(k, v), h|
62
+ if (!self.class.attribute_map.key?(k.to_sym))
63
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::IssuerOverviewInfo`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
64
+ end
65
+ h[k.to_sym] = v
66
+ }
67
+
68
+ if attributes.key?(:'certificate_authority_mode')
69
+ self.certificate_authority_mode = attributes[:'certificate_authority_mode']
70
+ end
71
+
72
+ if attributes.key?(:'expiration_date')
73
+ self.expiration_date = attributes[:'expiration_date']
74
+ end
75
+
76
+ if attributes.key?(:'key_type')
77
+ self.key_type = attributes[:'key_type']
78
+ end
79
+ end
80
+
81
+ # Show invalid properties with the reasons. Usually used together with valid?
82
+ # @return Array for valid properties with the reasons
83
+ def list_invalid_properties
84
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
85
+ invalid_properties = Array.new
86
+ invalid_properties
87
+ end
88
+
89
+ # Check to see if the all the properties in the model are valid
90
+ # @return true if the model is valid
91
+ def valid?
92
+ warn '[DEPRECATED] the `valid?` method is obsolete'
93
+ true
94
+ end
95
+
96
+ # Checks equality by comparing each attribute.
97
+ # @param [Object] Object to be compared
98
+ def ==(o)
99
+ return true if self.equal?(o)
100
+ self.class == o.class &&
101
+ certificate_authority_mode == o.certificate_authority_mode &&
102
+ expiration_date == o.expiration_date &&
103
+ key_type == o.key_type
104
+ end
105
+
106
+ # @see the `==` method
107
+ # @param [Object] Object to be compared
108
+ def eql?(o)
109
+ self == o
110
+ end
111
+
112
+ # Calculates hash code according to all attributes.
113
+ # @return [Integer] Hash code
114
+ def hash
115
+ [certificate_authority_mode, expiration_date, key_type].hash
116
+ end
117
+
118
+ # Builds the object from hash
119
+ # @param [Hash] attributes Model attributes in the form of hash
120
+ # @return [Object] Returns the model itself
121
+ def self.build_from_hash(attributes)
122
+ return nil unless attributes.is_a?(Hash)
123
+ attributes = attributes.transform_keys(&:to_sym)
124
+ transformed_hash = {}
125
+ openapi_types.each_pair do |key, type|
126
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
127
+ transformed_hash["#{key}"] = nil
128
+ elsif type =~ /\AArray<(.*)>/i
129
+ # check to ensure the input is an array given that the attribute
130
+ # is documented as an array but the input is not
131
+ if attributes[attribute_map[key]].is_a?(Array)
132
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
133
+ end
134
+ elsif !attributes[attribute_map[key]].nil?
135
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
136
+ end
137
+ end
138
+ new(transformed_hash)
139
+ end
140
+
141
+ # Deserializes the data based on type
142
+ # @param string type Data type
143
+ # @param string value Value to be deserialized
144
+ # @return [Object] Deserialized data
145
+ def self._deserialize(type, value)
146
+ case type.to_sym
147
+ when :Time
148
+ Time.parse(value)
149
+ when :Date
150
+ Date.parse(value)
151
+ when :String
152
+ value.to_s
153
+ when :Integer
154
+ value.to_i
155
+ when :Float
156
+ value.to_f
157
+ when :Boolean
158
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
159
+ true
160
+ else
161
+ false
162
+ end
163
+ when :Object
164
+ # generic object (usually a Hash), return directly
165
+ value
166
+ when /\AArray<(?<inner_type>.+)>\z/
167
+ inner_type = Regexp.last_match[:inner_type]
168
+ value.map { |v| _deserialize(inner_type, v) }
169
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
170
+ k_type = Regexp.last_match[:k_type]
171
+ v_type = Regexp.last_match[:v_type]
172
+ {}.tap do |hash|
173
+ value.each do |k, v|
174
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
175
+ end
176
+ end
177
+ else # model
178
+ # models (e.g. Pet) or oneOf
179
+ klass = Akeyless.const_get(type)
180
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
181
+ end
182
+ end
183
+
184
+ # Returns the string representation of the object
185
+ # @return [String] String presentation of the object
186
+ def to_s
187
+ to_hash.to_s
188
+ end
189
+
190
+ # to_body is an alias to to_hash (backward compatibility)
191
+ # @return [Hash] Returns the object in the form of hash
192
+ def to_body
193
+ to_hash
194
+ end
195
+
196
+ # Returns the object in the form of hash
197
+ # @return [Hash] Returns the object in the form of hash
198
+ def to_hash
199
+ hash = {}
200
+ self.class.attribute_map.each_pair do |attr, param|
201
+ value = self.send(attr)
202
+ if value.nil?
203
+ is_nullable = self.class.openapi_nullable.include?(attr)
204
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
205
+ end
206
+
207
+ hash[param] = _to_hash(value)
208
+ end
209
+ hash
210
+ end
211
+
212
+ # Outputs non-array value in the form of hash
213
+ # For object, use to_hash. Otherwise, just return the value
214
+ # @param [Object] value Any valid value
215
+ # @return [Hash] Returns the value in the form of hash
216
+ def _to_hash(value)
217
+ if value.is_a?(Array)
218
+ value.compact.map { |v| _to_hash(v) }
219
+ elsif value.is_a?(Hash)
220
+ {}.tap do |hash|
221
+ value.each { |k, v| hash[k] = _to_hash(v) }
222
+ end
223
+ elsif value.respond_to? :to_hash
224
+ value.to_hash
225
+ else
226
+ value
227
+ end
228
+ end
229
+
230
+ end
231
+
232
+ end
@@ -35,6 +35,8 @@ module Akeyless
35
35
 
36
36
  attr_accessor :importer_info
37
37
 
38
+ attr_accessor :issuer_overview_info
39
+
38
40
  attr_accessor :next_rotation_events
39
41
 
40
42
  attr_accessor :oidc_client_info
@@ -62,6 +64,7 @@ module Akeyless
62
64
  :'dynamic_secret_producer_details' => :'dynamic_secret_producer_details',
63
65
  :'expiration_events' => :'expiration_events',
64
66
  :'importer_info' => :'importer_info',
67
+ :'issuer_overview_info' => :'issuer_overview_info',
65
68
  :'next_rotation_events' => :'next_rotation_events',
66
69
  :'oidc_client_info' => :'oidc_client_info',
67
70
  :'password_policy' => :'password_policy',
@@ -90,6 +93,7 @@ module Akeyless
90
93
  :'dynamic_secret_producer_details' => :'DynamicSecretProducerInfo',
91
94
  :'expiration_events' => :'Array<CertificateExpirationEvent>',
92
95
  :'importer_info' => :'ImporterInfo',
96
+ :'issuer_overview_info' => :'IssuerOverviewInfo',
93
97
  :'next_rotation_events' => :'Array<NextAutoRotationEvent>',
94
98
  :'oidc_client_info' => :'OidcClientInfo',
95
99
  :'password_policy' => :'PasswordPolicyInfo',
@@ -163,6 +167,10 @@ module Akeyless
163
167
  self.importer_info = attributes[:'importer_info']
164
168
  end
165
169
 
170
+ if attributes.key?(:'issuer_overview_info')
171
+ self.issuer_overview_info = attributes[:'issuer_overview_info']
172
+ end
173
+
166
174
  if attributes.key?(:'next_rotation_events')
167
175
  if (value = attributes[:'next_rotation_events']).is_a?(Array)
168
176
  self.next_rotation_events = value
@@ -224,6 +232,7 @@ module Akeyless
224
232
  dynamic_secret_producer_details == o.dynamic_secret_producer_details &&
225
233
  expiration_events == o.expiration_events &&
226
234
  importer_info == o.importer_info &&
235
+ issuer_overview_info == o.issuer_overview_info &&
227
236
  next_rotation_events == o.next_rotation_events &&
228
237
  oidc_client_info == o.oidc_client_info &&
229
238
  password_policy == o.password_policy &&
@@ -242,7 +251,7 @@ module Akeyless
242
251
  # Calculates hash code according to all attributes.
243
252
  # @return [Integer] Hash code
244
253
  def hash
245
- [cert_issue_details, certificate_chain_info, certificate_format, certificates_template_info, classic_key_details, cluster_gw_url, display_metadata, dynamic_secret_producer_details, expiration_events, importer_info, next_rotation_events, oidc_client_info, password_policy, rotated_secret_details, secure_remote_access_details, static_secret_info, tokenizer_info].hash
254
+ [cert_issue_details, certificate_chain_info, certificate_format, certificates_template_info, classic_key_details, cluster_gw_url, display_metadata, dynamic_secret_producer_details, expiration_events, importer_info, issuer_overview_info, next_rotation_events, oidc_client_info, password_policy, rotated_secret_details, secure_remote_access_details, static_secret_info, tokenizer_info].hash
246
255
  end
247
256
 
248
257
  # Builds the object from hash
@@ -0,0 +1,315 @@
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
+ # LetsEncryptTargetDetails defines configuration for Let's Encrypt ACME target
18
+ class LetsEncryptTargetDetails
19
+ # ACME Account Private Key (PEM-encoded) Supports ECDSA (P-256, P-384, P-521), RSA (2048+), and Ed25519 Auto-generated as ECDSA P-256 on first certificate issuance if not provided Stored encrypted, required for certificate operations and revocation
20
+ attr_accessor :account_key_pem
21
+
22
+ # ACME Account URL (returned after registration with Let's Encrypt) Used to retrieve existing account instead of re-registering
23
+ attr_accessor :account_url
24
+
25
+ # ACMEEnvironment defines Let's Encrypt ACME directory environment
26
+ attr_accessor :acme_environment
27
+
28
+ # ACMEChallengeType defines ACME challenge type for Let's Encrypt
29
+ attr_accessor :challenge_type
30
+
31
+ # Name of DNS target (transient field - not stored in DB) Used by CLI to pass DNS target name to SDK for creating target_object_assoc Retrieved from target_object_assoc when reading target Required when ChallengeType is \"dns\"
32
+ attr_accessor :dns_target_name
33
+
34
+ attr_accessor :dns_target_type
35
+
36
+ # Email address for ACME account registration Required
37
+ attr_accessor :email
38
+
39
+ # GCP Cloud DNS: Project ID Optional - can be derived from service account
40
+ attr_accessor :gcp_project
41
+
42
+ # AWS Route53: Hosted zone ID Required when DNSTargetType is AWS
43
+ attr_accessor :hosted_zone
44
+
45
+ # Azure DNS: Resource group name Required when DNSTargetType is Azure
46
+ attr_accessor :resource_group
47
+
48
+ # A Duration represents the elapsed time between two instants as an int64 nanosecond count. The representation limits the largest representable duration to approximately 290 years.
49
+ attr_accessor :timeout
50
+
51
+ # Attribute mapping from ruby-style variable name to JSON key.
52
+ def self.attribute_map
53
+ {
54
+ :'account_key_pem' => :'account_key_pem',
55
+ :'account_url' => :'account_url',
56
+ :'acme_environment' => :'acme_environment',
57
+ :'challenge_type' => :'challenge_type',
58
+ :'dns_target_name' => :'dns_target_name',
59
+ :'dns_target_type' => :'dns_target_type',
60
+ :'email' => :'email',
61
+ :'gcp_project' => :'gcp_project',
62
+ :'hosted_zone' => :'hosted_zone',
63
+ :'resource_group' => :'resource_group',
64
+ :'timeout' => :'timeout'
65
+ }
66
+ end
67
+
68
+ # Returns all the JSON keys this model knows about
69
+ def self.acceptable_attributes
70
+ attribute_map.values
71
+ end
72
+
73
+ # Attribute type mapping.
74
+ def self.openapi_types
75
+ {
76
+ :'account_key_pem' => :'String',
77
+ :'account_url' => :'String',
78
+ :'acme_environment' => :'String',
79
+ :'challenge_type' => :'String',
80
+ :'dns_target_name' => :'String',
81
+ :'dns_target_type' => :'String',
82
+ :'email' => :'String',
83
+ :'gcp_project' => :'String',
84
+ :'hosted_zone' => :'String',
85
+ :'resource_group' => :'String',
86
+ :'timeout' => :'Integer'
87
+ }
88
+ end
89
+
90
+ # List of attributes with nullable: true
91
+ def self.openapi_nullable
92
+ Set.new([
93
+ ])
94
+ end
95
+
96
+ # Initializes the object
97
+ # @param [Hash] attributes Model attributes in the form of hash
98
+ def initialize(attributes = {})
99
+ if (!attributes.is_a?(Hash))
100
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::LetsEncryptTargetDetails` initialize method"
101
+ end
102
+
103
+ # check to see if the attribute exists and convert string to symbol for hash key
104
+ attributes = attributes.each_with_object({}) { |(k, v), h|
105
+ if (!self.class.attribute_map.key?(k.to_sym))
106
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::LetsEncryptTargetDetails`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
107
+ end
108
+ h[k.to_sym] = v
109
+ }
110
+
111
+ if attributes.key?(:'account_key_pem')
112
+ self.account_key_pem = attributes[:'account_key_pem']
113
+ end
114
+
115
+ if attributes.key?(:'account_url')
116
+ self.account_url = attributes[:'account_url']
117
+ end
118
+
119
+ if attributes.key?(:'acme_environment')
120
+ self.acme_environment = attributes[:'acme_environment']
121
+ end
122
+
123
+ if attributes.key?(:'challenge_type')
124
+ self.challenge_type = attributes[:'challenge_type']
125
+ end
126
+
127
+ if attributes.key?(:'dns_target_name')
128
+ self.dns_target_name = attributes[:'dns_target_name']
129
+ end
130
+
131
+ if attributes.key?(:'dns_target_type')
132
+ self.dns_target_type = attributes[:'dns_target_type']
133
+ end
134
+
135
+ if attributes.key?(:'email')
136
+ self.email = attributes[:'email']
137
+ end
138
+
139
+ if attributes.key?(:'gcp_project')
140
+ self.gcp_project = attributes[:'gcp_project']
141
+ end
142
+
143
+ if attributes.key?(:'hosted_zone')
144
+ self.hosted_zone = attributes[:'hosted_zone']
145
+ end
146
+
147
+ if attributes.key?(:'resource_group')
148
+ self.resource_group = attributes[:'resource_group']
149
+ end
150
+
151
+ if attributes.key?(:'timeout')
152
+ self.timeout = attributes[:'timeout']
153
+ end
154
+ end
155
+
156
+ # Show invalid properties with the reasons. Usually used together with valid?
157
+ # @return Array for valid properties with the reasons
158
+ def list_invalid_properties
159
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
160
+ invalid_properties = Array.new
161
+ invalid_properties
162
+ end
163
+
164
+ # Check to see if the all the properties in the model are valid
165
+ # @return true if the model is valid
166
+ def valid?
167
+ warn '[DEPRECATED] the `valid?` method is obsolete'
168
+ true
169
+ end
170
+
171
+ # Checks equality by comparing each attribute.
172
+ # @param [Object] Object to be compared
173
+ def ==(o)
174
+ return true if self.equal?(o)
175
+ self.class == o.class &&
176
+ account_key_pem == o.account_key_pem &&
177
+ account_url == o.account_url &&
178
+ acme_environment == o.acme_environment &&
179
+ challenge_type == o.challenge_type &&
180
+ dns_target_name == o.dns_target_name &&
181
+ dns_target_type == o.dns_target_type &&
182
+ email == o.email &&
183
+ gcp_project == o.gcp_project &&
184
+ hosted_zone == o.hosted_zone &&
185
+ resource_group == o.resource_group &&
186
+ timeout == o.timeout
187
+ end
188
+
189
+ # @see the `==` method
190
+ # @param [Object] Object to be compared
191
+ def eql?(o)
192
+ self == o
193
+ end
194
+
195
+ # Calculates hash code according to all attributes.
196
+ # @return [Integer] Hash code
197
+ def hash
198
+ [account_key_pem, account_url, acme_environment, challenge_type, dns_target_name, dns_target_type, email, gcp_project, hosted_zone, resource_group, timeout].hash
199
+ end
200
+
201
+ # Builds the object from hash
202
+ # @param [Hash] attributes Model attributes in the form of hash
203
+ # @return [Object] Returns the model itself
204
+ def self.build_from_hash(attributes)
205
+ return nil unless attributes.is_a?(Hash)
206
+ attributes = attributes.transform_keys(&:to_sym)
207
+ transformed_hash = {}
208
+ openapi_types.each_pair do |key, type|
209
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
210
+ transformed_hash["#{key}"] = nil
211
+ elsif type =~ /\AArray<(.*)>/i
212
+ # check to ensure the input is an array given that the attribute
213
+ # is documented as an array but the input is not
214
+ if attributes[attribute_map[key]].is_a?(Array)
215
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
216
+ end
217
+ elsif !attributes[attribute_map[key]].nil?
218
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
219
+ end
220
+ end
221
+ new(transformed_hash)
222
+ end
223
+
224
+ # Deserializes the data based on type
225
+ # @param string type Data type
226
+ # @param string value Value to be deserialized
227
+ # @return [Object] Deserialized data
228
+ def self._deserialize(type, value)
229
+ case type.to_sym
230
+ when :Time
231
+ Time.parse(value)
232
+ when :Date
233
+ Date.parse(value)
234
+ when :String
235
+ value.to_s
236
+ when :Integer
237
+ value.to_i
238
+ when :Float
239
+ value.to_f
240
+ when :Boolean
241
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
242
+ true
243
+ else
244
+ false
245
+ end
246
+ when :Object
247
+ # generic object (usually a Hash), return directly
248
+ value
249
+ when /\AArray<(?<inner_type>.+)>\z/
250
+ inner_type = Regexp.last_match[:inner_type]
251
+ value.map { |v| _deserialize(inner_type, v) }
252
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
253
+ k_type = Regexp.last_match[:k_type]
254
+ v_type = Regexp.last_match[:v_type]
255
+ {}.tap do |hash|
256
+ value.each do |k, v|
257
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
258
+ end
259
+ end
260
+ else # model
261
+ # models (e.g. Pet) or oneOf
262
+ klass = Akeyless.const_get(type)
263
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
264
+ end
265
+ end
266
+
267
+ # Returns the string representation of the object
268
+ # @return [String] String presentation of the object
269
+ def to_s
270
+ to_hash.to_s
271
+ end
272
+
273
+ # to_body is an alias to to_hash (backward compatibility)
274
+ # @return [Hash] Returns the object in the form of hash
275
+ def to_body
276
+ to_hash
277
+ end
278
+
279
+ # Returns the object in the form of hash
280
+ # @return [Hash] Returns the object in the form of hash
281
+ def to_hash
282
+ hash = {}
283
+ self.class.attribute_map.each_pair do |attr, param|
284
+ value = self.send(attr)
285
+ if value.nil?
286
+ is_nullable = self.class.openapi_nullable.include?(attr)
287
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
288
+ end
289
+
290
+ hash[param] = _to_hash(value)
291
+ end
292
+ hash
293
+ end
294
+
295
+ # Outputs non-array value in the form of hash
296
+ # For object, use to_hash. Otherwise, just return the value
297
+ # @param [Object] value Any valid value
298
+ # @return [Hash] Returns the value in the form of hash
299
+ def _to_hash(value)
300
+ if value.is_a?(Array)
301
+ value.compact.map { |v| _to_hash(v) }
302
+ elsif value.is_a?(Hash)
303
+ {}.tap do |hash|
304
+ value.each { |k, v| hash[k] = _to_hash(v) }
305
+ end
306
+ elsif value.respond_to? :to_hash
307
+ value.to_hash
308
+ else
309
+ value
310
+ end
311
+ end
312
+
313
+ end
314
+
315
+ end
@@ -15,6 +15,8 @@ require 'time'
15
15
 
16
16
  module Akeyless
17
17
  class MigrationStatusReplyObj
18
+ attr_accessor :certificates
19
+
18
20
  attr_accessor :computers
19
21
 
20
22
  attr_accessor :duration_time
@@ -48,6 +50,7 @@ module Akeyless
48
50
  # Attribute mapping from ruby-style variable name to JSON key.
49
51
  def self.attribute_map
50
52
  {
53
+ :'certificates' => :'certificates',
51
54
  :'computers' => :'computers',
52
55
  :'duration_time' => :'duration_time',
53
56
  :'error' => :'error',
@@ -74,6 +77,7 @@ module Akeyless
74
77
  # Attribute type mapping.
75
78
  def self.openapi_types
76
79
  {
80
+ :'certificates' => :'MigrationItems',
77
81
  :'computers' => :'Integer',
78
82
  :'duration_time' => :'String',
79
83
  :'error' => :'String',
@@ -113,6 +117,10 @@ module Akeyless
113
117
  h[k.to_sym] = v
114
118
  }
115
119
 
120
+ if attributes.key?(:'certificates')
121
+ self.certificates = attributes[:'certificates']
122
+ end
123
+
116
124
  if attributes.key?(:'computers')
117
125
  self.computers = attributes[:'computers']
118
126
  end
@@ -194,6 +202,7 @@ module Akeyless
194
202
  def ==(o)
195
203
  return true if self.equal?(o)
196
204
  self.class == o.class &&
205
+ certificates == o.certificates &&
197
206
  computers == o.computers &&
198
207
  duration_time == o.duration_time &&
199
208
  error == o.error &&
@@ -220,7 +229,7 @@ module Akeyless
220
229
  # Calculates hash code according to all attributes.
221
230
  # @return [Integer] Hash code
222
231
  def hash
223
- [computers, duration_time, error, last_status_message, max_name_length, max_value_length, migration_id, migration_items, migration_name, migration_state, migration_type, migration_type_name, rotated_secrets, start_time, targets].hash
232
+ [certificates, computers, duration_time, error, last_status_message, max_name_length, max_value_length, migration_id, migration_items, migration_name, migration_state, migration_type, migration_type_name, rotated_secrets, start_time, targets].hash
224
233
  end
225
234
 
226
235
  # Builds the object from hash