akeyless 2.17.0 → 2.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -4
  3. data/docs/AccountGeneralSettings.md +3 -1
  4. data/docs/CreateAuthMethodK8S.md +2 -2
  5. data/docs/CreateAuthMethodLDAP.md +3 -1
  6. data/docs/CreateAuthMethodLDAPOutput.md +3 -1
  7. data/docs/CreatePKICertIssuer.md +5 -5
  8. data/docs/CreateSSHCertIssuer.md +1 -1
  9. data/docs/GatewayCreateK8SAuthConfig.md +2 -2
  10. data/docs/GatewayRevokeTmpUsers.md +4 -2
  11. data/docs/GatewayUpdateK8SAuthConfig.md +2 -2
  12. data/docs/GatewayUpdateLdapAuthConfig.md +2 -2
  13. data/docs/Item.md +2 -0
  14. data/docs/KubernetesAccessRules.md +2 -0
  15. data/docs/LDAPAccessRules.md +2 -0
  16. data/docs/RuleAssigner.md +20 -0
  17. data/docs/UpdateAccountSettings.md +11 -1
  18. data/docs/UpdateAuthMethodK8S.md +2 -2
  19. data/docs/UpdateAuthMethodLDAP.md +3 -1
  20. data/docs/UpdateAuthMethodLDAPOutput.md +18 -0
  21. data/docs/V2Api.md +4 -67
  22. data/lib/akeyless/api/v2_api.rb +3 -67
  23. data/lib/akeyless/models/account_general_settings.rb +13 -4
  24. data/lib/akeyless/models/create_auth_method_k8_s.rb +2 -2
  25. data/lib/akeyless/models/create_auth_method_ldap.rb +14 -2
  26. data/lib/akeyless/models/create_auth_method_ldap_output.rb +13 -4
  27. data/lib/akeyless/models/create_pki_cert_issuer.rb +5 -5
  28. data/lib/akeyless/models/create_ssh_cert_issuer.rb +1 -1
  29. data/lib/akeyless/models/gateway_create_k8_s_auth_config.rb +2 -2
  30. data/lib/akeyless/models/gateway_revoke_tmp_users.rb +14 -2
  31. data/lib/akeyless/models/gateway_update_k8_s_auth_config.rb +2 -2
  32. data/lib/akeyless/models/gateway_update_ldap_auth_config.rb +2 -2
  33. data/lib/akeyless/models/item.rb +10 -1
  34. data/lib/akeyless/models/kubernetes_access_rules.rb +11 -1
  35. data/lib/akeyless/models/ldap_access_rules.rb +11 -1
  36. data/lib/akeyless/models/rule_assigner.rb +228 -0
  37. data/lib/akeyless/models/update_account_settings.rb +54 -4
  38. data/lib/akeyless/models/update_auth_method_k8_s.rb +2 -4
  39. data/lib/akeyless/models/update_auth_method_ldap.rb +12 -2
  40. data/lib/akeyless/models/update_auth_method_ldap_output.rb +219 -0
  41. data/lib/akeyless/version.rb +1 -1
  42. data/lib/akeyless.rb +2 -2
  43. data/spec/models/rule_assigner_spec.rb +40 -0
  44. data/spec/models/update_auth_method_ldap_output_spec.rb +34 -0
  45. metadata +512 -504
@@ -18,10 +18,13 @@ module Akeyless
18
18
  class AccountGeneralSettings
19
19
  attr_accessor :data_protection_section
20
20
 
21
+ attr_accessor :password_policy
22
+
21
23
  # Attribute mapping from ruby-style variable name to JSON key.
22
24
  def self.attribute_map
23
25
  {
24
- :'data_protection_section' => :'data_protection_section'
26
+ :'data_protection_section' => :'data_protection_section',
27
+ :'password_policy' => :'password_policy'
25
28
  }
26
29
  end
27
30
 
@@ -33,7 +36,8 @@ module Akeyless
33
36
  # Attribute type mapping.
