All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.elasticsearch.xpack.core.security.authc.InternalRealmsSettings Maven / Gradle / Ivy

/*
 * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
 * or more contributor license agreements. Licensed under the Elastic License
 * 2.0; you may not use this file except in compliance with the Elastic License
 * 2.0.
 */
package org.elasticsearch.xpack.core.security.authc;

import org.elasticsearch.common.settings.Setting;
import org.elasticsearch.xpack.core.security.authc.esnative.NativeRealmSettings;
import org.elasticsearch.xpack.core.security.authc.file.FileRealmSettings;
import org.elasticsearch.xpack.core.security.authc.kerberos.KerberosRealmSettings;
import org.elasticsearch.xpack.core.security.authc.ldap.LdapRealmSettings;
import org.elasticsearch.xpack.core.security.authc.oidc.OpenIdConnectRealmSettings;
import org.elasticsearch.xpack.core.security.authc.pki.PkiRealmSettings;
import org.elasticsearch.xpack.core.security.authc.saml.SamlRealmSettings;

import java.util.Collections;
import java.util.HashSet;
import java.util.Set;

public final class InternalRealmsSettings {
    private InternalRealmsSettings() {
    }

    /**
     * Provides the {@link Setting setting configuration} for each internal realm type.
     * This excludes the ReservedRealm, as it cannot be configured dynamically.
     */
    public static Set> getSettings() {
        Set> set = new HashSet<>();
        set.addAll(FileRealmSettings.getSettings());
        set.addAll(NativeRealmSettings.getSettings());
        set.addAll(LdapRealmSettings.getSettings(LdapRealmSettings.AD_TYPE));
        set.addAll(LdapRealmSettings.getSettings(LdapRealmSettings.LDAP_TYPE));
        set.addAll(PkiRealmSettings.getSettings());
        set.addAll(SamlRealmSettings.getSettings());
        set.addAll(KerberosRealmSettings.getSettings());
        set.addAll(OpenIdConnectRealmSettings.getSettings());
        return Collections.unmodifiableSet(set);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy