akeyless 5.0.13 → 5.0.16

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 (231) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +17 -1
  3. data/docs/AccountGeneralSettings.md +2 -0
  4. data/docs/ActiveDirectoryPayload.md +2 -0
  5. data/docs/AllowedClientType.md +20 -0
  6. data/docs/AuthMethodAccessInfo.md +2 -0
  7. data/docs/AuthMethodCreateApiKey.md +2 -0
  8. data/docs/AuthMethodCreateAwsIam.md +2 -0
  9. data/docs/AuthMethodCreateAzureAD.md +2 -0
  10. data/docs/AuthMethodCreateCert.md +2 -0
  11. data/docs/AuthMethodCreateEmail.md +2 -0
  12. data/docs/AuthMethodCreateGcp.md +2 -0
  13. data/docs/AuthMethodCreateK8s.md +2 -0
  14. data/docs/AuthMethodCreateKerberos.md +2 -0
  15. data/docs/AuthMethodCreateLdap.md +2 -0
  16. data/docs/AuthMethodCreateOCI.md +2 -0
  17. data/docs/AuthMethodCreateOIDC.md +2 -0
  18. data/docs/AuthMethodCreateOauth2.md +2 -0
  19. data/docs/AuthMethodCreateSAML.md +2 -0
  20. data/docs/AuthMethodCreateUniversalIdentity.md +2 -0
  21. data/docs/AuthMethodUpdateApiKey.md +2 -0
  22. data/docs/AuthMethodUpdateAwsIam.md +2 -0
  23. data/docs/AuthMethodUpdateAzureAD.md +2 -0
  24. data/docs/AuthMethodUpdateCert.md +2 -0
  25. data/docs/AuthMethodUpdateEmail.md +2 -0
  26. data/docs/AuthMethodUpdateGcp.md +2 -0
  27. data/docs/AuthMethodUpdateK8s.md +2 -0
  28. data/docs/AuthMethodUpdateKerberos.md +2 -0
  29. data/docs/AuthMethodUpdateLdap.md +2 -0
  30. data/docs/AuthMethodUpdateOCI.md +2 -0
  31. data/docs/AuthMethodUpdateOIDC.md +2 -0
  32. data/docs/AuthMethodUpdateOauth2.md +2 -0
  33. data/docs/AuthMethodUpdateSAML.md +2 -0
  34. data/docs/AuthMethodUpdateUniversalIdentity.md +2 -0
  35. data/docs/BastionGlobalConf.md +4 -0
  36. data/docs/CreateAuthMethod.md +2 -0
  37. data/docs/CreateAuthMethodAWSIAM.md +2 -0
  38. data/docs/CreateAuthMethodAzureAD.md +2 -0
  39. data/docs/CreateAuthMethodCert.md +2 -0
  40. data/docs/CreateAuthMethodEmail.md +2 -0
  41. data/docs/CreateAuthMethodGCP.md +2 -0
  42. data/docs/CreateAuthMethodHuawei.md +2 -0
  43. data/docs/CreateAuthMethodK8S.md +2 -0
  44. data/docs/CreateAuthMethodLDAP.md +2 -0
  45. data/docs/CreateAuthMethodOAuth2.md +2 -0
  46. data/docs/CreateAuthMethodOCI.md +2 -0
  47. data/docs/CreateAuthMethodOIDC.md +2 -0
  48. data/docs/CreateAuthMethodSAML.md +2 -0
  49. data/docs/CreateAuthMethodUniversalIdentity.md +2 -0
  50. data/docs/CreateESM.md +2 -0
  51. data/docs/CreatePKICertIssuer.md +6 -0
  52. data/docs/CreateRole.md +2 -0
  53. data/docs/CreateUSC.md +2 -0
  54. data/docs/DSProducerDetails.md +10 -0
  55. data/docs/DecryptWithClassicKey.md +2 -0
  56. data/docs/DynamicSecretCreateGcp.md +23 -5
  57. data/docs/DynamicSecretCreateGoogleWorkspace.md +2 -0
  58. data/docs/DynamicSecretCreateMongoDb.md +2 -0
  59. data/docs/DynamicSecretCreateMsSql.md +2 -0
  60. data/docs/DynamicSecretGetValue.md +2 -0
  61. data/docs/DynamicSecretUpdateGcp.md +23 -5
  62. data/docs/DynamicSecretUpdateGoogleWorkspace.md +2 -0
  63. data/docs/DynamicSecretUpdateMongoDb.md +2 -0
  64. data/docs/DynamicSecretUpdateMsSql.md +2 -0
  65. data/docs/EncryptWithClassicKey.md +2 -0
  66. data/docs/EventForwarderGetOutput.md +3 -1
  67. data/docs/FolderCreate.md +34 -0
  68. data/docs/FolderCreateOutput.md +18 -0
  69. data/docs/FolderDelete.md +28 -0
  70. data/docs/FolderGet.md +28 -0
  71. data/docs/FolderGetOutput.md +18 -0
  72. data/docs/FolderUpdate.md +36 -0
  73. data/docs/GatewayCreateMigration.md +2 -0
  74. data/docs/GatewayCreateProducerGcp.md +23 -5
  75. data/docs/GatewayCreateProducerMSSQL.md +2 -0
  76. data/docs/GatewayCreateProducerMongo.md +2 -0
  77. data/docs/GatewayUpdateMigration.md +2 -0
  78. data/docs/GatewayUpdateProducerGcp.md +23 -5
  79. data/docs/GatewayUpdateProducerMSSQL.md +2 -0
  80. data/docs/GatewayUpdateProducerMongo.md +2 -0
  81. data/docs/GatewayUpdateRemoteAccess.md +4 -0
  82. data/docs/GetDynamicSecretValue.md +2 -0
  83. data/docs/GetFolderOutput.md +36 -0
  84. data/docs/NotiForwarderDetailsInput.md +28 -0
  85. data/docs/PKICertificateIssueDetails.md +6 -0
  86. data/docs/RotatedSecretCreateSsh.md +4 -0
  87. data/docs/RotatedSecretDeleteSync.md +2 -0
  88. data/docs/RotatedSecretDetailsInfo.md +4 -0
  89. data/docs/RotatedSecretUpdateSsh.md +4 -0
  90. data/docs/SlackNotiForwarderDetails.md +18 -0
  91. data/docs/StaticSecretDeleteSync.md +2 -0
  92. data/docs/TeamsNotiForwarderDetails.md +18 -0
  93. data/docs/UpdateAccountSettings.md +4 -0
  94. data/docs/UpdateAuthMethod.md +2 -0
  95. data/docs/UpdateAuthMethodAWSIAM.md +2 -0
  96. data/docs/UpdateAuthMethodAzureAD.md +2 -0
  97. data/docs/UpdateAuthMethodCert.md +2 -0
  98. data/docs/UpdateAuthMethodGCP.md +2 -0
  99. data/docs/UpdateAuthMethodK8S.md +2 -0
  100. data/docs/UpdateAuthMethodLDAP.md +2 -0
  101. data/docs/UpdateAuthMethodOAuth2.md +2 -0
  102. data/docs/UpdateAuthMethodOCI.md +2 -0
  103. data/docs/UpdateAuthMethodOIDC.md +2 -0
  104. data/docs/UpdateAuthMethodSAML.md +2 -0
  105. data/docs/UpdateAuthMethodUniversalIdentity.md +2 -0
  106. data/docs/UpdatePKICertIssuer.md +6 -0
  107. data/docs/V2Api.md +256 -4
  108. data/docs/WebhookNotiForwarderDetails.md +26 -0
  109. data/docs/WindowsServiceAttributes.md +4 -0
  110. data/lib/akeyless/api/v2_api.rb +256 -0
  111. data/lib/akeyless/models/account_general_settings.rb +10 -1
  112. data/lib/akeyless/models/active_directory_payload.rb +10 -1
  113. data/lib/akeyless/models/allowed_client_type.rb +225 -0
  114. data/lib/akeyless/models/auth_method_access_info.rb +12 -1
  115. data/lib/akeyless/models/auth_method_create_api_key.rb +12 -1
  116. data/lib/akeyless/models/auth_method_create_aws_iam.rb +12 -1
  117. data/lib/akeyless/models/auth_method_create_azure_ad.rb +12 -1
  118. data/lib/akeyless/models/auth_method_create_cert.rb +12 -1
  119. data/lib/akeyless/models/auth_method_create_email.rb +12 -1
  120. data/lib/akeyless/models/auth_method_create_gcp.rb +12 -1
  121. data/lib/akeyless/models/auth_method_create_k8s.rb +12 -1
  122. data/lib/akeyless/models/auth_method_create_kerberos.rb +12 -1
  123. data/lib/akeyless/models/auth_method_create_ldap.rb +12 -1
  124. data/lib/akeyless/models/auth_method_create_oauth2.rb +12 -1
  125. data/lib/akeyless/models/auth_method_create_oci.rb +12 -1
  126. data/lib/akeyless/models/auth_method_create_oidc.rb +12 -1
  127. data/lib/akeyless/models/auth_method_create_saml.rb +12 -1
  128. data/lib/akeyless/models/auth_method_create_universal_identity.rb +12 -1
  129. data/lib/akeyless/models/auth_method_update_api_key.rb +12 -1
  130. data/lib/akeyless/models/auth_method_update_aws_iam.rb +12 -1
  131. data/lib/akeyless/models/auth_method_update_azure_ad.rb +12 -1
  132. data/lib/akeyless/models/auth_method_update_cert.rb +12 -1
  133. data/lib/akeyless/models/auth_method_update_email.rb +12 -1
  134. data/lib/akeyless/models/auth_method_update_gcp.rb +12 -1
  135. data/lib/akeyless/models/auth_method_update_k8s.rb +12 -1
  136. data/lib/akeyless/models/auth_method_update_kerberos.rb +12 -1
  137. data/lib/akeyless/models/auth_method_update_ldap.rb +12 -1
  138. data/lib/akeyless/models/auth_method_update_oauth2.rb +12 -1
  139. data/lib/akeyless/models/auth_method_update_oci.rb +12 -1
  140. data/lib/akeyless/models/auth_method_update_oidc.rb +12 -1
  141. data/lib/akeyless/models/auth_method_update_saml.rb +12 -1
  142. data/lib/akeyless/models/auth_method_update_universal_identity.rb +12 -1
  143. data/lib/akeyless/models/bastion_global_conf.rb +19 -1
  144. data/lib/akeyless/models/create_auth_method.rb +12 -1
  145. data/lib/akeyless/models/create_auth_method_awsiam.rb +12 -1
  146. data/lib/akeyless/models/create_auth_method_azure_ad.rb +12 -1
  147. data/lib/akeyless/models/create_auth_method_cert.rb +12 -1
  148. data/lib/akeyless/models/create_auth_method_email.rb +12 -1
  149. data/lib/akeyless/models/create_auth_method_gcp.rb +12 -1
  150. data/lib/akeyless/models/create_auth_method_huawei.rb +12 -1
  151. data/lib/akeyless/models/create_auth_method_k8_s.rb +12 -1
  152. data/lib/akeyless/models/create_auth_method_ldap.rb +12 -1
  153. data/lib/akeyless/models/create_auth_method_o_auth2.rb +12 -1
  154. data/lib/akeyless/models/create_auth_method_oci.rb +12 -1
  155. data/lib/akeyless/models/create_auth_method_oidc.rb +12 -1
  156. data/lib/akeyless/models/create_auth_method_saml.rb +12 -1
  157. data/lib/akeyless/models/create_auth_method_universal_identity.rb +12 -1
  158. data/lib/akeyless/models/create_esm.rb +11 -1
  159. data/lib/akeyless/models/create_pki_cert_issuer.rb +28 -1
  160. data/lib/akeyless/models/create_role.rb +13 -1
  161. data/lib/akeyless/models/create_usc.rb +11 -1
  162. data/lib/akeyless/models/decrypt_with_classic_key.rb +13 -1
  163. data/lib/akeyless/models/ds_producer_details.rb +47 -1
  164. data/lib/akeyless/models/dynamic_secret_create_gcp.rb +101 -11
  165. data/lib/akeyless/models/dynamic_secret_create_google_workspace.rb +11 -1
  166. data/lib/akeyless/models/dynamic_secret_create_mongo_db.rb +11 -1
  167. data/lib/akeyless/models/dynamic_secret_create_ms_sql.rb +11 -1
  168. data/lib/akeyless/models/dynamic_secret_get_value.rb +11 -1
  169. data/lib/akeyless/models/dynamic_secret_update_gcp.rb +101 -11
  170. data/lib/akeyless/models/dynamic_secret_update_google_workspace.rb +11 -1
  171. data/lib/akeyless/models/dynamic_secret_update_mongo_db.rb +11 -1
  172. data/lib/akeyless/models/dynamic_secret_update_ms_sql.rb +11 -1
  173. data/lib/akeyless/models/encrypt_with_classic_key.rb +13 -1
  174. data/lib/akeyless/models/event_forwarder_get_output.rb +13 -4
  175. data/lib/akeyless/models/folder_create.rb +308 -0
  176. data/lib/akeyless/models/folder_create_output.rb +214 -0
  177. data/lib/akeyless/models/folder_delete.rb +276 -0
  178. data/lib/akeyless/models/folder_get.rb +276 -0
  179. data/lib/akeyless/models/folder_get_output.rb +214 -0
  180. data/lib/akeyless/models/folder_update.rb +320 -0
  181. data/lib/akeyless/models/gateway_create_migration.rb +13 -1
  182. data/lib/akeyless/models/gateway_create_producer_gcp.rb +101 -11
  183. data/lib/akeyless/models/gateway_create_producer_mongo.rb +11 -1
  184. data/lib/akeyless/models/gateway_create_producer_mssql.rb +11 -1
  185. data/lib/akeyless/models/gateway_update_migration.rb +13 -1
  186. data/lib/akeyless/models/gateway_update_producer_gcp.rb +101 -11
  187. data/lib/akeyless/models/gateway_update_producer_mongo.rb +11 -1
  188. data/lib/akeyless/models/gateway_update_producer_mssql.rb +11 -1
  189. data/lib/akeyless/models/gateway_update_remote_access.rb +25 -1
  190. data/lib/akeyless/models/get_dynamic_secret_value.rb +11 -1
  191. data/lib/akeyless/models/get_folder_output.rb +298 -0
  192. data/lib/akeyless/models/noti_forwarder_details_input.rb +261 -0
  193. data/lib/akeyless/models/pki_certificate_issue_details.rb +31 -1
  194. data/lib/akeyless/models/rotated_secret_create_ssh.rb +21 -1
  195. data/lib/akeyless/models/rotated_secret_delete_sync.rb +11 -1
  196. data/lib/akeyless/models/rotated_secret_details_info.rb +21 -1
  197. data/lib/akeyless/models/rotated_secret_update_ssh.rb +21 -1
  198. data/lib/akeyless/models/slack_noti_forwarder_details.rb +214 -0
  199. data/lib/akeyless/models/static_secret_delete_sync.rb +11 -1
  200. data/lib/akeyless/models/teams_noti_forwarder_details.rb +214 -0
  201. data/lib/akeyless/models/update_account_settings.rb +21 -1
  202. data/lib/akeyless/models/update_auth_method.rb +12 -1
  203. data/lib/akeyless/models/update_auth_method_awsiam.rb +12 -1
  204. data/lib/akeyless/models/update_auth_method_azure_ad.rb +12 -1
  205. data/lib/akeyless/models/update_auth_method_cert.rb +12 -1
  206. data/lib/akeyless/models/update_auth_method_gcp.rb +12 -1
  207. data/lib/akeyless/models/update_auth_method_k8_s.rb +12 -1
  208. data/lib/akeyless/models/update_auth_method_ldap.rb +12 -1
  209. data/lib/akeyless/models/update_auth_method_o_auth2.rb +12 -1
  210. data/lib/akeyless/models/update_auth_method_oci.rb +12 -1
  211. data/lib/akeyless/models/update_auth_method_oidc.rb +12 -1
  212. data/lib/akeyless/models/update_auth_method_saml.rb +12 -1
  213. data/lib/akeyless/models/update_auth_method_universal_identity.rb +12 -1
  214. data/lib/akeyless/models/update_pki_cert_issuer.rb +28 -1
  215. data/lib/akeyless/models/webhook_noti_forwarder_details.rb +253 -0
  216. data/lib/akeyless/models/windows_service_attributes.rb +21 -1
  217. data/lib/akeyless/version.rb +1 -1
  218. data/lib/akeyless.rb +12 -0
  219. data/spec/models/allowed_client_type_spec.rb +42 -0
  220. data/spec/models/folder_create_output_spec.rb +36 -0
  221. data/spec/models/folder_create_spec.rb +84 -0
  222. data/spec/models/folder_delete_spec.rb +66 -0
  223. data/spec/models/folder_get_output_spec.rb +36 -0
  224. data/spec/models/folder_get_spec.rb +66 -0
  225. data/spec/models/folder_update_spec.rb +90 -0
  226. data/spec/models/get_folder_output_spec.rb +90 -0
  227. data/spec/models/noti_forwarder_details_input_spec.rb +66 -0
  228. data/spec/models/slack_noti_forwarder_details_spec.rb +36 -0
  229. data/spec/models/teams_noti_forwarder_details_spec.rb +36 -0
  230. data/spec/models/webhook_noti_forwarder_details_spec.rb +60 -0
  231. metadata +49 -1
