akeyless 5.0.14 → 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 (199) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +6 -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/CreatePKICertIssuer.md +6 -0
  51. data/docs/DSProducerDetails.md +10 -0
  52. data/docs/DynamicSecretCreateGcp.md +22 -6
  53. data/docs/DynamicSecretCreateGoogleWorkspace.md +2 -0
  54. data/docs/DynamicSecretCreateMongoDb.md +2 -0
  55. data/docs/DynamicSecretCreateMsSql.md +2 -0
  56. data/docs/DynamicSecretGetValue.md +2 -0
  57. data/docs/DynamicSecretUpdateGcp.md +22 -6
  58. data/docs/DynamicSecretUpdateGoogleWorkspace.md +2 -0
  59. data/docs/DynamicSecretUpdateMongoDb.md +2 -0
  60. data/docs/DynamicSecretUpdateMsSql.md +2 -0
  61. data/docs/EventForwarderGetOutput.md +3 -1
  62. data/docs/GatewayCreateMigration.md +2 -0
  63. data/docs/GatewayCreateProducerGcp.md +22 -6
  64. data/docs/GatewayCreateProducerMSSQL.md +2 -0
  65. data/docs/GatewayCreateProducerMongo.md +2 -0
  66. data/docs/GatewayUpdateMigration.md +2 -0
  67. data/docs/GatewayUpdateProducerGcp.md +22 -6
  68. data/docs/GatewayUpdateProducerMSSQL.md +2 -0
  69. data/docs/GatewayUpdateProducerMongo.md +2 -0
  70. data/docs/GatewayUpdateRemoteAccess.md +4 -0
  71. data/docs/GetDynamicSecretValue.md +2 -0
  72. data/docs/NotiForwarderDetailsInput.md +28 -0
  73. data/docs/PKICertificateIssueDetails.md +6 -0
  74. data/docs/RotatedSecretCreateSsh.md +4 -0
  75. data/docs/RotatedSecretDeleteSync.md +2 -0
  76. data/docs/RotatedSecretDetailsInfo.md +4 -0
  77. data/docs/RotatedSecretUpdateSsh.md +4 -0
  78. data/docs/SlackNotiForwarderDetails.md +18 -0
  79. data/docs/StaticSecretDeleteSync.md +2 -0
  80. data/docs/TeamsNotiForwarderDetails.md +18 -0
  81. data/docs/UpdateAccountSettings.md +4 -0
  82. data/docs/UpdateAuthMethod.md +2 -0
  83. data/docs/UpdateAuthMethodAWSIAM.md +2 -0
  84. data/docs/UpdateAuthMethodAzureAD.md +2 -0
  85. data/docs/UpdateAuthMethodCert.md +2 -0
  86. data/docs/UpdateAuthMethodGCP.md +2 -0
  87. data/docs/UpdateAuthMethodK8S.md +2 -0
  88. data/docs/UpdateAuthMethodLDAP.md +2 -0
  89. data/docs/UpdateAuthMethodOAuth2.md +2 -0
  90. data/docs/UpdateAuthMethodOCI.md +2 -0
  91. data/docs/UpdateAuthMethodOIDC.md +2 -0
  92. data/docs/UpdateAuthMethodSAML.md +2 -0
  93. data/docs/UpdateAuthMethodUniversalIdentity.md +2 -0
  94. data/docs/UpdatePKICertIssuer.md +6 -0
  95. data/docs/V2Api.md +4 -4
  96. data/docs/WebhookNotiForwarderDetails.md +26 -0
  97. data/docs/WindowsServiceAttributes.md +4 -0
  98. data/lib/akeyless/models/account_general_settings.rb +10 -1
  99. data/lib/akeyless/models/active_directory_payload.rb +10 -1
  100. data/lib/akeyless/models/allowed_client_type.rb +225 -0
  101. data/lib/akeyless/models/auth_method_access_info.rb +12 -1
  102. data/lib/akeyless/models/auth_method_create_api_key.rb +12 -1
  103. data/lib/akeyless/models/auth_method_create_aws_iam.rb +12 -1
  104. data/lib/akeyless/models/auth_method_create_azure_ad.rb +12 -1
  105. data/lib/akeyless/models/auth_method_create_cert.rb +12 -1
  106. data/lib/akeyless/models/auth_method_create_email.rb +12 -1
  107. data/lib/akeyless/models/auth_method_create_gcp.rb +12 -1
  108. data/lib/akeyless/models/auth_method_create_k8s.rb +12 -1
  109. data/lib/akeyless/models/auth_method_create_kerberos.rb +12 -1
  110. data/lib/akeyless/models/auth_method_create_ldap.rb +12 -1
  111. data/lib/akeyless/models/auth_method_create_oauth2.rb +12 -1
  112. data/lib/akeyless/models/auth_method_create_oci.rb +12 -1
  113. data/lib/akeyless/models/auth_method_create_oidc.rb +12 -1
  114. data/lib/akeyless/models/auth_method_create_saml.rb +12 -1
  115. data/lib/akeyless/models/auth_method_create_universal_identity.rb +12 -1
  116. data/lib/akeyless/models/auth_method_update_api_key.rb +12 -1
  117. data/lib/akeyless/models/auth_method_update_aws_iam.rb +12 -1
  118. data/lib/akeyless/models/auth_method_update_azure_ad.rb +12 -1
  119. data/lib/akeyless/models/auth_method_update_cert.rb +12 -1
  120. data/lib/akeyless/models/auth_method_update_email.rb +12 -1
  121. data/lib/akeyless/models/auth_method_update_gcp.rb +12 -1
  122. data/lib/akeyless/models/auth_method_update_k8s.rb +12 -1
  123. data/lib/akeyless/models/auth_method_update_kerberos.rb +12 -1
  124. data/lib/akeyless/models/auth_method_update_ldap.rb +12 -1
  125. data/lib/akeyless/models/auth_method_update_oauth2.rb +12 -1
  126. data/lib/akeyless/models/auth_method_update_oci.rb +12 -1
  127. data/lib/akeyless/models/auth_method_update_oidc.rb +12 -1
  128. data/lib/akeyless/models/auth_method_update_saml.rb +12 -1
  129. data/lib/akeyless/models/auth_method_update_universal_identity.rb +12 -1
  130. data/lib/akeyless/models/bastion_global_conf.rb +19 -1
  131. data/lib/akeyless/models/create_auth_method.rb +12 -1
  132. data/lib/akeyless/models/create_auth_method_awsiam.rb +12 -1
  133. data/lib/akeyless/models/create_auth_method_azure_ad.rb +12 -1
  134. data/lib/akeyless/models/create_auth_method_cert.rb +12 -1
  135. data/lib/akeyless/models/create_auth_method_email.rb +12 -1
  136. data/lib/akeyless/models/create_auth_method_gcp.rb +12 -1
  137. data/lib/akeyless/models/create_auth_method_huawei.rb +12 -1
  138. data/lib/akeyless/models/create_auth_method_k8_s.rb +12 -1
  139. data/lib/akeyless/models/create_auth_method_ldap.rb +12 -1
  140. data/lib/akeyless/models/create_auth_method_o_auth2.rb +12 -1
  141. data/lib/akeyless/models/create_auth_method_oci.rb +12 -1
  142. data/lib/akeyless/models/create_auth_method_oidc.rb +12 -1
  143. data/lib/akeyless/models/create_auth_method_saml.rb +12 -1
  144. data/lib/akeyless/models/create_auth_method_universal_identity.rb +12 -1
  145. data/lib/akeyless/models/create_pki_cert_issuer.rb +28 -1
  146. data/lib/akeyless/models/ds_producer_details.rb +47 -1
  147. data/lib/akeyless/models/dynamic_secret_create_gcp.rb +92 -12
  148. data/lib/akeyless/models/dynamic_secret_create_google_workspace.rb +11 -1
  149. data/lib/akeyless/models/dynamic_secret_create_mongo_db.rb +11 -1
  150. data/lib/akeyless/models/dynamic_secret_create_ms_sql.rb +11 -1
  151. data/lib/akeyless/models/dynamic_secret_get_value.rb +11 -1
  152. data/lib/akeyless/models/dynamic_secret_update_gcp.rb +92 -12
  153. data/lib/akeyless/models/dynamic_secret_update_google_workspace.rb +11 -1
  154. data/lib/akeyless/models/dynamic_secret_update_mongo_db.rb +11 -1
  155. data/lib/akeyless/models/dynamic_secret_update_ms_sql.rb +11 -1
  156. data/lib/akeyless/models/event_forwarder_get_output.rb +13 -4
  157. data/lib/akeyless/models/gateway_create_migration.rb +13 -1
  158. data/lib/akeyless/models/gateway_create_producer_gcp.rb +92 -12
  159. data/lib/akeyless/models/gateway_create_producer_mongo.rb +11 -1
  160. data/lib/akeyless/models/gateway_create_producer_mssql.rb +11 -1
  161. data/lib/akeyless/models/gateway_update_migration.rb +13 -1
  162. data/lib/akeyless/models/gateway_update_producer_gcp.rb +92 -12
  163. data/lib/akeyless/models/gateway_update_producer_mongo.rb +11 -1
  164. data/lib/akeyless/models/gateway_update_producer_mssql.rb +11 -1
  165. data/lib/akeyless/models/gateway_update_remote_access.rb +25 -1
  166. data/lib/akeyless/models/get_dynamic_secret_value.rb +11 -1
  167. data/lib/akeyless/models/noti_forwarder_details_input.rb +261 -0
  168. data/lib/akeyless/models/pki_certificate_issue_details.rb +31 -1
  169. data/lib/akeyless/models/rotated_secret_create_ssh.rb +21 -1
  170. data/lib/akeyless/models/rotated_secret_delete_sync.rb +11 -1
  171. data/lib/akeyless/models/rotated_secret_details_info.rb +21 -1
  172. data/lib/akeyless/models/rotated_secret_update_ssh.rb +21 -1
  173. data/lib/akeyless/models/slack_noti_forwarder_details.rb +214 -0
  174. data/lib/akeyless/models/static_secret_delete_sync.rb +11 -1
  175. data/lib/akeyless/models/teams_noti_forwarder_details.rb +214 -0
  176. data/lib/akeyless/models/update_account_settings.rb +21 -1
  177. data/lib/akeyless/models/update_auth_method.rb +12 -1
  178. data/lib/akeyless/models/update_auth_method_awsiam.rb +12 -1
  179. data/lib/akeyless/models/update_auth_method_azure_ad.rb +12 -1
  180. data/lib/akeyless/models/update_auth_method_cert.rb +12 -1
  181. data/lib/akeyless/models/update_auth_method_gcp.rb +12 -1
  182. data/lib/akeyless/models/update_auth_method_k8_s.rb +12 -1
  183. data/lib/akeyless/models/update_auth_method_ldap.rb +12 -1
  184. data/lib/akeyless/models/update_auth_method_o_auth2.rb +12 -1
  185. data/lib/akeyless/models/update_auth_method_oci.rb +12 -1
  186. data/lib/akeyless/models/update_auth_method_oidc.rb +12 -1
  187. data/lib/akeyless/models/update_auth_method_saml.rb +12 -1
  188. data/lib/akeyless/models/update_auth_method_universal_identity.rb +12 -1
  189. data/lib/akeyless/models/update_pki_cert_issuer.rb +28 -1
  190. data/lib/akeyless/models/webhook_noti_forwarder_details.rb +253 -0
  191. data/lib/akeyless/models/windows_service_attributes.rb +21 -1
  192. data/lib/akeyless/version.rb +1 -1
  193. data/lib/akeyless.rb +5 -0
  194. data/spec/models/allowed_client_type_spec.rb +42 -0
  195. data/spec/models/noti_forwarder_details_input_spec.rb +66 -0
  196. data/spec/models/slack_noti_forwarder_details_spec.rb +36 -0
  197. data/spec/models/teams_noti_forwarder_details_spec.rb +36 -0
  198. data/spec/models/webhook_noti_forwarder_details_spec.rb +60 -0
  199. metadata +21 -1
