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
@@ -15,6 +15,9 @@ require 'time'
15
15
 
16
16
  module Akeyless
17
17
  class TargetCreateGitlab
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
  :'gitlab_access_token' => :'gitlab-access-token',
53
57
  :'gitlab_certificate' => :'gitlab-certificate',
@@ -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
  :'gitlab_access_token' => :'String',
74
79
  :'gitlab_certificate' => :'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
  gitlab_access_token == o.gitlab_access_token &&
180
190
  gitlab_certificate == o.gitlab_certificate &&
@@ -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, gitlab_access_token, gitlab_certificate, gitlab_url, json, key, max_versions, name, token, uid_token].hash
209
+ [delete_protection, description, gitlab_access_token, gitlab_certificate, gitlab_url, json, key, max_versions, name, token, uid_token].hash
200
210
  end
201
211
 
202
212
  # Builds the object from hash
@@ -15,6 +15,9 @@ require 'time'
15
15
 
16
16
  module Akeyless
17
17
  class TargetCreateGke
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
 
@@ -56,6 +59,7 @@ module Akeyless
56
59
  # Attribute mapping from ruby-style variable name to JSON key.
57
60
  def self.attribute_map
58
61
  {
62
+ :'delete_protection' => :'delete_protection',
59
63
  :'description' => :'description',
60
64
  :'gke_account_key' => :'gke-account-key',
61
65
  :'gke_cluster_cert' => :'gke-cluster-cert',
@@ -80,6 +84,7 @@ module Akeyless
80
84
  # Attribute type mapping.
81
85
  def self.openapi_types
82
86
  {
87
+ :'delete_protection' => :'String',
83
88
  :'description' => :'String',
84
89
  :'gke_account_key' => :'String',
85
90
  :'gke_cluster_cert' => :'String',
@@ -117,6 +122,10 @@ module Akeyless
117
122
  h[k.to_sym] = v
118
123
  }
119
124
 
125
+ if attributes.key?(:'delete_protection')
126
+ self.delete_protection = attributes[:'delete_protection']
127
+ end
128
+
120
129
  if attributes.key?(:'description')
121
130
  self.description = attributes[:'description']
122
131
  end
@@ -199,6 +208,7 @@ module Akeyless
199
208
  def ==(o)
200
209
  return true if self.equal?(o)
201
210
  self.class == o.class &&
211
+ delete_protection == o.delete_protection &&
202
212
  description == o.description &&
203
213
  gke_account_key == o.gke_account_key &&
204
214
  gke_cluster_cert == o.gke_cluster_cert &&
@@ -223,7 +233,7 @@ module Akeyless
223
233
  # Calculates hash code according to all attributes.
224
234
  # @return [Integer] Hash code
225
235
  def hash
226
- [description, gke_account_key, gke_cluster_cert, gke_cluster_endpoint, gke_cluster_name, gke_service_account_email, json, key, max_versions, name, token, uid_token, use_gw_cloud_identity].hash
236
+ [delete_protection, description, gke_account_key, gke_cluster_cert, gke_cluster_endpoint, gke_cluster_name, gke_service_account_email, json, key, max_versions, name, token, uid_token, use_gw_cloud_identity].hash
227
237
  end
228
238
 
229
239
  # Builds the object from hash
@@ -27,6 +27,9 @@ module Akeyless
27
27
  # Telephone of the GlobalSign GCC account contact
28
28
  attr_accessor :contact_phone
29
29
 
30
+ # Protection from accidental deletion of this object [true/false]
31
+ attr_accessor :delete_protection
32
+
30
33
  # Description of the object
31
34
  attr_accessor :description
32
35
 
@@ -67,6 +70,7 @@ module Akeyless
67
70
  :'contact_first_name' => :'contact-first-name',
68
71
  :'contact_last_name' => :'contact-last-name',
69
72
  :'contact_phone' => :'contact-phone',
73
+ :'delete_protection' => :'delete_protection',
70
74
  :'description' => :'description',
71
75
  :'json' => :'json',
72
76
  :'key' => :'key',
@@ -93,6 +97,7 @@ module Akeyless
93
97
  :'contact_first_name' => :'String',
94
98
  :'contact_last_name' => :'String',
95
99
  :'contact_phone' => :'String',
100
+ :'delete_protection' => :'String',
96
101
  :'description' => :'String',
97
102
  :'json' => :'Boolean',
98
103
  :'key' => :'String',
@@ -152,6 +157,10 @@ module Akeyless
152
157
  self.contact_phone = nil
153
158
  end
154
159
 
160
+ if attributes.key?(:'delete_protection')
161
+ self.delete_protection = attributes[:'delete_protection']
162
+ end
163
+
155
164
  if attributes.key?(:'description')
156
165
  self.description = attributes[:'description']
157
166
  end
@@ -273,6 +282,7 @@ module Akeyless
273
282
  contact_first_name == o.contact_first_name &&
274
283
  contact_last_name == o.contact_last_name &&
275
284
  contact_phone == o.contact_phone &&
285
+ delete_protection == o.delete_protection &&
276
286
  description == o.description &&
277
287
  json == o.json &&
278
288
  key == o.key &&
@@ -295,7 +305,7 @@ module Akeyless
295
305
  # Calculates hash code according to all attributes.
296
306
  # @return [Integer] Hash code
297
307
  def hash
298
- [contact_email, contact_first_name, contact_last_name, contact_phone, description, json, key, max_versions, name, password, profile_id, timeout, token, uid_token, username].hash
308
+ [contact_email, contact_first_name, contact_last_name, contact_phone, delete_protection, description, json, key, max_versions, name, password, profile_id, timeout, token, uid_token, username].hash
299
309
  end
300
310
 
301
311
  # Builds the object from hash
@@ -21,6 +21,9 @@ module Akeyless
21
21
  # API Secret of the GlobalSign Atlas account
22
22
  attr_accessor :api_secret
23
23
 
24
+ # Protection from accidental deletion of this object [true/false]
25
+ attr_accessor :delete_protection
26
+
24
27
  # Description of the object
25
28
  attr_accessor :description
26
29
 
@@ -56,6 +59,7 @@ module Akeyless
56
59
  {
57
60
  :'api_key' => :'api-key',
58
61
  :'api_secret' => :'api-secret',
62
+ :'delete_protection' => :'delete_protection',
59
63
  :'description' => :'description',
60
64
  :'json' => :'json',
61
65
  :'key' => :'key',
@@ -79,6 +83,7 @@ module Akeyless
79
83
  {
80
84
  :'api_key' => :'String',
81
85
  :'api_secret' => :'String',
86
+ :'delete_protection' => :'String',
82
87
  :'description' => :'String',
83
88
  :'json' => :'Boolean',
84
89
  :'key' => :'String',
@@ -125,6 +130,10 @@ module Akeyless
125
130
  self.api_secret = nil
126
131
  end
127
132
 
133
+ if attributes.key?(:'delete_protection')
134
+ self.delete_protection = attributes[:'delete_protection']
135
+ end
136
+
128
137
  if attributes.key?(:'description')
129
138
  self.description = attributes[:'description']
130
139
  end
@@ -209,6 +218,7 @@ module Akeyless
209
218
  self.class == o.class &&
210
219
  api_key == o.api_key &&
211
220
  api_secret == o.api_secret &&
221
+ delete_protection == o.delete_protection &&
212
222
  description == o.description &&
213
223
  json == o.json &&
214
224
  key == o.key &&
@@ -230,7 +240,7 @@ module Akeyless
230
240
  # Calculates hash code according to all attributes.
231
241
  # @return [Integer] Hash code
232
242
  def hash
233
- [api_key, api_secret, description, json, key, max_versions, mtls_cert_data_base64, mtls_key_data_base64, name, timeout, token, uid_token].hash
243
+ [api_key, api_secret, delete_protection, description, json, key, max_versions, mtls_cert_data_base64, mtls_key_data_base64, name, timeout, token, uid_token].hash
234
244
  end
235
245
 
236
246
  # Builds the object from hash
@@ -21,6 +21,9 @@ module Akeyless
21
21
  # Customer ID (ShopperId) required for renewal of imported certificates
22
22
  attr_accessor :customer_id
23
23
 
24
+ # Protection from accidental deletion of this object [true/false]
25
+ attr_accessor :delete_protection
26
+
24
27
  # Description of the object
25
28
  attr_accessor :description
26
29
 
@@ -65,6 +68,7 @@ module Akeyless
65
68
  {
66
69
  :'api_key' => :'api-key',
67
70
  :'customer_id' => :'customer_id',
71
+ :'delete_protection' => :'delete_protection',
68
72
  :'description' => :'description',
69
73
  :'imap_fqdn' => :'imap-fqdn',
70
74
  :'imap_password' => :'imap-password',
@@ -91,6 +95,7 @@ module Akeyless
91
95
  {
92
96
  :'api_key' => :'String',
93
97
  :'customer_id' => :'String',
98
+ :'delete_protection' => :'String',
94
99
  :'description' => :'String',
95
100
  :'imap_fqdn' => :'String',
96
101
  :'imap_password' => :'String',
@@ -138,6 +143,10 @@ module Akeyless
138
143
  self.customer_id = attributes[:'customer_id']
139
144
  end
140
145
 
146
+ if attributes.key?(:'delete_protection')
147
+ self.delete_protection = attributes[:'delete_protection']
148
+ end
149
+
141
150
  if attributes.key?(:'description')
142
151
  self.description = attributes[:'description']
143
152
  end
@@ -259,6 +268,7 @@ module Akeyless
259
268
  self.class == o.class &&
260
269
  api_key == o.api_key &&
261
270
  customer_id == o.customer_id &&
271
+ delete_protection == o.delete_protection &&
262
272
  description == o.description &&
263
273
  imap_fqdn == o.imap_fqdn &&
264
274
  imap_password == o.imap_password &&
@@ -283,7 +293,7 @@ module Akeyless
283
293
  # Calculates hash code according to all attributes.
284
294
  # @return [Integer] Hash code
285
295
  def hash
286
- [api_key, customer_id, description, imap_fqdn, imap_password, imap_port, imap_username, json, key, max_versions, name, secret, timeout, token, uid_token].hash
296
+ [api_key, customer_id, delete_protection, description, imap_fqdn, imap_password, imap_port, imap_username, json, key, max_versions, name, secret, timeout, token, uid_token].hash
287
297
  end
288
298
 
289
299
  # Builds the object from hash
@@ -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
+ # targetCreateGoogleTrust is a command that creates a new Google Trust target
18
+ class TargetCreateGoogleTrust
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
+ # Name of existing cloud target for DNS credentials. Required when challenge type is dns. Supported providers: AWS, Azure, GCP
29
+ attr_accessor :dns_target_creds
30
+
31
+ # External Account Binding HMAC key (required for ACME account bootstrap on create)
32
+ attr_accessor :eab_hmac_key
33
+
34
+ # External Account Binding key identifier (required for ACME account bootstrap on create)
35
+ attr_accessor :eab_key_id
36
+
37
+ # Email address for ACME account registration
38
+ attr_accessor :email
39
+
40
+ # GCP Cloud DNS project ID. Optional and can be derived from service account
41
+ attr_accessor :gcp_project
42
+
43
+ # Google Trust directory environment. Options: [production/staging]
44
+ attr_accessor :google_trust_url
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
+ :'dns_target_creds' => :'dns-target-creds',
80
+ :'eab_hmac_key' => :'eab-hmac-key',
81
+ :'eab_key_id' => :'eab-key-id',
82
+ :'email' => :'email',
83
+ :'gcp_project' => :'gcp-project',
84
+ :'google_trust_url' => :'google-trust-url',
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
+ :'dns_target_creds' => :'String',
109
+ :'eab_hmac_key' => :'String',
110
+ :'eab_key_id' => :'String',
111
+ :'email' => :'String',
112
+ :'gcp_project' => :'String',
113
+ :'google_trust_url' => :'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::TargetCreateGoogleTrust` 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::TargetCreateGoogleTrust`. 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?(:'dns_target_creds')
162
+ self.dns_target_creds = attributes[:'dns_target_creds']
163
+ end
164
+
165
+ if attributes.key?(:'eab_hmac_key')
166
+ self.eab_hmac_key = attributes[:'eab_hmac_key']
167
+ end
168
+
169
+ if attributes.key?(:'eab_key_id')
170
+ self.eab_key_id = attributes[:'eab_key_id']
171
+ end
172
+
173
+ if attributes.key?(:'email')
174
+ self.email = attributes[:'email']
175
+ else
176
+ self.email = nil
177
+ end
178
+
179
+ if attributes.key?(:'gcp_project')
180
+ self.gcp_project = attributes[:'gcp_project']
181
+ end
182
+
183
+ if attributes.key?(:'google_trust_url')
184
+ self.google_trust_url = attributes[:'google_trust_url']
185
+ else
186
+ self.google_trust_url = 'production'
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
+ dns_target_creds == o.dns_target_creds &&
266
+ eab_hmac_key == o.eab_hmac_key &&
267
+ eab_key_id == o.eab_key_id &&
268
+ email == o.email &&
269
+ gcp_project == o.gcp_project &&
270
+ google_trust_url == o.google_trust_url &&
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, dns_target_creds, eab_hmac_key, eab_key_id, email, gcp_project, google_trust_url, 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