34
37
  def self.openapi_types
35
38
  {
36
- :'data_protection_section' => :'DataProtectionSection'
39
+ :'data_protection_section' => :'DataProtectionSection',
40
+ :'password_policy' => :'PasswordPolicyInfo'
37
41
  }
38
42
  end
39
43
 
@@ -61,6 +65,10 @@ module Akeyless
61
65
  if attributes.key?(:'data_protection_section')
62
66
  self.data_protection_section = attributes[:'data_protection_section']
63
67
  end
68
+
69
+ if attributes.key?(:'password_policy')
70
+ self.password_policy = attributes[:'password_policy']
71
+ end
64
72
  end
65
73
 
66
74
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -81,7 +89,8 @@ module Akeyless
81
89
  def ==(o)
82
90
  return true if self.equal?(o)
83
91
  self.class == o.class &&
84
- data_protection_section == o.data_protection_section
92
+ data_protection_section == o.data_protection_section &&
93
+ password_policy == o.password_policy
85
94
  end
86
95
 
87
96
  # @see the `==` method
@@ -93,7 +102,7 @@ module Akeyless
93
102
  # Calculates hash code according to all attributes.
94
103
  # @return [Integer] Hash code
95
104
  def hash
96
- [data_protection_section].hash
105
+ [data_protection_section, password_policy].hash
97
106
  end
98
107
 
99
108
  # Builds the object from hash
@@ -37,7 +37,7 @@ module Akeyless
37
37
  # if true: enforce role-association must include sub claims
38
38
  attr_accessor :force_sub_claims
39
39
 
40
- # If this flag is set to true, there is no need to manually provide a public key for the Kubernetes Auth Method, and instead, a key pair, will be generated as part of the command and the private part of the key will be returned (the private key is required for the K8S Auth Config in the Akeyless Gateway)
40
+ # Automatically generate key-pair for K8S configuration. If set to false, a public key needs to be provided
41
41
  attr_accessor :gen_key
42
42
 
43
43
  # A CIDR whitelist with the GW IPs that the access is restricted to
@@ -49,7 +49,7 @@ module Akeyless
49
49
  # Auth Method name
50
50
  attr_accessor :name
51
51
 
52
- # Base64-encoded public key text for K8S authentication method is required [RSA2048]
52
+ # Base64-encoded or PEM formatted public key data for K8S authentication method is required [RSA2048]
53
53
  attr_accessor :public_key
54
54
 
55
55
  # Authentication token (see `/auth` and `/configure`)
@@ -25,6 +25,9 @@ module Akeyless
25
25
  # if true: enforce role-association must include sub claims
26
26
  attr_accessor :force_sub_claims
27
27
 
28
+ # Automatically generate key-pair for LDAP configuration. If set to false, a public key needs to be provided
29
+ attr_accessor :gen_key
30
+
28
31
  # A CIDR whitelist with the GW IPs that the access is restricted to
29
32
  attr_accessor :gw_bound_ips
30
33
 
@@ -34,7 +37,7 @@ module Akeyless
34
37
  # Auth Method name
35
38
  attr_accessor :name
36
39
 
37
- # A public key generated for LDAP authentication method on Akeyless in base64 format [RSA2048]
40
+ # A public key generated for LDAP authentication method on Akeyless in base64 or PEM format [RSA2048]
38
41
  attr_accessor :public_key_data
39
42
 
40
43
  # Authentication token (see `/auth` and `/configure`)
@@ -52,6 +55,7 @@ module Akeyless
52
55
  :'access_expires' => :'access-expires',
53
56
  :'bound_ips' => :'bound-ips',
54
57
  :'force_sub_claims' => :'force-sub-claims',
58
+ :'gen_key' => :'gen-key',
55
59
  :'gw_bound_ips' => :'gw-bound-ips',
56
60
  :'jwt_ttl' => :'jwt-ttl',
57
61
  :'name' => :'name',