@@ -16,6 +16,8 @@ require 'time'
16
16
  module Akeyless
17
17
  # dynamicSecretCreateGcp is a command that creates a GCP dynamic secret
18
18
  class DynamicSecretCreateGcp
19
+ attr_accessor :access_type
20
+
19
21
  # Customize how temporary usernames are generated using go template
20
22
  attr_accessor :custom_username_template
21
23
 
@@ -25,21 +27,24 @@ module Akeyless
25
27
  # Description of the object
26
28
  attr_accessor :description
27
29
 
30
+ # For externally provided users, denotes the key-name of IdP claim to extract the username from (Relevant only when --access-type=external)
31
+ attr_accessor :fixed_user_claim_keyname
32
+
28
33
  attr_accessor :gcp_cred_type
29
34
 
30
35
  # Base64-encoded service account private key text
31
36
  attr_accessor :gcp_key
32
37
 
33
- # Service account key algorithm, e.g. KEY_ALG_RSA_1024
38
+ # Service account key algorithm, e.g. KEY_ALG_RSA_1024 (Relevant only when --access-type=sa and --gcp-cred-type=key)
34
39
  attr_accessor :gcp_key_algo
35
40
 
36
- # GCP Project ID override for dynamic secret operations (tmp service accounts)
41
+ # GCP Project ID override for dynamic secret operations
37
42
  attr_accessor :gcp_project_id
