akeyless 4.2.3 → 4.2.5

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 (291) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +54 -2
  3. data/docs/AccountGeneralSettings.md +2 -0
  4. data/docs/AcmeAccount.md +22 -0
  5. data/docs/AuthMethodRoleAssociation.md +2 -0
  6. data/docs/AwsStorage.md +28 -0
  7. data/docs/AzureStorage.md +28 -0
  8. data/docs/BastionConfigReplyObj.md +28 -0
  9. data/docs/BastionGlobalConf.md +24 -0
  10. data/docs/ChangeAdminAccountPassword.md +26 -0
  11. data/docs/Configure.md +8 -0
  12. data/docs/Connect.md +2 -2
  13. data/docs/CreateClassicKey.md +8 -0
  14. data/docs/CreateDFCKey.md +8 -0
  15. data/docs/CreatePKICertIssuer.md +5 -1
  16. data/docs/DeactivateAcmeAccount.md +28 -0
  17. data/docs/DynamicSecretUpdateArtifactory.md +1 -1
  18. data/docs/DynamicSecretUpdateAws.md +1 -1
  19. data/docs/DynamicSecretUpdateAzure.md +1 -1
  20. data/docs/DynamicSecretUpdateCassandra.md +1 -1
  21. data/docs/DynamicSecretUpdateChef.md +1 -1
  22. data/docs/DynamicSecretUpdateCustom.md +1 -1
  23. data/docs/DynamicSecretUpdateDockerhub.md +1 -1
  24. data/docs/DynamicSecretUpdateEks.md +1 -1
  25. data/docs/DynamicSecretUpdateGcp.md +1 -1
  26. data/docs/DynamicSecretUpdateGithub.md +1 -1
  27. data/docs/DynamicSecretUpdateGitlab.md +1 -1
  28. data/docs/DynamicSecretUpdateGke.md +1 -1
  29. data/docs/DynamicSecretUpdateGoogleWorkspace.md +1 -1
  30. data/docs/DynamicSecretUpdateHanaDb.md +1 -1
  31. data/docs/DynamicSecretUpdateK8s.md +1 -1
  32. data/docs/DynamicSecretUpdateLdap.md +1 -1
  33. data/docs/DynamicSecretUpdateMongoDb.md +1 -1
  34. data/docs/DynamicSecretUpdateMsSql.md +1 -1
  35. data/docs/DynamicSecretUpdateMySql.md +1 -1
  36. data/docs/DynamicSecretUpdateOracleDb.md +1 -1
  37. data/docs/DynamicSecretUpdatePing.md +1 -1
  38. data/docs/DynamicSecretUpdateVenafi.md +1 -1
  39. data/docs/EmailPassAccessRules.md +3 -1
  40. data/docs/EventForwarderCreateEmail.md +2 -2
  41. data/docs/EventForwarderCreateServiceNow.md +1 -1
  42. data/docs/EventForwarderCreateSlack.md +1 -1
  43. data/docs/EventForwarderCreateWebhook.md +1 -1
  44. data/docs/EventForwarderUpdateEmail.md +2 -2
  45. data/docs/EventForwarderUpdateServiceNow.md +1 -1
  46. data/docs/EventForwarderUpdateSlack.md +1 -1
  47. data/docs/EventForwarderUpdateWebhook.md +1 -1
  48. data/docs/GatewayGetRemoteAccess.md +22 -0
  49. data/docs/GatewayUpdateItem.md +2 -0
  50. data/docs/GatewayUpdateRemoteAccess.md +36 -0
  51. data/docs/GatewayUpdateRemoteAccessRdpRecordings.md +46 -0
  52. data/docs/GenerateAcmeEab.md +24 -0
  53. data/docs/GenerateAcmeEabOutput.md +22 -0
  54. data/docs/GetGroupOutput.md +2 -0
  55. data/docs/GetKubeExecCreds.md +1 -1
  56. data/docs/GetPKICertificate.md +1 -1
  57. data/docs/Group.md +2 -0
  58. data/docs/GwUpdateRemoteAccessSessionLogsAwsS3.md +42 -0
  59. data/docs/GwUpdateRemoteAccessSessionLogsAzureAnalytics.md +32 -0
  60. data/docs/GwUpdateRemoteAccessSessionLogsDatadog.md +38 -0
  61. data/docs/GwUpdateRemoteAccessSessionLogsElasticsearch.md +48 -0
  62. data/docs/GwUpdateRemoteAccessSessionLogsGoogleChronicle.md +36 -0
  63. data/docs/GwUpdateRemoteAccessSessionLogsLogstash.md +36 -0
  64. data/docs/GwUpdateRemoteAccessSessionLogsLogzIo.md +32 -0
  65. data/docs/GwUpdateRemoteAccessSessionLogsSplunk.md +42 -0
  66. data/docs/GwUpdateRemoteAccessSessionLogsStdout.md +28 -0
  67. data/docs/GwUpdateRemoteAccessSessionLogsSumologic.md +34 -0
  68. data/docs/GwUpdateRemoteAccessSessionLogsSyslog.md +40 -0
  69. data/docs/ItemGeneralInfo.md +4 -0
  70. data/docs/ListAcmeAccounts.md +24 -0
  71. data/docs/ListAcmeAccountsOutput.md +18 -0
  72. data/docs/NextAutoRotationEvent.md +18 -0
  73. data/docs/PKICertificateIssueDetails.md +4 -0
  74. data/docs/PasswordExpirationInfo.md +24 -0
  75. data/docs/ResetAccessKey.md +24 -0
  76. data/docs/ResetAuthMethodAccessKeyOutput.md +18 -0
  77. data/docs/RoleAssociationDetails.md +2 -0
  78. data/docs/RoleAuthMethodAssociation.md +2 -0
  79. data/docs/RollbackSecret.md +2 -0
  80. data/docs/RotatedSecretCreateAws.md +2 -0
  81. data/docs/RotatedSecretCreateAzure.md +2 -0
  82. data/docs/RotatedSecretCreateCassandra.md +2 -0
  83. data/docs/RotatedSecretCreateCustom.md +2 -0
  84. data/docs/RotatedSecretCreateDockerhub.md +2 -0
  85. data/docs/RotatedSecretCreateGcp.md +2 -0
  86. data/docs/RotatedSecretCreateHanadb.md +2 -0
  87. data/docs/RotatedSecretCreateLdap.md +2 -0
  88. data/docs/RotatedSecretCreateMongodb.md +2 -0
  89. data/docs/RotatedSecretCreateMssql.md +2 -0
  90. data/docs/RotatedSecretCreateMysql.md +2 -0
  91. data/docs/RotatedSecretCreateOracledb.md +2 -0
  92. data/docs/RotatedSecretCreatePostgresql.md +2 -0
  93. data/docs/RotatedSecretCreateRedis.md +2 -0
  94. data/docs/RotatedSecretCreateRedshift.md +2 -0
  95. data/docs/RotatedSecretCreateSnowflake.md +2 -0
  96. data/docs/RotatedSecretCreateSsh.md +2 -0
  97. data/docs/RotatedSecretCreateWindows.md +2 -0
  98. data/docs/RotatedSecretUpdateAws.md +2 -0
  99. data/docs/RotatedSecretUpdateAzure.md +2 -0
  100. data/docs/RotatedSecretUpdateCassandra.md +2 -0
  101. data/docs/RotatedSecretUpdateCustom.md +2 -0
  102. data/docs/RotatedSecretUpdateDockerhub.md +2 -0
  103. data/docs/RotatedSecretUpdateGcp.md +2 -0
  104. data/docs/RotatedSecretUpdateHanadb.md +2 -0
  105. data/docs/RotatedSecretUpdateLdap.md +2 -0
  106. data/docs/RotatedSecretUpdateMongodb.md +2 -0
  107. data/docs/RotatedSecretUpdateMssql.md +2 -0
  108. data/docs/RotatedSecretUpdateMysql.md +2 -0
  109. data/docs/RotatedSecretUpdateOracledb.md +2 -0
  110. data/docs/RotatedSecretUpdatePostgresql.md +2 -0
  111. data/docs/RotatedSecretUpdateRedis.md +2 -0
  112. data/docs/RotatedSecretUpdateRedshift.md +2 -0
  113. data/docs/RotatedSecretUpdateSnowflake.md +2 -0
  114. data/docs/RotatedSecretUpdateSsh.md +2 -0
  115. data/docs/RotatedSecretUpdateWindows.md +2 -0
  116. data/docs/SshBastionConf.md +24 -0
  117. data/docs/SshBastionSessionTermination.md +26 -0
  118. data/docs/UpdateAccountSettings.md +6 -0
  119. data/docs/UpdateClassicKeyCertificate.md +2 -0
  120. data/docs/UpdateItem.md +4 -0
  121. data/docs/UpdatePKICertIssuer.md +5 -1
  122. data/docs/UpdateRotationSettings.md +2 -0
  123. data/docs/UpdateTarget.md +1 -1
  124. data/docs/UploadRSA.md +2 -0
  125. data/docs/V2Api.md +1356 -225
  126. data/docs/WebBastionConf.md +20 -0
  127. data/docs/WebBastionGuacamole.md +18 -0
  128. data/docs/WebBastionRdpRecord.md +22 -0
  129. data/lib/akeyless/api/v2_api.rb +1360 -219
  130. data/lib/akeyless/models/account_general_settings.rb +10 -1
  131. data/lib/akeyless/models/acme_account.rb +234 -0
  132. data/lib/akeyless/models/auth_method_role_association.rb +10 -1
  133. data/lib/akeyless/models/aws_storage.rb +260 -0
  134. data/lib/akeyless/models/azure_storage.rb +260 -0
  135. data/lib/akeyless/models/bastion_config_reply_obj.rb +259 -0
  136. data/lib/akeyless/models/bastion_global_conf.rb +243 -0
  137. data/lib/akeyless/models/change_admin_account_password.rb +271 -0
  138. data/lib/akeyless/models/configure.rb +41 -1
  139. data/lib/akeyless/models/connect.rb +11 -11
  140. data/lib/akeyless/models/create_classic_key.rb +45 -1
  141. data/lib/akeyless/models/create_dfc_key.rb +45 -1
  142. data/lib/akeyless/models/create_pki_cert_issuer.rb +24 -2
  143. data/lib/akeyless/models/deactivate_acme_account.rb +282 -0
  144. data/lib/akeyless/models/dynamic_secret_update_artifactory.rb +1 -1
  145. data/lib/akeyless/models/dynamic_secret_update_aws.rb +1 -1
  146. data/lib/akeyless/models/dynamic_secret_update_azure.rb +1 -1
  147. data/lib/akeyless/models/dynamic_secret_update_cassandra.rb +1 -1
  148. data/lib/akeyless/models/dynamic_secret_update_chef.rb +1 -1
  149. data/lib/akeyless/models/dynamic_secret_update_custom.rb +1 -1
  150. data/lib/akeyless/models/dynamic_secret_update_dockerhub.rb +1 -1
  151. data/lib/akeyless/models/dynamic_secret_update_eks.rb +1 -1
  152. data/lib/akeyless/models/dynamic_secret_update_gcp.rb +1 -1
  153. data/lib/akeyless/models/dynamic_secret_update_github.rb +1 -1
  154. data/lib/akeyless/models/dynamic_secret_update_gitlab.rb +1 -1
  155. data/lib/akeyless/models/dynamic_secret_update_gke.rb +1 -1
  156. data/lib/akeyless/models/dynamic_secret_update_google_workspace.rb +1 -1
  157. data/lib/akeyless/models/dynamic_secret_update_hana_db.rb +1 -1
  158. data/lib/akeyless/models/dynamic_secret_update_k8s.rb +1 -1
  159. data/lib/akeyless/models/dynamic_secret_update_ldap.rb +1 -1
  160. data/lib/akeyless/models/dynamic_secret_update_mongo_db.rb +1 -1
  161. data/lib/akeyless/models/dynamic_secret_update_ms_sql.rb +1 -1
  162. data/lib/akeyless/models/dynamic_secret_update_my_sql.rb +1 -1
  163. data/lib/akeyless/models/dynamic_secret_update_oracle_db.rb +1 -1
  164. data/lib/akeyless/models/dynamic_secret_update_ping.rb +1 -1
  165. data/lib/akeyless/models/dynamic_secret_update_venafi.rb +1 -1
  166. data/lib/akeyless/models/email_pass_access_rules.rb +14 -4
  167. data/lib/akeyless/models/event_forwarder_create_email.rb +2 -2
  168. data/lib/akeyless/models/event_forwarder_create_service_now.rb +1 -1
  169. data/lib/akeyless/models/event_forwarder_create_slack.rb +1 -1
  170. data/lib/akeyless/models/event_forwarder_create_webhook.rb +1 -1
  171. data/lib/akeyless/models/event_forwarder_update_email.rb +2 -2
  172. data/lib/akeyless/models/event_forwarder_update_service_now.rb +1 -1
  173. data/lib/akeyless/models/event_forwarder_update_slack.rb +1 -1
  174. data/lib/akeyless/models/event_forwarder_update_webhook.rb +1 -1
  175. data/lib/akeyless/models/gateway_get_remote_access.rb +238 -0
  176. data/lib/akeyless/models/gateway_update_item.rb +13 -1
  177. data/lib/akeyless/models/gateway_update_remote_access.rb +318 -0
  178. data/lib/akeyless/models/gateway_update_remote_access_rdp_recordings.rb +358 -0
  179. data/lib/akeyless/models/generate_acme_eab.rb +254 -0
  180. data/lib/akeyless/models/generate_acme_eab_output.rb +232 -0
  181. data/lib/akeyless/models/get_group_output.rb +10 -1
  182. data/lib/akeyless/models/get_kube_exec_creds.rb +1 -1
  183. data/lib/akeyless/models/get_pki_certificate.rb +1 -1
  184. data/lib/akeyless/models/group.rb +10 -1
  185. data/lib/akeyless/models/gw_update_remote_access_session_logs_aws_s3.rb +346 -0
  186. data/lib/akeyless/models/gw_update_remote_access_session_logs_azure_analytics.rb +294 -0
  187. data/lib/akeyless/models/gw_update_remote_access_session_logs_datadog.rb +330 -0
  188. data/lib/akeyless/models/gw_update_remote_access_session_logs_elasticsearch.rb +376 -0
  189. data/lib/akeyless/models/gw_update_remote_access_session_logs_google_chronicle.rb +314 -0
  190. data/lib/akeyless/models/gw_update_remote_access_session_logs_logstash.rb +316 -0
  191. data/lib/akeyless/models/gw_update_remote_access_session_logs_logz_io.rb +294 -0
  192. data/lib/akeyless/models/gw_update_remote_access_session_logs_splunk.rb +350 -0
  193. data/lib/akeyless/models/gw_update_remote_access_session_logs_stdout.rb +274 -0
  194. data/lib/akeyless/models/gw_update_remote_access_session_logs_sumologic.rb +308 -0
  195. data/lib/akeyless/models/gw_update_remote_access_session_logs_syslog.rb +342 -0
  196. data/lib/akeyless/models/item_general_info.rb +23 -1
  197. data/lib/akeyless/models/list_acme_accounts.rb +255 -0
  198. data/lib/akeyless/models/list_acme_accounts_output.rb +216 -0
  199. data/lib/akeyless/models/next_auto_rotation_event.rb +214 -0
  200. data/lib/akeyless/models/password_expiration_info.rb +242 -0
  201. data/lib/akeyless/models/pki_certificate_issue_details.rb +19 -1
  202. data/lib/akeyless/models/reset_access_key.rb +255 -0
  203. data/lib/akeyless/models/reset_auth_method_access_key_output.rb +215 -0
  204. data/lib/akeyless/models/role_association_details.rb +10 -1
  205. data/lib/akeyless/models/role_auth_method_association.rb +10 -1
  206. data/lib/akeyless/models/rollback_secret.rb +13 -1
  207. data/lib/akeyless/models/rotated_secret_create_aws.rb +13 -1
  208. data/lib/akeyless/models/rotated_secret_create_azure.rb +13 -1
  209. data/lib/akeyless/models/rotated_secret_create_cassandra.rb +13 -1
  210. data/lib/akeyless/models/rotated_secret_create_custom.rb +13 -1
  211. data/lib/akeyless/models/rotated_secret_create_dockerhub.rb +13 -1
  212. data/lib/akeyless/models/rotated_secret_create_gcp.rb +13 -1
  213. data/lib/akeyless/models/rotated_secret_create_hanadb.rb +13 -1
  214. data/lib/akeyless/models/rotated_secret_create_ldap.rb +13 -1
  215. data/lib/akeyless/models/rotated_secret_create_mongodb.rb +13 -1
  216. data/lib/akeyless/models/rotated_secret_create_mssql.rb +13 -1
  217. data/lib/akeyless/models/rotated_secret_create_mysql.rb +13 -1
  218. data/lib/akeyless/models/rotated_secret_create_oracledb.rb +13 -1
  219. data/lib/akeyless/models/rotated_secret_create_postgresql.rb +13 -1
  220. data/lib/akeyless/models/rotated_secret_create_redis.rb +13 -1
  221. data/lib/akeyless/models/rotated_secret_create_redshift.rb +13 -1
  222. data/lib/akeyless/models/rotated_secret_create_snowflake.rb +13 -1
  223. data/lib/akeyless/models/rotated_secret_create_ssh.rb +13 -1
  224. data/lib/akeyless/models/rotated_secret_create_windows.rb +13 -1
  225. data/lib/akeyless/models/rotated_secret_update_aws.rb +13 -1
  226. data/lib/akeyless/models/rotated_secret_update_azure.rb +13 -1
  227. data/lib/akeyless/models/rotated_secret_update_cassandra.rb +13 -1
  228. data/lib/akeyless/models/rotated_secret_update_custom.rb +13 -1
  229. data/lib/akeyless/models/rotated_secret_update_dockerhub.rb +13 -1
  230. data/lib/akeyless/models/rotated_secret_update_gcp.rb +13 -1
  231. data/lib/akeyless/models/rotated_secret_update_hanadb.rb +13 -1
  232. data/lib/akeyless/models/rotated_secret_update_ldap.rb +13 -1
  233. data/lib/akeyless/models/rotated_secret_update_mongodb.rb +13 -1
  234. data/lib/akeyless/models/rotated_secret_update_mssql.rb +13 -1
  235. data/lib/akeyless/models/rotated_secret_update_mysql.rb +13 -1
  236. data/lib/akeyless/models/rotated_secret_update_oracledb.rb +13 -1
  237. data/lib/akeyless/models/rotated_secret_update_postgresql.rb +13 -1
  238. data/lib/akeyless/models/rotated_secret_update_redis.rb +13 -1
  239. data/lib/akeyless/models/rotated_secret_update_redshift.rb +13 -1
  240. data/lib/akeyless/models/rotated_secret_update_snowflake.rb +13 -1
  241. data/lib/akeyless/models/rotated_secret_update_ssh.rb +13 -1
  242. data/lib/akeyless/models/rotated_secret_update_windows.rb +13 -1
  243. data/lib/akeyless/models/ssh_bastion_conf.rb +241 -0
  244. data/lib/akeyless/models/ssh_bastion_session_termination.rb +250 -0
  245. data/lib/akeyless/models/update_account_settings.rb +31 -1
  246. data/lib/akeyless/models/update_classic_key_certificate.rb +10 -1
  247. data/lib/akeyless/models/update_item.rb +22 -1
  248. data/lib/akeyless/models/update_pki_cert_issuer.rb +24 -2
  249. data/lib/akeyless/models/update_rotation_settings.rb +13 -1
  250. data/lib/akeyless/models/update_target.rb +1 -1
  251. data/lib/akeyless/models/upload_rsa.rb +13 -1
  252. data/lib/akeyless/models/web_bastion_conf.rb +223 -0
  253. data/lib/akeyless/models/web_bastion_guacamole.rb +214 -0
  254. data/lib/akeyless/models/web_bastion_rdp_record.rb +232 -0
  255. data/lib/akeyless/version.rb +1 -1
  256. data/lib/akeyless.rb +34 -0
  257. data/spec/models/acme_account_spec.rb +48 -0
  258. data/spec/models/aws_storage_spec.rb +66 -0
  259. data/spec/models/azure_storage_spec.rb +66 -0
  260. data/spec/models/bastion_config_reply_obj_spec.rb +66 -0
  261. data/spec/models/bastion_global_conf_spec.rb +54 -0
  262. data/spec/models/change_admin_account_password_spec.rb +60 -0
  263. data/spec/models/deactivate_acme_account_spec.rb +66 -0
  264. data/spec/models/gateway_get_remote_access_spec.rb +48 -0
  265. data/spec/models/gateway_update_remote_access_rdp_recordings_spec.rb +120 -0
  266. data/spec/models/gateway_update_remote_access_spec.rb +90 -0
  267. data/spec/models/generate_acme_eab_output_spec.rb +48 -0
  268. data/spec/models/generate_acme_eab_spec.rb +54 -0
  269. data/spec/models/gw_update_remote_access_session_logs_aws_s3_spec.rb +108 -0
  270. data/spec/models/gw_update_remote_access_session_logs_azure_analytics_spec.rb +78 -0
  271. data/spec/models/gw_update_remote_access_session_logs_datadog_spec.rb +96 -0
  272. data/spec/models/gw_update_remote_access_session_logs_elasticsearch_spec.rb +126 -0
  273. data/spec/models/gw_update_remote_access_session_logs_google_chronicle_spec.rb +90 -0
  274. data/spec/models/gw_update_remote_access_session_logs_logstash_spec.rb +90 -0
  275. data/spec/models/gw_update_remote_access_session_logs_logz_io_spec.rb +78 -0
  276. data/spec/models/gw_update_remote_access_session_logs_splunk_spec.rb +108 -0
  277. data/spec/models/gw_update_remote_access_session_logs_stdout_spec.rb +66 -0
  278. data/spec/models/gw_update_remote_access_session_logs_sumologic_spec.rb +84 -0
  279. data/spec/models/gw_update_remote_access_session_logs_syslog_spec.rb +102 -0
  280. data/spec/models/list_acme_accounts_output_spec.rb +36 -0
  281. data/spec/models/list_acme_accounts_spec.rb +54 -0
  282. data/spec/models/next_auto_rotation_event_spec.rb +36 -0
  283. data/spec/models/password_expiration_info_spec.rb +54 -0
  284. data/spec/models/reset_access_key_spec.rb +54 -0
  285. data/spec/models/reset_auth_method_access_key_output_spec.rb +36 -0
  286. data/spec/models/ssh_bastion_conf_spec.rb +54 -0
  287. data/spec/models/ssh_bastion_session_termination_spec.rb +60 -0
  288. data/spec/models/web_bastion_conf_spec.rb +42 -0
  289. data/spec/models/web_bastion_guacamole_spec.rb +36 -0
  290. data/spec/models/web_bastion_rdp_record_spec.rb +48 -0
  291. metadata +1117 -981