@@ -25,6 +25,8 @@ module Akeyless
25
25
 
26
26
  attr_accessor :computer_base_dn
27
27
 
28
+ attr_accessor :discover_iis_apps
29
+
28
30
  # Deprecated
29
31
  attr_accessor :discover_local_users
30
32
 
@@ -68,6 +70,7 @@ module Akeyless
68
70
  :'auto_rotate_interval_in_days' => :'auto_rotate_interval_in_days',
69
71
  :'auto_rotate_rotation_hour' => :'auto_rotate_rotation_hour',
70
72
  :'computer_base_dn' => :'computer_base_dn',
73
+ :'discover_iis_apps' => :'discover_iis_apps',
71
74
  :'discover_local_users' => :'discover_local_users',
72
75
  :'discover_services' => :'discover_services',
73
76
  :'discovery_types' => :'discovery_types',
@@ -101,6 +104,7 @@ module Akeyless
101
104
  :'auto_rotate_interval_in_days' => :'Integer',
102
105
  :'auto_rotate_rotation_hour' => :'Integer',
103
106
  :'computer_base_dn' => :'String',
107
+ :'discover_iis_apps' => :'Boolean',
104
108
  :'discover_local_users' => :'Boolean',
105
109
  :'discover_services' => :'Boolean',
106
110
  :'discovery_types' => :'Array<String>',