@@ -73,6 +77,7 @@ module Akeyless
73
77
  :'access_expires' => :'Integer',
74
78
  :'bound_ips' => :'Array<String>',
75
79
  :'force_sub_claims' => :'Boolean',
80
+ :'gen_key' => :'String',
76
81
  :'gw_bound_ips' => :'Array<String>',
77
82
  :'jwt_ttl' => :'Integer',
78
83
  :'name' => :'String',
@@ -120,6 +125,12 @@ module Akeyless
120
125
  self.force_sub_claims = attributes[:'force_sub_claims']
121
126
  end
122
127
 
128
+ if attributes.key?(:'gen_key')
129
+ self.gen_key = attributes[:'gen_key']
130
+ else
131
+ self.gen_key = 'true'
132
+ end
133
+
123
134
  if attributes.key?(:'gw_bound_ips')
124
135
  if (value = attributes[:'gw_bound_ips']).is_a?(Array)
125
136
  self.gw_bound_ips = value
@@ -177,6 +188,7 @@ module Akeyless
177
188
  access_expires == o.access_expires &&
178
189
  bound_ips == o.bound_ips &&
179
190
  force_sub_claims == o.force_sub_claims &&
191
+ gen_key == o.gen_key &&
180
192
  gw_bound_ips == o.gw_bound_ips &&
181
193
  jwt_ttl == o.jwt_ttl &&
182
194
  name == o.name &&
@@ -195,7 +207,7 @@ module Akeyless
195
207
  # Calculates hash code according to all attributes.
196
208
  # @return [Integer] Hash code
197
209
  def hash
198
- [access_expires, bound_ips, force_sub_claims, gw_bound_ips, jwt_ttl, name, public_key_data, token, uid_token, unique_identifier].hash
210
+ [access_expires, bound_ips, force_sub_claims, gen_key, gw_bound_ips, jwt_ttl, name, public_key_data, token, uid_token, unique_identifier].hash
199
211
  end
200
212
 
201
213
  # Builds the object from hash
@@ -17,10 +17,13 @@ module Akeyless
17
17
  class CreateAuthMethodLDAPOutput
18
18
  attr_accessor :access_id
19
19
 
20
+ attr_accessor :prv_key
21
+
20
22
  # Attribute mapping from ruby-style variable name to JSON key.
21
23
  def self.attribute_map
22
24
  {
23
- :'access_id' => :'access_id'
25
+ :'access_id' => :'access_id',
26
+ :'prv_key' => :'prv_key'
24
27
  }
25
28
  end
26
29
 
@@ -32,7 +35,8 @@ module Akeyless
32
35
  # Attribute type mapping.
33
36
  def self.openapi_types
34
37
  {
35
- :'access_id' => :'String'
38
+ :'access_id' => :'String',
39
+ :'prv_key' => :'String'
36
40
  }
37
41
  end
38
42
 
@@ -60,6 +64,10 @@ module Akeyless
60
64
  if attributes.key?(:'access_id')
61
65
  self.access_id = attributes[:'access_id']
62
66
  end
67
+
68
+ if attributes.key?(:'prv_key')
69
+ self.prv_key = attributes[:'prv_key']
70
+ end
63
71
  end
64
72
 
65
73
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -80,7 +88,8 @@ module Akeyless
80
88
  def ==(o)
81
89
  return true if self.equal?(o)
82
90
  self.class == o.class &&
83
- access_id == o.access_id
91
+ access_id == o.access_id &&
92
+ prv_key == o.prv_key
84
93
  end
85
94
 
86
95
  # @see the `==` method
@@ -92,7 +101,7 @@ module Akeyless
92
101
  # Calculates hash code according to all attributes.
93
102
  # @return [Integer] Hash code
94
103
  def hash
95
- [access_id].hash
104
+ [access_id, prv_key].hash
96
105
  end
97
106
 
98
107
  # Builds the object from hash
@@ -33,7 +33,7 @@ module Akeyless
33
33
  # If set, certificates will be flagged for code signing use
