The new Desired Nodes API was introduced it #82975. We need to make it [operator-only](https://www.elastic.co/guide/en/elasticsearch/reference/8.3/operator-only-functionality.html#operator-only-functionality).
x-pack/plugin/security/qa/operator-privileges-tests/src/javaRestTest/java/org/elasticsearch/xpack/security/operator/OperatorPrivilegesIT.java
}
    }
    public void testNodeBandwidthRecoveryOperatorFactorSettings() throws IOException {
        final Map<String, Double> operatorSettings = Map.of(
            RecoverySettings.NODE_BANDWIDTH_RECOVERY_OPERATOR_FACTOR_SETTING.getKey(),
            randomDoubleBetween(0.1d, 1.0d, true),
            RecoverySettings.NODE_BANDWIDTH_RECOVERY_OPERATOR_FACTOR_READ_SETTING.getKey(),
            randomDoubleBetween(0.1d, 1.0d, true),
            RecoverySettings.NODE_BANDWIDTH_RECOVERY_OPERATOR_FACTOR_WRITE_SETTING.getKey(),
            randomDoubleBetween(0.1d, 1.0d, true),
            RecoverySettings.NODE_BANDWIDTH_RECOVERY_OPERATOR_FACTOR_MAX_OVERCOMMIT_SETTING.getKey(),
            randomDoubleBetween(1d, 1000d, true)
        );
        for (Map.Entry<String, Double> operatorSetting : operatorSettings.entrySet()) {
            final Map<String, Double> settings = Map.of(operatorSetting.getKey(), operatorSetting.getValue());
            ResponseException exception = expectThrows(ResponseException.class, () -> updateSettings(settings, null));
            assertThat(exception.getResponse().getStatusLine().getStatusCode(), equalTo(403));
            assertThat(exception.getMessage(), containsString("is unauthorized for user"));
            assertThat(getPersistentSettings().containsKey(operatorSetting.getKey()), is(false));
            updateSettings(settings, OPERATOR_AUTH_HEADER);
            assertThat(getPersistentSettings().get(operatorSetting.getKey()), equalTo(Double.toString(operatorSetting.getValue())));
        }
    }
    private void createSnapshotRepo(String repoName) throws IOException {
        Request request = new Request("PUT", "/_snapshot/" + repoName);
        request.setJsonEntity(
            Strings.toString(
                JsonXContent.contentBuilder()
                    .startObject()
                    .field("type", "fs")