@@ -162,6 +166,10 @@ module Akeyless
162
166
  self.computer_base_dn = attributes[:'computer_base_dn']
163
167
  end
164
168
 
169
+ if attributes.key?(:'discover_iis_apps')
170
+ self.discover_iis_apps = attributes[:'discover_iis_apps']
171
+ end
172
+
165
173
  if attributes.key?(:'discover_local_users')
166
174
  self.discover_local_users = attributes[:'discover_local_users']
167
175
  end
@@ -262,6 +270,7 @@ module Akeyless
262
270
  auto_rotate_interval_in_days == o.auto_rotate_interval_in_days &&
263
271
  auto_rotate_rotation_hour == o.auto_rotate_rotation_hour &&
264
272
  computer_base_dn == o.computer_base_dn &&
273
+ discover_iis_apps == o.discover_iis_apps &&
265
274
  discover_local_users == o.discover_local_users &&
266
275
  discover_services == o.discover_services &&
267
276
  discovery_types == o.discovery_types &&
@@ -290,7 +299,7 @@ module Akeyless
290
299
  # Calculates hash code according to all attributes.
291
300
  # @return [Integer] Hash code
292
301
  def hash
293
- [active_directory_target_id, auto_rotate, auto_rotate_interval_in_days, auto_rotate_rotation_hour, computer_base_dn, discover_local_users, discover_services, discovery_types, domain_name, domain_server_targets_path_template, domain_users_rotated_secrets_path_template, enable_rdp_sra, local_users_ignore_list, local_users_rotated_secrets_path_template, os_filter, ssh_port, target_format, targets_type, user_base_dn, user_groups, winrm_over_http, winrm_port].hash
302
+ [active_directory_target_id, auto_rotate, auto_rotate_interval_in_days, auto_rotate_rotation_hour, computer_base_dn, discover_iis_apps, discover_local_users, discover_services, discovery_types, domain_name, domain_server_targets_path_template, domain_users_rotated_secrets_path_template, enable_rdp_sra, local_users_ignore_list, local_users_rotated_secrets_path_template, os_filter, ssh_port, target_format, targets_type, user_base_dn, user_groups, winrm_over_http, winrm_port].hash
294
303
  end