34
34
  attr_accessor :code_signing_flag
35
35
 
36
- # A comma-separated list of the country that will be set in the issued certificate
36
+ # A comma-separated list of countries that will be set in the issued certificate
37
37
  attr_accessor :country
38
38
 
39
39
  # Protection from accidental deletion of this item
@@ -42,7 +42,7 @@ module Akeyless
42
42
  # key-usage
43
43
  attr_accessor :key_usage
44
44
 
45
- # A comma-separated list of the locality that will be set in the issued certificate
45
+ # A comma-separated list of localities that will be set in the issued certificate
46
46
  attr_accessor :locality
47
47
 
48
48
  # A metadata about the issuer
@@ -63,10 +63,10 @@ module Akeyless
63
63
  # A comma-separated list of organizations (O) that will be set in the issued certificate
64
64
  attr_accessor :organizations
65
65
 
66
- # A comma-separated list of the postal code that will be set in the issued certificate
66
+ # A comma-separated list of postal codes that will be set in the issued certificate
67
67
  attr_accessor :postal_code
68
68
 
69
- # A comma-separated list of the province that will be set in the issued certificate
69
+ # A comma-separated list of provinces that will be set in the issued certificate
70
70
  attr_accessor :province
71
71
 
72
72
  # If set, certificates will be flagged for server auth use
@@ -75,7 +75,7 @@ module Akeyless
75
75
  # A key to sign the certificate with
76
76
  attr_accessor :signer_key_name
77
77
 
78
- # A comma-separated list of the street address that will be set in the issued certificate
78
+ # A comma-separated list of street addresses that will be set in the issued certificate
79
79
  attr_accessor :street_address
80
80
 
81
81
  # List of the tags attached to this key
@@ -54,7 +54,7 @@ module Akeyless
54
54
  # Authentication token (see `/auth` and `/configure`)
55
55
  attr_accessor :token
56
56
 
57
- # he requested Time To Live for the certificate, in seconds
57
+ # The requested Time To Live for the certificate, in seconds
58
58
  attr_accessor :ttl
59
59
 
60
60
  # The universal identity token, Required only for universal_identity authentication
@@ -25,7 +25,7 @@ module Akeyless
25
25
  # Config encryption key
26
26
  attr_accessor :config_encryption_key_name
27
27
 
28
- # The CA Cert (in PEM format) to use to call into the kubernetes API server
28
+ # The CA Certificate (base64 encoded) to use to call into the kubernetes API server
29
29
  attr_accessor :k8s_ca_cert
30
30
 
31
31
  # The URL of the kubernetes API server
@@ -43,7 +43,7 @@ module Akeyless
43
43
  # The cluster id as define in rancher (relevant for \"rancher\" only)
44
44
  attr_accessor :rancher_cluster_id
45
45
 
46
- # The private key (in base64 encoded of the PEM format) associated with the public key defined in the Kubernetes auth
46
+ # The private key (base64 encoded) associated with the public key defined in the Kubernetes auth
47
47
  attr_accessor :signing_key
48
48
 
49
49
  # Authentication token (see `/auth` and `/configure`)
@@ -16,12 +16,15 @@ require 'time'
16
16
  module Akeyless
17
17
  # gatewayRevokeTmpUsers is a command that revoke producer tmp user
18
18
  class GatewayRevokeTmpUsers
19
- # Host
19
+ # Deprecated: has no effect
20
20
  attr_accessor :host
21
21
 
22
22
  # Producer Name
23
23
  attr_accessor :name
24
24
 
25
+ # Revoke All Temp Creds
26
+ attr_accessor :revoke_all
27
+
25
28
  # Soft Delete
26
29
  attr_accessor :soft_delete
27
30
 
@@ -39,6 +42,7 @@ module Akeyless
39
42
  {
40
43
  :'host' => :'host',
41
44
  :'name' => :'name',
45
+ :'revoke_all' => :'revoke-all',
42
46
  :'soft_delete' => :'soft-delete',
43
47
  :'tmp_creds_id' => :'tmp-creds-id',
44
48
  :'token' => :'token',
@@ -56,6 +60,7 @@ module Akeyless
56
60
  {
57
61
  :'host' => :'String',
58
62
  :'name' => :'String',
63
+ :'revoke_all' => :'Boolean',
59
64
  :'soft_delete' => :'Boolean',
60
65
  :'tmp_creds_id' => :'String',
61
66
  :'token' => :'String',
@@ -92,12 +97,18 @@ module Akeyless
92
97
  self.name = attributes[:'name']
93
98
  end
94
99
 
100
+ if attributes.key?(:'revoke_all')
101
+ self.revoke_all = attributes[:'revoke_all']
102
+ end
103
+
95
104
  if attributes.key?(:'soft_delete')
96
105
  self.soft_delete = attributes[:'soft_delete']
97
106
  end
98
107
 
99
108
  if attributes.key?(:'tmp_creds_id')
100
109
  self.tmp_creds_id = attributes[:'tmp_creds_id']
110
+ else
111
+ self.tmp_creds_id = 'demo_default_tmp_creds_id_for_sdk_bc'
101
112
  end
102
113
 
103
114
  if attributes.key?(:'token')
@@ -139,6 +150,7 @@ module Akeyless
139
150
  self.class == o.class &&
140
151
  host == o.host &&
141
152
  name == o.name &&
153
+ revoke_all == o.revoke_all &&
142
154
  soft_delete == o.soft_delete &&
143
155
  tmp_creds_id == o.tmp_creds_id &&
144
156
  token == o.token &&
@@ -154,7 +166,7 @@ module Akeyless
154
166
  # Calculates hash code according to all attributes.
155
167
  # @return [Integer] Hash code
156
168
  def hash
157
- [host, name, soft_delete, tmp_creds_id, token, uid_token].hash
169
+ [host, name, revoke_all, soft_delete, tmp_creds_id, token, uid_token].hash
158
170
  end
159
171
 
160
172
  # Builds the object from hash
@@ -25,7 +25,7 @@ module Akeyless
25
25
  # Config encryption key
26
26
  attr_accessor :config_encryption_key_name
27
27
 
28
- # The CA Cert (in PEM format) to use to call into the kubernetes API server
28
+ # The CA Certificate (base64 encoded) to use to call into the kubernetes API server
29
29
  attr_accessor :k8s_ca_cert
30
30
 
31
31
  # The URL of the kubernetes API server
@@ -46,7 +46,7 @@ module Akeyless
46
46
  # The cluster id as define in rancher (relevant for \"rancher\" only)
47
47
  attr_accessor :rancher_cluster_id
48
48
 
49
- # The private key (in base64 encoded of the PEM format) associated with the public key defined in the Kubernetes auth
49
+ # The private key (base64 encoded) associated with the public key defined in the Kubernetes auth
50
50
  attr_accessor :signing_key
51
51
 
52
52
  # Authentication token (see `/auth` and `/configure`)
@@ -34,7 +34,7 @@ module Akeyless
34
34
  # Group Filter
35
35
  attr_accessor :group_filter
36
36
 
37
- # The CA Cert (in PEM format) to use to call into the ldap API server
37
+ # LDAP CA Certificate (base64 encoded)
38
38
  attr_accessor :ldap_ca_cert
39
39
 
40
40
  # Enable Ldap
@@ -46,7 +46,7 @@ module Akeyless
46
46
  # Ldap Anonymous Search
47
47
  attr_accessor :ldap_anonymous_search
48
48
 
49
- # The private key (in PEM format) associated with the public key defined in the Ldap auth
49
+ # The private key (base64 encoded), associated with the public key defined in the Ldap auth
50
50
  attr_accessor :signing_key_data
51
51
 
52
52
  # Authentication token (see `/auth` and `/configure`)
@@ -72,6 +72,8 @@ module Akeyless
72
72
 
73
73
  attr_accessor :rotation_interval
74
74
 
75
+ attr_accessor :shared_by
76
+
75
77
  attr_accessor :target_versions
76
78
 
77
79
  attr_accessor :with_customer_fragment
@@ -107,6 +109,7 @@ module Akeyless
107
109
  :'protection_key_type' => :'protection_key_type',
108
110
  :'public_value' => :'public_value',
109
111
  :'rotation_interval' => :'rotation_interval',
112
+ :'shared_by' => :'shared_by',
110
113
  :'target_versions' => :'target_versions',
111
114
  :'with_customer_fragment' => :'with_customer_fragment'
112
115
  }
@@ -148,6 +151,7 @@ module Akeyless
148
151
  :'protection_key_type' => :'String',
149
152
  :'public_value' => :'String',
150
153
  :'rotation_interval' => :'Integer',
154
+ :'shared_by' => :'RuleAssigner',
151
155
  :'target_versions' => :'Array<TargetItemVersion>',
152
156
  :'with_customer_fragment' => :'Boolean'
153
157
  }