@@ -51,6 +51,9 @@ module Akeyless
51
51
  # Enable sharing items [true/false]
52
52
  attr_accessor :enable_item_sharing
53
53
 
54
+ # Enable password expiration policy [true/false]
55
+ attr_accessor :enable_password_expiration
56
+
54
57
  # If set to true, new version will be created on update
55
58
  attr_accessor :force_new_versions
56
59
 
@@ -96,6 +99,12 @@ module Akeyless
96
99
  # Max versions
97
100
  attr_accessor :max_versions
98
101
 
102
+ # Specifies the number of days that a password is valid before it must be changed. A default value of 90 days is used.
103
+ attr_accessor :password_expiration_days
104
+
105
+ # Specifies the number of days before a user receives notification that their password will expire. A default value of 14 days is used.
106
+ attr_accessor :password_expiration_notification_days
107
+
99
108
  # Password length between 5 - to 50 characters
100
109
  attr_accessor :password_length
101
110
 
@@ -147,6 +156,7 @@ module Akeyless
147
156
  :'dynamic_secret_max_ttl' => :'dynamic-secret-max-ttl',
148
157
  :'dynamic_secret_max_ttl_enable' => :'dynamic-secret-max-ttl-enable',
149
158
  :'enable_item_sharing' => :'enable-item-sharing',