295
304
 
296
305
  # Builds the object from hash
@@ -0,0 +1,225 @@
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 AllowedClientType
18
+ attr_accessor :client_types
19
+
20
+ attr_accessor :lock
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'client_types' => :'client_types',
26
+ :'lock' => :'lock'
27
+ }
28
+ end
29
+
30
+ # Returns all the JSON keys this model knows about
31
+ def self.acceptable_attributes
32
+ attribute_map.values
33
+ end
34
+
35
+ # Attribute type mapping.
36
+ def self.openapi_types
37
+ {
38
+ :'client_types' => :'Array<String>',
39
+ :'lock' => :'Boolean'
40
+ }
41
+ end
42
+
43
+ # List of attributes with nullable: true
44
+ def self.openapi_nullable
45
+ Set.new([
46
+ ])
47
+ end
48
+
49
+ # Initializes the object
50
+ # @param [Hash] attributes Model attributes in the form of hash
51
+ def initialize(attributes = {})
52
+ if (!attributes.is_a?(Hash))
53
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::AllowedClientType` initialize method"
54
+ end
55
+
56
+ # check to see if the attribute exists and convert string to symbol for hash key
57
+ attributes = attributes.each_with_object({}) { |(k, v), h|
58
+ if (!self.class.attribute_map.key?(k.to_sym))
59
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::AllowedClientType`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
+ end
61
+ h[k.to_sym] = v
62
+ }
63
+
64
+ if attributes.key?(:'client_types')
65
+ if (value = attributes[:'client_types']).is_a?(Array)
66
+ self.client_types = value
67
+ end
68
+ end
69
+
70
+ if attributes.key?(:'lock')
71
+ self.lock = attributes[:'lock']
72
+ end
73
+ end
74
+
75
+ # Show invalid properties with the reasons. Usually used together with valid?
76
+ # @return Array for valid properties with the reasons
77
+ def list_invalid_properties
78
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
79
+ invalid_properties = Array.new
80
+ invalid_properties
81
+ end
82
+
83
+ # Check to see if the all the properties in the model are valid
84
+ # @return true if the model is valid
85
+ def valid?
86
+ warn '[DEPRECATED] the `valid?` method is obsolete'
87
+ true
88
+ end
89
+
90
+ # Checks equality by comparing each attribute.
91
+ # @param [Object] Object to be compared
92
+ def ==(o)
93
+ return true if self.equal?(o)
94
+ self.class == o.class &&
95
+ client_types == o.client_types &&
96
+ lock == o.lock
97
+ end
98
+
99
+ # @see the `==` method
100
+ # @param [Object] Object to be compared
101
+ def eql?(o)
102
+ self == o
103
+ end
104
+
105
+ # Calculates hash code according to all attributes.
106
+ # @return [Integer] Hash code
107
+ def hash
108
+ [client_types, lock].hash
109
+ end
110
+
111
+ # Builds the object from hash
112
+ # @param [Hash] attributes Model attributes in the form of hash
113
+ # @return [Object] Returns the model itself
114
+ def self.build_from_hash(attributes)
115
+ return nil unless attributes.is_a?(Hash)
116
+ attributes = attributes.transform_keys(&:to_sym)
117
+ transformed_hash = {}
118
+ openapi_types.each_pair do |key, type|
119
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
120
+ transformed_hash["#{key}"] = nil
121
+ elsif type =~ /\AArray<(.*)>/i
122
+ # check to ensure the input is an array given that the attribute
123
+ # is documented as an array but the input is not
124
+ if attributes[attribute_map[key]].is_a?(Array)
125
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
126
+ end
127
+ elsif !attributes[attribute_map[key]].nil?
128
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
129
+ end
130
+ end
131
+ new(transformed_hash)
132
+ end
133
+
134
+ # Deserializes the data based on type
135
+ # @param string type Data type
136
+ # @param string value Value to be deserialized
137
+ # @return [Object] Deserialized data
138
+ def self._deserialize(type, value)
139
+ case type.to_sym
140
+ when :Time
141
+ Time.parse(value)
142
+ when :Date
143
+ Date.parse(value)
144
+ when :String
145
+ value.to_s
146
+ when :Integer
147
+ value.to_i
148
+ when :Float
149
+ value.to_f
150
+ when :Boolean
151
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
152
+ true
153
+ else
154
+ false
155
+ end
156
+ when :Object
157
+ # generic object (usually a Hash), return directly
158
+ value
159
+ when /\AArray<(?<inner_type>.+)>\z/
160
+ inner_type = Regexp.last_match[:inner_type]
161
+ value.map { |v| _deserialize(inner_type, v) }
162
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
163
+ k_type = Regexp.last_match[:k_type]
164
+ v_type = Regexp.last_match[:v_type]
165
+ {}.tap do |hash|
166
+ value.each do |k, v|
167
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
168
+ end
169
+ end
170
+ else # model
171
+ # models (e.g. Pet) or oneOf
172
+ klass = Akeyless.const_get(type)
173
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
174
+ end
175
+ end
176
+
177
+ # Returns the string representation of the object
178
+ # @return [String] String presentation of the object
179
+ def to_s
180
+ to_hash.to_s
181
+ end
182
+
183
+ # to_body is an alias to to_hash (backward compatibility)
184
+ # @return [Hash] Returns the object in the form of hash
185
+ def to_body
186
+ to_hash
187
+ end
188
+
189
+ # Returns the object in the form of hash
190
+ # @return [Hash] Returns the object in the form of hash
191
+ def to_hash
192
+ hash = {}
193
+ self.class.attribute_map.each_pair do |attr, param|
194
+ value = self.send(attr)
195
+ if value.nil?
196
+ is_nullable = self.class.openapi_nullable.include?(attr)
197
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
198
+ end
199
+
200
+ hash[param] = _to_hash(value)
201
+ end
202
+ hash
203
+ end
204
+
205
+ # Outputs non-array value in the form of hash
206
+ # For object, use to_hash. Otherwise, just return the value
207
+ # @param [Object] value Any valid value
208
+ # @return [Hash] Returns the value in the form of hash
209
+ def _to_hash(value)
210
+ if value.is_a?(Array)
211
+ value.compact.map { |v| _to_hash(v) }
212
+ elsif value.is_a?(Hash)
213
+ {}.tap do |hash|
214
+ value.each { |k, v| hash[k] = _to_hash(v) }
215
+ end
216
+ elsif value.respond_to? :to_hash
217
+ value.to_hash
218
+ else
219
+ value
220
+ end
221
+ end
222
+
223
+ end
224
+
225
+ end
@@ -20,6 +20,8 @@ module Akeyless
20
20
  # for accounts where AccessId holds encrypted email this field will hold generated AccessId, for accounts based on regular AccessId it will be equal to accessId itself
