akeyless 4.2.3 → 4.2.4

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 (248) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +43 -2
  3. data/docs/AccountGeneralSettings.md +2 -0
  4. data/docs/AwsStorage.md +28 -0
  5. data/docs/AzureStorage.md +28 -0
  6. data/docs/BastionConfigReplyObj.md +28 -0
  7. data/docs/BastionGlobalConf.md +24 -0
  8. data/docs/Configure.md +8 -0
  9. data/docs/Connect.md +2 -2
  10. data/docs/CreateClassicKey.md +8 -0
  11. data/docs/CreateDFCKey.md +8 -0
  12. data/docs/DynamicSecretUpdateArtifactory.md +1 -1
  13. data/docs/DynamicSecretUpdateAws.md +1 -1
  14. data/docs/DynamicSecretUpdateAzure.md +1 -1
  15. data/docs/DynamicSecretUpdateCassandra.md +1 -1
  16. data/docs/DynamicSecretUpdateChef.md +1 -1
  17. data/docs/DynamicSecretUpdateCustom.md +1 -1
  18. data/docs/DynamicSecretUpdateDockerhub.md +1 -1
  19. data/docs/DynamicSecretUpdateEks.md +1 -1
  20. data/docs/DynamicSecretUpdateGcp.md +1 -1
  21. data/docs/DynamicSecretUpdateGithub.md +1 -1
  22. data/docs/DynamicSecretUpdateGitlab.md +1 -1
  23. data/docs/DynamicSecretUpdateGke.md +1 -1
  24. data/docs/DynamicSecretUpdateGoogleWorkspace.md +1 -1
  25. data/docs/DynamicSecretUpdateHanaDb.md +1 -1
  26. data/docs/DynamicSecretUpdateK8s.md +1 -1
  27. data/docs/DynamicSecretUpdateLdap.md +1 -1
  28. data/docs/DynamicSecretUpdateMongoDb.md +1 -1
  29. data/docs/DynamicSecretUpdateMsSql.md +1 -1
  30. data/docs/DynamicSecretUpdateMySql.md +1 -1
  31. data/docs/DynamicSecretUpdateOracleDb.md +1 -1
  32. data/docs/DynamicSecretUpdatePing.md +1 -1
  33. data/docs/DynamicSecretUpdateVenafi.md +1 -1
  34. data/docs/EmailPassAccessRules.md +3 -1
  35. data/docs/EventForwarderCreateEmail.md +2 -2
  36. data/docs/EventForwarderCreateServiceNow.md +1 -1
  37. data/docs/EventForwarderCreateSlack.md +1 -1
  38. data/docs/EventForwarderCreateWebhook.md +1 -1
  39. data/docs/EventForwarderUpdateEmail.md +2 -2
  40. data/docs/EventForwarderUpdateServiceNow.md +1 -1
  41. data/docs/EventForwarderUpdateSlack.md +1 -1
  42. data/docs/EventForwarderUpdateWebhook.md +1 -1
  43. data/docs/GatewayGetRemoteAccess.md +22 -0
  44. data/docs/GatewayUpdateItem.md +2 -0
  45. data/docs/GatewayUpdateRemoteAccess.md +36 -0
  46. data/docs/GatewayUpdateRemoteAccessRdpRecordings.md +46 -0
  47. data/docs/GwUpdateRemoteAccessSessionLogsAwsS3.md +42 -0
  48. data/docs/GwUpdateRemoteAccessSessionLogsAzureAnalytics.md +32 -0
  49. data/docs/GwUpdateRemoteAccessSessionLogsDatadog.md +38 -0
  50. data/docs/GwUpdateRemoteAccessSessionLogsElasticsearch.md +48 -0
  51. data/docs/GwUpdateRemoteAccessSessionLogsGoogleChronicle.md +36 -0
  52. data/docs/GwUpdateRemoteAccessSessionLogsLogstash.md +36 -0
  53. data/docs/GwUpdateRemoteAccessSessionLogsLogzIo.md +32 -0
  54. data/docs/GwUpdateRemoteAccessSessionLogsSplunk.md +42 -0
  55. data/docs/GwUpdateRemoteAccessSessionLogsStdout.md +28 -0
  56. data/docs/GwUpdateRemoteAccessSessionLogsSumologic.md +34 -0
  57. data/docs/GwUpdateRemoteAccessSessionLogsSyslog.md +40 -0
  58. data/docs/ItemGeneralInfo.md +4 -0
  59. data/docs/NextAutoRotationEvent.md +18 -0
  60. data/docs/PasswordExpirationInfo.md +24 -0
  61. data/docs/ResetAccessKey.md +24 -0
  62. data/docs/ResetAuthMethodAccessKeyOutput.md +18 -0
  63. data/docs/RollbackSecret.md +2 -0
  64. data/docs/RotatedSecretCreateAws.md +2 -0
  65. data/docs/RotatedSecretCreateAzure.md +2 -0
  66. data/docs/RotatedSecretCreateCassandra.md +2 -0
  67. data/docs/RotatedSecretCreateCustom.md +2 -0
  68. data/docs/RotatedSecretCreateDockerhub.md +2 -0
  69. data/docs/RotatedSecretCreateGcp.md +2 -0
  70. data/docs/RotatedSecretCreateHanadb.md +2 -0
  71. data/docs/RotatedSecretCreateLdap.md +2 -0
  72. data/docs/RotatedSecretCreateMongodb.md +2 -0
  73. data/docs/RotatedSecretCreateMssql.md +2 -0
  74. data/docs/RotatedSecretCreateMysql.md +2 -0
  75. data/docs/RotatedSecretCreateOracledb.md +2 -0
  76. data/docs/RotatedSecretCreatePostgresql.md +2 -0
  77. data/docs/RotatedSecretCreateRedis.md +2 -0
  78. data/docs/RotatedSecretCreateRedshift.md +2 -0
  79. data/docs/RotatedSecretCreateSnowflake.md +2 -0
  80. data/docs/RotatedSecretCreateSsh.md +2 -0
  81. data/docs/RotatedSecretCreateWindows.md +2 -0
  82. data/docs/RotatedSecretUpdateAws.md +2 -0
  83. data/docs/RotatedSecretUpdateAzure.md +2 -0
  84. data/docs/RotatedSecretUpdateCassandra.md +2 -0
  85. data/docs/RotatedSecretUpdateCustom.md +2 -0
  86. data/docs/RotatedSecretUpdateDockerhub.md +2 -0
  87. data/docs/RotatedSecretUpdateGcp.md +2 -0
  88. data/docs/RotatedSecretUpdateHanadb.md +2 -0
  89. data/docs/RotatedSecretUpdateLdap.md +2 -0
  90. data/docs/RotatedSecretUpdateMongodb.md +2 -0
  91. data/docs/RotatedSecretUpdateMssql.md +2 -0
  92. data/docs/RotatedSecretUpdateMysql.md +2 -0
  93. data/docs/RotatedSecretUpdateOracledb.md +2 -0
  94. data/docs/RotatedSecretUpdatePostgresql.md +2 -0
  95. data/docs/RotatedSecretUpdateRedis.md +2 -0
  96. data/docs/RotatedSecretUpdateRedshift.md +2 -0
  97. data/docs/RotatedSecretUpdateSnowflake.md +2 -0
  98. data/docs/RotatedSecretUpdateSsh.md +2 -0
  99. data/docs/RotatedSecretUpdateWindows.md +2 -0
  100. data/docs/SshBastionConf.md +24 -0
  101. data/docs/SshBastionSessionTermination.md +26 -0
  102. data/docs/UpdateAccountSettings.md +6 -0
  103. data/docs/UpdateItem.md +2 -0
  104. data/docs/UpdateRotationSettings.md +2 -0
  105. data/docs/UpdateTarget.md +1 -1
  106. data/docs/UploadRSA.md +2 -0
  107. data/docs/V2Api.md +880 -1
  108. data/docs/WebBastionConf.md +20 -0
  109. data/docs/WebBastionGuacamole.md +18 -0
  110. data/docs/WebBastionRdpRecord.md +22 -0
  111. data/lib/akeyless/api/v2_api.rb +886 -1
  112. data/lib/akeyless/models/account_general_settings.rb +10 -1
  113. data/lib/akeyless/models/aws_storage.rb +260 -0
  114. data/lib/akeyless/models/azure_storage.rb +260 -0
  115. data/lib/akeyless/models/bastion_config_reply_obj.rb +259 -0
  116. data/lib/akeyless/models/bastion_global_conf.rb +243 -0
  117. data/lib/akeyless/models/configure.rb +41 -1
  118. data/lib/akeyless/models/connect.rb +11 -11
  119. data/lib/akeyless/models/create_classic_key.rb +45 -1
  120. data/lib/akeyless/models/create_dfc_key.rb +45 -1
  121. data/lib/akeyless/models/dynamic_secret_update_artifactory.rb +1 -1
  122. data/lib/akeyless/models/dynamic_secret_update_aws.rb +1 -1
  123. data/lib/akeyless/models/dynamic_secret_update_azure.rb +1 -1
  124. data/lib/akeyless/models/dynamic_secret_update_cassandra.rb +1 -1
  125. data/lib/akeyless/models/dynamic_secret_update_chef.rb +1 -1
  126. data/lib/akeyless/models/dynamic_secret_update_custom.rb +1 -1
  127. data/lib/akeyless/models/dynamic_secret_update_dockerhub.rb +1 -1
  128. data/lib/akeyless/models/dynamic_secret_update_eks.rb +1 -1
  129. data/lib/akeyless/models/dynamic_secret_update_gcp.rb +1 -1
  130. data/lib/akeyless/models/dynamic_secret_update_github.rb +1 -1
  131. data/lib/akeyless/models/dynamic_secret_update_gitlab.rb +1 -1
  132. data/lib/akeyless/models/dynamic_secret_update_gke.rb +1 -1
  133. data/lib/akeyless/models/dynamic_secret_update_google_workspace.rb +1 -1
  134. data/lib/akeyless/models/dynamic_secret_update_hana_db.rb +1 -1
  135. data/lib/akeyless/models/dynamic_secret_update_k8s.rb +1 -1
  136. data/lib/akeyless/models/dynamic_secret_update_ldap.rb +1 -1
  137. data/lib/akeyless/models/dynamic_secret_update_mongo_db.rb +1 -1
  138. data/lib/akeyless/models/dynamic_secret_update_ms_sql.rb +1 -1
  139. data/lib/akeyless/models/dynamic_secret_update_my_sql.rb +1 -1
  140. data/lib/akeyless/models/dynamic_secret_update_oracle_db.rb +1 -1
  141. data/lib/akeyless/models/dynamic_secret_update_ping.rb +1 -1
  142. data/lib/akeyless/models/dynamic_secret_update_venafi.rb +1 -1
  143. data/lib/akeyless/models/email_pass_access_rules.rb +14 -4
  144. data/lib/akeyless/models/event_forwarder_create_email.rb +2 -2
  145. data/lib/akeyless/models/event_forwarder_create_service_now.rb +1 -1
  146. data/lib/akeyless/models/event_forwarder_create_slack.rb +1 -1
  147. data/lib/akeyless/models/event_forwarder_create_webhook.rb +1 -1
  148. data/lib/akeyless/models/event_forwarder_update_email.rb +2 -2
  149. data/lib/akeyless/models/event_forwarder_update_service_now.rb +1 -1
  150. data/lib/akeyless/models/event_forwarder_update_slack.rb +1 -1
  151. data/lib/akeyless/models/event_forwarder_update_webhook.rb +1 -1
  152. data/lib/akeyless/models/gateway_get_remote_access.rb +238 -0
  153. data/lib/akeyless/models/gateway_update_item.rb +13 -1
  154. data/lib/akeyless/models/gateway_update_remote_access.rb +318 -0
  155. data/lib/akeyless/models/gateway_update_remote_access_rdp_recordings.rb +358 -0
  156. data/lib/akeyless/models/gw_update_remote_access_session_logs_aws_s3.rb +346 -0
  157. data/lib/akeyless/models/gw_update_remote_access_session_logs_azure_analytics.rb +294 -0
  158. data/lib/akeyless/models/gw_update_remote_access_session_logs_datadog.rb +330 -0
  159. data/lib/akeyless/models/gw_update_remote_access_session_logs_elasticsearch.rb +376 -0
  160. data/lib/akeyless/models/gw_update_remote_access_session_logs_google_chronicle.rb +314 -0
  161. data/lib/akeyless/models/gw_update_remote_access_session_logs_logstash.rb +316 -0
  162. data/lib/akeyless/models/gw_update_remote_access_session_logs_logz_io.rb +294 -0
  163. data/lib/akeyless/models/gw_update_remote_access_session_logs_splunk.rb +350 -0
  164. data/lib/akeyless/models/gw_update_remote_access_session_logs_stdout.rb +274 -0
  165. data/lib/akeyless/models/gw_update_remote_access_session_logs_sumologic.rb +308 -0
  166. data/lib/akeyless/models/gw_update_remote_access_session_logs_syslog.rb +342 -0
  167. data/lib/akeyless/models/item_general_info.rb +23 -1
  168. data/lib/akeyless/models/next_auto_rotation_event.rb +214 -0
  169. data/lib/akeyless/models/password_expiration_info.rb +242 -0
  170. data/lib/akeyless/models/reset_access_key.rb +255 -0
  171. data/lib/akeyless/models/reset_auth_method_access_key_output.rb +215 -0
  172. data/lib/akeyless/models/rollback_secret.rb +13 -1
  173. data/lib/akeyless/models/rotated_secret_create_aws.rb +13 -1
  174. data/lib/akeyless/models/rotated_secret_create_azure.rb +13 -1
  175. data/lib/akeyless/models/rotated_secret_create_cassandra.rb +13 -1
  176. data/lib/akeyless/models/rotated_secret_create_custom.rb +13 -1
  177. data/lib/akeyless/models/rotated_secret_create_dockerhub.rb +13 -1
  178. data/lib/akeyless/models/rotated_secret_create_gcp.rb +13 -1
  179. data/lib/akeyless/models/rotated_secret_create_hanadb.rb +13 -1
  180. data/lib/akeyless/models/rotated_secret_create_ldap.rb +13 -1
  181. data/lib/akeyless/models/rotated_secret_create_mongodb.rb +13 -1
  182. data/lib/akeyless/models/rotated_secret_create_mssql.rb +13 -1
  183. data/lib/akeyless/models/rotated_secret_create_mysql.rb +13 -1
  184. data/lib/akeyless/models/rotated_secret_create_oracledb.rb +13 -1
  185. data/lib/akeyless/models/rotated_secret_create_postgresql.rb +13 -1
  186. data/lib/akeyless/models/rotated_secret_create_redis.rb +13 -1
  187. data/lib/akeyless/models/rotated_secret_create_redshift.rb +13 -1
  188. data/lib/akeyless/models/rotated_secret_create_snowflake.rb +13 -1
  189. data/lib/akeyless/models/rotated_secret_create_ssh.rb +13 -1
  190. data/lib/akeyless/models/rotated_secret_create_windows.rb +13 -1
  191. data/lib/akeyless/models/rotated_secret_update_aws.rb +13 -1
  192. data/lib/akeyless/models/rotated_secret_update_azure.rb +13 -1
  193. data/lib/akeyless/models/rotated_secret_update_cassandra.rb +13 -1
  194. data/lib/akeyless/models/rotated_secret_update_custom.rb +13 -1
  195. data/lib/akeyless/models/rotated_secret_update_dockerhub.rb +13 -1
  196. data/lib/akeyless/models/rotated_secret_update_gcp.rb +13 -1
  197. data/lib/akeyless/models/rotated_secret_update_hanadb.rb +13 -1
  198. data/lib/akeyless/models/rotated_secret_update_ldap.rb +13 -1
  199. data/lib/akeyless/models/rotated_secret_update_mongodb.rb +13 -1
  200. data/lib/akeyless/models/rotated_secret_update_mssql.rb +13 -1
  201. data/lib/akeyless/models/rotated_secret_update_mysql.rb +13 -1
  202. data/lib/akeyless/models/rotated_secret_update_oracledb.rb +13 -1
  203. data/lib/akeyless/models/rotated_secret_update_postgresql.rb +13 -1
  204. data/lib/akeyless/models/rotated_secret_update_redis.rb +13 -1
  205. data/lib/akeyless/models/rotated_secret_update_redshift.rb +13 -1
  206. data/lib/akeyless/models/rotated_secret_update_snowflake.rb +13 -1
  207. data/lib/akeyless/models/rotated_secret_update_ssh.rb +13 -1
  208. data/lib/akeyless/models/rotated_secret_update_windows.rb +13 -1
  209. data/lib/akeyless/models/ssh_bastion_conf.rb +241 -0
  210. data/lib/akeyless/models/ssh_bastion_session_termination.rb +250 -0
  211. data/lib/akeyless/models/update_account_settings.rb +31 -1
  212. data/lib/akeyless/models/update_item.rb +13 -1
  213. data/lib/akeyless/models/update_rotation_settings.rb +13 -1
  214. data/lib/akeyless/models/update_target.rb +1 -1
  215. data/lib/akeyless/models/upload_rsa.rb +13 -1
  216. data/lib/akeyless/models/web_bastion_conf.rb +223 -0
  217. data/lib/akeyless/models/web_bastion_guacamole.rb +214 -0
  218. data/lib/akeyless/models/web_bastion_rdp_record.rb +232 -0
  219. data/lib/akeyless/version.rb +1 -1
  220. data/lib/akeyless.rb +27 -0
  221. data/spec/models/aws_storage_spec.rb +66 -0
  222. data/spec/models/azure_storage_spec.rb +66 -0
  223. data/spec/models/bastion_config_reply_obj_spec.rb +66 -0
  224. data/spec/models/bastion_global_conf_spec.rb +54 -0
  225. data/spec/models/gateway_get_remote_access_spec.rb +48 -0
  226. data/spec/models/gateway_update_remote_access_rdp_recordings_spec.rb +120 -0
  227. data/spec/models/gateway_update_remote_access_spec.rb +90 -0
  228. data/spec/models/gw_update_remote_access_session_logs_aws_s3_spec.rb +108 -0
  229. data/spec/models/gw_update_remote_access_session_logs_azure_analytics_spec.rb +78 -0
  230. data/spec/models/gw_update_remote_access_session_logs_datadog_spec.rb +96 -0
  231. data/spec/models/gw_update_remote_access_session_logs_elasticsearch_spec.rb +126 -0
  232. data/spec/models/gw_update_remote_access_session_logs_google_chronicle_spec.rb +90 -0
  233. data/spec/models/gw_update_remote_access_session_logs_logstash_spec.rb +90 -0
  234. data/spec/models/gw_update_remote_access_session_logs_logz_io_spec.rb +78 -0
  235. data/spec/models/gw_update_remote_access_session_logs_splunk_spec.rb +108 -0
  236. data/spec/models/gw_update_remote_access_session_logs_stdout_spec.rb +66 -0
  237. data/spec/models/gw_update_remote_access_session_logs_sumologic_spec.rb +84 -0
  238. data/spec/models/gw_update_remote_access_session_logs_syslog_spec.rb +102 -0
  239. data/spec/models/next_auto_rotation_event_spec.rb +36 -0
  240. data/spec/models/password_expiration_info_spec.rb +54 -0
  241. data/spec/models/reset_access_key_spec.rb +54 -0
  242. data/spec/models/reset_auth_method_access_key_output_spec.rb +36 -0
  243. data/spec/models/ssh_bastion_conf_spec.rb +54 -0
  244. data/spec/models/ssh_bastion_session_termination_spec.rb +60 -0
  245. data/spec/models/web_bastion_conf_spec.rb +42 -0
  246. data/spec/models/web_bastion_guacamole_spec.rb +36 -0
  247. data/spec/models/web_bastion_rdp_record_spec.rb +48 -0
  248. metadata +1089 -981