159
+ :'enable_password_expiration' => :'enable-password-expiration',
150
160
  :'force_new_versions' => :'force-new-versions',
151
161
  :'gw_bound_ips' => :'gw-bound-ips',
152
162
  :'invalid_characters' => :'invalid-characters',
@@ -162,6 +172,8 @@ module Akeyless
162
172
  :'max_rotation_interval' => :'max-rotation-interval',
163
173
  :'max_rotation_interval_enable' => :'max-rotation-interval-enable',
164
174
  :'max_versions' => :'max-versions',
175
+ :'password_expiration_days' => :'password-expiration-days',
176
+ :'password_expiration_notification_days' => :'password-expiration-notification-days',
165
177
  :'password_length' => :'password-length',
166
178
  :'phone' => :'phone',
167
179
  :'postal_code' => :'postal-code',
@@ -197,6 +209,7 @@ module Akeyless
197
209
  :'dynamic_secret_max_ttl' => :'Integer',
198
210
  :'dynamic_secret_max_ttl_enable' => :'String',
199
211
  :'enable_item_sharing' => :'String',
212
+ :'enable_password_expiration' => :'String',
200
213
  :'force_new_versions' => :'String',
201
214
  :'gw_bound_ips' => :'Array<String>',
202
215
  :'invalid_characters' => :'String',
