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

org.elasticsearch.xpack.security.support.FeatureNotEnabledException Maven / Gradle / Ivy

There is a newer version: 8.16.1
Show newest version
/*
 * 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.security.support;

import org.elasticsearch.ElasticsearchException;
import org.elasticsearch.rest.RestStatus;

public class FeatureNotEnabledException extends ElasticsearchException {

    public static final String DISABLED_FEATURE_METADATA = "es.disabled.feature";

    /**
     * The features names here are constants that form part of our API contract.
     * Callers (e.g. Kibana) may be dependent on these strings. Do not change them without consideration of BWC.
     */
    public enum Feature {
        TOKEN_SERVICE("security_tokens"),
        API_KEY_SERVICE("api_keys");

        private final String featureName;

        Feature(String featureName) {
            this.featureName = featureName;
        }
    }

    public FeatureNotEnabledException(Feature feature, String message, Object... args) {
        super(message, args);
        addMetadata(DISABLED_FEATURE_METADATA, feature.featureName);
    }

    @Override
    public RestStatus status() {
        return RestStatus.BAD_REQUEST;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy