akeyless 5.0.22 → 5.0.24

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 (312) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +33 -5
  3. data/docs/AccountGeneralSettings.md +4 -0
  4. data/docs/AgenticRule.md +20 -0
  5. data/docs/AgenticRules.md +20 -0
  6. data/docs/AuthMethodCreateUniversalIdentity.md +4 -0
  7. data/docs/AuthMethodUpdateUniversalIdentity.md +4 -0
  8. data/docs/AwsStorage.md +2 -0
  9. data/docs/CreateAuthMethodUniversalIdentity.md +4 -0
  10. data/docs/CreateRole.md +2 -0
  11. data/docs/CreateRotatedSecret.md +3 -1
  12. data/docs/CreateSecret.md +2 -0
  13. data/docs/CreateUSC.md +6 -2
  14. data/docs/DSProducerDetails.md +2 -0
  15. data/docs/DeleteRoleRule.md +1 -1
  16. data/docs/DescribePermissions.md +1 -1
  17. data/docs/DigiCertTargetDetails.md +42 -0
  18. data/docs/EsmListSecretsOutput.md +5 -1
  19. data/docs/GatewayCreateMigration.md +4 -0
  20. data/docs/GatewayMigrationCreateOutput.md +2 -0
  21. data/docs/GatewayUpdateMigration.md +4 -0
  22. data/docs/GatewayUpdateRemoteAccessRdpRecordings.md +2 -0
  23. data/docs/GeneralConfigPart.md +4 -0
  24. data/docs/GoogleTrustTargetDetails.md +42 -0
  25. data/docs/HashiPayload.md +5 -1
  26. data/docs/Item.md +2 -0
  27. data/docs/ItemGeneralInfo.md +2 -0
  28. data/docs/ItemLockingSetting.md +20 -0
  29. data/docs/ListItems.md +2 -0
  30. data/docs/LockItem.md +28 -0
  31. data/docs/LockTarget.md +28 -0
  32. data/docs/LockingInfo.md +24 -0
  33. data/docs/MigrationStatusReplyObj.md +2 -0
  34. data/docs/NetappStorage.md +30 -0
  35. data/docs/ReverseRBAC.md +1 -1
  36. data/docs/RotatedSecretCreateAws.md +3 -1
  37. data/docs/RotatedSecretCreateAzure.md +3 -1
  38. data/docs/RotatedSecretCreateCustom.md +3 -1
  39. data/docs/RotatedSecretCreateLdap.md +3 -1
  40. data/docs/RotatedSecretCreateMongodb.md +3 -1
  41. data/docs/RotatedSecretCreateMssql.md +3 -1
  42. data/docs/RotatedSecretCreateMysql.md +3 -1
  43. data/docs/RotatedSecretCreateOracledb.md +3 -1
  44. data/docs/RotatedSecretCreatePostgresql.md +3 -1
  45. data/docs/RotatedSecretCreateRedshift.md +3 -1
  46. data/docs/RotatedSecretCreateSsh.md +3 -1
  47. data/docs/RotatedSecretCreateWindows.md +3 -1
  48. data/docs/RotatedSecretUpdateAws.md +3 -1
  49. data/docs/RotatedSecretUpdateAzure.md +3 -1
  50. data/docs/RotatedSecretUpdateCustom.md +3 -1
  51. data/docs/RotatedSecretUpdateLdap.md +3 -1
  52. data/docs/RotatedSecretUpdateMongodb.md +3 -1
  53. data/docs/RotatedSecretUpdateMssql.md +3 -1
  54. data/docs/RotatedSecretUpdateMysql.md +3 -1
  55. data/docs/RotatedSecretUpdateOracledb.md +3 -1
  56. data/docs/RotatedSecretUpdatePostgresql.md +3 -1
  57. data/docs/RotatedSecretUpdateRedshift.md +3 -1
  58. data/docs/RotatedSecretUpdateSsh.md +3 -1
  59. data/docs/RotatedSecretUpdateWindows.md +3 -1
  60. data/docs/RuntimeAuthorityCommand.md +28 -0
  61. data/docs/SecretInfo.md +2 -0
  62. data/docs/SecureRemoteAccess.md +4 -0
  63. data/docs/SetDefaultProfile.md +20 -0
  64. data/docs/SetDefaultProfileOutput.md +18 -0
  65. data/docs/SetRoleRule.md +1 -1
  66. data/docs/SyncCounters.md +22 -0
  67. data/docs/SystemAccessCredentialsReplyObj.md +2 -0
  68. data/docs/Target.md +4 -0
  69. data/docs/TargetCreateArtifactory.md +2 -0
  70. data/docs/TargetCreateAws.md +2 -0
  71. data/docs/TargetCreateAzure.md +2 -0
  72. data/docs/TargetCreateDB.md +2 -0
  73. data/docs/TargetCreateDigiCert.md +52 -0
  74. data/docs/TargetCreateDockerhub.md +2 -0
  75. data/docs/TargetCreateEks.md +2 -0
  76. data/docs/TargetCreateGcp.md +2 -0
  77. data/docs/TargetCreateGemini.md +2 -0
  78. data/docs/TargetCreateGithub.md +2 -0
  79. data/docs/TargetCreateGitlab.md +2 -0
  80. data/docs/TargetCreateGke.md +2 -0
  81. data/docs/TargetCreateGlobalSign.md +2 -0
  82. data/docs/TargetCreateGlobalSignAtlas.md +2 -0
  83. data/docs/TargetCreateGodaddy.md +2 -0
  84. data/docs/TargetCreateGoogleTrust.md +52 -0
  85. data/docs/TargetCreateHashiVault.md +2 -0
  86. data/docs/TargetCreateK8s.md +2 -0
  87. data/docs/TargetCreateLdap.md +2 -0
  88. data/docs/TargetCreateLetsEncrypt.md +3 -1
  89. data/docs/TargetCreateLinked.md +2 -0
  90. data/docs/TargetCreateOpenAI.md +2 -0
  91. data/docs/TargetCreatePing.md +2 -0
  92. data/docs/TargetCreateRabbitMq.md +2 -0
  93. data/docs/TargetCreateSalesforce.md +2 -0
  94. data/docs/TargetCreateSectigo.md +2 -0
  95. data/docs/TargetCreateSplunk.md +5 -1
  96. data/docs/TargetCreateSsh.md +2 -0
  97. data/docs/TargetCreateWeb.md +2 -0
  98. data/docs/TargetCreateWindows.md +2 -0
  99. data/docs/TargetCreateZeroSSL.md +2 -0
  100. data/docs/TargetTypeDetailsInput.md +4 -0
  101. data/docs/TargetUpdateArtifactory.md +2 -0
  102. data/docs/TargetUpdateAws.md +2 -0
  103. data/docs/TargetUpdateAzure.md +2 -0
  104. data/docs/TargetUpdateDB.md +2 -0
  105. data/docs/TargetUpdateDigiCert.md +54 -0
  106. data/docs/TargetUpdateDockerhub.md +2 -0
  107. data/docs/TargetUpdateEks.md +2 -0
  108. data/docs/TargetUpdateGcp.md +2 -0
  109. data/docs/TargetUpdateGemini.md +2 -0
  110. data/docs/TargetUpdateGithub.md +2 -0
  111. data/docs/TargetUpdateGitlab.md +2 -0
  112. data/docs/TargetUpdateGke.md +2 -0
  113. data/docs/TargetUpdateGlobalSign.md +2 -0
  114. data/docs/TargetUpdateGlobalSignAtlas.md +2 -0
  115. data/docs/TargetUpdateGodaddy.md +2 -0
  116. data/docs/TargetUpdateGoogleTrust.md +56 -0
  117. data/docs/TargetUpdateHashiVault.md +2 -0
  118. data/docs/TargetUpdateK8s.md +2 -0
  119. data/docs/TargetUpdateLdap.md +2 -0
  120. data/docs/TargetUpdateLetsEncrypt.md +3 -1
  121. data/docs/TargetUpdateOpenAI.md +2 -0
  122. data/docs/TargetUpdatePing.md +2 -0
  123. data/docs/TargetUpdateRabbitMq.md +2 -0
  124. data/docs/TargetUpdateSalesforce.md +2 -0
  125. data/docs/TargetUpdateSectigo.md +2 -0
  126. data/docs/TargetUpdateSsh.md +2 -0
  127. data/docs/TargetUpdateWeb.md +2 -0
  128. data/docs/TargetUpdateWindows.md +2 -0
  129. data/docs/TargetUpdateZeroSSL.md +2 -0
  130. data/docs/UniversalIdentityAccessRules.md +4 -0
  131. data/docs/UnlockItem.md +24 -0
  132. data/docs/UnlockTarget.md +24 -0
  133. data/docs/UpdateAccountSettings.md +4 -0
  134. data/docs/UpdateAuthMethodUniversalIdentity.md +4 -0
  135. data/docs/UpdateItem.md +8 -2
  136. data/docs/UpdateRole.md +2 -0
  137. data/docs/UpdateRotatedSecret.md +3 -1
  138. data/docs/UpdateTarget.md +2 -0
  139. data/docs/UscCreate.md +2 -0
  140. data/docs/UscDelete.md +4 -0
  141. data/docs/UscGet.md +4 -0
  142. data/docs/UscList.md +4 -0
  143. data/docs/UscListSecretsOutput.md +5 -1
  144. data/docs/UscUpdate.md +4 -0
  145. data/docs/V2Api.md +572 -6
  146. data/docs/WebBastionRdpRecord.md +2 -0
  147. data/lib/akeyless/api/v2_api.rb +580 -4
  148. data/lib/akeyless/models/account_general_settings.rb +19 -1
  149. data/lib/akeyless/models/agentic_rule.rb +223 -0
  150. data/lib/akeyless/models/agentic_rules.rb +227 -0
  151. data/lib/akeyless/models/auth_method_create_universal_identity.rb +25 -1
  152. data/lib/akeyless/models/auth_method_update_universal_identity.rb +25 -1
  153. data/lib/akeyless/models/aws_storage.rb +10 -1
  154. data/lib/akeyless/models/create_auth_method_universal_identity.rb +25 -1
  155. data/lib/akeyless/models/create_role.rb +11 -1
  156. data/lib/akeyless/models/create_rotated_secret.rb +12 -4
  157. data/lib/akeyless/models/create_secret.rb +11 -1
  158. data/lib/akeyless/models/create_usc.rb +25 -5
  159. data/lib/akeyless/models/delete_role_rule.rb +1 -1
  160. data/lib/akeyless/models/describe_permissions.rb +1 -1
  161. data/lib/akeyless/models/digi_cert_target_details.rb +333 -0
  162. data/lib/akeyless/models/ds_producer_details.rb +10 -1
  163. data/lib/akeyless/models/esm_list_secrets_output.rb +24 -4
  164. data/lib/akeyless/models/gateway_create_migration.rb +21 -1
  165. data/lib/akeyless/models/gateway_migration_create_output.rb +10 -1
  166. data/lib/akeyless/models/gateway_update_migration.rb +21 -1
  167. data/lib/akeyless/models/gateway_update_remote_access_rdp_recordings.rb +11 -1
  168. data/lib/akeyless/models/general_config_part.rb +19 -1
  169. data/lib/akeyless/models/google_trust_target_details.rb +335 -0
  170. data/lib/akeyless/models/hashi_payload.rb +22 -4
  171. data/lib/akeyless/models/item.rb +10 -1
  172. data/lib/akeyless/models/item_general_info.rb +10 -1
  173. data/lib/akeyless/models/item_locking_setting.rb +223 -0
  174. data/lib/akeyless/models/list_items.rb +13 -1
  175. data/lib/akeyless/models/lock_item.rb +274 -0
  176. data/lib/akeyless/models/lock_target.rb +274 -0
  177. data/lib/akeyless/models/locking_info.rb +243 -0
  178. data/lib/akeyless/models/migration_status_reply_obj.rb +10 -1
  179. data/lib/akeyless/models/netapp_storage.rb +268 -0
  180. data/lib/akeyless/models/reverse_rbac.rb +1 -1
  181. data/lib/akeyless/models/rotated_secret_create_aws.rb +12 -4
  182. data/lib/akeyless/models/rotated_secret_create_azure.rb +12 -4
  183. data/lib/akeyless/models/rotated_secret_create_custom.rb +12 -4
  184. data/lib/akeyless/models/rotated_secret_create_ldap.rb +12 -4
  185. data/lib/akeyless/models/rotated_secret_create_mongodb.rb +12 -4
  186. data/lib/akeyless/models/rotated_secret_create_mssql.rb +12 -4
  187. data/lib/akeyless/models/rotated_secret_create_mysql.rb +12 -4
  188. data/lib/akeyless/models/rotated_secret_create_oracledb.rb +12 -4
  189. data/lib/akeyless/models/rotated_secret_create_postgresql.rb +12 -4
  190. data/lib/akeyless/models/rotated_secret_create_redshift.rb +12 -4
  191. data/lib/akeyless/models/rotated_secret_create_ssh.rb +12 -4
  192. data/lib/akeyless/models/rotated_secret_create_windows.rb +12 -4
  193. data/lib/akeyless/models/rotated_secret_update_aws.rb +12 -4
  194. data/lib/akeyless/models/rotated_secret_update_azure.rb +12 -4
  195. data/lib/akeyless/models/rotated_secret_update_custom.rb +12 -4
  196. data/lib/akeyless/models/rotated_secret_update_ldap.rb +12 -4
  197. data/lib/akeyless/models/rotated_secret_update_mongodb.rb +12 -4
  198. data/lib/akeyless/models/rotated_secret_update_mssql.rb +12 -4
  199. data/lib/akeyless/models/rotated_secret_update_mysql.rb +12 -4
  200. data/lib/akeyless/models/rotated_secret_update_oracledb.rb +12 -4
  201. data/lib/akeyless/models/rotated_secret_update_postgresql.rb +12 -4
  202. data/lib/akeyless/models/rotated_secret_update_redshift.rb +12 -4
  203. data/lib/akeyless/models/rotated_secret_update_ssh.rb +12 -4
  204. data/lib/akeyless/models/rotated_secret_update_windows.rb +12 -4
  205. data/lib/akeyless/models/runtime_authority_command.rb +288 -0
  206. data/lib/akeyless/models/secret_info.rb +10 -1
  207. data/lib/akeyless/models/secure_remote_access.rb +19 -1
  208. data/lib/akeyless/models/set_default_profile.rb +234 -0
  209. data/lib/akeyless/models/set_default_profile_output.rb +214 -0
  210. data/lib/akeyless/models/set_role_rule.rb +1 -1
  211. data/lib/akeyless/models/sync_counters.rb +233 -0
  212. data/lib/akeyless/models/system_access_credentials_reply_obj.rb +11 -1
  213. data/lib/akeyless/models/target.rb +19 -1
  214. data/lib/akeyless/models/target_create_artifactory.rb +11 -1
  215. data/lib/akeyless/models/target_create_aws.rb +11 -1
  216. data/lib/akeyless/models/target_create_azure.rb +11 -1
  217. data/lib/akeyless/models/target_create_db.rb +11 -1
  218. data/lib/akeyless/models/target_create_digi_cert.rb +408 -0
  219. data/lib/akeyless/models/target_create_dockerhub.rb +11 -1
  220. data/lib/akeyless/models/target_create_eks.rb +11 -1
  221. data/lib/akeyless/models/target_create_gcp.rb +11 -1
  222. data/lib/akeyless/models/target_create_gemini.rb +11 -1
  223. data/lib/akeyless/models/target_create_github.rb +11 -1
  224. data/lib/akeyless/models/target_create_gitlab.rb +11 -1
  225. data/lib/akeyless/models/target_create_gke.rb +11 -1
  226. data/lib/akeyless/models/target_create_global_sign.rb +11 -1
  227. data/lib/akeyless/models/target_create_global_sign_atlas.rb +11 -1
  228. data/lib/akeyless/models/target_create_godaddy.rb +11 -1
  229. data/lib/akeyless/models/target_create_google_trust.rb +408 -0
  230. data/lib/akeyless/models/target_create_hashi_vault.rb +11 -1
  231. data/lib/akeyless/models/target_create_k8s.rb +11 -1
  232. data/lib/akeyless/models/target_create_ldap.rb +11 -1
  233. data/lib/akeyless/models/target_create_lets_encrypt.rb +18 -1
  234. data/lib/akeyless/models/target_create_linked.rb +11 -1
  235. data/lib/akeyless/models/target_create_open_ai.rb +11 -1
  236. data/lib/akeyless/models/target_create_ping.rb +11 -1
  237. data/lib/akeyless/models/target_create_rabbit_mq.rb +11 -1
  238. data/lib/akeyless/models/target_create_salesforce.rb +11 -1
  239. data/lib/akeyless/models/target_create_sectigo.rb +11 -1
  240. data/lib/akeyless/models/target_create_splunk.rb +21 -1
  241. data/lib/akeyless/models/target_create_ssh.rb +11 -1
  242. data/lib/akeyless/models/target_create_web.rb +11 -1
  243. data/lib/akeyless/models/target_create_windows.rb +11 -1
  244. data/lib/akeyless/models/target_create_zero_ssl.rb +11 -1
  245. data/lib/akeyless/models/target_type_details_input.rb +19 -1
  246. data/lib/akeyless/models/target_update_artifactory.rb +11 -1
  247. data/lib/akeyless/models/target_update_aws.rb +11 -1
  248. data/lib/akeyless/models/target_update_azure.rb +11 -1
  249. data/lib/akeyless/models/target_update_db.rb +11 -1
  250. data/lib/akeyless/models/target_update_digi_cert.rb +418 -0
  251. data/lib/akeyless/models/target_update_dockerhub.rb +11 -1
  252. data/lib/akeyless/models/target_update_eks.rb +11 -1
  253. data/lib/akeyless/models/target_update_gcp.rb +11 -1
  254. data/lib/akeyless/models/target_update_gemini.rb +11 -1
  255. data/lib/akeyless/models/target_update_github.rb +11 -1
  256. data/lib/akeyless/models/target_update_gitlab.rb +11 -1
  257. data/lib/akeyless/models/target_update_gke.rb +11 -1
  258. data/lib/akeyless/models/target_update_global_sign.rb +11 -1
  259. data/lib/akeyless/models/target_update_global_sign_atlas.rb +11 -1
  260. data/lib/akeyless/models/target_update_godaddy.rb +11 -1
  261. data/lib/akeyless/models/target_update_google_trust.rb +428 -0
  262. data/lib/akeyless/models/target_update_hashi_vault.rb +11 -1
  263. data/lib/akeyless/models/target_update_k8s.rb +11 -1
  264. data/lib/akeyless/models/target_update_ldap.rb +11 -1
  265. data/lib/akeyless/models/target_update_lets_encrypt.rb +18 -1
  266. data/lib/akeyless/models/target_update_open_ai.rb +11 -1
  267. data/lib/akeyless/models/target_update_ping.rb +11 -1
  268. data/lib/akeyless/models/target_update_rabbit_mq.rb +11 -1
  269. data/lib/akeyless/models/target_update_salesforce.rb +11 -1
  270. data/lib/akeyless/models/target_update_sectigo.rb +11 -1
  271. data/lib/akeyless/models/target_update_ssh.rb +11 -1
  272. data/lib/akeyless/models/target_update_web.rb +11 -1
  273. data/lib/akeyless/models/target_update_windows.rb +11 -1
  274. data/lib/akeyless/models/target_update_zero_ssl.rb +11 -1
  275. data/lib/akeyless/models/universal_identity_access_rules.rb +19 -1
  276. data/lib/akeyless/models/unlock_item.rb +254 -0
  277. data/lib/akeyless/models/unlock_target.rb +254 -0
  278. data/lib/akeyless/models/update_account_settings.rb +21 -1
  279. data/lib/akeyless/models/update_auth_method_universal_identity.rb +25 -1
  280. data/lib/akeyless/models/update_item.rb +35 -7
  281. data/lib/akeyless/models/update_role.rb +11 -1
  282. data/lib/akeyless/models/update_rotated_secret.rb +12 -4
  283. data/lib/akeyless/models/update_target.rb +11 -1
  284. data/lib/akeyless/models/usc_create.rb +10 -1
  285. data/lib/akeyless/models/usc_delete.rb +20 -1
  286. data/lib/akeyless/models/usc_get.rb +20 -1
  287. data/lib/akeyless/models/usc_list.rb +21 -1
  288. data/lib/akeyless/models/usc_list_secrets_output.rb +24 -4
  289. data/lib/akeyless/models/usc_update.rb +20 -1
  290. data/lib/akeyless/models/web_bastion_rdp_record.rb +10 -1
  291. data/lib/akeyless/version.rb +1 -1
  292. data/lib/akeyless.rb +19 -0
  293. data/spec/models/agentic_rule_spec.rb +42 -0
  294. data/spec/models/agentic_rules_spec.rb +42 -0
  295. data/spec/models/digi_cert_target_details_spec.rb +108 -0
  296. data/spec/models/google_trust_target_details_spec.rb +108 -0
  297. data/spec/models/item_locking_setting_spec.rb +42 -0
  298. data/spec/models/lock_item_spec.rb +66 -0
  299. data/spec/models/lock_target_spec.rb +66 -0
  300. data/spec/models/locking_info_spec.rb +54 -0
  301. data/spec/models/netapp_storage_spec.rb +72 -0
  302. data/spec/models/runtime_authority_command_spec.rb +66 -0
  303. data/spec/models/set_default_profile_output_spec.rb +36 -0
  304. data/spec/models/set_default_profile_spec.rb +42 -0
  305. data/spec/models/sync_counters_spec.rb +48 -0
  306. data/spec/models/target_create_digi_cert_spec.rb +132 -0
  307. data/spec/models/target_create_google_trust_spec.rb +132 -0
  308. data/spec/models/target_update_digi_cert_spec.rb +144 -0
  309. data/spec/models/target_update_google_trust_spec.rb +144 -0
  310. data/spec/models/unlock_item_spec.rb +54 -0
  311. data/spec/models/unlock_target_spec.rb +54 -0
  312. metadata +1226 -1147
@@ -0,0 +1,408 @@
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
+ # targetCreateDigiCert is a command that creates a new DigiCert target
18
+ class TargetCreateDigiCert
19
+ # ACME challenge type. Options: [dns]
20
+ attr_accessor :acme_challenge
21
+
22
+ # Protection from accidental deletion of this object [true/false]
23
+ attr_accessor :delete_protection
24
+
25
+ # Description of the object
26
+ attr_accessor :description
27
+
28
+ # DigiCert ACME endpoint selector. Options: [us-production/eu-production/us-demo/eu-demo]
29
+ attr_accessor :digicert_url
30
+
31
+ # Name of existing cloud target for DNS credentials. Required when challenge type is dns. Supported providers: AWS, Azure, GCP
32
+ attr_accessor :dns_target_creds
33
+
34
+ # External Account Binding HMAC key (required for ACME account bootstrap on create)
35
+ attr_accessor :eab_hmac_key
36
+
37
+ # External Account Binding key identifier (required for ACME account bootstrap on create)
38
+ attr_accessor :eab_key_id
39
+
40
+ # Email address for ACME account registration
41
+ attr_accessor :email
42
+
43
+ # GCP Cloud DNS project ID. Optional and can be derived from service account
44
+ attr_accessor :gcp_project
45
+
46
+ # AWS Route53 hosted zone ID. Required when DNS credentials target is AWS
47
+ attr_accessor :hosted_zone
48
+
49
+ # Set output format to JSON
50
+ attr_accessor :json
51
+
52
+ # The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
53
+ attr_accessor :key
54
+
55
+ # Set the maximum number of versions, limited by the account settings defaults.
56
+ attr_accessor :max_versions
57
+
58
+ # Target name
59
+ attr_accessor :name
60
+
61
+ # Azure resource group name. Required when DNS credentials target is Azure
62
+ attr_accessor :resource_group
63
+
64
+ # Timeout for challenge validation
65
+ attr_accessor :timeout
66
+
67
+ # Authentication token (see `/auth` and `/configure`)
68
+ attr_accessor :token
69
+
70
+ # The universal identity token, Required only for universal_identity authentication
71
+ attr_accessor :uid_token
72
+
73
+ # Attribute mapping from ruby-style variable name to JSON key.
74
+ def self.attribute_map
75
+ {
76
+ :'acme_challenge' => :'acme-challenge',
77
+ :'delete_protection' => :'delete_protection',
78
+ :'description' => :'description',
79
+ :'digicert_url' => :'digicert-url',
80
+ :'dns_target_creds' => :'dns-target-creds',
81
+ :'eab_hmac_key' => :'eab-hmac-key',
82
+ :'eab_key_id' => :'eab-key-id',
83
+ :'email' => :'email',
84
+ :'gcp_project' => :'gcp-project',
85
+ :'hosted_zone' => :'hosted-zone',
86
+ :'json' => :'json',
87
+ :'key' => :'key',
88
+ :'max_versions' => :'max-versions',
89
+ :'name' => :'name',
90
+ :'resource_group' => :'resource-group',
91
+ :'timeout' => :'timeout',
92
+ :'token' => :'token',
93
+ :'uid_token' => :'uid-token'
94
+ }
95
+ end
96
+
97
+ # Returns all the JSON keys this model knows about
98
+ def self.acceptable_attributes
99
+ attribute_map.values
100
+ end
101
+
102
+ # Attribute type mapping.
103
+ def self.openapi_types
104
+ {
105
+ :'acme_challenge' => :'String',
106
+ :'delete_protection' => :'String',
107
+ :'description' => :'String',
108
+ :'digicert_url' => :'String',
109
+ :'dns_target_creds' => :'String',
110
+ :'eab_hmac_key' => :'String',
111
+ :'eab_key_id' => :'String',
112
+ :'email' => :'String',
113
+ :'gcp_project' => :'String',
114
+ :'hosted_zone' => :'String',
115
+ :'json' => :'Boolean',
116
+ :'key' => :'String',
117
+ :'max_versions' => :'String',
118
+ :'name' => :'String',
119
+ :'resource_group' => :'String',
120
+ :'timeout' => :'String',
121
+ :'token' => :'String',
122
+ :'uid_token' => :'String'
123
+ }
124
+ end
125
+
126
+ # List of attributes with nullable: true
127
+ def self.openapi_nullable
128
+ Set.new([
129
+ ])
130
+ end
131
+
132
+ # Initializes the object
133
+ # @param [Hash] attributes Model attributes in the form of hash
134
+ def initialize(attributes = {})
135
+ if (!attributes.is_a?(Hash))
136
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::TargetCreateDigiCert` initialize method"
137
+ end
138
+
139
+ # check to see if the attribute exists and convert string to symbol for hash key
140
+ attributes = attributes.each_with_object({}) { |(k, v), h|
141
+ if (!self.class.attribute_map.key?(k.to_sym))
142
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::TargetCreateDigiCert`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
143
+ end
144
+ h[k.to_sym] = v
145
+ }
146
+
147
+ if attributes.key?(:'acme_challenge')
148
+ self.acme_challenge = attributes[:'acme_challenge']
149
+ else
150
+ self.acme_challenge = 'dns'
151
+ end
152
+
153
+ if attributes.key?(:'delete_protection')
154
+ self.delete_protection = attributes[:'delete_protection']
155
+ end
156
+
157
+ if attributes.key?(:'description')
158
+ self.description = attributes[:'description']
159
+ end
160
+
161
+ if attributes.key?(:'digicert_url')
162
+ self.digicert_url = attributes[:'digicert_url']
163
+ else
164
+ self.digicert_url = 'us-production'
165
+ end
166
+
167
+ if attributes.key?(:'dns_target_creds')
168
+ self.dns_target_creds = attributes[:'dns_target_creds']
169
+ end
170
+
171
+ if attributes.key?(:'eab_hmac_key')
172
+ self.eab_hmac_key = attributes[:'eab_hmac_key']
173
+ end
174
+
175
+ if attributes.key?(:'eab_key_id')
176
+ self.eab_key_id = attributes[:'eab_key_id']
177
+ end
178
+
179
+ if attributes.key?(:'email')
180
+ self.email = attributes[:'email']
181
+ else
182
+ self.email = nil
183
+ end
184
+
185
+ if attributes.key?(:'gcp_project')
186
+ self.gcp_project = attributes[:'gcp_project']
187
+ end
188
+
189
+ if attributes.key?(:'hosted_zone')
190
+ self.hosted_zone = attributes[:'hosted_zone']
191
+ end
192
+
193
+ if attributes.key?(:'json')
194
+ self.json = attributes[:'json']
195
+ else
196
+ self.json = false
197
+ end
198
+
199
+ if attributes.key?(:'key')
200
+ self.key = attributes[:'key']
201
+ end
202
+
203
+ if attributes.key?(:'max_versions')
204
+ self.max_versions = attributes[:'max_versions']
205
+ end
206
+
207
+ if attributes.key?(:'name')
208
+ self.name = attributes[:'name']
209
+ else
210
+ self.name = nil
211
+ end
212
+
213
+ if attributes.key?(:'resource_group')
214
+ self.resource_group = attributes[:'resource_group']
215
+ end
216
+
217
+ if attributes.key?(:'timeout')
218
+ self.timeout = attributes[:'timeout']
219
+ else
220
+ self.timeout = '5m'
221
+ end
222
+
223
+ if attributes.key?(:'token')
224
+ self.token = attributes[:'token']
225
+ end
226
+
227
+ if attributes.key?(:'uid_token')
228
+ self.uid_token = attributes[:'uid_token']
229
+ end
230
+ end
231
+
232
+ # Show invalid properties with the reasons. Usually used together with valid?
233
+ # @return Array for valid properties with the reasons
234
+ def list_invalid_properties
235
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
236
+ invalid_properties = Array.new
237
+ if @email.nil?
238
+ invalid_properties.push('invalid value for "email", email cannot be nil.')
239
+ end
240
+
241
+ if @name.nil?
242
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
243
+ end
244
+
245
+ invalid_properties
246
+ end
247
+
248
+ # Check to see if the all the properties in the model are valid
249
+ # @return true if the model is valid
250
+ def valid?
251
+ warn '[DEPRECATED] the `valid?` method is obsolete'
252
+ return false if @email.nil?
253
+ return false if @name.nil?
254
+ true
255
+ end
256
+
257
+ # Checks equality by comparing each attribute.
258
+ # @param [Object] Object to be compared
259
+ def ==(o)
260
+ return true if self.equal?(o)
261
+ self.class == o.class &&
262
+ acme_challenge == o.acme_challenge &&
263
+ delete_protection == o.delete_protection &&
264
+ description == o.description &&
265
+ digicert_url == o.digicert_url &&
266
+ dns_target_creds == o.dns_target_creds &&
267
+ eab_hmac_key == o.eab_hmac_key &&
268
+ eab_key_id == o.eab_key_id &&
269
+ email == o.email &&
270
+ gcp_project == o.gcp_project &&
271
+ hosted_zone == o.hosted_zone &&
272
+ json == o.json &&
273
+ key == o.key &&
274
+ max_versions == o.max_versions &&
275
+ name == o.name &&
276
+ resource_group == o.resource_group &&
277
+ timeout == o.timeout &&
278
+ token == o.token &&
279
+ uid_token == o.uid_token
280
+ end
281
+
282
+ # @see the `==` method
283
+ # @param [Object] Object to be compared
284
+ def eql?(o)
285
+ self == o
286
+ end
287
+
288
+ # Calculates hash code according to all attributes.
289
+ # @return [Integer] Hash code
290
+ def hash
291
+ [acme_challenge, delete_protection, description, digicert_url, dns_target_creds, eab_hmac_key, eab_key_id, email, gcp_project, hosted_zone, json, key, max_versions, name, resource_group, timeout, token, uid_token].hash
292
+ end
293
+
294
+ # Builds the object from hash
295
+ # @param [Hash] attributes Model attributes in the form of hash
296
+ # @return [Object] Returns the model itself
297
+ def self.build_from_hash(attributes)
298
+ return nil unless attributes.is_a?(Hash)
299
+ attributes = attributes.transform_keys(&:to_sym)
300
+ transformed_hash = {}
301
+ openapi_types.each_pair do |key, type|
302
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
303
+ transformed_hash["#{key}"] = nil
304
+ elsif type =~ /\AArray<(.*)>/i
305
+ # check to ensure the input is an array given that the attribute
306
+ # is documented as an array but the input is not
307
+ if attributes[attribute_map[key]].is_a?(Array)
308
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
309
+ end
310
+ elsif !attributes[attribute_map[key]].nil?
311
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
312
+ end
313
+ end
314
+ new(transformed_hash)
315
+ end
316
+
317
+ # Deserializes the data based on type
318
+ # @param string type Data type
319
+ # @param string value Value to be deserialized
320
+ # @return [Object] Deserialized data
321
+ def self._deserialize(type, value)
322
+ case type.to_sym
323
+ when :Time
324
+ Time.parse(value)
325
+ when :Date
326
+ Date.parse(value)
327
+ when :String
328
+ value.to_s
329
+ when :Integer
330
+ value.to_i
331
+ when :Float
332
+ value.to_f
333
+ when :Boolean
334
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
335
+ true
336
+ else
337
+ false
338
+ end
339
+ when :Object
340
+ # generic object (usually a Hash), return directly
341
+ value
342
+ when /\AArray<(?<inner_type>.+)>\z/
343
+ inner_type = Regexp.last_match[:inner_type]
344
+ value.map { |v| _deserialize(inner_type, v) }
345
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
346
+ k_type = Regexp.last_match[:k_type]
347
+ v_type = Regexp.last_match[:v_type]
348
+ {}.tap do |hash|
349
+ value.each do |k, v|
350
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
351
+ end
352
+ end
353
+ else # model
354
+ # models (e.g. Pet) or oneOf
355
+ klass = Akeyless.const_get(type)
356
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
357
+ end
358
+ end
359
+
360
+ # Returns the string representation of the object
361
+ # @return [String] String presentation of the object
362
+ def to_s
363
+ to_hash.to_s
364
+ end
365
+
366
+ # to_body is an alias to to_hash (backward compatibility)
367
+ # @return [Hash] Returns the object in the form of hash
368
+ def to_body
369
+ to_hash
370
+ end
371
+
372
+ # Returns the object in the form of hash
373
+ # @return [Hash] Returns the object in the form of hash
374
+ def to_hash
375
+ hash = {}
376
+ self.class.attribute_map.each_pair do |attr, param|
377
+ value = self.send(attr)
378
+ if value.nil?
379
+ is_nullable = self.class.openapi_nullable.include?(attr)
380
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
381
+ end
382
+
383
+ hash[param] = _to_hash(value)
384
+ end
385
+ hash
386
+ end
387
+
388
+ # Outputs non-array value in the form of hash
389
+ # For object, use to_hash. Otherwise, just return the value
390
+ # @param [Object] value Any valid value
391
+ # @return [Hash] Returns the value in the form of hash
392
+ def _to_hash(value)
393
+ if value.is_a?(Array)
394
+ value.compact.map { |v| _to_hash(v) }
395
+ elsif value.is_a?(Hash)
396
+ {}.tap do |hash|
397
+ value.each { |k, v| hash[k] = _to_hash(v) }
398
+ end
399
+ elsif value.respond_to? :to_hash
400
+ value.to_hash
401
+ else
402
+ value
403
+ end
404
+ end
405
+
406
+ end
407
+
408
+ end
@@ -15,6 +15,9 @@ require 'time'
15
15
 
