L
import org.sonatype.nexus.ldap.persist.LdapConfigurationManager
import org.sonatype.nexus.ldap.persist.entity.Connection
import org.sonatype.nexus.ldap.persist.entity.Mapping
def ldapConfigMgr = container.lookup(LdapConfigurationManager.class.getName())
def ldapConfig = ldapConfigMgr.newConfiguration()
ldapConfig.setName('{{ pillar['nexus_ldap_name'] }}')
boolean update = false;
ldapConfigMgr.listLdapServerConfigurations().each {
if (it.name == '{{ pillar['nexus_ldap_name'] }}') {
ldapConfig = it
update = true
}
}
connection = new Connection()
connection.setHost(new Connection.Host(Connection.Protocol.valueOf('{{ pillar['nexus_ldap_protocol'] }}'), '{{ pillar['network_ipa_vip'] }}', Integer.valueOf('{{ pillar['nexus_ldap_port'] }}')))
connection.setAuthScheme("simple")
connection.setSystemUsername('uid={{ pillar['srvnexus_user'] }},cn=users,cn=accounts,{{ pillar['network_domain_ldap'] }}')
connection.setSystemPassword('{{ pillar['srvnexus_pass'] }}')
connection.setSearchBase('cn=accounts,{{ pillar['network_domain_ldap'] }}')
connection.setConnectionTimeout(30)
connection.setConnectionRetryDelay(300)
connection.setMaxIncidentsCount(3)
connection.setUseTrustStore(Boolean.valueOf('false'))
ldapConfig.setConnection(connection)
mapping = new Mapping()
mapping.setUserBaseDn('cn=users')
mapping.setLdapFilter('memberOf=cn=g_nexus*,cn=groups,cn=accounts,{{ pillar['network_domain_ldap'] }}')
mapping.setUserObjectClass('inetOrgPerson')
mapping.setUserIdAttribute('uid')
mapping.setUserRealNameAttribute('cn')
mapping.setEmailAddressAttribute('mail')
mapping.setLdapGroupsAsRoles(true)
mapping.setGroupBaseDn('cn=groups')
mapping.setGroupObjectClass('groupOfNames')
mapping.setGroupIdAttribute('cn')
mapping.setGroupMemberAttribute('member')
mapping.setGroupMemberFormat('uid=${username},cn=users,cn=accounts,{{ pillar['network_domain_ldap'] }}')
mapping.setUserSubtree(Boolean.valueOf('false'))
mapping.setGroupSubtree(Boolean.valueOf('false'))
ldapConfig.setMapping(mapping)
if (update) {
ldapConfigMgr.updateLdapServerConfiguration(ldapConfig)
} else {
ldapConfigMgr.addLdapServerConfiguration(ldapConfig)
}