@@ -42,6 +42,8 @@ module Akeyless
42
42
  # LockDefaultKey determines whether the configured default key can be updated by end-users on a per-request basis true - all requests use the configured default key false - every request can determine its protection key (default) nil - change nothing (every request can determine its protection key (default)) This parameter is only relevant if AccountDefaultKeyItemID is not empty
43
43
  attr_accessor :lock_default_key
44
44
 
45
+ attr_accessor :password_expiration_info
46
+
45
47
  attr_accessor :password_policy
46
48
 
47
49
  attr_accessor :protect_items_by_default
@@ -64,6 +66,7 @@ module Akeyless
64
66
  :'invalid_characters' => :'invalid_characters',
65
67
  :'item_usage_event' => :'item_usage_event',
66
68
  :'lock_default_key' => :'lock_default_key',
69
+ :'password_expiration_info' => :'password_expiration_info',
67
70
  :'password_policy' => :'password_policy',
68
71
  :'protect_items_by_default' => :'protect_items_by_default',
69
72
  :'rotation_secret_max_interval' => :'rotation_secret_max_interval',
@@ -90,6 +93,7 @@ module Akeyless
90
93
  :'invalid_characters' => :'String',
91
94
  :'item_usage_event' => :'UsageEventSetting',
92
95
  :'lock_default_key' => :'Boolean',
