akeyless 5.0.21 → 5.0.23

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 (241) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +35 -1
  3. data/docs/AccountGeneralSettings.md +6 -0
  4. data/docs/ActiveDirectoryPayload.md +6 -0
  5. data/docs/Auth.md +2 -0
  6. data/docs/AuthMethodCreateCert.md +2 -0
  7. data/docs/AuthMethodCreateUniversalIdentity.md +4 -0
  8. data/docs/AuthMethodUpdateCert.md +2 -0
  9. data/docs/AuthMethodUpdateUniversalIdentity.md +4 -0
  10. data/docs/AwsStorage.md +2 -0
  11. data/docs/AzureADAccessRules.md +2 -0
  12. data/docs/AzureTargetDetails.md +2 -0
  13. data/docs/CertAccessRules.md +2 -0
  14. data/docs/CertificateChainInfo.md +2 -0
  15. data/docs/Configure.md +2 -0
  16. data/docs/ConjurMigration.md +20 -0
  17. data/docs/ConjurPayload.md +24 -0
  18. data/docs/CreateAuthMethodCert.md +2 -0
  19. data/docs/CreateAuthMethodUniversalIdentity.md +4 -0
  20. data/docs/CreateAzureTarget.md +2 -0
  21. data/docs/CreateRotatedSecret.md +3 -1
  22. data/docs/CreateSecret.md +2 -0
  23. data/docs/CreateUSC.md +10 -0
  24. data/docs/DSProducerDetails.md +2 -0
  25. data/docs/DefaultAuthMethodSettings.md +20 -0
  26. data/docs/DeleteRoleRule.md +1 -1
  27. data/docs/DescribePermissions.md +1 -1
  28. data/docs/DigiCertTargetDetails.md +42 -0
  29. data/docs/EsmListSecretsOutput.md +3 -1
  30. data/docs/GatewayCreateMigration.md +19 -1
  31. data/docs/GatewayUpdateMigration.md +18 -0
  32. data/docs/GatewayUpdateRemoteAccessRdpRecordings.md +2 -0
  33. data/docs/GeneralConfigPart.md +4 -0
  34. data/docs/GetPKICertificateOutput.md +2 -0
  35. data/docs/GithubMetadata.md +28 -0
  36. data/docs/GoogleTrustTargetDetails.md +42 -0
  37. data/docs/HTTPChallengeInfo.md +26 -0
  38. data/docs/HashiPayload.md +5 -1
  39. data/docs/IssuerOverviewInfo.md +22 -0
  40. data/docs/Item.md +2 -0
  41. data/docs/ItemGeneralInfo.md +2 -0
  42. data/docs/ItemLockingSetting.md +20 -0
  43. data/docs/LockItem.md +28 -0
  44. data/docs/LockTarget.md +28 -0
  45. data/docs/LockingInfo.md +24 -0
  46. data/docs/MigrationStatusReplyObj.md +4 -0
  47. data/docs/MigrationsConfigPart.md +2 -0
  48. data/docs/NetappStorage.md +30 -0
  49. data/docs/ReverseRBAC.md +1 -1
  50. data/docs/RotatedSecretCreateAws.md +3 -1
  51. data/docs/RotatedSecretCreateAzure.md +3 -1
  52. data/docs/RotatedSecretCreateCustom.md +3 -1
  53. data/docs/RotatedSecretCreateLdap.md +3 -1
  54. data/docs/RotatedSecretCreateMongodb.md +3 -1
  55. data/docs/RotatedSecretCreateMssql.md +3 -1
  56. data/docs/RotatedSecretCreateMysql.md +3 -1
  57. data/docs/RotatedSecretCreateOracledb.md +3 -1
  58. data/docs/RotatedSecretCreatePostgresql.md +3 -1
  59. data/docs/RotatedSecretCreateRedshift.md +3 -1
  60. data/docs/RotatedSecretCreateSsh.md +3 -1
  61. data/docs/RotatedSecretCreateWindows.md +3 -1
  62. data/docs/RotatedSecretUpdateAws.md +3 -1
  63. data/docs/RotatedSecretUpdateAzure.md +3 -1
  64. data/docs/RotatedSecretUpdateCustom.md +3 -1
  65. data/docs/RotatedSecretUpdateLdap.md +3 -1
  66. data/docs/RotatedSecretUpdateMongodb.md +3 -1
  67. data/docs/RotatedSecretUpdateMssql.md +3 -1
  68. data/docs/RotatedSecretUpdateMysql.md +3 -1
  69. data/docs/RotatedSecretUpdateOracledb.md +3 -1
  70. data/docs/RotatedSecretUpdatePostgresql.md +3 -1
  71. data/docs/RotatedSecretUpdateRedshift.md +3 -1
  72. data/docs/RotatedSecretUpdateSsh.md +3 -1
  73. data/docs/RotatedSecretUpdateWindows.md +3 -1
  74. data/docs/SecretInfo.md +4 -0
  75. data/docs/SecureRemoteAccess.md +4 -0
  76. data/docs/SetRoleRule.md +1 -1
  77. data/docs/SyncCounters.md +22 -0
  78. data/docs/Target.md +2 -0
  79. data/docs/TargetCreateAzure.md +2 -0
  80. data/docs/TargetCreateDigiCert.md +50 -0
  81. data/docs/TargetCreateGoogleTrust.md +50 -0
  82. data/docs/TargetCreateLetsEncrypt.md +1 -1
  83. data/docs/TargetCreateSplunk.md +3 -1
  84. data/docs/TargetTypeDetailsInput.md +4 -0
  85. data/docs/TargetUpdateAzure.md +2 -0
  86. data/docs/TargetUpdateDigiCert.md +54 -0
  87. data/docs/TargetUpdateGoogleTrust.md +54 -0
  88. data/docs/TargetUpdateLetsEncrypt.md +1 -1
  89. data/docs/UniversalIdentityAccessRules.md +4 -0
  90. data/docs/UnlockItem.md +24 -0
  91. data/docs/UnlockTarget.md +24 -0
  92. data/docs/UpdateAccountSettings.md +4 -0
  93. data/docs/UpdateAuthMethodCert.md +2 -0
  94. data/docs/UpdateAuthMethodUniversalIdentity.md +4 -0
  95. data/docs/UpdateAzureTarget.md +2 -0
  96. data/docs/UpdateItem.md +3 -1
  97. data/docs/UpdateRotatedSecret.md +3 -1
  98. data/docs/UscCreate.md +2 -0
  99. data/docs/UscDelete.md +4 -0
  100. data/docs/UscGet.md +4 -0
  101. data/docs/UscListSecretsOutput.md +3 -1
  102. data/docs/UscUpdate.md +4 -0
  103. data/docs/V2Api.md +632 -2
  104. data/docs/ValidateCertificateChallenge.md +30 -0
  105. data/docs/ValidateCertificateChallengeOutput.md +24 -0
  106. data/docs/VaultAddress.md +20 -0
  107. data/docs/VaultAddressOutput.md +20 -0
  108. data/docs/WebBastionRdpRecord.md +2 -0
  109. data/lib/akeyless/api/v2_api.rb +640 -0
  110. data/lib/akeyless/models/account_general_settings.rb +28 -1
  111. data/lib/akeyless/models/active_directory_payload.rb +30 -1
  112. data/lib/akeyless/models/auth.rb +13 -1
  113. data/lib/akeyless/models/auth_method_create_cert.rb +11 -1
  114. data/lib/akeyless/models/auth_method_create_universal_identity.rb +25 -1
  115. data/lib/akeyless/models/auth_method_update_cert.rb +11 -1
  116. data/lib/akeyless/models/auth_method_update_universal_identity.rb +25 -1
  117. data/lib/akeyless/models/aws_storage.rb +10 -1
  118. data/lib/akeyless/models/azure_ad_access_rules.rb +11 -1
  119. data/lib/akeyless/models/azure_target_details.rb +10 -1
  120. data/lib/akeyless/models/cert_access_rules.rb +11 -1
  121. data/lib/akeyless/models/certificate_chain_info.rb +11 -1
  122. data/lib/akeyless/models/configure.rb +13 -1
  123. data/lib/akeyless/models/conjur_migration.rb +223 -0
  124. data/lib/akeyless/models/conjur_payload.rb +241 -0
  125. data/lib/akeyless/models/create_auth_method_cert.rb +11 -1
  126. data/lib/akeyless/models/create_auth_method_universal_identity.rb +25 -1
  127. data/lib/akeyless/models/create_azure_target.rb +13 -1
  128. data/lib/akeyless/models/create_rotated_secret.rb +12 -4
  129. data/lib/akeyless/models/create_secret.rb +11 -1
  130. data/lib/akeyless/models/create_usc.rb +54 -1
  131. data/lib/akeyless/models/default_auth_method_settings.rb +223 -0
  132. data/lib/akeyless/models/delete_role_rule.rb +1 -1
  133. data/lib/akeyless/models/describe_permissions.rb +1 -1
  134. data/lib/akeyless/models/digi_cert_target_details.rb +333 -0
  135. data/lib/akeyless/models/ds_producer_details.rb +10 -1
  136. data/lib/akeyless/models/esm_list_secrets_output.rb +15 -4
  137. data/lib/akeyless/models/gateway_create_migration.rb +94 -2
  138. data/lib/akeyless/models/gateway_update_migration.rb +93 -1
  139. data/lib/akeyless/models/gateway_update_remote_access_rdp_recordings.rb +11 -1
  140. data/lib/akeyless/models/general_config_part.rb +19 -1
  141. data/lib/akeyless/models/get_pki_certificate_output.rb +10 -1
  142. data/lib/akeyless/models/github_metadata.rb +259 -0
  143. data/lib/akeyless/models/google_trust_target_details.rb +335 -0
  144. data/lib/akeyless/models/hashi_payload.rb +22 -4
  145. data/lib/akeyless/models/http_challenge_info.rb +251 -0
  146. data/lib/akeyless/models/issuer_overview_info.rb +232 -0
  147. data/lib/akeyless/models/item.rb +10 -1
  148. data/lib/akeyless/models/item_general_info.rb +10 -1
  149. data/lib/akeyless/models/item_locking_setting.rb +223 -0
  150. data/lib/akeyless/models/lock_item.rb +274 -0
  151. data/lib/akeyless/models/lock_target.rb +274 -0
  152. data/lib/akeyless/models/locking_info.rb +243 -0
  153. data/lib/akeyless/models/migration_status_reply_obj.rb +19 -1
  154. data/lib/akeyless/models/migrations_config_part.rb +12 -1
  155. data/lib/akeyless/models/netapp_storage.rb +268 -0
  156. data/lib/akeyless/models/reverse_rbac.rb +1 -1
  157. data/lib/akeyless/models/rotated_secret_create_aws.rb +12 -4
  158. data/lib/akeyless/models/rotated_secret_create_azure.rb +12 -4
  159. data/lib/akeyless/models/rotated_secret_create_custom.rb +12 -4
  160. data/lib/akeyless/models/rotated_secret_create_ldap.rb +12 -4
  161. data/lib/akeyless/models/rotated_secret_create_mongodb.rb +12 -4
  162. data/lib/akeyless/models/rotated_secret_create_mssql.rb +12 -4
  163. data/lib/akeyless/models/rotated_secret_create_mysql.rb +12 -4
  164. data/lib/akeyless/models/rotated_secret_create_oracledb.rb +12 -4
  165. data/lib/akeyless/models/rotated_secret_create_postgresql.rb +12 -4
  166. data/lib/akeyless/models/rotated_secret_create_redshift.rb +12 -4
  167. data/lib/akeyless/models/rotated_secret_create_ssh.rb +12 -4
  168. data/lib/akeyless/models/rotated_secret_create_windows.rb +12 -4
  169. data/lib/akeyless/models/rotated_secret_update_aws.rb +12 -4
  170. data/lib/akeyless/models/rotated_secret_update_azure.rb +12 -4
  171. data/lib/akeyless/models/rotated_secret_update_custom.rb +12 -4
  172. data/lib/akeyless/models/rotated_secret_update_ldap.rb +12 -4
  173. data/lib/akeyless/models/rotated_secret_update_mongodb.rb +12 -4
  174. data/lib/akeyless/models/rotated_secret_update_mssql.rb +12 -4
  175. data/lib/akeyless/models/rotated_secret_update_mysql.rb +12 -4
  176. data/lib/akeyless/models/rotated_secret_update_oracledb.rb +12 -4
  177. data/lib/akeyless/models/rotated_secret_update_postgresql.rb +12 -4
  178. data/lib/akeyless/models/rotated_secret_update_redshift.rb +12 -4
  179. data/lib/akeyless/models/rotated_secret_update_ssh.rb +12 -4
  180. data/lib/akeyless/models/rotated_secret_update_windows.rb +12 -4
  181. data/lib/akeyless/models/secret_info.rb +19 -1
  182. data/lib/akeyless/models/secure_remote_access.rb +19 -1
  183. data/lib/akeyless/models/set_role_rule.rb +1 -1
  184. data/lib/akeyless/models/sync_counters.rb +233 -0
  185. data/lib/akeyless/models/target.rb +10 -1
  186. data/lib/akeyless/models/target_create_azure.rb +13 -1
  187. data/lib/akeyless/models/target_create_digi_cert.rb +398 -0
  188. data/lib/akeyless/models/target_create_google_trust.rb +398 -0
  189. data/lib/akeyless/models/target_create_lets_encrypt.rb +7 -0
  190. data/lib/akeyless/models/target_create_splunk.rb +11 -1
  191. data/lib/akeyless/models/target_type_details_input.rb +19 -1
  192. data/lib/akeyless/models/target_update_azure.rb +13 -1
  193. data/lib/akeyless/models/target_update_digi_cert.rb +418 -0
  194. data/lib/akeyless/models/target_update_google_trust.rb +418 -0
  195. data/lib/akeyless/models/target_update_lets_encrypt.rb +7 -0
  196. data/lib/akeyless/models/universal_identity_access_rules.rb +19 -1
  197. data/lib/akeyless/models/unlock_item.rb +254 -0
  198. data/lib/akeyless/models/unlock_target.rb +254 -0
  199. data/lib/akeyless/models/update_account_settings.rb +21 -1
  200. data/lib/akeyless/models/update_auth_method_cert.rb +11 -1
  201. data/lib/akeyless/models/update_auth_method_universal_identity.rb +25 -1
  202. data/lib/akeyless/models/update_azure_target.rb +13 -1
  203. data/lib/akeyless/models/update_item.rb +12 -4
  204. data/lib/akeyless/models/update_rotated_secret.rb +12 -4
  205. data/lib/akeyless/models/usc_create.rb +10 -1
  206. data/lib/akeyless/models/usc_delete.rb +20 -1
  207. data/lib/akeyless/models/usc_get.rb +20 -1
  208. data/lib/akeyless/models/usc_list_secrets_output.rb +15 -4
  209. data/lib/akeyless/models/usc_update.rb +20 -1
  210. data/lib/akeyless/models/validate_certificate_challenge.rb +279 -0
  211. data/lib/akeyless/models/validate_certificate_challenge_output.rb +242 -0
  212. data/lib/akeyless/models/vault_address.rb +227 -0
  213. data/lib/akeyless/models/vault_address_output.rb +223 -0
  214. data/lib/akeyless/models/web_bastion_rdp_record.rb +10 -1
  215. data/lib/akeyless/version.rb +1 -1
  216. data/lib/akeyless.rb +24 -0
  217. data/spec/models/conjur_migration_spec.rb +42 -0
  218. data/spec/models/conjur_payload_spec.rb +54 -0
  219. data/spec/models/default_auth_method_settings_spec.rb +42 -0
  220. data/spec/models/digi_cert_target_details_spec.rb +108 -0
  221. data/spec/models/github_metadata_spec.rb +66 -0
  222. data/spec/models/google_trust_target_details_spec.rb +108 -0
  223. data/spec/models/http_challenge_info_spec.rb +60 -0
  224. data/spec/models/issuer_overview_info_spec.rb +48 -0
  225. data/spec/models/item_locking_setting_spec.rb +42 -0
  226. data/spec/models/lock_item_spec.rb +66 -0
  227. data/spec/models/lock_target_spec.rb +66 -0
  228. data/spec/models/locking_info_spec.rb +54 -0
  229. data/spec/models/netapp_storage_spec.rb +72 -0
  230. data/spec/models/sync_counters_spec.rb +48 -0
  231. data/spec/models/target_create_digi_cert_spec.rb +132 -0
  232. data/spec/models/target_create_google_trust_spec.rb +132 -0
  233. data/spec/models/target_update_digi_cert_spec.rb +144 -0
  234. data/spec/models/target_update_google_trust_spec.rb +144 -0
  235. data/spec/models/unlock_item_spec.rb +54 -0
  236. data/spec/models/unlock_target_spec.rb +54 -0
  237. data/spec/models/validate_certificate_challenge_output_spec.rb +54 -0
  238. data/spec/models/validate_certificate_challenge_spec.rb +72 -0
  239. data/spec/models/vault_address_output_spec.rb +42 -0
  240. data/spec/models/vault_address_spec.rb +42 -0
  241. metadata +1233 -1134