38
43
 
39
- # The email of the fixed service acocunt to generate keys or tokens for. (revelant for service-account-type=fixed)
44
+ # The email of the fixed service account to generate keys or tokens for (Relevant only when --access-type=sa and --service-account-type=fixed)
40
45
  attr_accessor :gcp_sa_email
41
46
 
42
- # Access token scopes list, e.g. scope1,scope2
47
+ # Access token scopes list, e.g. scope1,scope2 (Relevant only when --access-type=sa; required when --gcp-cred-type=token)
43
48
  attr_accessor :gcp_token_scopes
44
49
 
45
50
  # Additional custom fields to associate with the item
@@ -54,10 +59,28 @@ module Akeyless
54
59
  # Dynamic producer encryption key
55
60
  attr_accessor :producer_encryption_key_name
56
61
 
57
- # Role binding definitions in json format
62
+ # Role binding definitions in JSON format (Relevant only when --access-type=sa and --service-account-type=dynamic)
58
63
  attr_accessor :role_binding
59
64
 
60
- # The type of the gcp dynamic secret. Options[fixed, dynamic]
65
+ # Comma-separated list of GCP roles to assign to the user (Relevant only when --access-type=external)
66
+ attr_accessor :role_names
67
+
68
+ # The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
69
+ attr_accessor :secure_access_delay
70
+
71
+ # Enable/Disable secure remote access [true/false]
72
+ attr_accessor :secure_access_enable
73
+
74
+ # Destination URL to inject secrets
75
+ attr_accessor :secure_access_url
76
+
77
+ # Secure browser via Akeyless's Secure Remote Access (SRA)
78
+ attr_accessor :secure_access_web_browsing
79
+
80
+ # Web-Proxy via Akeyless's Secure Remote Access (SRA)
81
+ attr_accessor :secure_access_web_proxy
82
+
83
+ # The type of the GCP service account. Options [fixed, dynamic] (Relevant only when --access-type=sa)
61
84
  attr_accessor :service_account_type
62
85
 
63
86
  # Add tags attached to this object
@@ -78,9 +101,11 @@ module Akeyless
78
101
  # Attribute mapping from ruby-style variable name to JSON key.
79
102
  def self.attribute_map
