Class: SDM::ActiveDirectoryEngine

Inherits:
Object
  • Object
show all
Defined in:
lib/models/porcelain.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(after_read_ttl: nil, binddn: nil, bindpass: nil, certificate: nil, connection_timeout: nil, do_not_validate_timestamps: nil, id: nil, insecure_tls: nil, key_rotation_interval_days: nil, max_backoff_duration: nil, name: nil, policy: nil, public_key: nil, request_timeout: nil, secret_store_id: nil, secret_store_root_path: nil, start_tls: nil, tags: nil, ttl: nil, upndomain: nil, url: nil, userdn: nil) ⇒ ActiveDirectoryEngine

Returns a new instance of ActiveDirectoryEngine.



2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
# File 'lib/models/porcelain.rb', line 2334

def initialize(
  after_read_ttl: nil,
  binddn: nil,
  bindpass: nil,
  certificate: nil,
  connection_timeout: nil,
  do_not_validate_timestamps: nil,
  id: nil,
  insecure_tls: nil,
  key_rotation_interval_days: nil,
  max_backoff_duration: nil,
  name: nil,
  policy: nil,
  public_key: nil,
  request_timeout: nil,
  secret_store_id: nil,
  secret_store_root_path: nil,
  start_tls: nil,
  tags: nil,
  ttl: nil,
  upndomain: nil,
  url: nil,
  userdn: nil
)
  @after_read_ttl = after_read_ttl == nil ? nil : after_read_ttl
  @binddn = binddn == nil ? "" : binddn
  @bindpass = bindpass == nil ? "" : bindpass
  @certificate = certificate == nil ? "" : certificate
  @connection_timeout = connection_timeout == nil ? 0 : connection_timeout
  @do_not_validate_timestamps = do_not_validate_timestamps == nil ? false : do_not_validate_timestamps
  @id = id == nil ? "" : id
  @insecure_tls = insecure_tls == nil ? false : insecure_tls
  @key_rotation_interval_days = key_rotation_interval_days == nil ? 0 : key_rotation_interval_days
  @max_backoff_duration = max_backoff_duration == nil ? nil : max_backoff_duration
  @name = name == nil ? "" : name
  @policy = policy == nil ? nil : policy
  @public_key = public_key == nil ? "" : public_key
  @request_timeout = request_timeout == nil ? 0 : request_timeout
  @secret_store_id = secret_store_id == nil ? "" : secret_store_id
  @secret_store_root_path = secret_store_root_path == nil ? "" : secret_store_root_path
  @start_tls = start_tls == nil ? false : start_tls
  @tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
  @ttl = ttl == nil ? nil : ttl
  @upndomain = upndomain == nil ? "" : upndomain
  @url = url == nil ? "" : url
  @userdn = userdn == nil ? "" : userdn
end

Instance Attribute Details

#after_read_ttlObject

The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.



2289
2290
2291
# File 'lib/models/porcelain.rb', line 2289

def after_read_ttl
  @after_read_ttl
end

#binddnObject

Distinguished name of object to bind when performing user and group search. Example: cn=vault,ou=Users,dc=example,dc=com



2291
2292
2293
# File 'lib/models/porcelain.rb', line 2291

def binddn
  @binddn
end

#bindpassObject

Password to use along with binddn when performing user search.



2293
2294
2295
# File 'lib/models/porcelain.rb', line 2293

def bindpass
  @bindpass
end

#certificateObject

CA certificate to use when verifying LDAP server certificate, must be x509 PEM encoded.



2295
2296
2297
# File 'lib/models/porcelain.rb', line 2295

def certificate
  @certificate
end

#connection_timeoutObject

Timeout, in seconds, when attempting to connect to the LDAP server before trying the next URL in the configuration.



2297
2298
2299
# File 'lib/models/porcelain.rb', line 2297

def connection_timeout
  @connection_timeout
end

#do_not_validate_timestampsObject

If set to true this will prevent password change timestamp validation in Active Directory when validating credentials



2299
2300
2301
# File 'lib/models/porcelain.rb', line 2299

def do_not_validate_timestamps
  @do_not_validate_timestamps
end

#idObject

Unique identifier of the Secret Engine.



2301
2302
2303
# File 'lib/models/porcelain.rb', line 2301

def id
  @id
end

#insecure_tlsObject

If true, skips LDAP server SSL certificate verification - insecure, use with caution!



2303
2304
2305
# File 'lib/models/porcelain.rb', line 2303

def insecure_tls
  @insecure_tls
end

#key_rotation_interval_daysObject

An interval of public/private key rotation for secret engine in days



2305
2306
2307
# File 'lib/models/porcelain.rb', line 2305

def key_rotation_interval_days
  @key_rotation_interval_days
end

#max_backoff_durationObject

The maximum retry duration in case of automatic failure. On failed ttl rotation attempt it will be retried in an increasing intervals until it reaches max_backoff_duration



2308
2309
2310
# File 'lib/models/porcelain.rb', line 2308

def max_backoff_duration
  @max_backoff_duration
end

#nameObject

Unique human-readable name of the Secret Engine.



2310
2311
2312
# File 'lib/models/porcelain.rb', line 2310

def name
  @name
end

#policyObject

Policy for password creation



2312
2313
2314
# File 'lib/models/porcelain.rb', line 2312

def policy
  @policy
end

#public_keyObject

Public key linked with a secret engine



2314
2315
2316
# File 'lib/models/porcelain.rb', line 2314

def public_key
  @public_key
end

#request_timeoutObject

Timeout, in seconds, for the connection when making requests against the server before returning back an error.



2316
2317
2318
# File 'lib/models/porcelain.rb', line 2316

def request_timeout
  @request_timeout
end

#secret_store_idObject

Backing secret store identifier



2318
2319
2320
# File 'lib/models/porcelain.rb', line 2318

def secret_store_id
  @secret_store_id
end

#secret_store_root_pathObject

Backing Secret Store root path where managed secrets are going to be stored



2320
2321
2322
# File 'lib/models/porcelain.rb', line 2320

def secret_store_root_path
  @secret_store_root_path
end

#start_tlsObject

If true, issues a StartTLS command after establishing an unencrypted connection.



2322
2323
2324
# File 'lib/models/porcelain.rb', line 2322

def start_tls
  @start_tls
end

#tagsObject

Tags is a map of key, value pairs.



2324
2325
2326
# File 'lib/models/porcelain.rb', line 2324

def tags
  @tags
end

#ttlObject

The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.



2326
2327
2328
# File 'lib/models/porcelain.rb', line 2326

def ttl
  @ttl
end

#upndomainObject

The domain (userPrincipalDomain) used to construct a UPN string for authentication.



2328
2329
2330
# File 'lib/models/porcelain.rb', line 2328

def upndomain
  @upndomain
end

#urlObject

The LDAP server to connect to.



2330
2331
2332
# File 'lib/models/porcelain.rb', line 2330

def url
  @url
end

#userdnObject

Base DN under which to perform user search. Example: ou=Users,dc=example,dc=com



2332
2333
2334
# File 'lib/models/porcelain.rb', line 2332

def userdn
  @userdn
end

Instance Method Details

#to_json(options = {}) ⇒ Object



2382
2383
2384
2385
2386
2387
2388
# File 'lib/models/porcelain.rb', line 2382

def to_json(options = {})
  hash = {}
  self.instance_variables.each do |var|
    hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
  end
  hash.to_json
end