akeyless 5.0.27 → 5.0.30

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 (274) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +63 -1
  3. data/docs/AccountGeneralSettings.md +6 -0
  4. data/docs/AnthropicTargetDetails.md +20 -0
  5. data/docs/AuthMethod.md +3 -1
  6. data/docs/AuthMethodAccessInfo.md +2 -0
  7. data/docs/AuthMethodCreateSAML.md +3 -1
  8. data/docs/AuthMethodCreateUniversalIdentity.md +2 -0
  9. data/docs/AuthMethodUpdateSAML.md +3 -1
  10. data/docs/AuthMethodUpdateUniversalIdentity.md +2 -0
  11. data/docs/BedrockTargetDetails.md +20 -0
  12. data/docs/CreateAuthMethodSAML.md +3 -1
  13. data/docs/CreateAuthMethodUniversalIdentity.md +2 -0
  14. data/docs/CreateDBTarget.md +2 -0
  15. data/docs/CreateMcpSecretBearerToken.md +46 -0
  16. data/docs/CreateMcpSecretOAuthAuthCode.md +56 -0
  17. data/docs/CreateMcpSecretOAuthClientCreds.md +52 -0
  18. data/docs/CreatePKICertIssuer.md +1 -1
  19. data/docs/CustomDnsTargetDetails.md +20 -0
  20. data/docs/DSProducerDetails.md +2 -0
  21. data/docs/DbTargetDetails.md +2 -0
  22. data/docs/EmailCustomization.md +28 -0
  23. data/docs/EmailCustomizationAccountInformation.md +24 -0
  24. data/docs/EmailCustomizationAccountInformationValues.md +24 -0
  25. data/docs/EsmGetSecretOutput.md +11 -1
  26. data/docs/FileDownloadInstructions.md +20 -0
  27. data/docs/FileInfo.md +50 -0
  28. data/docs/FolderDeleteSync.md +32 -0
  29. data/docs/FolderDeleteSyncOutput.md +24 -0
  30. data/docs/FolderSync.md +34 -0
  31. data/docs/FolderSyncAll.md +26 -0
  32. data/docs/FolderSyncAllOutput.md +18 -0
  33. data/docs/FolderSyncOutput.md +24 -0
  34. data/docs/FolderUSCSyncConfig.md +2 -0
  35. data/docs/GatewayCreateMigration.md +2 -0
  36. data/docs/GatewayUpdateMigration.md +2 -0
  37. data/docs/GetKubeExecCreds.md +1 -1
  38. data/docs/GetPKICertificate.md +1 -1
  39. data/docs/GrokTargetDetails.md +22 -0
  40. data/docs/HashiPayload.md +2 -0
  41. data/docs/Item.md +2 -0
  42. data/docs/KeycloakTargetDetails.md +24 -0
  43. data/docs/OIDCAccessRules.md +2 -0
  44. data/docs/OktaTargetDetails.md +20 -0
  45. data/docs/PersonalFolderGlobalMappingSettings.md +20 -0
  46. data/docs/RotatedSecretCreateAws.md +4 -4
  47. data/docs/RotatedSecretCreateAzure.md +6 -4
  48. data/docs/RotatedSecretCreateCassandra.md +4 -4
  49. data/docs/RotatedSecretCreateCustom.md +4 -4
  50. data/docs/RotatedSecretCreateDockerhub.md +4 -4
  51. data/docs/RotatedSecretCreateGcp.md +4 -4
  52. data/docs/RotatedSecretCreateHanadb.md +4 -4
  53. data/docs/RotatedSecretCreateHashiVault.md +60 -0
  54. data/docs/RotatedSecretCreateLdap.md +4 -4
  55. data/docs/RotatedSecretCreateMongodb.md +4 -4
  56. data/docs/RotatedSecretCreateMssql.md +4 -4
  57. data/docs/RotatedSecretCreateMysql.md +4 -4
  58. data/docs/RotatedSecretCreateOpenAI.md +4 -4
  59. data/docs/RotatedSecretCreateOracledb.md +4 -4
  60. data/docs/RotatedSecretCreatePostgresql.md +4 -4
  61. data/docs/RotatedSecretCreateRedis.md +4 -4
  62. data/docs/RotatedSecretCreateRedshift.md +4 -4
  63. data/docs/RotatedSecretCreateSnowflake.md +4 -4
  64. data/docs/RotatedSecretCreateSplunk.md +4 -4
  65. data/docs/RotatedSecretCreateSsh.md +4 -4
  66. data/docs/RotatedSecretCreateWindows.md +4 -4
  67. data/docs/RotatedSecretUpdateAws.md +4 -4
  68. data/docs/RotatedSecretUpdateAzure.md +6 -4
  69. data/docs/RotatedSecretUpdateCassandra.md +4 -4
  70. data/docs/RotatedSecretUpdateCustom.md +4 -4
  71. data/docs/RotatedSecretUpdateDockerhub.md +4 -4
  72. data/docs/RotatedSecretUpdateGcp.md +4 -4
  73. data/docs/RotatedSecretUpdateHanadb.md +4 -4
  74. data/docs/RotatedSecretUpdateHashiVault.md +64 -0
  75. data/docs/RotatedSecretUpdateLdap.md +4 -4
  76. data/docs/RotatedSecretUpdateMongodb.md +4 -4
  77. data/docs/RotatedSecretUpdateMssql.md +4 -4
  78. data/docs/RotatedSecretUpdateMysql.md +4 -4
  79. data/docs/RotatedSecretUpdateOpenAI.md +4 -4
  80. data/docs/RotatedSecretUpdateOracledb.md +4 -4
  81. data/docs/RotatedSecretUpdatePostgresql.md +4 -4
  82. data/docs/RotatedSecretUpdateRedis.md +4 -4
  83. data/docs/RotatedSecretUpdateRedshift.md +4 -4
  84. data/docs/RotatedSecretUpdateSnowflake.md +4 -4
  85. data/docs/RotatedSecretUpdateSplunk.md +4 -4
  86. data/docs/RotatedSecretUpdateSsh.md +4 -4
  87. data/docs/RotatedSecretUpdateWindows.md +4 -4
  88. data/docs/RuntimeAuthorityCommand.md +4 -0
  89. data/docs/SAMLAccessRules.md +3 -1
  90. data/docs/SecretInfo.md +5 -1
  91. data/docs/StaticSecretDetailsInfo.md +2 -0
  92. data/docs/TargetCreateAnthropic.md +36 -0
  93. data/docs/TargetCreateBedrock.md +36 -0
  94. data/docs/TargetCreateCustomDns.md +36 -0
  95. data/docs/TargetCreateDB.md +2 -0
  96. data/docs/TargetCreateGrok.md +38 -0
  97. data/docs/TargetCreateKeycloak.md +40 -0
  98. data/docs/TargetCreateOkta.md +36 -0
  99. data/docs/TargetTypeDetailsInput.md +12 -0
  100. data/docs/TargetUpdateAnthropic.md +42 -0
  101. data/docs/TargetUpdateBedrock.md +42 -0
  102. data/docs/TargetUpdateCustomDns.md +40 -0
  103. data/docs/TargetUpdateDB.md +2 -0
  104. data/docs/TargetUpdateGrok.md +44 -0
  105. data/docs/TargetUpdateKeycloak.md +44 -0
  106. data/docs/TargetUpdateOkta.md +40 -0
  107. data/docs/UidExpirationEvent.md +18 -0
  108. data/docs/UpdateAuthMethodSAML.md +3 -1
  109. data/docs/UpdateAuthMethodUniversalIdentity.md +2 -0
  110. data/docs/UpdateDBTarget.md +2 -0
  111. data/docs/UpdateMcpSecretBearerToken.md +40 -0
  112. data/docs/UpdateMcpSecretOAuthAuthCode.md +50 -0
  113. data/docs/UpdateMcpSecretOAuthClientCreds.md +46 -0
  114. data/docs/UpdatePKICertIssuer.md +1 -1
  115. data/docs/UscGetSecretOutput.md +11 -1
  116. data/docs/V2Api.md +1449 -0
  117. data/lib/akeyless/api/v2_api.rb +1617 -145
  118. data/lib/akeyless/models/account_general_settings.rb +29 -1
  119. data/lib/akeyless/models/anthropic_target_details.rb +224 -0
  120. data/lib/akeyless/models/auth_method.rb +15 -4
  121. data/lib/akeyless/models/auth_method_access_info.rb +13 -1
  122. data/lib/akeyless/models/auth_method_create_saml.rb +14 -4
  123. data/lib/akeyless/models/auth_method_create_universal_identity.rb +13 -1
  124. data/lib/akeyless/models/auth_method_update_saml.rb +14 -4
  125. data/lib/akeyless/models/auth_method_update_universal_identity.rb +13 -1
  126. data/lib/akeyless/models/bedrock_target_details.rb +224 -0
  127. data/lib/akeyless/models/create_auth_method_saml.rb +14 -4
  128. data/lib/akeyless/models/create_auth_method_universal_identity.rb +13 -1
  129. data/lib/akeyless/models/create_db_target.rb +11 -1
  130. data/lib/akeyless/models/create_mcp_secret_bearer_token.rb +371 -0
  131. data/lib/akeyless/models/create_mcp_secret_o_auth_auth_code.rb +423 -0
  132. data/lib/akeyless/models/create_mcp_secret_o_auth_client_creds.rb +403 -0
  133. data/lib/akeyless/models/create_pki_cert_issuer.rb +1 -1
  134. data/lib/akeyless/models/custom_dns_target_details.rb +225 -0
  135. data/lib/akeyless/models/db_target_details.rb +11 -1
  136. data/lib/akeyless/models/ds_producer_details.rb +11 -1
  137. data/lib/akeyless/models/email_customization.rb +259 -0
  138. data/lib/akeyless/models/email_customization_account_information.rb +242 -0
  139. data/lib/akeyless/models/email_customization_account_information_values.rb +241 -0
  140. data/lib/akeyless/models/esm_get_secret_output.rb +53 -4
  141. data/lib/akeyless/models/file_download_instructions.rb +223 -0
  142. data/lib/akeyless/models/file_info.rb +358 -0
  143. data/lib/akeyless/models/folder_delete_sync.rb +305 -0
  144. data/lib/akeyless/models/folder_delete_sync_output.rb +245 -0
  145. data/lib/akeyless/models/folder_sync.rb +306 -0
  146. data/lib/akeyless/models/folder_sync_all.rb +266 -0
  147. data/lib/akeyless/models/folder_sync_all_output.rb +214 -0
  148. data/lib/akeyless/models/folder_sync_output.rb +247 -0
  149. data/lib/akeyless/models/folder_usc_sync_config.rb +10 -1
  150. data/lib/akeyless/models/gateway_create_migration.rb +11 -1
  151. data/lib/akeyless/models/gateway_update_migration.rb +11 -1
  152. data/lib/akeyless/models/get_kube_exec_creds.rb +1 -1
  153. data/lib/akeyless/models/get_pki_certificate.rb +1 -1
  154. data/lib/akeyless/models/grok_target_details.rb +234 -0
  155. data/lib/akeyless/models/hashi_payload.rb +10 -1
  156. data/lib/akeyless/models/item.rb +10 -1
  157. data/lib/akeyless/models/keycloak_target_details.rb +242 -0
  158. data/lib/akeyless/models/oidc_access_rules.rb +11 -1
  159. data/lib/akeyless/models/okta_target_details.rb +224 -0
  160. data/lib/akeyless/models/personal_folder_global_mapping_settings.rb +223 -0
  161. data/lib/akeyless/models/rotated_secret_create_aws.rb +0 -4
  162. data/lib/akeyless/models/rotated_secret_create_azure.rb +11 -5
  163. data/lib/akeyless/models/rotated_secret_create_cassandra.rb +0 -4
  164. data/lib/akeyless/models/rotated_secret_create_custom.rb +0 -4
  165. data/lib/akeyless/models/rotated_secret_create_dockerhub.rb +0 -4
  166. data/lib/akeyless/models/rotated_secret_create_gcp.rb +0 -4
  167. data/lib/akeyless/models/rotated_secret_create_hanadb.rb +0 -4
  168. data/lib/akeyless/models/rotated_secret_create_hashi_vault.rb +446 -0
  169. data/lib/akeyless/models/rotated_secret_create_ldap.rb +0 -4
  170. data/lib/akeyless/models/rotated_secret_create_mongodb.rb +0 -4
  171. data/lib/akeyless/models/rotated_secret_create_mssql.rb +0 -4
  172. data/lib/akeyless/models/rotated_secret_create_mysql.rb +0 -4
  173. data/lib/akeyless/models/rotated_secret_create_open_ai.rb +0 -4
  174. data/lib/akeyless/models/rotated_secret_create_oracledb.rb +0 -4
  175. data/lib/akeyless/models/rotated_secret_create_postgresql.rb +0 -4
  176. data/lib/akeyless/models/rotated_secret_create_redis.rb +0 -4
  177. data/lib/akeyless/models/rotated_secret_create_redshift.rb +0 -4
  178. data/lib/akeyless/models/rotated_secret_create_snowflake.rb +0 -4
  179. data/lib/akeyless/models/rotated_secret_create_splunk.rb +0 -4
  180. data/lib/akeyless/models/rotated_secret_create_ssh.rb +0 -4
  181. data/lib/akeyless/models/rotated_secret_create_windows.rb +0 -4
  182. data/lib/akeyless/models/rotated_secret_sync.rb +1 -1
  183. data/lib/akeyless/models/rotated_secret_update_aws.rb +0 -4
  184. data/lib/akeyless/models/rotated_secret_update_azure.rb +11 -5
  185. data/lib/akeyless/models/rotated_secret_update_cassandra.rb +0 -4
  186. data/lib/akeyless/models/rotated_secret_update_custom.rb +0 -4
  187. data/lib/akeyless/models/rotated_secret_update_dockerhub.rb +0 -4
  188. data/lib/akeyless/models/rotated_secret_update_gcp.rb +0 -4
  189. data/lib/akeyless/models/rotated_secret_update_hanadb.rb +0 -4
  190. data/lib/akeyless/models/rotated_secret_update_hashi_vault.rb +463 -0
  191. data/lib/akeyless/models/rotated_secret_update_ldap.rb +0 -4
  192. data/lib/akeyless/models/rotated_secret_update_mongodb.rb +0 -4
  193. data/lib/akeyless/models/rotated_secret_update_mssql.rb +0 -4
  194. data/lib/akeyless/models/rotated_secret_update_mysql.rb +0 -4
  195. data/lib/akeyless/models/rotated_secret_update_open_ai.rb +0 -4
  196. data/lib/akeyless/models/rotated_secret_update_oracledb.rb +0 -4
  197. data/lib/akeyless/models/rotated_secret_update_postgresql.rb +0 -4
  198. data/lib/akeyless/models/rotated_secret_update_redis.rb +0 -4
  199. data/lib/akeyless/models/rotated_secret_update_redshift.rb +0 -4
  200. data/lib/akeyless/models/rotated_secret_update_snowflake.rb +0 -4
  201. data/lib/akeyless/models/rotated_secret_update_splunk.rb +0 -4
  202. data/lib/akeyless/models/rotated_secret_update_ssh.rb +0 -4
  203. data/lib/akeyless/models/rotated_secret_update_windows.rb +0 -4
  204. data/lib/akeyless/models/runtime_authority_command.rb +21 -1
  205. data/lib/akeyless/models/saml_access_rules.rb +14 -4
  206. data/lib/akeyless/models/secret_info.rb +24 -4
  207. data/lib/akeyless/models/static_secret_details_info.rb +10 -1
  208. data/lib/akeyless/models/static_secret_sync.rb +1 -1
  209. data/lib/akeyless/models/target_create_anthropic.rb +317 -0
  210. data/lib/akeyless/models/target_create_bedrock.rb +317 -0
  211. data/lib/akeyless/models/target_create_custom_dns.rb +330 -0
  212. data/lib/akeyless/models/target_create_db.rb +11 -1
  213. data/lib/akeyless/models/target_create_grok.rb +327 -0
  214. data/lib/akeyless/models/target_create_keycloak.rb +334 -0
  215. data/lib/akeyless/models/target_create_okta.rb +314 -0
  216. data/lib/akeyless/models/target_type_details_input.rb +55 -1
  217. data/lib/akeyless/models/target_update_anthropic.rb +351 -0
  218. data/lib/akeyless/models/target_update_bedrock.rb +351 -0
  219. data/lib/akeyless/models/target_update_custom_dns.rb +350 -0
  220. data/lib/akeyless/models/target_update_db.rb +11 -1
  221. data/lib/akeyless/models/target_update_grok.rb +361 -0
  222. data/lib/akeyless/models/target_update_keycloak.rb +354 -0
  223. data/lib/akeyless/models/target_update_okta.rb +334 -0
  224. data/lib/akeyless/models/uid_expiration_event.rb +214 -0
  225. data/lib/akeyless/models/update_auth_method_saml.rb +14 -4
  226. data/lib/akeyless/models/update_auth_method_universal_identity.rb +13 -1
  227. data/lib/akeyless/models/update_db_target.rb +11 -1
  228. data/lib/akeyless/models/update_mcp_secret_bearer_token.rb +338 -0
  229. data/lib/akeyless/models/update_mcp_secret_o_auth_auth_code.rb +390 -0
  230. data/lib/akeyless/models/update_mcp_secret_o_auth_client_creds.rb +370 -0
  231. data/lib/akeyless/models/update_pki_cert_issuer.rb +1 -1
  232. data/lib/akeyless/models/usc_get_secret_output.rb +53 -4
  233. data/lib/akeyless/version.rb +1 -1
  234. data/lib/akeyless.rb +39 -0
  235. data/spec/models/anthropic_target_details_spec.rb +42 -0
  236. data/spec/models/bedrock_target_details_spec.rb +42 -0
  237. data/spec/models/create_mcp_secret_bearer_token_spec.rb +120 -0
  238. data/spec/models/create_mcp_secret_o_auth_auth_code_spec.rb +150 -0
  239. data/spec/models/create_mcp_secret_o_auth_client_creds_spec.rb +138 -0
  240. data/spec/models/custom_dns_target_details_spec.rb +42 -0
  241. data/spec/models/email_customization_account_information_spec.rb +54 -0
  242. data/spec/models/email_customization_account_information_values_spec.rb +54 -0
  243. data/spec/models/email_customization_spec.rb +66 -0
  244. data/spec/models/file_download_instructions_spec.rb +42 -0
  245. data/spec/models/file_info_spec.rb +132 -0
  246. data/spec/models/folder_delete_sync_output_spec.rb +54 -0
  247. data/spec/models/folder_delete_sync_spec.rb +78 -0
  248. data/spec/models/folder_sync_all_output_spec.rb +36 -0
  249. data/spec/models/folder_sync_all_spec.rb +60 -0
  250. data/spec/models/folder_sync_output_spec.rb +54 -0
  251. data/spec/models/folder_sync_spec.rb +84 -0
  252. data/spec/models/grok_target_details_spec.rb +48 -0
  253. data/spec/models/keycloak_target_details_spec.rb +54 -0
  254. data/spec/models/okta_target_details_spec.rb +42 -0
  255. data/spec/models/personal_folder_global_mapping_settings_spec.rb +42 -0
  256. data/spec/models/rotated_secret_create_hashi_vault_spec.rb +162 -0
  257. data/spec/models/rotated_secret_update_hashi_vault_spec.rb +174 -0
  258. data/spec/models/target_create_anthropic_spec.rb +90 -0
  259. data/spec/models/target_create_bedrock_spec.rb +90 -0
  260. data/spec/models/target_create_custom_dns_spec.rb +90 -0
  261. data/spec/models/target_create_grok_spec.rb +96 -0
  262. data/spec/models/target_create_keycloak_spec.rb +102 -0
  263. data/spec/models/target_create_okta_spec.rb +90 -0
  264. data/spec/models/target_update_anthropic_spec.rb +108 -0
  265. data/spec/models/target_update_bedrock_spec.rb +108 -0
  266. data/spec/models/target_update_custom_dns_spec.rb +102 -0
  267. data/spec/models/target_update_grok_spec.rb +114 -0
  268. data/spec/models/target_update_keycloak_spec.rb +114 -0
  269. data/spec/models/target_update_okta_spec.rb +102 -0
  270. data/spec/models/uid_expiration_event_spec.rb +36 -0
  271. data/spec/models/update_mcp_secret_bearer_token_spec.rb +102 -0
  272. data/spec/models/update_mcp_secret_o_auth_auth_code_spec.rb +132 -0
  273. data/spec/models/update_mcp_secret_o_auth_client_creds_spec.rb +120 -0
  274. metadata +1331 -1175