@@ -212,6 +225,8 @@ module Akeyless
212
225
  :'max_rotation_interval' => :'Integer',
213
226
  :'max_rotation_interval_enable' => :'String',
214
227
  :'max_versions' => :'String',
228
+ :'password_expiration_days' => :'String',
229
+ :'password_expiration_notification_days' => :'String',
215
230
  :'password_length' => :'Integer',
216
231
  :'phone' => :'String',
217
232
  :'postal_code' => :'String',
@@ -298,6 +313,10 @@ module Akeyless
298
313
  self.enable_item_sharing = attributes[:'enable_item_sharing']
299
314
  end
300
315
 
316
+ if attributes.key?(:'enable_password_expiration')
317
+ self.enable_password_expiration = attributes[:'enable_password_expiration']
318
+ end
319
+
301
320
  if attributes.key?(:'force_new_versions')
302
321
  self.force_new_versions = attributes[:'force_new_versions']
303
322
  end
@@ -364,6 +383,14 @@ module Akeyless
364
383
  self.max_versions = attributes[:'max_versions']
365
384
  end
366
385
 
386
+ if attributes.key?(:'password_expiration_days')
387
+ self.password_expiration_days = attributes[:'password_expiration_days']
388
+ end
389
+
390
+ if attributes.key?(:'password_expiration_notification_days')
391
+ self.password_expiration_notification_days = attributes[:'password_expiration_notification_days']
392
+ end
393
+
367
394
  if attributes.key?(:'password_length')
368
395
  self.password_length = attributes[:'password_length']
369
396
  end