96
+ :'password_expiration_info' => :'PasswordExpirationInfo',
93
97
  :'password_policy' => :'PasswordPolicyInfo',
94
98
  :'protect_items_by_default' => :'Boolean',
95
99
  :'rotation_secret_max_interval' => :'RotationSecretMaxInterval',
@@ -162,6 +166,10 @@ module Akeyless
162
166
  self.lock_default_key = attributes[:'lock_default_key']
163
167
  end
164
168
 
169
+ if attributes.key?(:'password_expiration_info')
170
+ self.password_expiration_info = attributes[:'password_expiration_info']
171
+ end
172
+
165
173
  if attributes.key?(:'password_policy')
166
174
  self.password_policy = attributes[:'password_policy']
167
175
  end
@@ -210,6 +218,7 @@ module Akeyless
210
218
  invalid_characters == o.invalid_characters &&
211
219
  item_usage_event == o.item_usage_event &&
212
220
  lock_default_key == o.lock_default_key &&
221
+ password_expiration_info == o.password_expiration_info &&
213
222
  password_policy == o.password_policy &&
214
223
  protect_items_by_default == o.protect_items_by_default &&
215
224
  rotation_secret_max_interval == o.rotation_secret_max_interval &&
@@ -225,7 +234,7 @@ module Akeyless
225
234
  # Calculates hash code according to all attributes.