@@ -294,6 +298,10 @@ module Akeyless
294
298
  self.rotation_interval = attributes[:'rotation_interval']
295
299
  end
296
300
 
301
+ if attributes.key?(:'shared_by')
302
+ self.shared_by = attributes[:'shared_by']
303
+ end
304
+
297
305
  if attributes.key?(:'target_versions')
298
306
  if (value = attributes[:'target_versions']).is_a?(Array)
299
307
  self.target_versions = value
@@ -351,6 +359,7 @@ module Akeyless
351
359
  protection_key_type == o.protection_key_type &&
352
360
  public_value == o.public_value &&
353
361
  rotation_interval == o.rotation_interval &&
362
+ shared_by == o.shared_by &&
354
363
  target_versions == o.target_versions &&
355
364
  with_customer_fragment == o.with_customer_fragment
356
365
  end
@@ -364,7 +373,7 @@ module Akeyless
364
373
  # Calculates hash code according to all attributes.
365
374
  # @return [Integer] Hash code
366
375
  def hash
367
- [auto_rotate, cert_issuer_signer_key_name, certificate_issue_details, certificates, client_permissions, customer_fragment_id, delete_protection, deletion_date, display_id, is_enabled, item_accessibility, item_general_info, item_id, item_metadata, item_name, item_size, item_state, item_sub_type, item_tags, item_targets_assoc, item_type, item_versions, last_version, next_rotation_date, protection_key_name, protection_key_type, public_value, rotation_interval, target_versions, with_customer_fragment].hash
376
+ [auto_rotate, cert_issuer_signer_key_name, certificate_issue_details, certificates, client_permissions, customer_fragment_id, delete_protection, deletion_date, display_id, is_enabled, item_accessibility, item_general_info, item_id, item_metadata, item_name, item_size, item_state, item_sub_type, item_tags, item_targets_assoc, item_type, item_versions, last_version, next_rotation_date, protection_key_name, protection_key_type, public_value, rotation_interval, shared_by, target_versions, with_customer_fragment].hash
368
377
  end
369
378
 
370
379
  # Builds the object from hash
@@ -29,6 +29,9 @@ module Akeyless
29
29
  # A list of service account names that the authentication is restricted to.
30
30
  attr_accessor :bound_service_account_names
31
31
 
32
+ # Generate public/private key (the private key is required for the K8S Auth Config in the Akeyless Gateway)
33
+ attr_accessor :gen_key_pair
34
+
32
35
  # The public key value of the Kubernetes auth method configuration in the Akeyless Gateway.
33
36
  attr_accessor :pub_key
34
37
 
@@ -40,6 +43,7 @@ module Akeyless
40
43
  :'bound_namespaces' => :'bound_namespaces',
41
44
  :'bound_pod_names' => :'bound_pod_names',
42
45
  :'bound_service_account_names' => :'bound_service_account_names',