@@ -0,0 +1,418 @@
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
+ # targetUpdateDigiCert is a command that updates an existing DigiCert target
18
+ class TargetUpdateDigiCert
19
+ # ACME challenge type. Options: [dns]
20
+ attr_accessor :acme_challenge
21
+
22
+ # Description of the object
23
+ attr_accessor :description
24
+
25
+ # DigiCert ACME endpoint selector. Options: [us-production/eu-production/us-demo/eu-demo]
26
+ attr_accessor :digicert_url
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
+ # AWS Route53 hosted zone ID. Required when DNS credentials target is AWS
44
+ attr_accessor :hosted_zone
45
+
46
+ # Set output format to JSON
47
+ attr_accessor :json
48
+
49
+ # Whether to keep previous version [true/false]. If not set, use default according to account settings
50
+ attr_accessor :keep_prev_version
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
+ # New target name
62
+ attr_accessor :new_name
63
+
64
+ # Azure resource group name. Required when DNS credentials target is Azure
65
+ attr_accessor :resource_group
66
+
67
+ # Timeout for challenge validation
68
+ attr_accessor :timeout
69
+
70
+ # Authentication token (see `/auth` and `/configure`)
71
+ attr_accessor :token
72
+
73
+ # The universal identity token, Required only for universal_identity authentication
74
+ attr_accessor :uid_token
75
+
76
+ # Attribute mapping from ruby-style variable name to JSON key.
77
+ def self.attribute_map
78
+ {
79
+ :'acme_challenge' => :'acme-challenge',
80
+ :'description' => :'description',
81
+ :'digicert_url' => :'digicert-url',
82
+ :'dns_target_creds' => :'dns-target-creds',
83
+ :'eab_hmac_key' => :'eab-hmac-key',
84
+ :'eab_key_id' => :'eab-key-id',
85
+ :'email' => :'email',
86
+ :'gcp_project' => :'gcp-project',
87
+ :'hosted_zone' => :'hosted-zone',
88
+ :'json' => :'json',
89
+ :'keep_prev_version' => :'keep-prev-version',
90
+ :'key' => :'key',
91
+ :'max_versions' => :'max-versions',
92
+ :'name' => :'name',
93
+ :'new_name' => :'new-name',
94
+ :'resource_group' => :'resource-group',
95
+ :'timeout' => :'timeout',
96
+ :'token' => :'token',
97
+ :'uid_token' => :'uid-token'
98
+ }
99
+ end
100
+
101
+ # Returns all the JSON keys this model knows about
102
+ def self.acceptable_attributes
103
+ attribute_map.values
104
+ end
105
+
106
+ # Attribute type mapping.
107
+ def self.openapi_types
108
+ {
109
+ :'acme_challenge' => :'String',
110
+ :'description' => :'String',
111
+ :'digicert_url' => :'String',
112
+ :'dns_target_creds' => :'String',
113
+ :'eab_hmac_key' => :'String',
114
+ :'eab_key_id' => :'String',
115
+ :'email' => :'String',
116
+ :'gcp_project' => :'String',
117
+ :'hosted_zone' => :'String',
118
+ :'json' => :'Boolean',
119
+ :'keep_prev_version' => :'String',
120
+ :'key' => :'String',
121
+ :'max_versions' => :'String',
122
+ :'name' => :'String',
123
+ :'new_name' => :'String',
124
+ :'resource_group' => :'String',
125
+ :'timeout' => :'String',
126
+ :'token' => :'String',
127
+ :'uid_token' => :'String'
128
+ }
129
+ end
130
+
131
+ # List of attributes with nullable: true
132
+ def self.openapi_nullable
133
+ Set.new([
134
+ ])
135
+ end
136
+
137
+ # Initializes the object
138
+ # @param [Hash] attributes Model attributes in the form of hash
139
+ def initialize(attributes = {})
140
+ if (!attributes.is_a?(Hash))
141
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::TargetUpdateDigiCert` initialize method"
142
+ end
143
+
144
+ # check to see if the attribute exists and convert string to symbol for hash key
145
+ attributes = attributes.each_with_object({}) { |(k, v), h|
146
+ if (!self.class.attribute_map.key?(k.to_sym))
147
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::TargetUpdateDigiCert`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
148
+ end
149
+ h[k.to_sym] = v
150
+ }
151
+
152
+ if attributes.key?(:'acme_challenge')
153
+ self.acme_challenge = attributes[:'acme_challenge']
154
+ else
155
+ self.acme_challenge = 'dns'
156
+ end
157
+
158
+ if attributes.key?(:'description')
159
+ self.description = attributes[:'description']
160
+ end
161
+
162
+ if attributes.key?(:'digicert_url')
163
+ self.digicert_url = attributes[:'digicert_url']
164
+ else
165
+ self.digicert_url = 'us-production'
166
+ end
167
+
168
+ if attributes.key?(:'dns_target_creds')
169
+ self.dns_target_creds = attributes[:'dns_target_creds']
170
+ end
171
+
172
+ if attributes.key?(:'eab_hmac_key')
173
+ self.eab_hmac_key = attributes[:'eab_hmac_key']
174
+ end
175
+
176
+ if attributes.key?(:'eab_key_id')
177
+ self.eab_key_id = attributes[:'eab_key_id']
178
+ end
179
+
180
+ if attributes.key?(:'email')
181
+ self.email = attributes[:'email']
182
+ else
183
+ self.email = nil
184
+ end
185
+
186
+ if attributes.key?(:'gcp_project')
187
+ self.gcp_project = attributes[:'gcp_project']
188
+ end
189
+
190
+ if attributes.key?(:'hosted_zone')
191
+ self.hosted_zone = attributes[:'hosted_zone']
192
+ end
193
+
194
+ if attributes.key?(:'json')
195
+ self.json = attributes[:'json']
196
+ else
197
+ self.json = false
198
+ end
199
+
200
+ if attributes.key?(:'keep_prev_version')
201
+ self.keep_prev_version = attributes[:'keep_prev_version']
202
+ end
203
+
204
+ if attributes.key?(:'key')
205
+ self.key = attributes[:'key']
206
+ end
207
+
208
+ if attributes.key?(:'max_versions')
209
+ self.max_versions = attributes[:'max_versions']
210
+ end
211
+
212
+ if attributes.key?(:'name')
213
+ self.name = attributes[:'name']
214
+ else
215
+ self.name = nil
216
+ end
217
+
218
+ if attributes.key?(:'new_name')
219
+ self.new_name = attributes[:'new_name']
220
+ end
221
+
222
+ if attributes.key?(:'resource_group')
223
+ self.resource_group = attributes[:'resource_group']
224
+ end
225
+
226
+ if attributes.key?(:'timeout')
227
+ self.timeout = attributes[:'timeout']
228
+ else
229
+ self.timeout = '5m'
230
+ end
231
+
232
+ if attributes.key?(:'token')
233
+ self.token = attributes[:'token']
234
+ end
235
+
236
+ if attributes.key?(:'uid_token')
237
+ self.uid_token = attributes[:'uid_token']
238
+ end
239
+ end
240
+
241
+ # Show invalid properties with the reasons. Usually used together with valid?
242
+ # @return Array for valid properties with the reasons
243
+ def list_invalid_properties
244
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
245
+ invalid_properties = Array.new
246
+ if @email.nil?
247
+ invalid_properties.push('invalid value for "email", email cannot be nil.')
248
+ end
249
+
250
+ if @name.nil?
251
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
252
+ end
253
+
254
+ invalid_properties
255
+ end
256
+
257
+ # Check to see if the all the properties in the model are valid
258
+ # @return true if the model is valid
259
+ def valid?
260
+ warn '[DEPRECATED] the `valid?` method is obsolete'
261
+ return false if @email.nil?
262
+ return false if @name.nil?
263
+ true
264
+ end
265
+
266
+ # Checks equality by comparing each attribute.
267
+ # @param [Object] Object to be compared
268
+ def ==(o)
269
+ return true if self.equal?(o)
270
+ self.class == o.class &&
271
+ acme_challenge == o.acme_challenge &&
272
+ description == o.description &&
273
+ digicert_url == o.digicert_url &&
274
+ dns_target_creds == o.dns_target_creds &&
275
+ eab_hmac_key == o.eab_hmac_key &&
276
+ eab_key_id == o.eab_key_id &&
277
+ email == o.email &&
278
+ gcp_project == o.gcp_project &&
279
+ hosted_zone == o.hosted_zone &&
280
+ json == o.json &&
281
+ keep_prev_version == o.keep_prev_version &&
282
+ key == o.key &&
283
+ max_versions == o.max_versions &&
284
+ name == o.name &&
285
+ new_name == o.new_name &&
286
+ resource_group == o.resource_group &&
287
+ timeout == o.timeout &&
288
+ token == o.token &&
289
+ uid_token == o.uid_token
290
+ end
291
+
292
+ # @see the `==` method
293
+ # @param [Object] Object to be compared
294
+ def eql?(o)
295
+ self == o
296
+ end
297
+
298
+ # Calculates hash code according to all attributes.
299
+ # @return [Integer] Hash code
300
+ def hash
301
+ [acme_challenge, description, digicert_url, dns_target_creds, eab_hmac_key, eab_key_id, email, gcp_project, hosted_zone, json, keep_prev_version, key, max_versions, name, new_name, resource_group, timeout, token, uid_token].hash
302
+ end
303
+
304
+ # Builds the object from hash
305
+ # @param [Hash] attributes Model attributes in the form of hash
306
+ # @return [Object] Returns the model itself
307
+ def self.build_from_hash(attributes)
308
+ return nil unless attributes.is_a?(Hash)
309
+ attributes = attributes.transform_keys(&:to_sym)
310
+ transformed_hash = {}
311
+ openapi_types.each_pair do |key, type|
312
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
313
+ transformed_hash["#{key}"] = nil
314
+ elsif type =~ /\AArray<(.*)>/i
315
+ # check to ensure the input is an array given that the attribute
316
+ # is documented as an array but the input is not
317
+ if attributes[attribute_map[key]].is_a?(Array)
318
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
319
+ end
320
+ elsif !attributes[attribute_map[key]].nil?
321
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
322
+ end
323
+ end
324
+ new(transformed_hash)
325
+ end
326
+
327
+ # Deserializes the data based on type
328
+ # @param string type Data type
329
+ # @param string value Value to be deserialized
330
+ # @return [Object] Deserialized data
331
+ def self._deserialize(type, value)
332
+ case type.to_sym
333
+ when :Time
334
+ Time.parse(value)
335
+ when :Date
336
+ Date.parse(value)
337
+ when :String
338
+ value.to_s
339
+ when :Integer
340
+ value.to_i
341
+ when :Float
342
+ value.to_f
343
+ when :Boolean
344
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
345
+ true
346
+ else
347
+ false
348
+ end
349
+ when :Object
350
+ # generic object (usually a Hash), return directly
351
+ value
352
+ when /\AArray<(?<inner_type>.+)>\z/
353
+ inner_type = Regexp.last_match[:inner_type]
354
+ value.map { |v| _deserialize(inner_type, v) }
355
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
356
+ k_type = Regexp.last_match[:k_type]
357
+ v_type = Regexp.last_match[:v_type]
358
+ {}.tap do |hash|
359
+ value.each do |k, v|
360
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
361
+ end
362
+ end
363
+ else # model
364
+ # models (e.g. Pet) or oneOf
365
+ klass = Akeyless.const_get(type)
366
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
367
+ end
368
+ end
369
+
370
+ # Returns the string representation of the object
371
+ # @return [String] String presentation of the object
372
+ def to_s
373
+ to_hash.to_s
374
+ end
375
+
376
+ # to_body is an alias to to_hash (backward compatibility)
377
+ # @return [Hash] Returns the object in the form of hash
378
+ def to_body
379
+ to_hash
380
+ end
381
+
382
+ # Returns the object in the form of hash
383
+ # @return [Hash] Returns the object in the form of hash
384
+ def to_hash
385
+ hash = {}
386
+ self.class.attribute_map.each_pair do |attr, param|
387
+ value = self.send(attr)
388
+ if value.nil?
389
+ is_nullable = self.class.openapi_nullable.include?(attr)
390
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
391
+ end
392
+
393
+ hash[param] = _to_hash(value)
394
+ end
395
+ hash
396
+ end
397
+
398
+ # Outputs non-array value in the form of hash
399
+ # For object, use to_hash. Otherwise, just return the value
400
+ # @param [Object] value Any valid value
401
+ # @return [Hash] Returns the value in the form of hash
402
+ def _to_hash(value)
403
+ if value.is_a?(Array)
404
+ value.compact.map { |v| _to_hash(v) }
405
+ elsif value.is_a?(Hash)
406
+ {}.tap do |hash|
407
+ value.each { |k, v| hash[k] = _to_hash(v) }
408
+ end
409
+ elsif value.respond_to? :to_hash
410
+ value.to_hash
411
+ else
412
+ value
413
+ end
414
+ end
415
+
416
+ end
417
+
418
+ end