226
235
  # @return [Integer] Hash code
227
236
  def hash
228
- [account_default_key_item_id, account_default_key_name, allowed_clients_ips, allowed_gateways_ips, auth_usage_event, data_protection_section, dynamic_secret_max_ttl, enable_request_for_access, invalid_characters, item_usage_event, lock_default_key, password_policy, protect_items_by_default, rotation_secret_max_interval, sharing_policy].hash
237
+ [account_default_key_item_id, account_default_key_name, allowed_clients_ips, allowed_gateways_ips, auth_usage_event, data_protection_section, dynamic_secret_max_ttl, enable_request_for_access, invalid_characters, item_usage_event, lock_default_key, password_expiration_info, password_policy, protect_items_by_default, rotation_secret_max_interval, sharing_policy].hash
229
238
  end
230
239
 
231
240
  # Builds the object from hash
@@ -0,0 +1,260 @@
1
+ =begin
2
+ #Akeyless API
3
+
4
+ #The purpose of this application is to provide access to Akeyless API.
5
+
6
+ The version of the OpenAPI document: 2.0
7
+ Contact: support@akeyless.io
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.9.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Akeyless
17
+ class AwsStorage
18
+ # creds
19
+ attr_accessor :access_key_id
20
+
21
+ attr_accessor :access_key_secret
22
+
23
+ attr_accessor :auth_type
24
+
25
+ attr_accessor :bucket
26
+
27
+ attr_accessor :prefix
28
+
29
+ attr_accessor :region
30
+
31
+ # Attribute mapping from ruby-style variable name to JSON key.
32
+ def self.attribute_map
33
+ {
34
+ :'access_key_id' => :'access_key_id',
35
+ :'access_key_secret' => :'access_key_secret',
36
+ :'auth_type' => :'auth_type',
37
+ :'bucket' => :'bucket',
38
+ :'prefix' => :'prefix',
39
+ :'region' => :'region'
40
+ }
41
+ end
42
+
43
+ # Returns all the JSON keys this model knows about
44
+ def self.acceptable_attributes
45
+ attribute_map.values
46
+ end
47
+
48
+ # Attribute type mapping.
49
+ def self.openapi_types
50
+ {
51
+ :'access_key_id' => :'String',
52
+ :'access_key_secret' => :'String',
53
+ :'auth_type' => :'String',
54
+ :'bucket' => :'String',
55
+ :'prefix' => :'String',
56
+ :'region' => :'String'
57
+ }
58
+ end
59
+
60
+ # List of attributes with nullable: true
61
+ def self.openapi_nullable
62
+ Set.new([
63
+ ])
64
+ end
65
+
66
+ # Initializes the object
67
+ # @param [Hash] attributes Model attributes in the form of hash
68
+ def initialize(attributes = {})
69
+ if (!attributes.is_a?(Hash))
70
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::AwsStorage` initialize method"
71
+ end
72
+
73
+ # check to see if the attribute exists and convert string to symbol for hash key
74
+ attributes = attributes.each_with_object({}) { |(k, v), h|
75
+ if (!self.class.attribute_map.key?(k.to_sym))
76
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::AwsStorage`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
77
+ end
78
+ h[k.to_sym] = v
79
+ }
80
+
81
+ if attributes.key?(:'access_key_id')
82
+ self.access_key_id = attributes[:'access_key_id']
83
+ end
84
+
85
+ if attributes.key?(:'access_key_secret')
86
+ self.access_key_secret = attributes[:'access_key_secret']
87
+ end
88
+
89
+ if attributes.key?(:'auth_type')
90
+ self.auth_type = attributes[:'auth_type']
91
+ end
92
+
93
+ if attributes.key?(:'bucket')
94
+ self.bucket = attributes[:'bucket']
95
+ end
96
+
97
+ if attributes.key?(:'prefix')
98
+ self.prefix = attributes[:'prefix']
99
+ end
100
+
101
+ if attributes.key?(:'region')
102
+ self.region = attributes[:'region']
103
+ end
104
+ end
105
+
106
+ # Show invalid properties with the reasons. Usually used together with valid?
107
+ # @return Array for valid properties with the reasons
108
+ def list_invalid_properties
109
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
110
+ invalid_properties = Array.new
111
+ invalid_properties
112
+ end
113
+
114
+ # Check to see if the all the properties in the model are valid
115
+ # @return true if the model is valid
116
+ def valid?
117
+ warn '[DEPRECATED] the `valid?` method is obsolete'
118
+ true
119
+ end
120
+
121
+ # Checks equality by comparing each attribute.
122
+ # @param [Object] Object to be compared
123
+ def ==(o)
124
+ return true if self.equal?(o)
125
+ self.class == o.class &&
126
+ access_key_id == o.access_key_id &&
127
+ access_key_secret == o.access_key_secret &&
128
+ auth_type == o.auth_type &&
129
+ bucket == o.bucket &&
130
+ prefix == o.prefix &&
131
+ region == o.region
132
+ end
133
+
134
+ # @see the `==` method
135
+ # @param [Object] Object to be compared
136
+ def eql?(o)
137
+ self == o
138
+ end
139
+
140
+ # Calculates hash code according to all attributes.
141
+ # @return [Integer] Hash code
142
+ def hash
143
+ [access_key_id, access_key_secret, auth_type, bucket, prefix, region].hash
144
+ end
145
+
146
+ # Builds the object from hash
147
+ # @param [Hash] attributes Model attributes in the form of hash
148
+ # @return [Object] Returns the model itself
149
+ def self.build_from_hash(attributes)
150
+ return nil unless attributes.is_a?(Hash)
151
+ attributes = attributes.transform_keys(&:to_sym)
152
+ transformed_hash = {}
153
+ openapi_types.each_pair do |key, type|
154
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
155
+ transformed_hash["#{key}"] = nil
156
+ elsif type =~ /\AArray<(.*)>/i
157
+ # check to ensure the input is an array given that the attribute
158
+ # is documented as an array but the input is not
159
+ if attributes[attribute_map[key]].is_a?(Array)
160
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
161
+ end
162
+ elsif !attributes[attribute_map[key]].nil?
163
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
164
+ end
165
+ end
166
+ new(transformed_hash)
167
+ end
168
+
169
+ # Deserializes the data based on type
170
+ # @param string type Data type
171
+ # @param string value Value to be deserialized
172
+ # @return [Object] Deserialized data
173
+ def self._deserialize(type, value)
174
+ case type.to_sym
175
+ when :Time
176
+ Time.parse(value)
177
+ when :Date
178
+ Date.parse(value)
179
+ when :String
180
+ value.to_s
181
+ when :Integer
182
+ value.to_i
183
+ when :Float
184
+ value.to_f
185
+ when :Boolean
186
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
187
+ true
188
+ else
189
+ false
190
+ end
191
+ when :Object
192
+ # generic object (usually a Hash), return directly
193
+ value
194
+ when /\AArray<(?<inner_type>.+)>\z/
195
+ inner_type = Regexp.last_match[:inner_type]
196
+ value.map { |v| _deserialize(inner_type, v) }
197
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
198
+ k_type = Regexp.last_match[:k_type]
199
+ v_type = Regexp.last_match[:v_type]
200
+ {}.tap do |hash|
201
+ value.each do |k, v|
202
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
203
+ end
204
+ end
205
+ else # model
206
+ # models (e.g. Pet) or oneOf
207
+ klass = Akeyless.const_get(type)
208
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
209
+ end
210
+ end
211
+
212
+ # Returns the string representation of the object
213
+ # @return [String] String presentation of the object
214
+ def to_s
215
+ to_hash.to_s
216
+ end
217
+
218
+ # to_body is an alias to to_hash (backward compatibility)
219
+ # @return [Hash] Returns the object in the form of hash
220
+ def to_body
221
+ to_hash
222
+ end
223
+
224
+ # Returns the object in the form of hash
225
+ # @return [Hash] Returns the object in the form of hash
226
+ def to_hash
227
+ hash = {}
228
+ self.class.attribute_map.each_pair do |attr, param|
229
+ value = self.send(attr)
230
+ if value.nil?
231
+ is_nullable = self.class.openapi_nullable.include?(attr)
232
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
233
+ end
234
+
235
+ hash[param] = _to_hash(value)
236
+ end
237
+ hash
238
+ end
239
+
240
+ # Outputs non-array value in the form of hash
241
+ # For object, use to_hash. Otherwise, just return the value
242
+ # @param [Object] value Any valid value
243
+ # @return [Hash] Returns the value in the form of hash
244
+ def _to_hash(value)
245
+ if value.is_a?(Array)
246
+ value.compact.map { |v| _to_hash(v) }
247
+ elsif value.is_a?(Hash)
248
+ {}.tap do |hash|
249
+ value.each { |k, v| hash[k] = _to_hash(v) }
250
+ end
251
+ elsif value.respond_to? :to_hash
252
+ value.to_hash
253
+ else
254
+ value
255
+ end
256
+ end
257
+
258
+ end
259
+
260
+ end
@@ -0,0 +1,260 @@
1
+ =begin
2
+ #Akeyless API
3
+
4
+ #The purpose of this application is to provide access to Akeyless API.
5
+
6
+ The version of the OpenAPI document: 2.0
7
+ Contact: support@akeyless.io
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.9.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Akeyless
17
+ class AzureStorage
18
+ attr_accessor :auth_type
19
+
20
+ attr_accessor :client_id
21
+
22
+ attr_accessor :client_secret
23
+
24
+ attr_accessor :storage_account
25
+
26
+ attr_accessor :storage_container_name
27
+
28
+ # creds
29
+ attr_accessor :tenant_id
30
+
31
+ # Attribute mapping from ruby-style variable name to JSON key.
32
+ def self.attribute_map
33
+ {
34
+ :'auth_type' => :'auth_type',
35
+ :'client_id' => :'client_id',
36
+ :'client_secret' => :'client_secret',
37
+ :'storage_account' => :'storage_account',
38
+ :'storage_container_name' => :'storage_container_name',
39
+ :'tenant_id' => :'tenant_id'
40
+ }
41
+ end
42
+
43
+ # Returns all the JSON keys this model knows about
44
+ def self.acceptable_attributes
45
+ attribute_map.values
46
+ end
47
+
48
+ # Attribute type mapping.
49
+ def self.openapi_types
50
+ {
51
+ :'auth_type' => :'String',
52
+ :'client_id' => :'String',
53
+ :'client_secret' => :'String',
54
+ :'storage_account' => :'String',
55
+ :'storage_container_name' => :'String',
56
+ :'tenant_id' => :'String'
57
+ }
58
+ end
59
+
60
+ # List of attributes with nullable: true
61
+ def self.openapi_nullable
62
+ Set.new([
63
+ ])
64
+ end
65
+
66
+ # Initializes the object
67
+ # @param [Hash] attributes Model attributes in the form of hash
68
+ def initialize(attributes = {})
69
+ if (!attributes.is_a?(Hash))
70
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::AzureStorage` initialize method"
71
+ end
72
+
73
+ # check to see if the attribute exists and convert string to symbol for hash key
74
+ attributes = attributes.each_with_object({}) { |(k, v), h|
75
+ if (!self.class.attribute_map.key?(k.to_sym))
76
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::AzureStorage`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
77
+ end
78
+ h[k.to_sym] = v
79
+ }
80
+
81
+ if attributes.key?(:'auth_type')
82
+ self.auth_type = attributes[:'auth_type']
83
+ end
84
+
85
+ if attributes.key?(:'client_id')
86
+ self.client_id = attributes[:'client_id']
87
+ end
88
+
89
+ if attributes.key?(:'client_secret')
90
+ self.client_secret = attributes[:'client_secret']
91
+ end
92
+
93
+ if attributes.key?(:'storage_account')
94
+ self.storage_account = attributes[:'storage_account']
95
+ end
96
+
97
+ if attributes.key?(:'storage_container_name')
98
+ self.storage_container_name = attributes[:'storage_container_name']
99
+ end
100
+
101
+ if attributes.key?(:'tenant_id')
102
+ self.tenant_id = attributes[:'tenant_id']
103
+ end
104
+ end
105
+
106
+ # Show invalid properties with the reasons. Usually used together with valid?
107
+ # @return Array for valid properties with the reasons
108
+ def list_invalid_properties
109
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
110
+ invalid_properties = Array.new
111
+ invalid_properties
112
+ end
113
+
114
+ # Check to see if the all the properties in the model are valid
115
+ # @return true if the model is valid
116
+ def valid?
117
+ warn '[DEPRECATED] the `valid?` method is obsolete'
118
+ true
119
+ end
120
+
121
+ # Checks equality by comparing each attribute.
122
+ # @param [Object] Object to be compared
123
+ def ==(o)
124
+ return true if self.equal?(o)
125
+ self.class == o.class &&
126
+ auth_type == o.auth_type &&
127
+ client_id == o.client_id &&
128
+ client_secret == o.client_secret &&
129
+ storage_account == o.storage_account &&
130
+ storage_container_name == o.storage_container_name &&
131
+ tenant_id == o.tenant_id
132
+ end
133
+
134
+ # @see the `==` method
135
+ # @param [Object] Object to be compared
136
+ def eql?(o)
137
+ self == o
138
+ end
139
+
140
+ # Calculates hash code according to all attributes.
141
+ # @return [Integer] Hash code
142
+ def hash
143
+ [auth_type, client_id, client_secret, storage_account, storage_container_name, tenant_id].hash
144
+ end
145
+
146
+ # Builds the object from hash
147
+ # @param [Hash] attributes Model attributes in the form of hash
148
+ # @return [Object] Returns the model itself
149
+ def self.build_from_hash(attributes)
150
+ return nil unless attributes.is_a?(Hash)
151
+ attributes = attributes.transform_keys(&:to_sym)
152
+ transformed_hash = {}
153
+ openapi_types.each_pair do |key, type|
154
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
155
+ transformed_hash["#{key}"] = nil
156
+ elsif type =~ /\AArray<(.*)>/i
157
+ # check to ensure the input is an array given that the attribute
158
+ # is documented as an array but the input is not
159
+ if attributes[attribute_map[key]].is_a?(Array)
160
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
161
+ end
162
+ elsif !attributes[attribute_map[key]].nil?
163
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
164
+ end
165
+ end
166
+ new(transformed_hash)
167
+ end
168
+
169
+ # Deserializes the data based on type
170
+ # @param string type Data type
171
+ # @param string value Value to be deserialized
172
+ # @return [Object] Deserialized data
173
+ def self._deserialize(type, value)
174
+ case type.to_sym
175
+ when :Time
176
+ Time.parse(value)
177
+ when :Date
178
+ Date.parse(value)
179
+ when :String
180
+ value.to_s
181
+ when :Integer
182
+ value.to_i
183
+ when :Float
184
+ value.to_f
185
+ when :Boolean
186
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
187
+ true
188
+ else
189
+ false
190
+ end
191
+ when :Object
192
+ # generic object (usually a Hash), return directly
193
+ value
194
+ when /\AArray<(?<inner_type>.+)>\z/
195
+ inner_type = Regexp.last_match[:inner_type]
196
+ value.map { |v| _deserialize(inner_type, v) }
197
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
198
+ k_type = Regexp.last_match[:k_type]
199
+ v_type = Regexp.last_match[:v_type]
200
+ {}.tap do |hash|
201
+ value.each do |k, v|
202
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
203
+ end
204
+ end
205
+ else # model
206
+ # models (e.g. Pet) or oneOf
207
+ klass = Akeyless.const_get(type)
208
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
209
+ end
210
+ end
211
+
212
+ # Returns the string representation of the object
213
+ # @return [String] String presentation of the object
214
+ def to_s
215
+ to_hash.to_s
216
+ end
217
+
218
+ # to_body is an alias to to_hash (backward compatibility)
219
+ # @return [Hash] Returns the object in the form of hash
220
+ def to_body
221
+ to_hash
222
+ end
223
+
224
+ # Returns the object in the form of hash
225
+ # @return [Hash] Returns the object in the form of hash
226
+ def to_hash
227
+ hash = {}
228
+ self.class.attribute_map.each_pair do |attr, param|
229
+ value = self.send(attr)
230
+ if value.nil?
231
+ is_nullable = self.class.openapi_nullable.include?(attr)
232
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
233
+ end
234
+
235
+ hash[param] = _to_hash(value)
236
+ end
237
+ hash
238
+ end
239
+
240
+ # Outputs non-array value in the form of hash
241
+ # For object, use to_hash. Otherwise, just return the value
242
+ # @param [Object] value Any valid value
243
+ # @return [Hash] Returns the value in the form of hash
244
+ def _to_hash(value)
245
+ if value.is_a?(Array)
246
+ value.compact.map { |v| _to_hash(v) }
247
+ elsif value.is_a?(Hash)
248
+ {}.tap do |hash|
249
+ value.each { |k, v| hash[k] = _to_hash(v) }
250
+ end
251
+ elsif value.respond_to? :to_hash
252
+ value.to_hash
253
+ else
254
+ value
255
+ end
256
+ end
257
+
258
+ end
259
+
260
+ end