@Override
    public PropertySource load(final Resource resource,
                               final Environment environment,
                               final String name,
                               final CipherExecutor<String, String> configurationCipherExecutor) {
        val properties = new Properties();
        if (ResourceUtils.doesResourceExist(resource)) {
            try {
                val yamlProperties = CasCoreConfigurationUtils.loadYamlProperties(resource);
                if (yamlProperties.isEmpty()) {
                    LOGGER.debug("No properties were located inside [{}]", resource);
                } else {
                    LOGGER.info("Found settings [{}] in YAML file [{}]", yamlProperties.keySet(), resource);
                    properties.putAll(decryptProperties(configurationCipherExecutor, yamlProperties));
                }
            } catch (final YAMLException e) {
                LOGGER.warn("Error parsing yaml configuration in [{}]: [{}]", resource, e.getMessage());
                throw e;
            }
        }
        return finalizeProperties(name, properties);
    }
This is {@link YamlConfigurationPropertiesLoader}.

@author Misagh Moayyed
@since 6.0.0
core/cas-server-core-configuration-api/src/main/java/org/apereo/cas/configuration/loader/YamlConfigurationPropertiesLoader.java