46
+ :'gen_key_pair' => :'gen_key_pair',
43
47
  :'pub_key' => :'pub_key'
44
48
  }
45
49
  end
@@ -57,6 +61,7 @@ module Akeyless
57
61
  :'bound_namespaces' => :'Array<String>',
58
62
  :'bound_pod_names' => :'Array<String>',
59
63
  :'bound_service_account_names' => :'Array<String>',
64
+ :'gen_key_pair' => :'String',
60
65
  :'pub_key' => :'String'
61
66
  }
62
67
  end
@@ -108,6 +113,10 @@ module Akeyless
108
113
  end
109
114
  end
110
115
 
116
+ if attributes.key?(:'gen_key_pair')
117
+ self.gen_key_pair = attributes[:'gen_key_pair']
118
+ end
119
+
111
120
  if attributes.key?(:'pub_key')
112
121
  self.pub_key = attributes[:'pub_key']
113
122
  end
@@ -136,6 +145,7 @@ module Akeyless
136
145
  bound_namespaces == o.bound_namespaces &&
137
146
  bound_pod_names == o.bound_pod_names &&
138
147
  bound_service_account_names == o.bound_service_account_names &&
148
+ gen_key_pair == o.gen_key_pair &&
139
149
  pub_key == o.pub_key
140
150
  end
141
151
 
@@ -148,7 +158,7 @@ module Akeyless
148
158
  # Calculates hash code according to all attributes.
149
159
  # @return [Integer] Hash code
150
160
  def hash
151
- [alg, audience, bound_namespaces, bound_pod_names, bound_service_account_names, pub_key].hash
161
+ [alg, audience, bound_namespaces, bound_pod_names, bound_service_account_names, gen_key_pair, pub_key].hash
152
162
  end
153
163
 
154
164
  # Builds the object from hash
@@ -17,6 +17,9 @@ module Akeyless
17
17
  class LDAPAccessRules
18
18
  attr_accessor :alg
19
19
 
20
+ # Generate public/private key (the private key is required for the LDAP Auth Config in the Akeyless Gateway)
21
+ attr_accessor :gen_key_pair
22
+
20
23
  # The public key value of LDAP.
21
24
  attr_accessor :key
22
25
 
@@ -27,6 +30,7 @@ module Akeyless
27
30
  def self.attribute_map
28
31
  {
29
32
  :'alg' => :'alg',
33
+ :'gen_key_pair' => :'gen_key_pair',
30
34
  :'key' => :'key',
31
35
  :'unique_identifier' => :'unique_identifier'
32
36
  }
@@ -41,6 +45,7 @@ module Akeyless
41
45
  def self.openapi_types
42
46
  {
43
47
  :'alg' => :'String',
48
+ :'gen_key_pair' => :'String',
44
49
  :'key' => :'String',
45
50
  :'unique_identifier' => :'String'
46
51
  }
@@ -71,6 +76,10 @@ module Akeyless
71
76
  self.alg = attributes[:'alg']
72
77
  end
73
78
 
79
+ if attributes.key?(:'gen_key_pair')
80
+ self.gen_key_pair = attributes[:'gen_key_pair']
81
+ end
82
+
74
83
  if attributes.key?(:'key')
75
84
  self.key = attributes[:'key']
76
85
  end
@@ -99,6 +108,7 @@ module Akeyless
99
108
  return true if self.equal?(o)
100
109
  self.class == o.class &&
101
110
  alg == o.alg &&
111
+ gen_key_pair == o.gen_key_pair &&
102
112
  key == o.key &&
103
113
  unique_identifier == o.unique_identifier
104
114
  end
@@ -112,7 +122,7 @@ module Akeyless
112
122
  # Calculates hash code according to all attributes.
113
123
  # @return [Integer] Hash code
114
124
  def hash
115
- [alg, key, unique_identifier].hash
125
+ [alg, gen_key_pair, key, unique_identifier].hash
116
126
  end
117
127
 
118
128
  # Builds the object from hash