21
21
  attr_accessor :access_id_alias
22
22
 
23
+ attr_accessor :allowed_client_type
24
+
23
25
  attr_accessor :api_key_access_rules
24
26
 
25
27
  attr_accessor :audit_logs_claims
@@ -73,6 +75,7 @@ module Akeyless
73
75
  {
74
76
  :'access_expires' => :'access_expires',
75
77
  :'access_id_alias' => :'access_id_alias',
78
+ :'allowed_client_type' => :'allowed_client_type',
76
79
  :'api_key_access_rules' => :'api_key_access_rules',
77
80
  :'audit_logs_claims' => :'audit_logs_claims',
78
81
  :'aws_iam_access_rules' => :'aws_iam_access_rules',
@@ -109,6 +112,7 @@ module Akeyless
109
112
  {
110
113
  :'access_expires' => :'Integer',
111
114
  :'access_id_alias' => :'String',
115
+ :'allowed_client_type' => :'Array<String>',
112
116
  :'api_key_access_rules' => :'APIKeyAccessRules',
113
117
  :'audit_logs_claims' => :'Array<String>',
114
118
  :'aws_iam_access_rules' => :'AWSIAMAccessRules',
@@ -164,6 +168,12 @@ module Akeyless
164
168
  self.access_id_alias = attributes[:'access_id_alias']
165
169
  end
166
170
 
171
+ if attributes.key?(:'allowed_client_type')
172
+ if (value = attributes[:'allowed_client_type']).is_a?(Array)
173
+ self.allowed_client_type = value
174
+ end
175
+ end
176
+
167
177
  if attributes.key?(:'api_key_access_rules')
168
178
  self.api_key_access_rules = attributes[:'api_key_access_rules']
169
179
  end
@@ -285,6 +295,7 @@ module Akeyless
285
295
  self.class == o.class &&
286
296
  access_expires == o.access_expires &&
287
297
  access_id_alias == o.access_id_alias &&
298
+ allowed_client_type == o.allowed_client_type &&
288
299
  api_key_access_rules == o.api_key_access_rules &&
289
300
  audit_logs_claims == o.audit_logs_claims &&
290
301
  aws_iam_access_rules == o.aws_iam_access_rules &&
@@ -319,7 +330,7 @@ module Akeyless
319
330
  # Calculates hash code according to all attributes.
320
331
  # @return [Integer] Hash code
321
332
  def hash
322
- [access_expires, access_id_alias, api_key_access_rules, audit_logs_claims, aws_iam_access_rules, azure_ad_access_rules, cert_access_rules, cidr_whitelist, email_pass_access_rules, force_sub_claims, gcp_access_rules, gw_cidr_whitelist, huawei_access_rules, jwt_ttl, k8s_access_rules, kerberos_access_rules, ldap_access_rules, oauth2_access_rules, oci_access_rules, oidc_access_rules, product_types, rules_type, saml_access_rules, sub_claims_delimiters, universal_identity_access_rules].hash
333
+ [access_expires, access_id_alias, allowed_client_type, api_key_access_rules, audit_logs_claims, aws_iam_access_rules, azure_ad_access_rules, cert_access_rules, cidr_whitelist, email_pass_access_rules, force_sub_claims, gcp_access_rules, gw_cidr_whitelist, huawei_access_rules, jwt_ttl, k8s_access_rules, kerberos_access_rules, ldap_access_rules, oauth2_access_rules, oci_access_rules, oidc_access_rules, product_types, rules_type, saml_access_rules, sub_claims_delimiters, universal_identity_access_rules].hash
323
334
  end
324
335
 
325
336
  # Builds the object from hash
@@ -19,6 +19,8 @@ module Akeyless
19
19
  # Access expiration date in Unix timestamp (select 0 for access without expiry date)
20
20
  attr_accessor :access_expires
21
21
 
22
+ attr_accessor :allowed_client_type
23
+
22
24
  # Subclaims to include in audit logs, e.g \"--audit-logs-claims email --audit-logs-claims username\"
23
25
  attr_accessor :audit_logs_claims
24
26
 
@@ -62,6 +64,7 @@ module Akeyless
62
64
  def self.attribute_map
63
65
  {
64
66
  :'access_expires' => :'access-expires',
67
+ :'allowed_client_type' => :'allowed-client-type',
65
68
  :'audit_logs_claims' => :'audit-logs-claims',
66
69
  :'bound_ips' => :'bound-ips',
67
70
  :'delete_protection' => :'delete_protection',
@@ -87,6 +90,7 @@ module Akeyless
87
90
  def self.openapi_types
88
91
  {
89
92
  :'access_expires' => :'Integer',
93
+ :'allowed_client_type' => :'Array<String>',
90
94
  :'audit_logs_claims' => :'Array<String>',
91
95
  :'bound_ips' => :'Array<String>',
92
96
  :'delete_protection' => :'String',
@@ -130,6 +134,12 @@ module Akeyless
130
134
  self.access_expires = 0
131
135
  end
132
136
 
137
+ if attributes.key?(:'allowed_client_type')
138
+ if (value = attributes[:'allowed_client_type']).is_a?(Array)
139
+ self.allowed_client_type = value
140
+ end
141
+ end
142
+
133
143
  if attributes.key?(:'audit_logs_claims')
134
144
  if (value = attributes[:'audit_logs_claims']).is_a?(Array)
135
145
  self.audit_logs_claims = value
@@ -225,6 +235,7 @@ module Akeyless
225
235
  return true if self.equal?(o)
226
236
  self.class == o.class &&
227
237
  access_expires == o.access_expires &&
238
+ allowed_client_type == o.allowed_client_type &&
228
239
  audit_logs_claims == o.audit_logs_claims &&
229
240
  bound_ips == o.bound_ips &&
230
241
  delete_protection == o.delete_protection &&
@@ -249,7 +260,7 @@ module Akeyless
249
260
  # Calculates hash code according to all attributes.
250
261
  # @return [Integer] Hash code
251
262
  def hash
252
- [access_expires, audit_logs_claims, bound_ips, delete_protection, description, expiration_event_in, force_sub_claims, gw_bound_ips, json, jwt_ttl, name, product_type, token, uid_token].hash
263
+ [access_expires, allowed_client_type, audit_logs_claims, bound_ips, delete_protection, description, expiration_event_in, force_sub_claims, gw_bound_ips, json, jwt_ttl, name, product_type, token, uid_token].hash
253
264
  end
254
265
 
255
266
  # Builds the object from hash
@@ -19,6 +19,8 @@ module Akeyless
19
19
  # Access expiration date in Unix timestamp (select 0 for access without expiry date)
20
20
  attr_accessor :access_expires
21
21
 
22
+ attr_accessor :allowed_client_type
23
+
22
24
  # Subclaims to include in audit logs, e.g \"--audit-logs-claims email --audit-logs-claims username\"
23
25
  attr_accessor :audit_logs_claims
24
26
 
@@ -89,6 +91,7 @@ module Akeyless
89
91
  def self.attribute_map
90
92
  {
91
93
  :'access_expires' => :'access-expires',
94
+ :'allowed_client_type' => :'allowed-client-type',
92
95
  :'audit_logs_claims' => :'audit-logs-claims',
93
96
  :'bound_arn' => :'bound-arn',
94
97
  :'bound_aws_account_id' => :'bound-aws-account-id',
@@ -123,6 +126,7 @@ module Akeyless
123
126
  def self.openapi_types
124
127
  {
125
128
  :'access_expires' => :'Integer',
129
+ :'allowed_client_type' => :'Array<String>',
126
130
  :'audit_logs_claims' => :'Array<String>',
127
131
  :'bound_arn' => :'Array<String>',
128
132
  :'bound_aws_account_id' => :'Array<String>',
@@ -175,6 +179,12 @@ module Akeyless
175
179
  self.access_expires = 0
176
180
  end
177
181
 
182
+ if attributes.key?(:'allowed_client_type')
183
+ if (value = attributes[:'allowed_client_type']).is_a?(Array)
184
+ self.allowed_client_type = value
185
+ end
186
+ end
187
+
178
188
  if attributes.key?(:'audit_logs_claims')
179
189
  if (value = attributes[:'audit_logs_claims']).is_a?(Array)
180
190
  self.audit_logs_claims = value
@@ -329,6 +339,7 @@ module Akeyless
329
339
  return true if self.equal?(o)
330
340
  self.class == o.class &&
331
341
  access_expires == o.access_expires &&
342
+ allowed_client_type == o.allowed_client_type &&
332
343
  audit_logs_claims == o.audit_logs_claims &&
333
344
  bound_arn == o.bound_arn &&
334
345
  bound_aws_account_id == o.bound_aws_account_id &&
@@ -362,7 +373,7 @@ module Akeyless
362
373
  # Calculates hash code according to all attributes.
363
374
  # @return [Integer] Hash code
364
375
  def hash
365
- [access_expires, audit_logs_claims, bound_arn, bound_aws_account_id, bound_ips, bound_resource_id, bound_role_id, bound_role_name, bound_user_id, bound_user_name, delete_protection, description, expiration_event_in, force_sub_claims, gw_bound_ips, json, jwt_ttl, name, product_type, sts_url, token, uid_token, unique_identifier].hash
376
+ [access_expires, allowed_client_type, audit_logs_claims, bound_arn, bound_aws_account_id, bound_ips, bound_resource_id, bound_role_id, bound_role_name, bound_user_id, bound_user_name, delete_protection, description, expiration_event_in, force_sub_claims, gw_bound_ips, json, jwt_ttl, name, product_type, sts_url, token, uid_token, unique_identifier].hash
366
377
  end
367
378
 
368
379
  # Builds the object from hash
@@ -19,6 +19,8 @@ module Akeyless
19
19
  # Access expiration date in Unix timestamp (select 0 for access without expiry date)
20
20
  attr_accessor :access_expires
21
21
 
22
+ attr_accessor :allowed_client_type
23
+
22
24
  # Deprecated (Deprecated) The audience in the JWT
23
25
  attr_accessor :audience
24
26
 
@@ -101,6 +103,7 @@ module Akeyless
101
103
  def self.attribute_map
102
104
  {
103
105
  :'access_expires' => :'access-expires',
106
+ :'allowed_client_type' => :'allowed-client-type',
104
107
  :'audience' => :'audience',
105
108
  :'audit_logs_claims' => :'audit-logs-claims',
106
109
  :'bound_group_id' => :'bound-group-id',
@@ -139,6 +142,7 @@ module Akeyless
139
142
  def self.openapi_types
140
143
  {
141
144
  :'access_expires' => :'Integer',
145
+ :'allowed_client_type' => :'Array<String>',
142
146
  :'audience' => :'String',
143
147
  :'audit_logs_claims' => :'Array<String>',
144
148
  :'bound_group_id' => :'Array<String>',
@@ -195,6 +199,12 @@ module Akeyless
195
199
  self.access_expires = 0
196
200
  end
197
201
 
202
+ if attributes.key?(:'allowed_client_type')
203
+ if (value = attributes[:'allowed_client_type']).is_a?(Array)
204
+ self.allowed_client_type = value
205
+ end
206
+ end
207
+
198
208
  if attributes.key?(:'audience')
199
209
  self.audience = attributes[:'audience']
200
210
  else
@@ -371,6 +381,7 @@ module Akeyless
371
381
  return true if self.equal?(o)
372
382
  self.class == o.class &&
373
383
  access_expires == o.access_expires &&
384
+ allowed_client_type == o.allowed_client_type &&
374
385
  audience == o.audience &&
375
386
  audit_logs_claims == o.audit_logs_claims &&
376
387
  bound_group_id == o.bound_group_id &&
@@ -408,7 +419,7 @@ module Akeyless
408
419
  # Calculates hash code according to all attributes.
409
420
  # @return [Integer] Hash code
410
421
  def hash
411
- [access_expires, audience, audit_logs_claims, bound_group_id, bound_ips, bound_providers, bound_resource_id, bound_resource_names, bound_resource_types, bound_rg_id, bound_spid, bound_sub_id, bound_tenant_id, delete_protection, description, expiration_event_in, force_sub_claims, gw_bound_ips, issuer, json, jwks_uri, jwt_ttl, name, product_type, token, uid_token, unique_identifier].hash
422
+ [access_expires, allowed_client_type, audience, audit_logs_claims, bound_group_id, bound_ips, bound_providers, bound_resource_id, bound_resource_names, bound_resource_types, bound_rg_id, bound_spid, bound_sub_id, bound_tenant_id, delete_protection, description, expiration_event_in, force_sub_claims, gw_bound_ips, issuer, json, jwks_uri, jwt_ttl, name, product_type, token, uid_token, unique_identifier].hash
412
423
  end
413
424
 
414
425
  # Builds the object from hash
@@ -19,6 +19,8 @@ module Akeyless
19
19
  # Access expiration date in Unix timestamp (select 0 for access without expiry date)
20
20
  attr_accessor :access_expires
21
21
 
22
+ attr_accessor :allowed_client_type
23
+
22
24
  # Comma separated list of allowed CORS domains to be validated as part of the authentication flow.
23
25
  attr_accessor :allowed_cors
24
26
 
@@ -92,6 +94,7 @@ module Akeyless
92
94
  def self.attribute_map
93
95
  {
94
96
  :'access_expires' => :'access-expires',
97
+ :'allowed_client_type' => :'allowed-client-type',
95
98
  :'allowed_cors' => :'allowed-cors',
96
99
  :'audit_logs_claims' => :'audit-logs-claims',
97
100
  :'bound_common_names' => :'bound-common-names',
@@ -127,6 +130,7 @@ module Akeyless
127
130
  def self.openapi_types
128
131
  {
129
132
  :'access_expires' => :'Integer',
133
+ :'allowed_client_type' => :'Array<String>',
130
134
  :'allowed_cors' => :'String',
131
135
  :'audit_logs_claims' => :'Array<String>',
132
136
  :'bound_common_names' => :'Array<String>',
@@ -180,6 +184,12 @@ module Akeyless
180
184
  self.access_expires = 0
181
185
  end
182
186
 
187
+ if attributes.key?(:'allowed_client_type')
188
+ if (value = attributes[:'allowed_client_type']).is_a?(Array)
189
+ self.allowed_client_type = value
190
+ end
191
+ end
192
+
183
193
  if attributes.key?(:'allowed_cors')
184
194
  self.allowed_cors = attributes[:'allowed_cors']
185
195
  end
@@ -336,6 +346,7 @@ module Akeyless
336
346
  return true if self.equal?(o)
337
347
  self.class == o.class &&
338
348
  access_expires == o.access_expires &&
349
+ allowed_client_type == o.allowed_client_type &&
339
350
  allowed_cors == o.allowed_cors &&
340
351
  audit_logs_claims == o.audit_logs_claims &&
341
352
  bound_common_names == o.bound_common_names &&
@@ -370,7 +381,7 @@ module Akeyless
370
381
  # Calculates hash code according to all attributes.
371
382
  # @return [Integer] Hash code
372
383
  def hash
373
- [access_expires, allowed_cors, audit_logs_claims, bound_common_names, bound_dns_sans, bound_email_sans, bound_extensions, bound_ips, bound_organizational_units, bound_uri_sans, certificate_data, delete_protection, description, expiration_event_in, force_sub_claims, gw_bound_ips, json, jwt_ttl, name, product_type, revoked_cert_ids, token, uid_token, unique_identifier].hash
384
+ [access_expires, allowed_client_type, allowed_cors, audit_logs_claims, bound_common_names, bound_dns_sans, bound_email_sans, bound_extensions, bound_ips, bound_organizational_units, bound_uri_sans, certificate_data, delete_protection, description, expiration_event_in, force_sub_claims, gw_bound_ips, json, jwt_ttl, name, product_type, revoked_cert_ids, token, uid_token, unique_identifier].hash
374
385
  end
375
386
 
376
387
  # Builds the object from hash
@@ -19,6 +19,8 @@ module Akeyless
19
19
  # Access expiration date in Unix timestamp (select 0 for access without expiry date)
20
20
  attr_accessor :access_expires
21
21
 
22
+ attr_accessor :allowed_client_type
23
+
22
24
  # Subclaims to include in audit logs, e.g \"--audit-logs-claims email --audit-logs-claims username\"
23
25
  attr_accessor :audit_logs_claims
24
26
 
@@ -71,6 +73,7 @@ module Akeyless
71
73
  def self.attribute_map
72
74
  {
73
75
  :'access_expires' => :'access-expires',
76
+ :'allowed_client_type' => :'allowed-client-type',
74
77
  :'audit_logs_claims' => :'audit-logs-claims',
75
78
  :'bound_ips' => :'bound-ips',
76
79
  :'delete_protection' => :'delete_protection',
@@ -99,6 +102,7 @@ module Akeyless
99
102
  def self.openapi_types
100
103
  {
101
104
  :'access_expires' => :'Integer',
105
+ :'allowed_client_type' => :'Array<String>',
102
106
  :'audit_logs_claims' => :'Array<String>',
103
107
  :'bound_ips' => :'Array<String>',
104
108
  :'delete_protection' => :'String',
@@ -145,6 +149,12 @@ module Akeyless
145
149
  self.access_expires = 0
146
150
  end
147
151
 
152
+ if attributes.key?(:'allowed_client_type')
153
+ if (value = attributes[:'allowed_client_type']).is_a?(Array)
154
+ self.allowed_client_type = value
155
+ end
156
+ end
157
+
148
158
  if attributes.key?(:'audit_logs_claims')
149
159
  if (value = attributes[:'audit_logs_claims']).is_a?(Array)
150
160
  self.audit_logs_claims = value
@@ -261,6 +271,7 @@ module Akeyless
261
271
  return true if self.equal?(o)
262
272
  self.class == o.class &&
263
273
  access_expires == o.access_expires &&
274
+ allowed_client_type == o.allowed_client_type &&
264
275
  audit_logs_claims == o.audit_logs_claims &&
265
276
  bound_ips == o.bound_ips &&
266
277
  delete_protection == o.delete_protection &&
@@ -288,7 +299,7 @@ module Akeyless
288
299
  # Calculates hash code according to all attributes.
289
300
  # @return [Integer] Hash code
290
301
  def hash
291
- [access_expires, audit_logs_claims, bound_ips, delete_protection, description, email, enable_mfa, expiration_event_in, force_sub_claims, gw_bound_ips, json, jwt_ttl, mfa_type, name, product_type, token, uid_token].hash
302
+ [access_expires, allowed_client_type, audit_logs_claims, bound_ips, delete_protection, description, email, enable_mfa, expiration_event_in, force_sub_claims, gw_bound_ips, json, jwt_ttl, mfa_type, name, product_type, token, uid_token].hash
292
303
  end
293
304
 
294
305
  # Builds the object from hash
@@ -19,6 +19,8 @@ module Akeyless
19
19
  # Access expiration date in Unix timestamp (select 0 for access without expiry date)
20
20
  attr_accessor :access_expires
21
21
 
22
+ attr_accessor :allowed_client_type
23
+
22
24
  # The audience to verify in the JWT received by the client
23
25
  attr_accessor :audience
24
26
 
@@ -89,6 +91,7 @@ module Akeyless
89
91
  def self.attribute_map
90
92
  {
91
93
  :'access_expires' => :'access-expires',
94
+ :'allowed_client_type' => :'allowed-client-type',
92
95
  :'audience' => :'audience',
93
96
  :'audit_logs_claims' => :'audit-logs-claims',
94
97
  :'bound_ips' => :'bound-ips',
@@ -123,6 +126,7 @@ module Akeyless
123
126
  def self.openapi_types
124
127
  {
125
128
  :'access_expires' => :'Integer',
129
+ :'allowed_client_type' => :'Array<String>',
126
130
  :'audience' => :'String',
127
131
  :'audit_logs_claims' => :'Array<String>',
128
132
  :'bound_ips' => :'Array<String>',
@@ -175,6 +179,12 @@ module Akeyless
175
179
  self.access_expires = 0
176
180
  end
177
181
 
182
+ if attributes.key?(:'allowed_client_type')
183
+ if (value = attributes[:'allowed_client_type']).is_a?(Array)
184
+ self.allowed_client_type = value
185
+ end
186
+ end
187
+
178
188
  if attributes.key?(:'audience')
179
189
  self.audience = attributes[:'audience']
180
190
  else
@@ -330,6 +340,7 @@ module Akeyless
330
340
  return true if self.equal?(o)
331
341
  self.class == o.class &&
332
342
  access_expires == o.access_expires &&
343
+ allowed_client_type == o.allowed_client_type &&
333
344
  audience == o.audience &&
334
345
  audit_logs_claims == o.audit_logs_claims &&
335
346
  bound_ips == o.bound_ips &&
@@ -363,7 +374,7 @@ module Akeyless
363
374
  # Calculates hash code according to all attributes.
364
375
  # @return [Integer] Hash code
365
376
  def hash
366
- [access_expires, audience, audit_logs_claims, bound_ips, bound_labels, bound_projects, bound_regions, bound_service_accounts, bound_zones, delete_protection, description, expiration_event_in, force_sub_claims, gw_bound_ips, json, jwt_ttl, name, product_type, service_account_creds_data, token, type, uid_token, unique_identifier].hash
377
+ [access_expires, allowed_client_type, audience, audit_logs_claims, bound_ips, bound_labels, bound_projects, bound_regions, bound_service_accounts, bound_zones, delete_protection, description, expiration_event_in, force_sub_claims, gw_bound_ips, json, jwt_ttl, name, product_type, service_account_creds_data, token, type, uid_token, unique_identifier].hash
367
378
  end
368
379
 
369
380
  # Builds the object from hash