blob: e1ad1f5b52cf1437f7bc6b3bf5e1fcdf5be32de8 [file] [log] [blame]
/**
* @file Configure.h
* Configure class declaration
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef LIBMINIFI_INCLUDE_PROPERTIES_CONFIGURE_H_
#define LIBMINIFI_INCLUDE_PROPERTIES_CONFIGURE_H_
#include <string>
#include <mutex>
#include "properties/Properties.h"
namespace org {
namespace apache {
namespace nifi {
namespace minifi {
class Configure : public Properties {
public:
Configure() : Properties("MiNiFi configuration") {}
void setAgentIdentifier(const std::string &identifier) {
std::lock_guard<std::mutex> lock(mutex_);
agent_identifier_ = identifier;
}
std::string getAgentIdentifier() const {
std::lock_guard<std::mutex> lock(mutex_);
return agent_identifier_;
}
void setAgentClass(const std::string& agentClass) {
std::lock_guard<std::mutex> lock(mutex_);
agent_class_ = agentClass;
}
std::string getAgentClass() const {
std::lock_guard<std::mutex> lock(mutex_);
return agent_class_;
}
// nifi.flow.configuration.file
static constexpr const char *nifi_default_directory = "nifi.default.directory";
static constexpr const char *nifi_flow_configuration_file = "nifi.flow.configuration.file";
static constexpr const char *nifi_flow_configuration_file_exit_failure = "nifi.flow.configuration.file.exit.onfailure";
static constexpr const char *nifi_flow_configuration_file_backup_update = "nifi.flow.configuration.backup.on.update";
static constexpr const char *nifi_flow_engine_threads = "nifi.flow.engine.threads";
static constexpr const char *nifi_flow_engine_alert_period = "nifi.flow.engine.alert.period";
static constexpr const char *nifi_flow_engine_event_driven_time_slice = "nifi.flow.engine.event.driven.time.slice";
static constexpr const char *nifi_administrative_yield_duration = "nifi.administrative.yield.duration";
static constexpr const char *nifi_bored_yield_duration = "nifi.bored.yield.duration";
static constexpr const char *nifi_graceful_shutdown_seconds = "nifi.flowcontroller.graceful.shutdown.period";
static constexpr const char *nifi_flowcontroller_drain_timeout = "nifi.flowcontroller.drain.timeout";
static constexpr const char *nifi_log_level = "nifi.log.level";
static constexpr const char *nifi_server_name = "nifi.server.name";
static constexpr const char *nifi_configuration_class_name = "nifi.flow.configuration.class.name";
static constexpr const char *nifi_flow_repository_class_name = "nifi.flowfile.repository.class.name";
static constexpr const char *nifi_content_repository_class_name = "nifi.content.repository.class.name";
static constexpr const char *nifi_volatile_repository_options = "nifi.volatile.repository.options.";
static constexpr const char *nifi_provenance_repository_class_name = "nifi.provenance.repository.class.name";
static constexpr const char *nifi_server_port = "nifi.server.port";
static constexpr const char *nifi_server_report_interval = "nifi.server.report.interval";
static constexpr const char *nifi_provenance_repository_max_storage_size = "nifi.provenance.repository.max.storage.size";
static constexpr const char *nifi_provenance_repository_max_storage_time = "nifi.provenance.repository.max.storage.time";
static constexpr const char *nifi_provenance_repository_directory_default = "nifi.provenance.repository.directory.default";
static constexpr const char *nifi_flowfile_repository_max_storage_size = "nifi.flowfile.repository.max.storage.size";
static constexpr const char *nifi_flowfile_repository_max_storage_time = "nifi.flowfile.repository.max.storage.time";
static constexpr const char *nifi_flowfile_repository_directory_default = "nifi.flowfile.repository.directory.default";
static constexpr const char *nifi_dbcontent_repository_directory_default = "nifi.database.content.repository.directory.default";
static constexpr const char *nifi_remote_input_secure = "nifi.remote.input.secure";
static constexpr const char *nifi_remote_input_http = "nifi.remote.input.http.enabled";
static constexpr const char *nifi_security_need_ClientAuth = "nifi.security.need.ClientAuth";
// site2site security config
static constexpr const char *nifi_security_client_certificate = "nifi.security.client.certificate";
static constexpr const char *nifi_security_client_private_key = "nifi.security.client.private.key";
static constexpr const char *nifi_security_client_pass_phrase = "nifi.security.client.pass.phrase";
static constexpr const char *nifi_security_client_ca_certificate = "nifi.security.client.ca.certificate";
// nifi rest api user name and password
static constexpr const char *nifi_rest_api_user_name = "nifi.rest.api.user.name";
static constexpr const char *nifi_rest_api_password = "nifi.rest.api.password";
// c2 options
static constexpr const char *nifi_c2_enable = "nifi.c2.enable";
static constexpr const char *nifi_c2_file_watch = "nifi.c2.file.watch";
static constexpr const char *nifi_c2_flow_id = "nifi.c2.flow.id";
static constexpr const char *nifi_c2_flow_url = "nifi.c2.flow.url";
static constexpr const char *nifi_c2_flow_base_url = "nifi.c2.flow.base.url";
static constexpr const char *nifi_c2_full_heartbeat = "nifi.c2.full.heartbeat";
// state management options
static constexpr const char *nifi_state_management_provider_local = "nifi.state.management.provider.local";
static constexpr const char *nifi_state_management_provider_local_always_persist = "nifi.state.management.provider.local.always.persist";
static constexpr const char *nifi_state_management_provider_local_auto_persistence_interval = "nifi.state.management.provider.local.auto.persistence.interval";
// disk space watchdog options
static constexpr const char *minifi_disk_space_watchdog_enable = "minifi.disk.space.watchdog.enable";
static constexpr const char *minifi_disk_space_watchdog_interval = "minifi.disk.space.watchdog.interval";
static constexpr const char *minifi_disk_space_watchdog_stop_threshold = "minifi.disk.space.watchdog.stop.threshold";
static constexpr const char *minifi_disk_space_watchdog_restart_threshold = "minifi.disk.space.watchdog.restart.threshold";
private:
std::string agent_identifier_;
std::string agent_class_;
mutable std::mutex mutex_;
};
} // namespace minifi
} // namespace nifi
} // namespace apache
} // namespace org
#endif // LIBMINIFI_INCLUDE_PROPERTIES_CONFIGURE_H_