80
103
  {
104
+ :'access_type' => :'access-type',
81
105
  :'custom_username_template' => :'custom-username-template',
82
106
  :'delete_protection' => :'delete_protection',
83
107
  :'description' => :'description',
108
+ :'fixed_user_claim_keyname' => :'fixed-user-claim-keyname',
84
109
  :'gcp_cred_type' => :'gcp-cred-type',
85
110
  :'gcp_key' => :'gcp-key',
86
111
  :'gcp_key_algo' => :'gcp-key-algo',
@@ -92,6 +117,12 @@ module Akeyless
92
117
  :'name' => :'name',
93
118
  :'producer_encryption_key_name' => :'producer-encryption-key-name',
94
119
  :'role_binding' => :'role-binding',
120
+ :'role_names' => :'role-names',
121
+ :'secure_access_delay' => :'secure-access-delay',
122
+ :'secure_access_enable' => :'secure-access-enable',
123
+ :'secure_access_url' => :'secure-access-url',
124
+ :'secure_access_web_browsing' => :'secure-access-web-browsing',
125
+ :'secure_access_web_proxy' => :'secure-access-web-proxy',
95
126
  :'service_account_type' => :'service-account-type',
96
127
  :'tags' => :'tags',
97
128
  :'target_name' => :'target-name',
@@ -109,9 +140,11 @@ module Akeyless
109
140
  # Attribute type mapping.
110
141
  def self.openapi_types
111
142
  {
143
+ :'access_type' => :'String',
112
144
  :'custom_username_template' => :'String',
113
145
  :'delete_protection' => :'String',
114
146
  :'description' => :'String',
147
+ :'fixed_user_claim_keyname' => :'String',
115
148
  :'gcp_cred_type' => :'String',
116
149
  :'gcp_key' => :'String',
117
150
  :'gcp_key_algo' => :'String',
@@ -123,6 +156,12 @@ module Akeyless
123
156
  :'name' => :'String',
124
157
  :'producer_encryption_key_name' => :'String',
125
158
  :'role_binding' => :'String',
159
+ :'role_names' => :'String',
160
+ :'secure_access_delay' => :'Integer',
161
+ :'secure_access_enable' => :'String',
162
+ :'secure_access_url' => :'String',
163
+ :'secure_access_web_browsing' => :'Boolean',
164
+ :'secure_access_web_proxy' => :'Boolean',
126
165
  :'service_account_type' => :'String',
127
166
  :'tags' => :'Array<String>',
128
167
  :'target_name' => :'String',
@@ -153,6 +192,10 @@ module Akeyless
153
192
  h[k.to_sym] = v
154
193
  }
155
194
 
195
+ if attributes.key?(:'access_type')
196
+ self.access_type = attributes[:'access_type']
197
+ end
198
+
156
199
  if attributes.key?(:'custom_username_template')
157
200
  self.custom_username_template = attributes[:'custom_username_template']
158
201
  end
@@ -165,6 +208,12 @@ module Akeyless
165
208
  self.description = attributes[:'description']
166
209
  end
167
210
 
211
+ if attributes.key?(:'fixed_user_claim_keyname')
212
+ self.fixed_user_claim_keyname = attributes[:'fixed_user_claim_keyname']
213
+ else
214
+ self.fixed_user_claim_keyname = 'ext_email'
215
+ end
216
+
168
217
  if attributes.key?(:'gcp_cred_type')
169
218
  self.gcp_cred_type = attributes[:'gcp_cred_type']
170
219
  end
@@ -215,6 +264,34 @@ module Akeyless
215
264
  self.role_binding = attributes[:'role_binding']
216
265
  end
217
266
 
267
+ if attributes.key?(:'role_names')
268
+ self.role_names = attributes[:'role_names']
269
+ end
270
+
271
+ if attributes.key?(:'secure_access_delay')
272
+ self.secure_access_delay = attributes[:'secure_access_delay']
273
+ end
274
+
275
+ if attributes.key?(:'secure_access_enable')
276
+ self.secure_access_enable = attributes[:'secure_access_enable']
277
+ end
278
+
279
+ if attributes.key?(:'secure_access_url')
280
+ self.secure_access_url = attributes[:'secure_access_url']
281
+ end
282
+
283
+ if attributes.key?(:'secure_access_web_browsing')
284
+ self.secure_access_web_browsing = attributes[:'secure_access_web_browsing']
285
+ else
286
+ self.secure_access_web_browsing = false
287
+ end
288
+
289
+ if attributes.key?(:'secure_access_web_proxy')
290
+ self.secure_access_web_proxy = attributes[:'secure_access_web_proxy']
291
+ else
292
+ self.secure_access_web_proxy = false
293
+ end
294
+
218
295
  if attributes.key?(:'service_account_type')
219
296
  self.service_account_type = attributes[:'service_account_type']
220
297
  else
@@ -255,10 +332,6 @@ module Akeyless
255
332
  invalid_properties.push('invalid value for "name", name cannot be nil.')
256
333
  end
257
334
 
258
- if @service_account_type.nil?
259
- invalid_properties.push('invalid value for "service_account_type", service_account_type cannot be nil.')
260
- end
261
-
262
335
  invalid_properties
263
336
  end
264
337
 
@@ -267,7 +340,6 @@ module Akeyless
267
340
  def valid?
268
341
  warn '[DEPRECATED] the `valid?` method is obsolete'
269
342
  return false if @name.nil?
270
- return false if @service_account_type.nil?
271
343
  true
272
344
  end
273
345
 
@@ -276,9 +348,11 @@ module Akeyless
276
348
  def ==(o)
277
349
  return true if self.equal?(o)
278
350
  self.class == o.class &&
351
+ access_type == o.access_type &&
279
352
  custom_username_template == o.custom_username_template &&
280
353
  delete_protection == o.delete_protection &&
281
354
  description == o.description &&
355
+ fixed_user_claim_keyname == o.fixed_user_claim_keyname &&
282
356
  gcp_cred_type == o.gcp_cred_type &&
283
357
  gcp_key == o.gcp_key &&
284
358
  gcp_key_algo == o.gcp_key_algo &&
@@ -290,6 +364,12 @@ module Akeyless
290
364
  name == o.name &&
291
365
  producer_encryption_key_name == o.producer_encryption_key_name &&
292
366
  role_binding == o.role_binding &&
367
+ role_names == o.role_names &&
368
+ secure_access_delay == o.secure_access_delay &&
369
+ secure_access_enable == o.secure_access_enable &&
370
+ secure_access_url == o.secure_access_url &&
371
+ secure_access_web_browsing == o.secure_access_web_browsing &&
372
+ secure_access_web_proxy == o.secure_access_web_proxy &&
293
373
  service_account_type == o.service_account_type &&
294
374
  tags == o.tags &&
295
375
  target_name == o.target_name &&
@@ -307,7 +387,7 @@ module Akeyless
307
387
  # Calculates hash code according to all attributes.
308
388
  # @return [Integer] Hash code
309
389
  def hash
310
- [custom_username_template, delete_protection, description, gcp_cred_type, gcp_key, gcp_key_algo, gcp_project_id, gcp_sa_email, gcp_token_scopes, item_custom_fields, json, name, producer_encryption_key_name, role_binding, service_account_type, tags, target_name, token, uid_token, user_ttl].hash
390
+ [access_type, custom_username_template, delete_protection, description, fixed_user_claim_keyname, gcp_cred_type, gcp_key, gcp_key_algo, gcp_project_id, gcp_sa_email, gcp_token_scopes, item_custom_fields, json, name, producer_encryption_key_name, role_binding, role_names, secure_access_delay, secure_access_enable, secure_access_url, secure_access_web_browsing, secure_access_web_proxy, service_account_type, tags, target_name, token, uid_token, user_ttl].hash
311
391
  end
312
392
 
313
393
  # Builds the object from hash
@@ -55,6 +55,9 @@ module Akeyless
55
55
 
56
56
  attr_accessor :role_scope
57
57
 
58
+ # The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
59
+ attr_accessor :secure_access_delay
60
+
58
61
  # Enable/Disable secure remote access [true/false]
59
62
  attr_accessor :secure_access_enable
60
63
 
@@ -102,6 +105,7 @@ module Akeyless
102
105
  :'producer_encryption_key_name' => :'producer-encryption-key-name',
103
106
  :'role_name' => :'role-name',
104
107
  :'role_scope' => :'role-scope',
108
+ :'secure_access_delay' => :'secure-access-delay',
105
109
  :'secure_access_enable' => :'secure-access-enable',
106
110
  :'secure_access_url' => :'secure-access-url',
107
111
  :'secure_access_web' => :'secure-access-web',
@@ -137,6 +141,7 @@ module Akeyless
137
141
  :'producer_encryption_key_name' => :'String',
138
142
  :'role_name' => :'String',
139
143
  :'role_scope' => :'String',
144
+ :'secure_access_delay' => :'Integer',
140
145
  :'secure_access_enable' => :'String',
141
146
  :'secure_access_url' => :'String',
142
147
  :'secure_access_web' => :'Boolean',
@@ -239,6 +244,10 @@ module Akeyless
239
244
  self.role_scope = attributes[:'role_scope']
240
245
  end
241
246
 
247
+ if attributes.key?(:'secure_access_delay')
248
+ self.secure_access_delay = attributes[:'secure_access_delay']
249
+ end
250
+
242
251
  if attributes.key?(:'secure_access_enable')
243
252
  self.secure_access_enable = attributes[:'secure_access_enable']
244
253
  end
@@ -339,6 +348,7 @@ module Akeyless
339
348
  producer_encryption_key_name == o.producer_encryption_key_name &&
340
349
  role_name == o.role_name &&
341
350
  role_scope == o.role_scope &&
351
+ secure_access_delay == o.secure_access_delay &&
342
352
  secure_access_enable == o.secure_access_enable &&
343
353
  secure_access_url == o.secure_access_url &&
344
354
  secure_access_web == o.secure_access_web &&
@@ -360,7 +370,7 @@ module Akeyless
360
370
  # Calculates hash code according to all attributes.
361
371
  # @return [Integer] Hash code
362
372
  def hash
363
- [access_mode, admin_email, delete_protection, description, fixed_user_claim_keyname, gcp_key, group_email, group_role, item_custom_fields, json, name, producer_encryption_key_name, role_name, role_scope, secure_access_enable, secure_access_url, secure_access_web, secure_access_web_browsing, secure_access_web_proxy, tags, target_name, token, uid_token, user_ttl].hash
373
+ [access_mode, admin_email, delete_protection, description, fixed_user_claim_keyname, gcp_key, group_email, group_role, item_custom_fields, json, name, producer_encryption_key_name, role_name, role_scope, secure_access_delay, secure_access_enable, secure_access_url, secure_access_web, secure_access_web_browsing, secure_access_web_proxy, tags, target_name, token, uid_token, user_ttl].hash
364
374
  end
365
375
 
366
376
  # Builds the object from hash
@@ -58,6 +58,9 @@ module Akeyless
58
58
  # MongoDB Roles
59
59
  attr_accessor :mongodb_roles
60
60
 
61
+ # MongoDB Scopes (Atlas only)
62
+ attr_accessor :mongodb_scopes
63
+
61
64
  # MongoDB server URI
62
65
  attr_accessor :mongodb_server_uri
63
66
 
@@ -129,6 +132,7 @@ module Akeyless
129
132
  :'mongodb_name' => :'mongodb-name',
130
133
  :'mongodb_password' => :'mongodb-password',
131
134
  :'mongodb_roles' => :'mongodb-roles',
135
+ :'mongodb_scopes' => :'mongodb-scopes',
132
136
  :'mongodb_server_uri' => :'mongodb-server-uri',
133
137
  :'mongodb_uri_options' => :'mongodb-uri-options',
134
138
  :'mongodb_username' => :'mongodb-username',
@@ -172,6 +176,7 @@ module Akeyless
172
176
  :'mongodb_name' => :'String',
173
177
  :'mongodb_password' => :'String',
174
178
  :'mongodb_roles' => :'String',
179
+ :'mongodb_scopes' => :'String',
175
180
  :'mongodb_server_uri' => :'String',
176
181
  :'mongodb_uri_options' => :'String',
177
182
  :'mongodb_username' => :'String',
@@ -276,6 +281,10 @@ module Akeyless
276
281
  self.mongodb_roles = '[]'
277
282
  end
278
283
 
284
+ if attributes.key?(:'mongodb_scopes')
285
+ self.mongodb_scopes = attributes[:'mongodb_scopes']
286
+ end
287
+
279
288
  if attributes.key?(:'mongodb_server_uri')
280
289
  self.mongodb_server_uri = attributes[:'mongodb_server_uri']
281
290
  end
@@ -398,6 +407,7 @@ module Akeyless
398
407
  mongodb_name == o.mongodb_name &&
399
408
  mongodb_password == o.mongodb_password &&
400
409
  mongodb_roles == o.mongodb_roles &&
410
+ mongodb_scopes == o.mongodb_scopes &&
401
411
  mongodb_server_uri == o.mongodb_server_uri &&
402
412
  mongodb_uri_options == o.mongodb_uri_options &&
403
413
  mongodb_username == o.mongodb_username &&
@@ -427,7 +437,7 @@ module Akeyless
427
437
  # Calculates hash code according to all attributes.
428
438
  # @return [Integer] Hash code
429
439
  def hash
430
- [custom_username_template, delete_protection, description, item_custom_fields, json, mongodb_atlas_api_private_key, mongodb_atlas_api_public_key, mongodb_atlas_project_id, mongodb_custom_data, mongodb_default_auth_db, mongodb_host_port, mongodb_name, mongodb_password, mongodb_roles, mongodb_server_uri, mongodb_uri_options, mongodb_username, name, password_length, producer_encryption_key_name, secure_access_bastion_issuer, secure_access_certificate_issuer, secure_access_db_name, secure_access_delay, secure_access_enable, secure_access_host, secure_access_web, tags, target_name, token, uid_token, user_ttl].hash
440
+ [custom_username_template, delete_protection, description, item_custom_fields, json, mongodb_atlas_api_private_key, mongodb_atlas_api_public_key, mongodb_atlas_project_id, mongodb_custom_data, mongodb_default_auth_db, mongodb_host_port, mongodb_name, mongodb_password, mongodb_roles, mongodb_scopes, mongodb_server_uri, mongodb_uri_options, mongodb_username, name, password_length, producer_encryption_key_name, secure_access_bastion_issuer, secure_access_certificate_issuer, secure_access_db_name, secure_access_delay, secure_access_enable, secure_access_host, secure_access_web, tags, target_name, token, uid_token, user_ttl].hash
431
441
  end
432
442
 
433
443
  # Builds the object from hash
@@ -31,6 +31,9 @@ module Akeyless
31
31
  # Set output format to JSON
32
32
  attr_accessor :json
33
33
 
34
+ # CSV of allowed DB names for runtime selection when getting the secret value. Empty => use target DB only; \"*\" => any DB allowed; One or more names => user must choose from this list
35
+ attr_accessor :mssql_allowed_db_names
36
+
34
37
  # MSSQL Creation statements
35
38
  attr_accessor :mssql_create_statements
36
39
 
@@ -108,6 +111,7 @@ module Akeyless
108
111
  :'description' => :'description',
109
112
  :'item_custom_fields' => :'item-custom-fields',
110
113
  :'json' => :'json',
114
+ :'mssql_allowed_db_names' => :'mssql-allowed-db-names',
111
115
  :'mssql_create_statements' => :'mssql-create-statements',
112
116
  :'mssql_dbname' => :'mssql-dbname',
113
117
  :'mssql_host' => :'mssql-host',
@@ -147,6 +151,7 @@ module Akeyless
147
151
  :'description' => :'String',
148
152
  :'item_custom_fields' => :'Hash<String, String>',
149
153
  :'json' => :'Boolean',
154
+ :'mssql_allowed_db_names' => :'String',
150
155
  :'mssql_create_statements' => :'String',
151
156
  :'mssql_dbname' => :'String',
152
157
  :'mssql_host' => :'String',
@@ -218,6 +223,10 @@ module Akeyless
218
223
  self.json = false
219
224
  end
220
225
 
226
+ if attributes.key?(:'mssql_allowed_db_names')
227
+ self.mssql_allowed_db_names = attributes[:'mssql_allowed_db_names']
228
+ end
229
+
221
230
  if attributes.key?(:'mssql_create_statements')
222
231
  self.mssql_create_statements = attributes[:'mssql_create_statements']
223
232
  end
@@ -355,6 +364,7 @@ module Akeyless
355
364
  description == o.description &&
356
365
  item_custom_fields == o.item_custom_fields &&
357
366
  json == o.json &&
367
+ mssql_allowed_db_names == o.mssql_allowed_db_names &&
358
368
  mssql_create_statements == o.mssql_create_statements &&
359
369
  mssql_dbname == o.mssql_dbname &&
360
370
  mssql_host == o.mssql_host &&
@@ -389,7 +399,7 @@ module Akeyless
389
399
  # Calculates hash code according to all attributes.
390
400
  # @return [Integer] Hash code
391
401
  def hash
392
- [custom_username_template, delete_protection, description, item_custom_fields, json, mssql_create_statements, mssql_dbname, mssql_host, mssql_password, mssql_port, mssql_revocation_statements, mssql_username, name, password_length, producer_encryption_key_name, secure_access_bastion_issuer, secure_access_certificate_issuer, secure_access_db_name, secure_access_db_schema, secure_access_delay, secure_access_enable, secure_access_host, secure_access_web, tags, target_name, token, uid_token, user_ttl].hash
402
+ [custom_username_template, delete_protection, description, item_custom_fields, json, mssql_allowed_db_names, mssql_create_statements, mssql_dbname, mssql_host, mssql_password, mssql_port, mssql_revocation_statements, mssql_username, name, password_length, producer_encryption_key_name, secure_access_bastion_issuer, secure_access_certificate_issuer, secure_access_db_name, secure_access_db_schema, secure_access_delay, secure_access_enable, secure_access_host, secure_access_web, tags, target_name, token, uid_token, user_ttl].hash
393
403
  end
394
404
 
395
405
  # Builds the object from hash
@@ -18,6 +18,9 @@ module Akeyless
18
18
  # Optional arguments as key=value pairs or JSON strings, e.g - \\\"--args=csr=base64_encoded_csr --args=common_name=bar\\\" or args='{\\\"csr\\\":\\\"base64_encoded_csr\\\"}. It is possible to combine both formats.'
19
19
  attr_accessor :args
20
20
 
21
+ # DBName: Optional override DB name (works only if DS allows it. only relevant for MSSQL)
22
+ attr_accessor :dbname
23
+
21
24
  # Host
22
25
  attr_accessor :host
23
26
 
@@ -43,6 +46,7 @@ module Akeyless
43
46
  def self.attribute_map
44
47
  {
45
48
  :'args' => :'args',
49
+ :'dbname' => :'dbname',
46
50
  :'host' => :'host',
47
51
  :'json' => :'json',
48
52
  :'name' => :'name',
@@ -62,6 +66,7 @@ module Akeyless
62
66
  def self.openapi_types
63
67
  {
64
68
  :'args' => :'Array<String>',
69
+ :'dbname' => :'String',
65
70
  :'host' => :'String',
66
71
  :'json' => :'Boolean',
67
72
  :'name' => :'String',
@@ -99,6 +104,10 @@ module Akeyless
99
104
  end
100
105
  end
101
106
 
107
+ if attributes.key?(:'dbname')
108
+ self.dbname = attributes[:'dbname']
109
+ end
110
+
102
111
  if attributes.key?(:'host')
103
112
  self.host = attributes[:'host']
104
113
  end
@@ -160,6 +169,7 @@ module Akeyless
160
169
  return true if self.equal?(o)
161
170
  self.class == o.class &&
162
171
  args == o.args &&
172
+ dbname == o.dbname &&
163
173
  host == o.host &&
164
174
  json == o.json &&
165
175
  name == o.name &&
@@ -178,7 +188,7 @@ module Akeyless
178
188
  # Calculates hash code according to all attributes.
179
189
  # @return [Integer] Hash code
180
190
  def hash
181
- [args, host, json, name, target, timeout, token, uid_token].hash
191
+ [args, dbname, host, json, name, target, timeout, token, uid_token].hash
182
192
  end
183
193
 
184
194
  # Builds the object from hash
@@ -16,6 +16,8 @@ require 'time'
16
16
  module Akeyless
17
17
  # dynamicSecretUpdateGcp is a command that updates a GCP dynamic secret
18
18
  class DynamicSecretUpdateGcp
19
+ attr_accessor :access_type
20
+
19
21
  # Customize how temporary usernames are generated using go template
20
22
  attr_accessor :custom_username_template
21
23
 
@@ -25,21 +27,24 @@ module Akeyless
25
27
  # Description of the object
26
28
  attr_accessor :description
27
29
 
30
+ # For externally provided users, denotes the key-name of IdP claim to extract the username from (Relevant only when --access-type=external)
31
+ attr_accessor :fixed_user_claim_keyname
32
+
28
33
  attr_accessor :gcp_cred_type
29
34
 
30
35
  # Base64-encoded service account private key text
31
36
  attr_accessor :gcp_key
32
37
 
33
- # Service account key algorithm, e.g. KEY_ALG_RSA_1024
38
+ # Service account key algorithm, e.g. KEY_ALG_RSA_1024 (Relevant only when --access-type=sa and --gcp-cred-type=key)
34
39
  attr_accessor :gcp_key_algo
35
40
 
36
- # GCP Project ID override for dynamic secret operations (tmp service accounts)
41
+ # GCP Project ID override for dynamic secret operations
37
42
  attr_accessor :gcp_project_id
38
43
 
39
- # The email of the fixed service acocunt to generate keys or tokens for. (revelant for service-account-type=fixed)
44
+ # The email of the fixed service account to generate keys or tokens for (Relevant only when --access-type=sa and --service-account-type=fixed)
40
45
  attr_accessor :gcp_sa_email
41
46
 
42
- # Access token scopes list, e.g. scope1,scope2
47
+ # Access token scopes list, e.g. scope1,scope2 (Relevant only when --access-type=sa; required when --gcp-cred-type=token)
43
48
  attr_accessor :gcp_token_scopes
44
49
 
45
50
  # Additional custom fields to associate with the item
@@ -57,10 +62,28 @@ module Akeyless
57
62
  # Dynamic producer encryption key
58
63
  attr_accessor :producer_encryption_key_name
59
64
 
60
- # Role binding definitions in json format
65
+ # Role binding definitions in JSON format (Relevant only when --access-type=sa and --service-account-type=dynamic)
61
66
  attr_accessor :role_binding
62
67
 
63
- # The type of the gcp dynamic secret. Options[fixed, dynamic]
68
+ # Comma-separated list of GCP roles to assign to the user (Relevant only when --access-type=external)
69
+ attr_accessor :role_names
70
+
71
+ # The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
72
+ attr_accessor :secure_access_delay
73
+
74
+ # Enable/Disable secure remote access [true/false]
75
+ attr_accessor :secure_access_enable
76
+
77
+ # Destination URL to inject secrets
78
+ attr_accessor :secure_access_url
79
+
80
+ # Secure browser via Akeyless's Secure Remote Access (SRA)
81
+ attr_accessor :secure_access_web_browsing
82
+
83
+ # Web-Proxy via Akeyless's Secure Remote Access (SRA)
84
+ attr_accessor :secure_access_web_proxy
85
+
86
+ # The type of the GCP service account. Options [fixed, dynamic] (Relevant only when --access-type=sa)
64
87
  attr_accessor :service_account_type
65
88
 
66
89
  # Add tags attached to this object
@@ -81,9 +104,11 @@ module Akeyless
81
104
  # Attribute mapping from ruby-style variable name to JSON key.
82
105
  def self.attribute_map
83
106
  {
107
+ :'access_type' => :'access-type',
84
108
  :'custom_username_template' => :'custom-username-template',
85
109
  :'delete_protection' => :'delete_protection',
86
110
  :'description' => :'description',
111
+ :'fixed_user_claim_keyname' => :'fixed-user-claim-keyname',
87
112
  :'gcp_cred_type' => :'gcp-cred-type',
88
113
  :'gcp_key' => :'gcp-key',
89
114
  :'gcp_key_algo' => :'gcp-key-algo',
@@ -96,6 +121,12 @@ module Akeyless
96
121
  :'new_name' => :'new-name',
97
122
  :'producer_encryption_key_name' => :'producer-encryption-key-name',
98
123
  :'role_binding' => :'role-binding',
124
+ :'role_names' => :'role-names',
125
+ :'secure_access_delay' => :'secure-access-delay',
126
+ :'secure_access_enable' => :'secure-access-enable',
127
+ :'secure_access_url' => :'secure-access-url',
128
+ :'secure_access_web_browsing' => :'secure-access-web-browsing',
129
+ :'secure_access_web_proxy' => :'secure-access-web-proxy',
99
130
  :'service_account_type' => :'service-account-type',
100
131
  :'tags' => :'tags',
101
132
  :'target_name' => :'target-name',
@@ -113,9 +144,11 @@ module Akeyless
113
144
  # Attribute type mapping.
114
145
  def self.openapi_types
115
146
  {
147
+ :'access_type' => :'String',
116
148
  :'custom_username_template' => :'String',
117
149
  :'delete_protection' => :'String',
118
150
  :'description' => :'String',
151
+ :'fixed_user_claim_keyname' => :'String',
119
152
  :'gcp_cred_type' => :'String',
120
153
  :'gcp_key' => :'String',
121
154
  :'gcp_key_algo' => :'String',
@@ -128,6 +161,12 @@ module Akeyless
128
161
  :'new_name' => :'String',
129
162
  :'producer_encryption_key_name' => :'String',
130
163
  :'role_binding' => :'String',
164
+ :'role_names' => :'String',
165
+ :'secure_access_delay' => :'Integer',
166
+ :'secure_access_enable' => :'String',
167
+ :'secure_access_url' => :'String',
168
+ :'secure_access_web_browsing' => :'Boolean',
169
+ :'secure_access_web_proxy' => :'Boolean',
131
170
  :'service_account_type' => :'String',
132
171
  :'tags' => :'Array<String>',
133
172
  :'target_name' => :'String',
@@ -158,6 +197,10 @@ module Akeyless
158
197
  h[k.to_sym] = v
159
198
  }
160
199
 
200
+ if attributes.key?(:'access_type')
201
+ self.access_type = attributes[:'access_type']
202
+ end
203
+
161
204
  if attributes.key?(:'custom_username_template')
162
205
  self.custom_username_template = attributes[:'custom_username_template']
163
206
  end
@@ -170,6 +213,12 @@ module Akeyless
170
213
  self.description = attributes[:'description']
171
214
  end
172
215
 
216
+ if attributes.key?(:'fixed_user_claim_keyname')
217
+ self.fixed_user_claim_keyname = attributes[:'fixed_user_claim_keyname']
218
+ else
219
+ self.fixed_user_claim_keyname = 'ext_email'
220
+ end
221
+
173
222
  if attributes.key?(:'gcp_cred_type')
174
223
  self.gcp_cred_type = attributes[:'gcp_cred_type']
175
224
  end
@@ -224,6 +273,34 @@ module Akeyless
224
273
  self.role_binding = attributes[:'role_binding']
225
274
  end
226
275
 
276
+ if attributes.key?(:'role_names')
277
+ self.role_names = attributes[:'role_names']
278
+ end
279
+
280
+ if attributes.key?(:'secure_access_delay')
281
+ self.secure_access_delay = attributes[:'secure_access_delay']
282
+ end
283
+
284
+ if attributes.key?(:'secure_access_enable')
285
+ self.secure_access_enable = attributes[:'secure_access_enable']
286
+ end
287
+
288
+ if attributes.key?(:'secure_access_url')
289
+ self.secure_access_url = attributes[:'secure_access_url']
290
+ end
291
+
292
+ if attributes.key?(:'secure_access_web_browsing')
293
+ self.secure_access_web_browsing = attributes[:'secure_access_web_browsing']
294
+ else
295
+ self.secure_access_web_browsing = false
296
+ end
297
+
298
+ if attributes.key?(:'secure_access_web_proxy')
299
+ self.secure_access_web_proxy = attributes[:'secure_access_web_proxy']
300
+ else
301
+ self.secure_access_web_proxy = false
302
+ end
303
+
227
304
  if attributes.key?(:'service_account_type')
228
305
  self.service_account_type = attributes[:'service_account_type']
229
306
  else
@@ -264,10 +341,6 @@ module Akeyless
264
341
  invalid_properties.push('invalid value for "name", name cannot be nil.')
265
342
  end
266
343
 
267
- if @service_account_type.nil?
268
- invalid_properties.push('invalid value for "service_account_type", service_account_type cannot be nil.')
269
- end
270
-
271
344
  invalid_properties
272
345
  end
273
346
 
@@ -276,7 +349,6 @@ module Akeyless
276
349
  def valid?
277
350
  warn '[DEPRECATED] the `valid?` method is obsolete'
278
351
  return false if @name.nil?
279
- return false if @service_account_type.nil?
280
352
  true
281
353
  end
282
354
 
@@ -285,9 +357,11 @@ module Akeyless
285
357
  def ==(o)
286
358
  return true if self.equal?(o)
287
359
  self.class == o.class &&
360
+ access_type == o.access_type &&
288
361
  custom_username_template == o.custom_username_template &&
289
362
  delete_protection == o.delete_protection &&
290
363
  description == o.description &&
364
+ fixed_user_claim_keyname == o.fixed_user_claim_keyname &&
291
365
  gcp_cred_type == o.gcp_cred_type &&
292
366
  gcp_key == o.gcp_key &&
293
367
  gcp_key_algo == o.gcp_key_algo &&
@@ -300,6 +374,12 @@ module Akeyless
300
374
  new_name == o.new_name &&
301
375
  producer_encryption_key_name == o.producer_encryption_key_name &&
302
376
  role_binding == o.role_binding &&
377
+ role_names == o.role_names &&
378
+ secure_access_delay == o.secure_access_delay &&
379
+ secure_access_enable == o.secure_access_enable &&
380
+ secure_access_url == o.secure_access_url &&
381
+ secure_access_web_browsing == o.secure_access_web_browsing &&
382
+ secure_access_web_proxy == o.secure_access_web_proxy &&
303
383
  service_account_type == o.service_account_type &&
304
384
  tags == o.tags &&
305
385
  target_name == o.target_name &&
@@ -317,7 +397,7 @@ module Akeyless
317
397
  # Calculates hash code according to all attributes.
318
398
  # @return [Integer] Hash code
319
399
  def hash
320
- [custom_username_template, delete_protection, description, gcp_cred_type, gcp_key, gcp_key_algo, gcp_project_id, gcp_sa_email, gcp_token_scopes, item_custom_fields, json, name, new_name, producer_encryption_key_name, role_binding, service_account_type, tags, target_name, token, uid_token, user_ttl].hash
400
+ [access_type, custom_username_template, delete_protection, description, fixed_user_claim_keyname, gcp_cred_type, gcp_key, gcp_key_algo, gcp_project_id, gcp_sa_email, gcp_token_scopes, item_custom_fields, json, name, new_name, producer_encryption_key_name, role_binding, role_names, secure_access_delay, secure_access_enable, secure_access_url, secure_access_web_browsing, secure_access_web_proxy, service_account_type, tags, target_name, token, uid_token, user_ttl].hash
321
401
  end
322
402
 
323
403
  # Builds the object from hash