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.



2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
# File 'lib/models/porcelain.rb', line 2029

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.



1984
1985
1986
# File 'lib/models/porcelain.rb', line 1984

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



1986
1987
1988
# File 'lib/models/porcelain.rb', line 1986

def binddn
  @binddn
end

#bindpassObject

Password to use along with binddn when performing user search.



1988
1989
1990
# File 'lib/models/porcelain.rb', line 1988

def bindpass
  @bindpass
end

#certificateObject

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



1990
1991
1992
# File 'lib/models/porcelain.rb', line 1990

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.



1992
1993
1994
# File 'lib/models/porcelain.rb', line 1992

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



1994
1995
1996
# File 'lib/models/porcelain.rb', line 1994

def do_not_validate_timestamps
  @do_not_validate_timestamps
end

#idObject

Unique identifier of the Secret Engine.



1996
1997
1998
# File 'lib/models/porcelain.rb', line 1996

def id
  @id
end

#insecure_tlsObject

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



1998
1999
2000
# File 'lib/models/porcelain.rb', line 1998

def insecure_tls
  @insecure_tls
end

#key_rotation_interval_daysObject

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



2000
2001
2002
# File 'lib/models/porcelain.rb', line 2000

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



2003
2004
2005
# File 'lib/models/porcelain.rb', line 2003

def max_backoff_duration
  @max_backoff_duration
end

#nameObject

Unique human-readable name of the Secret Engine.



2005
2006
2007
# File 'lib/models/porcelain.rb', line 2005

def name
  @name
end

#policyObject

Policy for password creation



2007
2008
2009
# File 'lib/models/porcelain.rb', line 2007

def policy
  @policy
end

#public_keyObject

Public key linked with a secret engine



2009
2010
2011
# File 'lib/models/porcelain.rb', line 2009

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.



2011
2012
2013
# File 'lib/models/porcelain.rb', line 2011

def request_timeout
  @request_timeout
end

#secret_store_idObject

Backing secret store identifier



2013
2014
2015
# File 'lib/models/porcelain.rb', line 2013

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



2015
2016
2017
# File 'lib/models/porcelain.rb', line 2015

def secret_store_root_path
  @secret_store_root_path
end

#start_tlsObject

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



2017
2018
2019
# File 'lib/models/porcelain.rb', line 2017

def start_tls
  @start_tls
end

#tagsObject

Tags is a map of key, value pairs.



2019
2020
2021
# File 'lib/models/porcelain.rb', line 2019

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.



2021
2022
2023
# File 'lib/models/porcelain.rb', line 2021

def ttl
  @ttl
end

#upndomainObject

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



2023
2024
2025
# File 'lib/models/porcelain.rb', line 2023

def upndomain
  @upndomain
end

#urlObject

The LDAP server to connect to.



2025
2026
2027
# File 'lib/models/porcelain.rb', line 2025

def url
  @url
end

#userdnObject

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



2027
2028
2029
# File 'lib/models/porcelain.rb', line 2027

def userdn
  @userdn
end

Instance Method Details

#to_json(options = {}) ⇒ Object



2077
2078
2079
2080
2081
2082
2083
# File 'lib/models/porcelain.rb', line 2077

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