@@ -0,0 +1,358 @@
1
+ =begin
2
+ #Akeyless API
3
+
4
+ #The purpose of this application is to provide access to Akeyless API.
5
+
6
+ The version of the OpenAPI document: 3.0
7
+ Contact: support@akeyless.io
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.10.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Akeyless
17
+ class FileInfo
18
+ attr_accessor :blob_storage_key
19
+
20
+ attr_accessor :client_file_sha256
21
+
22
+ attr_accessor :content_type
23
+
24
+ attr_accessor :derivation_data
25
+
26
+ attr_accessor :encrypted_blob_sha256
27
+
28
+ attr_accessor :encrypted_size_bytes
29
+
30
+ attr_accessor :etag_at_complete
31
+
32
+ attr_accessor :extension
33
+
34
+ attr_accessor :file_id
35
+
36
+ attr_accessor :filename
37
+
38
+ attr_accessor :plain_size_bytes
39
+
40
+ attr_accessor :previous_active_file_info
41
+
42
+ attr_accessor :previous_blob_storage_key
43
+
44
+ attr_accessor :protection_key_name
45
+
46
+ attr_accessor :protection_key_version
47
+
48
+ attr_accessor :status
49
+
50
+ attr_accessor :transaction_owner
51
+
52
+ # Attribute mapping from ruby-style variable name to JSON key.
53
+ def self.attribute_map
54
+ {
55
+ :'blob_storage_key' => :'blob_storage_key',
56
+ :'client_file_sha256' => :'client_file_sha256',
57
+ :'content_type' => :'content_type',
58
+ :'derivation_data' => :'derivation_data',
59
+ :'encrypted_blob_sha256' => :'encrypted_blob_sha256',
60
+ :'encrypted_size_bytes' => :'encrypted_size_bytes',
61
+ :'etag_at_complete' => :'etag_at_complete',
62
+ :'extension' => :'extension',
63
+ :'file_id' => :'file_id',
64
+ :'filename' => :'filename',
65
+ :'plain_size_bytes' => :'plain_size_bytes',
66
+ :'previous_active_file_info' => :'previous_active_file_info',
67
+ :'previous_blob_storage_key' => :'previous_blob_storage_key',
68
+ :'protection_key_name' => :'protection_key_name',
69
+ :'protection_key_version' => :'protection_key_version',
70
+ :'status' => :'status',
71
+ :'transaction_owner' => :'transaction_owner'
72
+ }
73
+ end
74
+
75
+ # Returns all the JSON keys this model knows about
76
+ def self.acceptable_attributes
77
+ attribute_map.values
78
+ end
79
+
80
+ # Attribute type mapping.
81
+ def self.openapi_types
82
+ {
83
+ :'blob_storage_key' => :'String',
84
+ :'client_file_sha256' => :'String',
85
+ :'content_type' => :'String',
86
+ :'derivation_data' => :'String',
87
+ :'encrypted_blob_sha256' => :'String',
88
+ :'encrypted_size_bytes' => :'Integer',
89
+ :'etag_at_complete' => :'String',
90
+ :'extension' => :'String',
91
+ :'file_id' => :'String',
92
+ :'filename' => :'String',
93
+ :'plain_size_bytes' => :'Integer',
94
+ :'previous_active_file_info' => :'FileInfo',
95
+ :'previous_blob_storage_key' => :'String',
96
+ :'protection_key_name' => :'String',
97
+ :'protection_key_version' => :'Integer',
98
+ :'status' => :'String',
99
+ :'transaction_owner' => :'String'
100
+ }
101
+ end
102
+
103
+ # List of attributes with nullable: true
104
+ def self.openapi_nullable
105
+ Set.new([
106
+ ])
107
+ end
108
+
109
+ # Initializes the object
110
+ # @param [Hash] attributes Model attributes in the form of hash
111
+ def initialize(attributes = {})
112
+ if (!attributes.is_a?(Hash))
113
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::FileInfo` initialize method"
114
+ end
115
+
116
+ # check to see if the attribute exists and convert string to symbol for hash key
117
+ attributes = attributes.each_with_object({}) { |(k, v), h|
118
+ if (!self.class.attribute_map.key?(k.to_sym))
119
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::FileInfo`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
120
+ end
121
+ h[k.to_sym] = v
122
+ }
123
+
124
+ if attributes.key?(:'blob_storage_key')
125
+ self.blob_storage_key = attributes[:'blob_storage_key']
126
+ end
127
+
128
+ if attributes.key?(:'client_file_sha256')
129
+ self.client_file_sha256 = attributes[:'client_file_sha256']
130
+ end
131
+
132
+ if attributes.key?(:'content_type')
133
+ self.content_type = attributes[:'content_type']
134
+ end
135
+
136
+ if attributes.key?(:'derivation_data')
137
+ self.derivation_data = attributes[:'derivation_data']
138
+ end
139
+
140
+ if attributes.key?(:'encrypted_blob_sha256')
141
+ self.encrypted_blob_sha256 = attributes[:'encrypted_blob_sha256']
142
+ end
143
+
144
+ if attributes.key?(:'encrypted_size_bytes')
145
+ self.encrypted_size_bytes = attributes[:'encrypted_size_bytes']
146
+ end
147
+
148
+ if attributes.key?(:'etag_at_complete')
149
+ self.etag_at_complete = attributes[:'etag_at_complete']
150
+ end
151
+
152
+ if attributes.key?(:'extension')
153
+ self.extension = attributes[:'extension']
154
+ end
155
+
156
+ if attributes.key?(:'file_id')
157
+ self.file_id = attributes[:'file_id']
158
+ end
159
+
160
+ if attributes.key?(:'filename')
161
+ self.filename = attributes[:'filename']
162
+ end
163
+
164
+ if attributes.key?(:'plain_size_bytes')
165
+ self.plain_size_bytes = attributes[:'plain_size_bytes']
166
+ end
167
+
168
+ if attributes.key?(:'previous_active_file_info')
169
+ self.previous_active_file_info = attributes[:'previous_active_file_info']
170
+ end
171
+
172
+ if attributes.key?(:'previous_blob_storage_key')
173
+ self.previous_blob_storage_key = attributes[:'previous_blob_storage_key']
174
+ end
175
+
176
+ if attributes.key?(:'protection_key_name')
177
+ self.protection_key_name = attributes[:'protection_key_name']
178
+ end
179
+
180
+ if attributes.key?(:'protection_key_version')
181
+ self.protection_key_version = attributes[:'protection_key_version']
182
+ end
183
+
184
+ if attributes.key?(:'status')
185
+ self.status = attributes[:'status']
186
+ end
187
+
188
+ if attributes.key?(:'transaction_owner')
189
+ self.transaction_owner = attributes[:'transaction_owner']
190
+ end
191
+ end
192
+
193
+ # Show invalid properties with the reasons. Usually used together with valid?
194
+ # @return Array for valid properties with the reasons
195
+ def list_invalid_properties
196
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
197
+ invalid_properties = Array.new
198
+ invalid_properties
199
+ end
200
+
201
+ # Check to see if the all the properties in the model are valid
202
+ # @return true if the model is valid
203
+ def valid?
204
+ warn '[DEPRECATED] the `valid?` method is obsolete'
205
+ true
206
+ end
207
+
208
+ # Checks equality by comparing each attribute.
209
+ # @param [Object] Object to be compared
210
+ def ==(o)
211
+ return true if self.equal?(o)
212
+ self.class == o.class &&
213
+ blob_storage_key == o.blob_storage_key &&
214
+ client_file_sha256 == o.client_file_sha256 &&
215
+ content_type == o.content_type &&
216
+ derivation_data == o.derivation_data &&
217
+ encrypted_blob_sha256 == o.encrypted_blob_sha256 &&
218
+ encrypted_size_bytes == o.encrypted_size_bytes &&
219
+ etag_at_complete == o.etag_at_complete &&
220
+ extension == o.extension &&
221
+ file_id == o.file_id &&
222
+ filename == o.filename &&
223
+ plain_size_bytes == o.plain_size_bytes &&
224
+ previous_active_file_info == o.previous_active_file_info &&
225
+ previous_blob_storage_key == o.previous_blob_storage_key &&
226
+ protection_key_name == o.protection_key_name &&
227
+ protection_key_version == o.protection_key_version &&
228
+ status == o.status &&
229
+ transaction_owner == o.transaction_owner
230
+ end
231
+
232
+ # @see the `==` method
233
+ # @param [Object] Object to be compared
234
+ def eql?(o)
235
+ self == o
236
+ end
237
+
238
+ # Calculates hash code according to all attributes.
239
+ # @return [Integer] Hash code
240
+ def hash
241
+ [blob_storage_key, client_file_sha256, content_type, derivation_data, encrypted_blob_sha256, encrypted_size_bytes, etag_at_complete, extension, file_id, filename, plain_size_bytes, previous_active_file_info, previous_blob_storage_key, protection_key_name, protection_key_version, status, transaction_owner].hash
242
+ end
243
+
244
+ # Builds the object from hash
245
+ # @param [Hash] attributes Model attributes in the form of hash
246
+ # @return [Object] Returns the model itself
247
+ def self.build_from_hash(attributes)
248
+ return nil unless attributes.is_a?(Hash)
249
+ attributes = attributes.transform_keys(&:to_sym)
250
+ transformed_hash = {}
251
+ openapi_types.each_pair do |key, type|
252
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
253
+ transformed_hash["#{key}"] = nil
254
+ elsif type =~ /\AArray<(.*)>/i
255
+ # check to ensure the input is an array given that the attribute
256
+ # is documented as an array but the input is not
257
+ if attributes[attribute_map[key]].is_a?(Array)
258
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
259
+ end
260
+ elsif !attributes[attribute_map[key]].nil?
261
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
262
+ end
263
+ end
264
+ new(transformed_hash)
265
+ end
266
+
267
+ # Deserializes the data based on type
268
+ # @param string type Data type
269
+ # @param string value Value to be deserialized
270
+ # @return [Object] Deserialized data
271
+ def self._deserialize(type, value)
272
+ case type.to_sym
273
+ when :Time
274
+ Time.parse(value)
275
+ when :Date
276
+ Date.parse(value)
277
+ when :String
278
+ value.to_s
279
+ when :Integer
280
+ value.to_i
281
+ when :Float
282
+ value.to_f
283
+ when :Boolean
284
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
285
+ true
286
+ else
287
+ false
288
+ end
289
+ when :Object
290
+ # generic object (usually a Hash), return directly
291
+ value
292
+ when /\AArray<(?<inner_type>.+)>\z/
293
+ inner_type = Regexp.last_match[:inner_type]
294
+ value.map { |v| _deserialize(inner_type, v) }
295
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
296
+ k_type = Regexp.last_match[:k_type]
297
+ v_type = Regexp.last_match[:v_type]
298
+ {}.tap do |hash|
299
+ value.each do |k, v|
300
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
301
+ end
302
+ end
303
+ else # model
304
+ # models (e.g. Pet) or oneOf
305
+ klass = Akeyless.const_get(type)
306
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
307
+ end
308
+ end
309
+
310
+ # Returns the string representation of the object
311
+ # @return [String] String presentation of the object
312
+ def to_s
313
+ to_hash.to_s
314
+ end
315
+
316
+ # to_body is an alias to to_hash (backward compatibility)
317
+ # @return [Hash] Returns the object in the form of hash
318
+ def to_body
319
+ to_hash
320
+ end
321
+
322
+ # Returns the object in the form of hash
323
+ # @return [Hash] Returns the object in the form of hash
324
+ def to_hash
325
+ hash = {}
326
+ self.class.attribute_map.each_pair do |attr, param|
327
+ value = self.send(attr)
328
+ if value.nil?
329
+ is_nullable = self.class.openapi_nullable.include?(attr)
330
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
331
+ end
332
+
333
+ hash[param] = _to_hash(value)
334
+ end
335
+ hash
336
+ end
337
+
338
+ # Outputs non-array value in the form of hash
339
+ # For object, use to_hash. Otherwise, just return the value
340
+ # @param [Object] value Any valid value
341
+ # @return [Hash] Returns the value in the form of hash
342
+ def _to_hash(value)
343
+ if value.is_a?(Array)
344
+ value.compact.map { |v| _to_hash(v) }
345
+ elsif value.is_a?(Hash)
346
+ {}.tap do |hash|
347
+ value.each { |k, v| hash[k] = _to_hash(v) }
348
+ end
349
+ elsif value.respond_to? :to_hash
350
+ value.to_hash
351
+ else
352
+ value
353
+ end
354
+ end
355
+
356
+ end
357
+
358
+ end
@@ -0,0 +1,305 @@
1
+ =begin
2
+ #Akeyless API
3
+
4
+ #The purpose of this application is to provide access to Akeyless API.
5
+
6
+ The version of the OpenAPI document: 3.0
7
+ Contact: support@akeyless.io
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.10.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Akeyless
17
+ class FolderDeleteSync
18
+ # for personal password manager
19
+ attr_accessor :accessibility
20
+
21
+ # Delete the secrets from the remote target usc as well
22
+ attr_accessor :delete_from_usc
23
+
24
+ # Set output format to JSON
25
+ attr_accessor :json
26
+
27
+ # Folder name
28
+ attr_accessor :name
29
+
30
+ # Remote Secret Name to delete when multiple syncs exist under the same USC
31
+ attr_accessor :remote_secret_name
32
+
33
+ # Authentication token (see `/auth` and `/configure`)
34
+ attr_accessor :token
35
+
36
+ # The universal identity token, Required only for universal_identity authentication
37
+ attr_accessor :uid_token
38
+
39
+ # Universal Secret Connector name
40
+ attr_accessor :usc_name
41
+
42
+ # Attribute mapping from ruby-style variable name to JSON key.
43
+ def self.attribute_map
44
+ {
45
+ :'accessibility' => :'accessibility',
46
+ :'delete_from_usc' => :'delete-from-usc',
47
+ :'json' => :'json',
48
+ :'name' => :'name',
49
+ :'remote_secret_name' => :'remote-secret-name',
50
+ :'token' => :'token',
51
+ :'uid_token' => :'uid-token',
52
+ :'usc_name' => :'usc-name'
53
+ }
54
+ end
55
+
56
+ # Returns all the JSON keys this model knows about
57
+ def self.acceptable_attributes
58
+ attribute_map.values
59
+ end
60
+
61
+ # Attribute type mapping.
62
+ def self.openapi_types
63
+ {
64
+ :'accessibility' => :'String',
65
+ :'delete_from_usc' => :'Boolean',
66
+ :'json' => :'Boolean',
67
+ :'name' => :'String',
68
+ :'remote_secret_name' => :'String',
69
+ :'token' => :'String',
70
+ :'uid_token' => :'String',
71
+ :'usc_name' => :'String'
72
+ }
73
+ end
74
+
75
+ # List of attributes with nullable: true
76
+ def self.openapi_nullable
77
+ Set.new([
78
+ ])
79
+ end
80
+
81
+ # Initializes the object
82
+ # @param [Hash] attributes Model attributes in the form of hash
83
+ def initialize(attributes = {})
84
+ if (!attributes.is_a?(Hash))
85
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::FolderDeleteSync` initialize method"
86
+ end
87
+
88
+ # check to see if the attribute exists and convert string to symbol for hash key
89
+ attributes = attributes.each_with_object({}) { |(k, v), h|
90
+ if (!self.class.attribute_map.key?(k.to_sym))
91
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::FolderDeleteSync`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
92
+ end
93
+ h[k.to_sym] = v
94
+ }
95
+
96
+ if attributes.key?(:'accessibility')
97
+ self.accessibility = attributes[:'accessibility']
98
+ else
99
+ self.accessibility = 'regular'
100
+ end
101
+
102
+ if attributes.key?(:'delete_from_usc')
103
+ self.delete_from_usc = attributes[:'delete_from_usc']
104
+ else
105
+ self.delete_from_usc = false
106
+ end
107
+
108
+ if attributes.key?(:'json')
109
+ self.json = attributes[:'json']
110
+ else
111
+ self.json = false
112
+ end
113
+
114
+ if attributes.key?(:'name')
115
+ self.name = attributes[:'name']
116
+ else
117
+ self.name = nil
118
+ end
119
+
120
+ if attributes.key?(:'remote_secret_name')
121
+ self.remote_secret_name = attributes[:'remote_secret_name']
122
+ end
123
+
124
+ if attributes.key?(:'token')
125
+ self.token = attributes[:'token']
126
+ end
127
+
128
+ if attributes.key?(:'uid_token')
129
+ self.uid_token = attributes[:'uid_token']
130
+ end
131
+
132
+ if attributes.key?(:'usc_name')
133
+ self.usc_name = attributes[:'usc_name']
134
+ else
135
+ self.usc_name = nil
136
+ end
137
+ end
138
+
139
+ # Show invalid properties with the reasons. Usually used together with valid?
140
+ # @return Array for valid properties with the reasons
141
+ def list_invalid_properties
142
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
143
+ invalid_properties = Array.new
144
+ if @name.nil?
145
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
146
+ end
147
+
148
+ if @usc_name.nil?
149
+ invalid_properties.push('invalid value for "usc_name", usc_name cannot be nil.')
150
+ end
151
+
152
+ invalid_properties
153
+ end
154
+
155
+ # Check to see if the all the properties in the model are valid
156
+ # @return true if the model is valid
157
+ def valid?
158
+ warn '[DEPRECATED] the `valid?` method is obsolete'
159
+ return false if @name.nil?
160
+ return false if @usc_name.nil?
161
+ true
162
+ end
163
+
164
+ # Checks equality by comparing each attribute.
165
+ # @param [Object] Object to be compared
166
+ def ==(o)
167
+ return true if self.equal?(o)
168
+ self.class == o.class &&
169
+ accessibility == o.accessibility &&
170
+ delete_from_usc == o.delete_from_usc &&
171
+ json == o.json &&
172
+ name == o.name &&
173
+ remote_secret_name == o.remote_secret_name &&
174
+ token == o.token &&
175
+ uid_token == o.uid_token &&
176
+ usc_name == o.usc_name
177
+ end
178
+
179
+ # @see the `==` method
180
+ # @param [Object] Object to be compared
181
+ def eql?(o)
182
+ self == o
183
+ end
184
+
185
+ # Calculates hash code according to all attributes.
186
+ # @return [Integer] Hash code
187
+ def hash
188
+ [accessibility, delete_from_usc, json, name, remote_secret_name, token, uid_token, usc_name].hash
189
+ end
190
+
191
+ # Builds the object from hash
192
+ # @param [Hash] attributes Model attributes in the form of hash
193
+ # @return [Object] Returns the model itself
194
+ def self.build_from_hash(attributes)
195
+ return nil unless attributes.is_a?(Hash)
196
+ attributes = attributes.transform_keys(&:to_sym)
197
+ transformed_hash = {}
198
+ openapi_types.each_pair do |key, type|
199
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
200
+ transformed_hash["#{key}"] = nil
201
+ elsif type =~ /\AArray<(.*)>/i
202
+ # check to ensure the input is an array given that the attribute
203
+ # is documented as an array but the input is not
204
+ if attributes[attribute_map[key]].is_a?(Array)
205
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
206
+ end
207
+ elsif !attributes[attribute_map[key]].nil?
208
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
209
+ end
210
+ end
211
+ new(transformed_hash)
212
+ end
213
+
214
+ # Deserializes the data based on type
215
+ # @param string type Data type
216
+ # @param string value Value to be deserialized
217
+ # @return [Object] Deserialized data
218
+ def self._deserialize(type, value)
219
+ case type.to_sym
220
+ when :Time
221
+ Time.parse(value)
222
+ when :Date
223
+ Date.parse(value)
224
+ when :String
225
+ value.to_s
226
+ when :Integer
227
+ value.to_i
228
+ when :Float
229
+ value.to_f
230
+ when :Boolean
231
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
232
+ true
233
+ else
234
+ false
235
+ end
236
+ when :Object
237
+ # generic object (usually a Hash), return directly
238
+ value
239
+ when /\AArray<(?<inner_type>.+)>\z/
240
+ inner_type = Regexp.last_match[:inner_type]
241
+ value.map { |v| _deserialize(inner_type, v) }
242
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
243
+ k_type = Regexp.last_match[:k_type]
244
+ v_type = Regexp.last_match[:v_type]
245
+ {}.tap do |hash|
246
+ value.each do |k, v|
247
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
248
+ end
249
+ end
250
+ else # model
251
+ # models (e.g. Pet) or oneOf
252
+ klass = Akeyless.const_get(type)
253
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
254
+ end
255
+ end
256
+
257
+ # Returns the string representation of the object
258
+ # @return [String] String presentation of the object
259
+ def to_s
260
+ to_hash.to_s
261
+ end
262
+
263
+ # to_body is an alias to to_hash (backward compatibility)
264
+ # @return [Hash] Returns the object in the form of hash
265
+ def to_body
266
+ to_hash
267
+ end
268
+
269
+ # Returns the object in the form of hash
270
+ # @return [Hash] Returns the object in the form of hash
271
+ def to_hash
272
+ hash = {}
273
+ self.class.attribute_map.each_pair do |attr, param|
274
+ value = self.send(attr)
275
+ if value.nil?
276
+ is_nullable = self.class.openapi_nullable.include?(attr)
277
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
278
+ end
279
+
280
+ hash[param] = _to_hash(value)
281
+ end
282
+ hash
283
+ end
284
+
285
+ # Outputs non-array value in the form of hash
286
+ # For object, use to_hash. Otherwise, just return the value
287
+ # @param [Object] value Any valid value
288
+ # @return [Hash] Returns the value in the form of hash
289
+ def _to_hash(value)
290
+ if value.is_a?(Array)
291
+ value.compact.map { |v| _to_hash(v) }
292
+ elsif value.is_a?(Hash)
293
+ {}.tap do |hash|
294
+ value.each { |k, v| hash[k] = _to_hash(v) }
295
+ end
296
+ elsif value.respond_to? :to_hash
297
+ value.to_hash
298
+ else
299
+ value
300
+ end
301
+ end
302
+
303
+ end
304
+
305
+ end