@@ -445,6 +472,7 @@ module Akeyless
445
472
  dynamic_secret_max_ttl == o.dynamic_secret_max_ttl &&
446
473
  dynamic_secret_max_ttl_enable == o.dynamic_secret_max_ttl_enable &&
447
474
  enable_item_sharing == o.enable_item_sharing &&
475
+ enable_password_expiration == o.enable_password_expiration &&
448
476
  force_new_versions == o.force_new_versions &&
449
477
  gw_bound_ips == o.gw_bound_ips &&
450
478
  invalid_characters == o.invalid_characters &&
@@ -460,6 +488,8 @@ module Akeyless
460
488
  max_rotation_interval == o.max_rotation_interval &&
461
489
  max_rotation_interval_enable == o.max_rotation_interval_enable &&
462
490
  max_versions == o.max_versions &&
491
+ password_expiration_days == o.password_expiration_days &&
492
+ password_expiration_notification_days == o.password_expiration_notification_days &&
463
493
  password_length == o.password_length &&
464
494
  phone == o.phone &&
465
495
  postal_code == o.postal_code &&
@@ -483,7 +513,7 @@ module Akeyless
483
513
  # Calculates hash code according to all attributes.
484
514
  # @return [Integer] Hash code
485
515
  def hash
486
- [address, bound_ips, city, company_name, country, 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_item_sharing, force_new_versions, gw_bound_ips, invalid_characters, item_type, items_deletion_protection, json, jwt_ttl_default, jwt_ttl_max, jwt_ttl_min, lock_bound_ips, lock_default_key, lock_gw_bound_ips, max_rotation_interval, max_rotation_interval_enable, max_versions, password_length, phone, postal_code, token, uid_token, usage_event_enable, usage_event_interval, usage_event_object_type, use_lower_letters, use_numbers, use_special_characters, use_capital_letters].hash
516
+ [address, bound_ips, city, company_name, country, 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_item_sharing, enable_password_expiration, force_new_versions, gw_bound_ips, invalid_characters, item_type, items_deletion_protection, json, jwt_ttl_default, jwt_ttl_max, jwt_ttl_min, 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_lower_letters, use_numbers, use_special_characters, use_capital_letters].hash
487
517
  end
488
518
 
489
519
  # Builds the object from hash
@@ -19,6 +19,8 @@ module Akeyless
19
19
  # PEM Certificate in a Base64 format. Used for updating RSA keys' certificates.
20
20
  attr_accessor :cert_file_data
21
21
 
22
+ attr_accessor :certificate_format
23
+
22
24
  # Set output format to JSON
23
25
  attr_accessor :json
24
26
 
@@ -35,6 +37,7 @@ module Akeyless
35
37
  def self.attribute_map