16
16
  module Akeyless
17
17
  class TargetCreateDockerhub
18
+ # Protection from accidental deletion of this object [true/false]
19
+ attr_accessor :delete_protection
20
+
18
21
  # Description of the object
19
22
  attr_accessor :description
20
23
 
@@ -45,6 +48,7 @@ module Akeyless
45
48
  # Attribute mapping from ruby-style variable name to JSON key.
46
49
  def self.attribute_map
47
50
  {
51
+ :'delete_protection' => :'delete_protection',
48
52
  :'description' => :'description',
49
53
  :'dockerhub_password' => :'dockerhub-password',
50
54
  :'dockerhub_username' => :'dockerhub-username',
@@ -65,6 +69,7 @@ module Akeyless
65
69
  # Attribute type mapping.
66
70
  def self.openapi_types
67
71
  {
72
+ :'delete_protection' => :'String',
68
73
  :'description' => :'String',
69
74
  :'dockerhub_password' => :'String',
70
75
  :'dockerhub_username' => :'String',
@@ -98,6 +103,10 @@ module Akeyless
98
103
  h[k.to_sym] = v
99
104
  }
100
105
 
106
+ if attributes.key?(:'delete_protection')
107
+ self.delete_protection = attributes[:'delete_protection']
108
+ end
109
+
101
110
  if attributes.key?(:'description')
102
111
  self.description = attributes[:'description']
103
112
  end
@@ -164,6 +173,7 @@ module Akeyless
164
173
  def ==(o)
165
174
  return true if self.equal?(o)
166
175
  self.class == o.class &&
176
+ delete_protection == o.delete_protection &&
167
177
  description == o.description &&
168
178
  dockerhub_password == o.dockerhub_password &&
169
179
  dockerhub_username == o.dockerhub_username &&
@@ -184,7 +194,7 @@ module Akeyless
184
194
  # Calculates hash code according to all attributes.
185
195
  # @return [Integer] Hash code
186
196
  def hash
187
- [description, dockerhub_password, dockerhub_username, json, key, max_versions, name, token, uid_token].hash
197
+ [delete_protection, description, dockerhub_password, dockerhub_username, json, key, max_versions, name, token, uid_token].hash
188
198
  end
189
199
 
190
200
  # Builds the object from hash
@@ -15,6 +15,9 @@ require 'time'
15
15
 
16
16
  module Akeyless
17
17
  class TargetCreateEks
18
+ # Protection from accidental deletion of this object [true/false]
19
+ attr_accessor :delete_protection
20
+
18
21
  # Description of the object
19
22
  attr_accessor :description
20
23
 
@@ -59,6 +62,7 @@ module Akeyless
59
62
  # Attribute mapping from ruby-style variable name to JSON key.
60
63
  def self.attribute_map
61
64
  {
65
+ :'delete_protection' => :'delete_protection',
62
66
  :'description' => :'description',
63
67
  :'eks_access_key_id' => :'eks-access-key-id',
64
68
  :'eks_cluster_ca_cert' => :'eks-cluster-ca-cert',
@@ -84,6 +88,7 @@ module Akeyless
84
88
  # Attribute type mapping.
85
89
  def self.openapi_types
86
90
  {
91
+ :'delete_protection' => :'String',
87
92
  :'description' => :'String',
88
93
  :'eks_access_key_id' => :'String',
89
94
  :'eks_cluster_ca_cert' => :'String',
@@ -122,6 +127,10 @@ module Akeyless
122
127
  h[k.to_sym] = v
123
128
  }
124
129
 
130
+ if attributes.key?(:'delete_protection')
131
+ self.delete_protection = attributes[:'delete_protection']
132
+ end
133
+
125
134
  if attributes.key?(:'description')
126
135
  self.description = attributes[:'description']
127
136
  end
@@ -245,6 +254,7 @@ module Akeyless
245
254
  def ==(o)
246
255
  return true if self.equal?(o)
247
256
  self.class == o.class &&
257
+ delete_protection == o.delete_protection &&
248
258
  description == o.description &&
249
259
  eks_access_key_id == o.eks_access_key_id &&
250
260
  eks_cluster_ca_cert == o.eks_cluster_ca_cert &&
@@ -270,7 +280,7 @@ module Akeyless
270
280
  # Calculates hash code according to all attributes.
271
281
  # @return [Integer] Hash code
272
282
  def hash
273
- [description, eks_access_key_id, eks_cluster_ca_cert, eks_cluster_endpoint, eks_cluster_name, eks_region, eks_secret_access_key, json, key, max_versions, name, token, uid_token, use_gw_cloud_identity].hash
283
+ [delete_protection, description, eks_access_key_id, eks_cluster_ca_cert, eks_cluster_endpoint, eks_cluster_name, eks_region, eks_secret_access_key, json, key, max_versions, name, token, uid_token, use_gw_cloud_identity].hash
274
284
  end
275
285
 
276
286
  # Builds the object from hash
@@ -15,6 +15,9 @@ require 'time'
15
15
 
16
16
  module Akeyless
17
17
  class TargetCreateGcp
18
+ # Protection from accidental deletion of this object [true/false]
19
+ attr_accessor :delete_protection
20
+
18
21
  # Description of the object
19
22
  attr_accessor :description
20
23
 
@@ -44,6 +47,7 @@ module Akeyless
44
47
  # Attribute mapping from ruby-style variable name to JSON key.
45
48
  def self.attribute_map
46
49
  {
50
+ :'delete_protection' => :'delete_protection',
47
51
  :'description' => :'description',
48
52
  :'gcp_key' => :'gcp-key',
49
53
  :'json' => :'json',
@@ -64,6 +68,7 @@ module Akeyless
64
68
  # Attribute type mapping.
65
69
  def self.openapi_types
66
70
  {
71
+ :'delete_protection' => :'String',
67
72
  :'description' => :'String',
68
73
  :'gcp_key' => :'String',
69
74
  :'json' => :'Boolean',
@@ -97,6 +102,10 @@ module Akeyless
97
102
  h[k.to_sym] = v
98
103
  }
99
104
 
105
+ if attributes.key?(:'delete_protection')
106
+ self.delete_protection = attributes[:'delete_protection']
107
+ end
108
+
100
109
  if attributes.key?(:'description')
101
110
  self.description = attributes[:'description']
102
111
  end
@@ -163,6 +172,7 @@ module Akeyless
163
172
  def ==(o)
164
173
  return true if self.equal?(o)
165
174
  self.class == o.class &&
175
+ delete_protection == o.delete_protection &&
166
176
  description == o.description &&
167
177
  gcp_key == o.gcp_key &&
168
178
  json == o.json &&
@@ -183,7 +193,7 @@ module Akeyless
183
193
  # Calculates hash code according to all attributes.
184
194
  # @return [Integer] Hash code
185
195
  def hash
186
- [description, gcp_key, json, key, max_versions, name, token, uid_token, use_gw_cloud_identity].hash
196
+ [delete_protection, description, gcp_key, json, key, max_versions, name, token, uid_token, use_gw_cloud_identity].hash
187
197
  end
188
198
 
189
199
  # Builds the object from hash
@@ -19,6 +19,9 @@ module Akeyless
19
19
  # API key for Gemini
20
20
  attr_accessor :api_key
21
21
 
22
+ # Protection from accidental deletion of this object [true/false]
23
+ attr_accessor :delete_protection
24
+
22
25
  # Description of the object
23
26
  attr_accessor :description
24
27
 
@@ -47,6 +50,7 @@ module Akeyless
47
50
  def self.attribute_map
48
51
  {
49
52
  :'api_key' => :'api-key',
53
+ :'delete_protection' => :'delete_protection',
50
54
  :'description' => :'description',
51
55
  :'gemini_url' => :'gemini-url',
52
56
  :'json' => :'json',
@@ -67,6 +71,7 @@ module Akeyless
67
71
  def self.openapi_types
68
72
  {
69
73
  :'api_key' => :'String',
74
+ :'delete_protection' => :'String',
70
75
  :'description' => :'String',
71
76
  :'gemini_url' => :'String',
72
77
  :'json' => :'Boolean',
@@ -103,6 +108,10 @@ module Akeyless
103
108
  self.api_key = attributes[:'api_key']
104
109
  end
105
110
 
111
+ if attributes.key?(:'delete_protection')
112
+ self.delete_protection = attributes[:'delete_protection']
113
+ end
114
+
106
115
  if attributes.key?(:'description')
107
116
  self.description = attributes[:'description']
108
117
  end
@@ -168,6 +177,7 @@ module Akeyless
168
177
  return true if self.equal?(o)
169
178
  self.class == o.class &&
170
179
  api_key == o.api_key &&
180
+ delete_protection == o.delete_protection &&
171
181
  description == o.description &&
172
182
  gemini_url == o.gemini_url &&
173
183
  json == o.json &&
@@ -187,7 +197,7 @@ module Akeyless
187
197
  # Calculates hash code according to all attributes.
188
198
  # @return [Integer] Hash code
189
199
  def hash
190
- [api_key, description, gemini_url, json, key, max_versions, name, token, uid_token].hash
200
+ [api_key, delete_protection, description, gemini_url, json, key, max_versions, name, token, uid_token].hash
191
201
  end
192
202
 
193
203
  # Builds the object from hash
@@ -15,6 +15,9 @@ require 'time'
15
15
 
16
16
  module Akeyless
17
17
  class TargetCreateGithub
18
+ # Protection from accidental deletion of this object [true/false]
19
+ attr_accessor :delete_protection
20
+
18
21
  # Description of the object
19
22
  attr_accessor :description
20
23
 
@@ -48,6 +51,7 @@ module Akeyless
48
51
  # Attribute mapping from ruby-style variable name to JSON key.
49
52
  def self.attribute_map
50
53
  {
54
+ :'delete_protection' => :'delete_protection',
51
55
  :'description' => :'description',
52
56
  :'github_app_id' => :'github-app-id',
53
57
  :'github_app_private_key' => :'github-app-private-key',
@@ -69,6 +73,7 @@ module Akeyless
69
73
  # Attribute type mapping.
70
74
  def self.openapi_types
71
75
  {
76
+ :'delete_protection' => :'String',
72
77
  :'description' => :'String',
73
78
  :'github_app_id' => :'Integer',
74
79
  :'github_app_private_key' => :'String',
@@ -103,6 +108,10 @@ module Akeyless
103
108
  h[k.to_sym] = v
104
109
  }
105
110
 
111
+ if attributes.key?(:'delete_protection')
112
+ self.delete_protection = attributes[:'delete_protection']
113
+ end
114
+
106
115
  if attributes.key?(:'description')
107
116
  self.description = attributes[:'description']
108
117
  end
@@ -175,6 +184,7 @@ module Akeyless
175
184
  def ==(o)
176
185
  return true if self.equal?(o)
177
186
  self.class == o.class &&
187
+ delete_protection == o.delete_protection &&
178
188
  description == o.description &&
179
189
  github_app_id == o.github_app_id &&
180
190
  github_app_private_key == o.github_app_private_key &&
@@ -196,7 +206,7 @@ module Akeyless
196
206
  # Calculates hash code according to all attributes.
197
207
  # @return [Integer] Hash code
198
208
  def hash
199
- [description, github_app_id, github_app_private_key, github_base_url, json, key, max_versions, name, token, uid_token].hash
209
+ [delete_protection, description, github_app_id, github_app_private_key, github_base_url, json, key, max_versions, name, token, uid_token].hash
200
210
  end
201
211
 
202
212
  # Builds the object from hash