36
38
  {
37
39
  :'cert_file_data' => :'cert-file-data',
40
+ :'certificate_format' => :'certificate-format',
38
41
  :'json' => :'json',
39
42
  :'name' => :'name',
40
43
  :'token' => :'token',
@@ -51,6 +54,7 @@ module Akeyless
51
54
  def self.openapi_types
52
55
  {
53
56
  :'cert_file_data' => :'String',
57
+ :'certificate_format' => :'String',
54
58
  :'json' => :'Boolean',
55
59
  :'name' => :'String',
56
60
  :'token' => :'String',
@@ -83,6 +87,10 @@ module Akeyless
83
87
  self.cert_file_data = attributes[:'cert_file_data']
84
88
  end
85
89
 
90
+ if attributes.key?(:'certificate_format')
91
+ self.certificate_format = attributes[:'certificate_format']
92
+ end
93
+
86
94
  if attributes.key?(:'json')
87
95
  self.json = attributes[:'json']
88
96
  else
@@ -130,6 +138,7 @@ module Akeyless
130
138
  return true if self.equal?(o)
131
139
  self.class == o.class &&
132
140
  cert_file_data == o.cert_file_data &&
141
+ certificate_format == o.certificate_format &&
133
142
  json == o.json &&
134
143
  name == o.name &&
135
144
  token == o.token &&
@@ -145,7 +154,7 @@ module Akeyless
145
154
  # Calculates hash code according to all attributes.
146
155
  # @return [Integer] Hash code
147
156
  def hash
148
- [cert_file_data, json, name, token, uid_token].hash
157
+ [cert_file_data, certificate_format, json, name, token, uid_token].hash
149
158
  end
150
159
 
151
160
  # Builds the object from hash
@@ -26,6 +26,8 @@ module Akeyless
26
26
  # PEM Certificate in a Base64 format. Used for updating RSA keys' certificates.
27
27
  attr_accessor :cert_file_data
28
28
 
29
+ attr_accessor :certificate_format
30
+
29
31
  # Trigger an event when a secret value changed [true/false] (Relevant only for Static Secret)
30
32
  attr_accessor :change_event
31
33
 
@@ -35,6 +37,9 @@ module Akeyless
35
37
  # Description of the object
36
38
  attr_accessor :description
37
39
 
40
+ # How many days before the expiration of the certificate would you like to be notified.
41
+ attr_accessor :expiration_event_in
42
+
38
43
  # Host provider type [explicit/target], Default Host provider is explicit, Relevant only for Secure Remote Access of ssh cert issuer, ldap rotated secret and ldap dynamic secret
39
44
  attr_accessor :host_provider
40
45
 
@@ -147,9 +152,11 @@ module Akeyless
147
152
  :'accessibility' => :'accessibility',
148
153
  :'add_tag' => :'add-tag',
149
154
  :'cert_file_data' => :'cert-file-data',
155
+ :'certificate_format' => :'certificate-format',
150
156
  :'change_event' => :'change-event',
151
157
  :'delete_protection' => :'delete_protection',
152
158
  :'description' => :'description',
159
+ :'expiration_event_in' => :'expiration-event-in',
153
160
  :'host_provider' => :'host-provider',
154
161
  :'json' => :'json',
155
162
  :'max_versions' => :'max-versions',
@@ -200,9 +207,11 @@ module Akeyless
200
207
  :'accessibility' => :'String',
201
208
  :'add_tag' => :'Array<String>',
202
209
  :'cert_file_data' => :'String',
210
+ :'certificate_format' => :'String',
203
211
  :'change_event' => :'String',
204
212
  :'delete_protection' => :'String',
205
213
  :'description' => :'String',
214
+ :'expiration_event_in' => :'Array<String>',
206
215
  :'host_provider' => :'String',
207
216
  :'json' => :'Boolean',
208
217
  :'max_versions' => :'String',
@@ -282,6 +291,10 @@ module Akeyless
282
291
  self.cert_file_data = attributes[:'cert_file_data']
283
292
  end
284
293
 
294
+ if attributes.key?(:'certificate_format')
295
+ self.certificate_format = attributes[:'certificate_format']
296
+ end
297
+
285
298
  if attributes.key?(:'change_event')
286
299
  self.change_event = attributes[:'change_event']
287
300
  end
@@ -296,6 +309,12 @@ module Akeyless
296
309
  self.description = 'default_metadata'
297
310
  end
298
311
 
312
+ if attributes.key?(:'expiration_event_in')
313
+ if (value = attributes[:'expiration_event_in']).is_a?(Array)
314
+ self.expiration_event_in = value
315
+ end
316
+ end
317
+
299
318
  if attributes.key?(:'host_provider')
300
319
  self.host_provider = attributes[:'host_provider']
301
320
  end
@@ -486,9 +505,11 @@ module Akeyless
486
505
  accessibility == o.accessibility &&
487
506
  add_tag == o.add_tag &&
488
507
  cert_file_data == o.cert_file_data &&
508
+ certificate_format == o.certificate_format &&
489
509
  change_event == o.change_event &&
490
510
  delete_protection == o.delete_protection &&
491
511
  description == o.description &&
512
+ expiration_event_in == o.expiration_event_in &&
492
513
  host_provider == o.host_provider &&
493
514
  json == o.json &&
494
515
  max_versions == o.max_versions &&
@@ -535,7 +556,7 @@ module Akeyless
535
556
  # Calculates hash code according to all attributes.
536
557
  # @return [Integer] Hash code
537
558
  def hash
538
- [provider_type, accessibility, add_tag, cert_file_data, change_event, delete_protection, description, host_provider, json, max_versions, name, new_metadata, new_name, rm_tag, rotate_after_disconnect, secure_access_add_host, secure_access_allow_external_user, secure_access_allow_port_forwading, secure_access_aws_account_id, secure_access_aws_native_cli, secure_access_aws_region, secure_access_bastion_api, secure_access_bastion_issuer, secure_access_bastion_ssh, secure_access_cluster_endpoint, secure_access_dashboard_url, secure_access_db_name, secure_access_db_schema, secure_access_enable, secure_access_host, secure_access_rd_gateway_server, secure_access_rdp_domain, secure_access_rdp_user, secure_access_rm_host, secure_access_ssh_creds, secure_access_ssh_creds_user, secure_access_url, secure_access_use_internal_bastion, secure_access_web_browsing, secure_access_web_proxy, token, uid_token].hash
559
+ [provider_type, accessibility, add_tag, cert_file_data, certificate_format, change_event, delete_protection, description, expiration_event_in, host_provider, json, max_versions, name, new_metadata, new_name, rm_tag, rotate_after_disconnect, secure_access_add_host, secure_access_allow_external_user, secure_access_allow_port_forwading, secure_access_aws_account_id, secure_access_aws_native_cli, secure_access_aws_region, secure_access_bastion_api, secure_access_bastion_issuer, secure_access_bastion_ssh, secure_access_cluster_endpoint, secure_access_dashboard_url, secure_access_db_name, secure_access_db_schema, secure_access_enable, secure_access_host, secure_access_rd_gateway_server, secure_access_rdp_domain, secure_access_rdp_user, secure_access_rm_host, secure_access_ssh_creds, secure_access_ssh_creds_user, secure_access_url, secure_access_use_internal_bastion, secure_access_web_browsing, secure_access_web_proxy, token, uid_token].hash
539
560
  end
540
561
 
541
562
  # Builds the object from hash
@@ -51,6 +51,9 @@ module Akeyless
51
51
  # Set this to allow the cert issuer will expose a public CRL endpoint
52
52
  attr_accessor :create_public_crl
53
53
 
54
+ # Mark key usage as critical [true/false]
55
+ attr_accessor :critical_key_usage
56
+
54
57
  # Protection from accidental deletion of this object [true/false]
55
58
  attr_accessor :delete_protection
56
59
 
@@ -60,10 +63,13 @@ module Akeyless
60
63
  # A path in which to save generated certificates
61
64
  attr_accessor :destination_path
62
65
 
66
+ # If set, the cert issuer will support the acme protocol
67
+ attr_accessor :enable_acme
68
+
63
69
  # How many days before the expiration of the certificate would you like to be notified.
64
70
  attr_accessor :expiration_event_in
65
71
 
66
- # The GW cluster URL to issue the certificate from, required in Public CA mode or to allow CRLs on private CA
72
+ # The GW cluster URL to issue the certificate from. Required in Public CA mode, to allow CRLs on private CA, or to enable ACME
67
73
  attr_accessor :gw_cluster_url
68
74
 
69
75
  # If set, the basic constraints extension will be added to certificate
@@ -144,9 +150,11 @@ module Akeyless
144
150
  :'country' => :'country',
145
151
  :'create_private_crl' => :'create-private-crl',
146
152
  :'create_public_crl' => :'create-public-crl',
153
+ :'critical_key_usage' => :'critical-key-usage',
147
154
  :'delete_protection' => :'delete_protection',
148
155
  :'description' => :'description',
149
156
  :'destination_path' => :'destination-path',
157
+ :'enable_acme' => :'enable-acme',
150
158
  :'expiration_event_in' => :'expiration-event-in',
151
159
  :'gw_cluster_url' => :'gw-cluster-url',
152
160
  :'is_ca' => :'is-ca',
@@ -193,9 +201,11 @@ module Akeyless
193
201
  :'country' => :'String',
194
202
  :'create_private_crl' => :'Boolean',
195
203
  :'create_public_crl' => :'Boolean',
204
+ :'critical_key_usage' => :'String',
196
205
  :'delete_protection' => :'String',
197
206
  :'description' => :'String',
198
207
  :'destination_path' => :'String',
208
+ :'enable_acme' => :'Boolean',
199
209
  :'expiration_event_in' => :'Array<String>',
200
210
  :'gw_cluster_url' => :'String',
201
211
  :'is_ca' => :'Boolean',
@@ -293,6 +303,12 @@ module Akeyless
293
303
  self.create_public_crl = attributes[:'create_public_crl']
294
304
  end
295
305
 
306
+ if attributes.key?(:'critical_key_usage')
307
+ self.critical_key_usage = attributes[:'critical_key_usage']
308
+ else
309
+ self.critical_key_usage = 'true'
310
+ end
311
+
296
312
  if attributes.key?(:'delete_protection')
297
313
  self.delete_protection = attributes[:'delete_protection']
298
314
  end
@@ -305,6 +321,10 @@ module Akeyless
305
321
  self.destination_path = attributes[:'destination_path']
306
322
  end
307
323
 
324
+ if attributes.key?(:'enable_acme')
325
+ self.enable_acme = attributes[:'enable_acme']
326
+ end
327
+
308
328
  if attributes.key?(:'expiration_event_in')
309
329
  if (value = attributes[:'expiration_event_in']).is_a?(Array)
310
330
  self.expiration_event_in = value
@@ -459,9 +479,11 @@ module Akeyless
459
479
  country == o.country &&
460
480
  create_private_crl == o.create_private_crl &&
461
481
  create_public_crl == o.create_public_crl &&
482
+ critical_key_usage == o.critical_key_usage &&
462
483
  delete_protection == o.delete_protection &&
463
484
  description == o.description &&
464
485
  destination_path == o.destination_path &&
486
+ enable_acme == o.enable_acme &&
465
487
  expiration_event_in == o.expiration_event_in &&
466
488
  gw_cluster_url == o.gw_cluster_url &&
467
489
  is_ca == o.is_ca &&
@@ -496,7 +518,7 @@ module Akeyless
496
518
  # Calculates hash code according to all attributes.
497
519
  # @return [Integer] Hash code
498
520
  def hash
499
- [add_tag, allow_any_name, allow_copy_ext_from_csr, allow_subdomains, allowed_domains, allowed_extra_extensions, allowed_uri_sans, client_flag, code_signing_flag, country, create_private_crl, create_public_crl, delete_protection, description, destination_path, expiration_event_in, gw_cluster_url, is_ca, json, key_usage, locality, metadata, name, new_name, not_enforce_hostnames, not_require_cn, organizational_units, organizations, postal_code, protect_certificates, province, rm_tag, server_flag, signer_key_name, street_address, token, ttl, uid_token].hash
521
+ [add_tag, allow_any_name, allow_copy_ext_from_csr, allow_subdomains, allowed_domains, allowed_extra_extensions, allowed_uri_sans, client_flag, code_signing_flag, country, create_private_crl, create_public_crl, critical_key_usage, delete_protection, description, destination_path, enable_acme, expiration_event_in, gw_cluster_url, is_ca, json, key_usage, locality, metadata, name, new_name, not_enforce_hostnames, not_require_cn, organizational_units, organizations, postal_code, protect_certificates, province, rm_tag, server_flag, signer_key_name, street_address, token, ttl, uid_token].hash
500
522
  end
501
523
 
502
524
  # Builds the object from hash
@@ -25,6 +25,9 @@ module Akeyless
25
25
  # Key name
26
26
  attr_accessor :name
27
27
 
28
+ # How many days before the rotation of the item would you like to be notified
29
+ attr_accessor :rotation_event_in
30
+
28
31
  # The number of days to wait between every automatic key rotation (7-365)
29
32
  attr_accessor :rotation_interval
30
33
 
@@ -40,6 +43,7 @@ module Akeyless
40
43
  :'auto_rotate' => :'auto-rotate',
41
44
  :'json' => :'json',
42
45
  :'name' => :'name',
46
+ :'rotation_event_in' => :'rotation-event-in',
43
47
  :'rotation_interval' => :'rotation-interval',
44
48
  :'token' => :'token',
45
49
  :'uid_token' => :'uid-token'
@@ -57,6 +61,7 @@ module Akeyless
57
61
  :'auto_rotate' => :'Boolean',
58
62
  :'json' => :'Boolean',
59
63
  :'name' => :'String',
64
+ :'rotation_event_in' => :'Array<String>',
60
65
  :'rotation_interval' => :'Integer',
61
66
  :'token' => :'String',
62
67
  :'uid_token' => :'String'
@@ -102,6 +107,12 @@ module Akeyless
102
107
  self.name = nil
103
108
  end
104
109
 
110
+ if attributes.key?(:'rotation_event_in')
111
+ if (value = attributes[:'rotation_event_in']).is_a?(Array)
112
+ self.rotation_event_in = value
113
+ end
114
+ end
115
+
105
116
  if attributes.key?(:'rotation_interval')
106
117
  self.rotation_interval = attributes[:'rotation_interval']
107
118
  end
@@ -148,6 +159,7 @@ module Akeyless
148
159
  auto_rotate == o.auto_rotate &&
149
160
  json == o.json &&
150
161
  name == o.name &&
162
+ rotation_event_in == o.rotation_event_in &&
151
163
  rotation_interval == o.rotation_interval &&
152
164
  token == o.token &&
153
165
  uid_token == o.uid_token
@@ -162,7 +174,7 @@ module Akeyless
162
174
  # Calculates hash code according to all attributes.
163
175
  # @return [Integer] Hash code
164
176
  def hash
165
- [auto_rotate, json, name, rotation_interval, token, uid_token].hash
177
+ [auto_rotate, json, name, rotation_event_in, rotation_interval, token, uid_token].hash
166
178
  end
167
179
 
168
180
  # Builds the object from hash
@@ -30,7 +30,7 @@ module Akeyless
30
30
  # Deprecated - use description
31
31
  attr_accessor :new_comment
32
32
 
33
- # New Target name
33
+ # New target name
34
34
  attr_accessor :new_name
35
35
 
36
36
  # Authentication token (see `/auth` and `/configure`)
@@ -32,6 +32,9 @@ module Akeyless
32
32
  # Description of the object
33
33
  attr_accessor :description
34
34
 
35
+ # How many days before the expiration of the certificate would you like to be notified.
36
+ attr_accessor :expiration_event_in
37
+
35
38
  # Set output format to JSON
36
39
  attr_accessor :json
37
40
 
@@ -68,6 +71,7 @@ module Akeyless
68
71
  :'customer_frg_id' => :'customer-frg-id',
69
72
  :'delete_protection' => :'delete_protection',
70
73
  :'description' => :'description',
74
+ :'expiration_event_in' => :'expiration-event-in',
71
75
  :'json' => :'json',
72
76
  :'metadata' => :'metadata',
73
77
  :'name' => :'name',
@@ -94,6 +98,7 @@ module Akeyless
94
98
  :'customer_frg_id' => :'String',
95
99
  :'delete_protection' => :'String',
96
100
  :'description' => :'String',
101
+ :'expiration_event_in' => :'Array<String>',
97
102
  :'json' => :'Boolean',
98
103
  :'metadata' => :'String',
99
104
  :'name' => :'String',
@@ -153,6 +158,12 @@ module Akeyless
153
158
  self.description = attributes[:'description']
154
159
  end
155
160
 
161
+ if attributes.key?(:'expiration_event_in')
162
+ if (value = attributes[:'expiration_event_in']).is_a?(Array)
163
+ self.expiration_event_in = value
164
+ end
165
+ end
166
+
156
167
  if attributes.key?(:'json')
157
168
  self.json = attributes[:'json']
158
169
  else
@@ -236,6 +247,7 @@ module Akeyless
236
247
  customer_frg_id == o.customer_frg_id &&
237
248
  delete_protection == o.delete_protection &&
238
249
  description == o.description &&
250
+ expiration_event_in == o.expiration_event_in &&
239
251
  json == o.json &&
240
252
  metadata == o.metadata &&
241
253
  name == o.name &&
@@ -256,7 +268,7 @@ module Akeyless
256
268
  # Calculates hash code according to all attributes.
257
269
  # @return [Integer] Hash code
258
270
  def hash
259
- [alg, cert_file_data, certificate_format, customer_frg_id, delete_protection, description, json, metadata, name, overwrite, rsa_file_data, split_level, tag, token, uid_token].hash
271
+ [alg, cert_file_data, certificate_format, customer_frg_id, delete_protection, description, expiration_event_in, json, metadata, name, overwrite, rsa_file_data, split_level, tag, token, uid_token].hash
260
272
  end
261
273
 
262
274
  # Builds the object from hash
@@ -0,0 +1,223 @@
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 WebBastionConf
18
+ attr_accessor :guacamole
19
+
20
+ attr_accessor :rdp_record
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'guacamole' => :'guacamole',
26
+ :'rdp_record' => :'rdp_record'
27
+ }
28
+ end
29
+
30
+ # Returns all the JSON keys this model knows about
31
+ def self.acceptable_attributes
32
+ attribute_map.values
33
+ end
34
+
35
+ # Attribute type mapping.
36
+ def self.openapi_types
37
+ {
38
+ :'guacamole' => :'WebBastionGuacamole',
39
+ :'rdp_record' => :'WebBastionRdpRecord'
40
+ }
41
+ end
42
+
43
+ # List of attributes with nullable: true
44
+ def self.openapi_nullable
45
+ Set.new([
46
+ ])
47
+ end
48
+
49
+ # Initializes the object
50
+ # @param [Hash] attributes Model attributes in the form of hash
51
+ def initialize(attributes = {})
52
+ if (!attributes.is_a?(Hash))
53
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::WebBastionConf` initialize method"
54
+ end
55
+
56
+ # check to see if the attribute exists and convert string to symbol for hash key
57
+ attributes = attributes.each_with_object({}) { |(k, v), h|
58
+ if (!self.class.attribute_map.key?(k.to_sym))
59
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::WebBastionConf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
+ end
61
+ h[k.to_sym] = v
62
+ }
63
+
64
+ if attributes.key?(:'guacamole')
65
+ self.guacamole = attributes[:'guacamole']
66
+ end
67
+
68
+ if attributes.key?(:'rdp_record')
69
+ self.rdp_record = attributes[:'rdp_record']
70
+ end
71
+ end
72
+
73
+ # Show invalid properties with the reasons. Usually used together with valid?
74
+ # @return Array for valid properties with the reasons
75
+ def list_invalid_properties
76
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
77
+ invalid_properties = Array.new
78
+ invalid_properties
79
+ end
80
+
81
+ # Check to see if the all the properties in the model are valid
82
+ # @return true if the model is valid
83
+ def valid?
84
+ warn '[DEPRECATED] the `valid?` method is obsolete'
85
+ true
86
+ end
87
+
88
+ # Checks equality by comparing each attribute.
89
+ # @param [Object] Object to be compared
90
+ def ==(o)
91
+ return true if self.equal?(o)
92
+ self.class == o.class &&
93
+ guacamole == o.guacamole &&
94
+ rdp_record == o.rdp_record
95
+ end
96
+
97
+ # @see the `==` method
98
+ # @param [Object] Object to be compared
99
+ def eql?(o)
100
+ self == o
101
+ end
102
+
103
+ # Calculates hash code according to all attributes.
104
+ # @return [Integer] Hash code
105
+ def hash
106
+ [guacamole, rdp_record].hash
107
+ end
108
+
109
+ # Builds the object from hash
110
+ # @param [Hash] attributes Model attributes in the form of hash
111
+ # @return [Object] Returns the model itself
112
+ def self.build_from_hash(attributes)
113
+ return nil unless attributes.is_a?(Hash)
114
+ attributes = attributes.transform_keys(&:to_sym)
115
+ transformed_hash = {}
116
+ openapi_types.each_pair do |key, type|
117
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
118
+ transformed_hash["#{key}"] = nil
119
+ elsif type =~ /\AArray<(.*)>/i
120
+ # check to ensure the input is an array given that the attribute
121
+ # is documented as an array but the input is not
122
+ if attributes[attribute_map[key]].is_a?(Array)
123
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
124
+ end
125
+ elsif !attributes[attribute_map[key]].nil?
126
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
127
+ end
128
+ end
129
+ new(transformed_hash)
130
+ end
131
+
132
+ # Deserializes the data based on type
133
+ # @param string type Data type
134
+ # @param string value Value to be deserialized
135
+ # @return [Object] Deserialized data
136
+ def self._deserialize(type, value)
137
+ case type.to_sym
138
+ when :Time
139
+ Time.parse(value)
140
+ when :Date
141
+ Date.parse(value)
142
+ when :String
143
+ value.to_s
144
+ when :Integer
145
+ value.to_i
146
+ when :Float
147
+ value.to_f
148
+ when :Boolean
149
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
150
+ true
151
+ else
152
+ false
153
+ end
154
+ when :Object
155
+ # generic object (usually a Hash), return directly
156
+ value
157
+ when /\AArray<(?<inner_type>.+)>\z/
158
+ inner_type = Regexp.last_match[:inner_type]
159
+ value.map { |v| _deserialize(inner_type, v) }
160
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
161
+ k_type = Regexp.last_match[:k_type]
162
+ v_type = Regexp.last_match[:v_type]
163
+ {}.tap do |hash|
164
+ value.each do |k, v|
165
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
166
+ end
167
+ end
168
+ else # model
169
+ # models (e.g. Pet) or oneOf
170
+ klass = Akeyless.const_get(type)
171
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
172
+ end
173
+ end
174
+
175
+ # Returns the string representation of the object
176
+ # @return [String] String presentation of the object
177
+ def to_s
178
+ to_hash.to_s
179
+ end
180
+
181
+ # to_body is an alias to to_hash (backward compatibility)
182
+ # @return [Hash] Returns the object in the form of hash
183
+ def to_body
184
+ to_hash
185
+ end
186
+
187
+ # Returns the object in the form of hash
188
+ # @return [Hash] Returns the object in the form of hash
189
+ def to_hash
190
+ hash = {}
191
+ self.class.attribute_map.each_pair do |attr, param|
192
+ value = self.send(attr)
193
+ if value.nil?
194
+ is_nullable = self.class.openapi_nullable.include?(attr)
195
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
196
+ end
197
+
198
+ hash[param] = _to_hash(value)
199
+ end
200
+ hash
201
+ end
202
+
203
+ # Outputs non-array value in the form of hash
204
+ # For object, use to_hash. Otherwise, just return the value
205
+ # @param [Object] value Any valid value
206
+ # @return [Hash] Returns the value in the form of hash
207
+ def _to_hash(value)
208
+ if value.is_a?(Array)
209
+ value.compact.map { |v| _to_hash(v) }
210
+ elsif value.is_a?(Hash)
211
+ {}.tap do |hash|
212
+ value.each { |k, v| hash[k] = _to_hash(v) }
213
+ end
214
+ elsif value.respond_to? :to_hash
215
+ value.to_hash
216
+ else
217
+ value
218
+ end
219
+ end
220
+
221
+ end
222
+
223
+ end